Forum Moderator
  • Content Count

  • Avg. Content Per Day

  • Joined

  • Last visited

  • Days Won


Everything posted by Emistry

  1. Emistry

    bMaxHPrate x getrefine

    // +10 HP for every refines. bonus bMaxHP, (getrefine() * 10); // +10 HP for every 2 refines. bonus bMaxHP, ((getrefine() / 2) * 10); // +10 HP for every 3 refines. bonus bMaxHP, ((getrefine() / 3) * 10); // +10 HP for every 4 refines. bonus bMaxHP, ((getrefine() / 4) * 10); // +10 HP for every 5 refines. bonus bMaxHP, ((getrefine() / 5) * 10);
  2. Emistry

    bug damage dragon breat and tiger cannon

    your max stat are too high and lead to max def and hence you getting damage immune =='
  3. Emistry

    Utility: Campfire

    View File Campfire Original Topic: http://herc.ws/board/topic/16037-campfire-to-regenerate-hpsp/ Herc Script Link : https://pastebin.com/fksPdpFQ The Idea: Camp Fire to restore / regenerate HP & SP. When you sit by the Camp fire, you start feeling the warmth and the comfort, so your HP & SP begin to regenerate. How to use : 1. add the source mode provided in the script. (or here) 2. make a usable item_db with these bonus script. callfunc("func_CreateCampFire", <range>, <duration>, <heal_rate>); // create campfire callfunc("func_UpdateCampFire", <range>, <duration>, <heal_rate>); // update the campfire duration/heal rate. Preview: Credits : @Dastgir & @Radian for the src mod and @Habilis for the idea Submitter Emistry Submitted 11/01/2018 Category Utilities Video https://www.youtube.com/watch?v=mFPFflLGscE Content Author Emistry  
  4. Emistry

    Navigation Mob Editing

    if i am not mistaken about it ... Navi_Mob = { { "abbey01", --> Map Name 20594, --> Unique Code 300, --> Monster Type (300 = Normal Mob, 301 = MVP) 3736588, --> (Not sure) "구울", --> Monster Name 1 "GHOUL", --> Monster Name 2 (Sprite Name) 61, --> Mob Level 3211521 --> (Not sure) }, additional info. https://github.com/HerculesWS/StaffPlugins/blob/master/Haru/naviluagenerator/naviluagenerator.c#L397-L418
  5. Emistry

    Strange attack glitch?

    that is the solution, apply it to your server as shown in the commit.
  6. Emistry

    Utility: Campfire

    addrid + sc_start
  7. Emistry

    Requesting for item script ^^

    you could add additional condition checking such as check if its in town area. if (!getmapflag(strcharinfo(3), mf_town)) nude; nude if char aren't in town.
  8. Emistry

    Utility: Campfire

    @JaranSwitch0101 you're obviously did wrong somewhere in your src without following with the diff or did incorrectly, recheck every single lines that you have edit. No point in checking the item_db are using spaces or not, because its irrelevant.
  9. Emistry

    Simplifying this npc.

    function script omnirefine { [email protected]$ = getarg(0); /// Custom chances 1 to 20. setarray [email protected]_chances[1], 100, 100, 100, 100, 95, 80, 80, 50, 50, 35, 20, 20, 16, 16, 15, 15, 14, 14, 10, 10; /// Equipment position names (Don't edit that order). setarray [email protected]_name$[1],"Head","Middle","Lower","Armor","Weapon","Shield","Garment","Shoes","Accessory 1","Accessory 2"; /// Weapon material [email protected]_material = 6438; // Omni-Oridecon [email protected]_material_name$ = "Omni-Oridecon"; /// Armor material [email protected]_material = 6439; // Mega-Elunium [email protected]_material_name$ = "Mega-Elunium": disable_items; mes "["+ [email protected]$ +"]"; mes "I am the best Armsmith ever!"; mes "I don't refine with normal, boring materials."; // mes "I only refine items using ^FF0000" + getitemname([email protected]_material) + "^000000 and FF0000" + getitemname([email protected]_material) + "^000000."; mes "I only refine items using ^FF0000"[email protected]_material_name$+"^000000 and ^FF0000"[email protected]_material_name$+"^000000."; next; mes "["+ [email protected]$ +"]"; mes "Anyway, you may use my services if you have any of that materials."; mes "What do you want me to refine?"; next; setarray [email protected]_pos[1],EQI_HEAD_TOP,EQI_HEAD_MID,EQI_HEAD_LOW,EQI_ARMOR,EQI_HAND_R,EQI_HAND_L,EQI_GARMENT,EQI_SHOES,EQI_ACC_R,EQI_ACC_L; for ([email protected] = 1; [email protected] <= getarraysize([email protected]_pos); [email protected]) { if (getequipisequiped([email protected]_pos[[email protected]])) [email protected]$ += getequipname([email protected]_pos[[email protected]]); else [email protected]$ += "^777777" + [email protected]_name$[[email protected]] + " - " + "[Unavailable]" + "^000000"; [email protected]$ += ":"; } [email protected] = [email protected]_pos[select([email protected]$)]; [email protected]_id = getequipid([email protected]); [email protected] = getequiprefinerycnt([email protected]); if (!getequipisequiped([email protected])) { //custom check mes "["+ [email protected]$ +"]"; mes "You're not wearing"; mes "anything there that"; mes "I can refine."; emotion ET_FRET; close; } if (!getequipisenableref([email protected])) { mes "["+ [email protected]$ +"]"; mes "I don't think I can"; mes "refine this item at all..."; close; } if ([email protected] >= 20) { //custom check mes "["+ [email protected]$ +"]"; mes "I can't refine this"; mes "any more. This is as"; mes "refined as it gets!"; close; } if (getiteminfo([email protected]_id,2) == 5) { [email protected] = [email protected]_material; [email protected]_name$ = [email protected]_material_name$; } else if (getiteminfo([email protected]_id,2) == 4) { [email protected] = [email protected]_material; [email protected]_name$ = [email protected]_material_name$; } if ((getequipweaponlv([email protected]) >= 1) && (getequipweaponlv([email protected]) <= 4)) { [email protected]$ = "a"; [email protected]$ = "weapon"; } else { [email protected]$ = "an"; [email protected]$ = "armor"; } mes "["+ [email protected]$ +"]"; mes "Hmm " + [email protected]$ + " " + [email protected]$ + ", is that ok?"; mes "If you want to refine this " + [email protected]$ + ","; mes "I will need 1 ^FF0000" + [email protected]_name$ + "^000000."; mes "Are you sure you want to continue?"; next; if(select("Yes:No") == 2){ mes "["+ [email protected]_name$ +"]"; mes "Hm... if you mind... never mind..."; close; } while (1) { [email protected] = getequiprefinerycnt([email protected]); if (countitem([email protected]) < 1) { mes "["+ [email protected]$ +"]"; mes "Hm. You don't seem to have enough "[email protected]_name$+"."; mes "Please come back when you have them."; close; } delitem [email protected],1; // anti-hack if (callfunc("F_IsEquipIDHack", [email protected], [email protected]_id) || callfunc("F_IsEquipRefineHack", [email protected], [email protected])) { mes "["+ [email protected]$ +"]"; emotion ET_FRET; mes "Wait a second..."; mes "Do you think I'm stupid?!"; mes "You switched the item while I wasn't looking! Get out of here!"; close; } if ([email protected]_chances[[email protected]+1] > rand(100)) { mes "["+ [email protected]$ +"]"; mes "Clang! Clang! Clang! Clang!"; successrefitem [email protected]; next; emotion ET_BEST; mes "["+ [email protected]$ +"]"; mes "Good! Succes!!!"; mes "I am the best Armsmith."; next; } else { if (rand(100) < 80) { mes "["+ [email protected]$ +"]"; mes "Clang! Clang! Clang! Clang!"; downrefitem [email protected],0; // Only for the fail refinement animation next; emotion (!rand(5))?ET_MONEY:ET_HUK; mes "["+ [email protected]$ +"]"; mes "Ahhh!!!"; next; mes "["+ [email protected]$ +"]"; mes "Oh my god!"; mes "The upgrade level has dropped..."; } else { mes "["+ [email protected]$ +"]"; mes "Clang! Clang! Clang!"; downrefitem [email protected],0; // Only for the fail refinement animation next; emotion (!rand(5))?ET_MONEY:ET_HUK; mes "["+ [email protected]$ +"]"; mes "Hmmm!"; next; mes "["+ [email protected]$ +"]"; mes "Oh my! I've failed to refine stuff..."; mes "I didn't mean it!"; } mes "I could have made a mistake even though I am the best Armsmith ever."; mes "It just wasn't meant to be."; next; mes "["+ [email protected]$ +"]"; mes "I will do a better job next time! Don't worry!"; next; } mes "["+ [email protected]$ +"]"; mes "Do you want to refine again?"; next; if(select("Yes:No") == 2){ mes "["+ [email protected]_name$ +"]"; mes "Hm... if you mind... never mind..."; close; } } return; } prt_in,54,58,3 script Refiner#1 813,{ callfunc "omnirefine","^0000FFBlessed Refiner^000000"; end; } try this, you just have to find all and rename it... or save the name to a variable, and use that variable to display the name
  10. Emistry

    Channel Controller

    try this https://pastebin.com/RCqBbTc1
  11. File Name: Doppelganger File Submitter: Emistry File Submitted: 12 Sep 2012 File Category: Utilities Content Author: Emistry A Script that enable Player to save his/her current Job Class Data and then able to switch back to what he had saved at any time they want. This will allow players to player multiple job class within 1 single Character. Configuration : OnInit: set .MaxSlot,3; end; and...please make sure to run this query in your SQL. ALTER TABLE `global_reg_value` CHANGE COLUMN `value` `value` TEXT NOT NULL ; Topic Detail : http://rathena.org/b...240#entry137901 * Use at your own risk. Do backup. * Thank you : @Peopleperson49 - for encourage me @goddameit - Script's Name Click here to download this file
  12. Emistry

    lucky spin problems

  13. Emistry

    Emistry Vendor Script

    i believe your script already hit some error like infinity loop since you removed this line from the script. // sleep 100; uncomment it
  14. Emistry

    Detect dropped item from monster

    if i recall correctly, monster drop are recorded in picklog as well with the monster ID and item ID with the action of drop (D). @n0tttt nice try, didnt realize there exists a script command for getareadropitem. but the script wont work for autoloot.
  15. Emistry

    Missing Sprite [Summer, Xmas]

    you didnt have the sprite for xmas / summer Check your kRO grf, if doesn't exists then download from other sources and add to your grf.
  16. Emistry

    Problem with Holy Water

    set the cells of the map to water cell.
  17. Emistry


    remove the char deletion delay? conf/char_athena.conf#L168-L171 delete a char through SQL aren't recommended, unless you're familiar with which other tables also related with it and delete the data from those other table too.
  18. Emistry

    Detect dropped item from monster

    none, currently you cant retrieve the info of item dropped when you killed a monster using the OnNPCKillEvent... you could edit the source to have it store the item info when the monster drop, then retrieve it when it execute the OnNPCKillEvent.
  19. npc/merchants/cash_trader.txt
  20. restart server, i dont recall there are any command for you to reload the client cash shop if you ever updated. reloadscript are only possible if your cash shop are write as npc script.
  21. Emistry

    Add item on Jobchanger for High Novice

    ensure you didnt accidentally edit anything at the end of that line, especially unicode that you're not aware of. you could just rewrite the whole line and save it again or remove anything that exists at the end of that line.
  22. Emistry

    Para Market Restock

    the shop shall restock every day npc/re/merchants/eden_market.txt#L83-L121
  23. Emistry

    Euphy quest shop duplicating

    there are no nid to change the quest_shop name everytime. You could have follow the instruction/guide given. prontera,179,195,3 script Basic Quests 757,{ callfunc "qshop5", 1, 2, 3; } // open shop 1, 2, 3 prontera,179,195,3 script Basic Quests 757,{ callfunc "qshop5", 4, 5; } // open shop 4, 5 and etc...
  24. Emistry

    Floating Rates after a certain condition

    try this. https://pastebin.com/kT7Gy5NH
  25. Emistry

    Want to make script Comeback is real npc

    shutdown server and execute this query ALTER TABLE `login` ADD `last_login_date` DATETIME; UPDATE `login` SET `last_login_date` = `last_login` WHERE `last_login_date` IS NULL then load this npc. https://pastebin.com/hduVVqPB