Jump to content

Emistry

Forum Moderator
  • Posts

    10018
  • Joined

  • Days Won

    408

Everything posted by Emistry

  1. - script Sample -1,{ OnPCKillEvent: if ( @kill < 10 ) { @kill++; dispbottom "You got "+@kill+" points."; } end; OnPCDieEvent: if ( @kill > 0 ) { @kill--; dispbottom "You got "+@kill+" points."; } end; } you can try this.
  2. http://herc.ws/board/topic/13801-item-evolution-system/
  3. nothing can be done if you can't provide your scripts to show us how your quests store these cooldown.
  4. you can try something like this. https://pastebin.com/jJsAAmq2 @Skorm your approach doesn't always work. There are few parts you can fix the issue. Change from using OnTouch to OnTouch_ or... Only triggered by Party Leader to avoid calling the npc checking whenever a party member reach the portal. .pre_cnt and .party_id potentially always get override by other member who entered the area, caused the value might get reset halfway during the checking. addrid caused the script run extra instances depend on all member in that area.
  5. prontera,155,181,5 script Sample 4_F_KAFRA1,{ mes "Change Kafra Point to Cash Point?"; input .@amount,0,#KAFRAPOINTS; if ( .@amount ) { #KAFRAPOINTS -= .@amount; #CASHPOINTS += .@amount; } mes "Exchanged "+.@amount+" Kafra Point to Cash Point."; close; } try this.
  6. add the missing script command. Git Hash: 67e26c885dad1a52e98afc8de2dfd4fb6b965e09
  7. npc/custom/woe_controller.txt#L178-L181
  8. they have setup what it needed to tame the pet... which I already mentioned in previous post.
  9. When you diff your client, select the custom font patch and select your desired font.
  10. you can try this. prontera,155,181,5 script Sample 4_F_KAFRA1,{ switch ( select( "Rental NPC","Platinum Skill" ) ) { case 1: if (hascashmount()) { message strcharinfo(0),"You must first remove your mount."; end; } else if ((eaclass()&EAJ_THIRDMASK) == EAJ_RANGER && !countitem(Wolf's_Flute)) { if (!checkfalcon() && getskilllv(HT_FALCON) && !checkwug()) { if (select(" ~ Falcon: ~ Warg") == 1) setfalcon; else getitem Wolf's_Flute, 1; specialeffect2 EF_TEIHIT3; close; } else { getitem Wolf's_Flute,1; } } else if ((eaclass()&EAJ_THIRDMASK) == EAJ_MECHANIC && !checkcart() && getskilllv(MC_PUSHCART)) { if (!checkmount() != MOUNT_MADO && getskilllv(NC_MADOLICENCE)) { if (select(" ~ Cart: ~ Mado") == 1) { setcart; } else { setmount(MOUNT_MADO); } specialeffect2 EF_TEIHIT3; close; } else { setcart; } } else if (!checkcart() && getskilllv(MC_PUSHCART)) { setcart; } else if (!checkfalcon() && getskilllv(HT_FALCON) && !checkwug()) { setfalcon; } else if (checkmount() != MOUNT_PECO && getskilllv(KN_RIDING)) { setmount; // Peco or Dragon } else if (checkmount() != MOUNT_MADO && getskilllv(NC_MADOLICENCE)) { setmount(MOUNT_MADO); } else { message strcharinfo(0),"You do not meet requirements to rent."; end; } specialeffect2 EF_TEIHIT3; break; case 2: skill 142,1,0; switch(BaseClass) { case 0: if (Class !=23) skill 143,1,0; break; case 1: skill 144,1,0; skill 145,1,0; skill 146,1,0; break; case 2: skill 157,1,0; break; case 3: skill 147,1,0; skill 148,1,0; break; case 4: skill 156,1,0; break; case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break; case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break; default: break; } switch(BaseJob) { case 7: skill 1001,1,0; break; case 8: skill 1014,1,0; break; case 9: skill 1006,1,0; break; case 10: skill 1012,1,0; skill 1013,1,0; break; case 11: skill 1009,1,0; break; case 12: skill 1003,1,0; skill 1004,1,0; break; case 14: skill 1002,1,0; break; case 15: skill 1015,1,0; skill 1016,1,0; break; case 16: skill 1007,1,0; skill 1008,1,0; skill 1017,1,0; skill 1018,1,0; skill 1019,1,0; break; case 17: skill 1005,1,0; break; case 18: skill 238,1,0; break; case 19: skill 1010,1,0; break; case 20: skill 1011,1,0; break; default: break; } break; default: break; } mes "Done"; close; }
  11. you can try this prontera,155,181,5 script Sample 4_F_KAFRA1,{ mes "Change "+.required_amount+" x "+getitemname( .required_nameid )+" to other item ?"; .@i = select( .menu$ ) - 1; if ( countitem( .required_nameid ) >= .required_amount ) { delitem .required_nameid, .required_amount; getitem .item[.@i],1; mes "Done"; } close; OnInit: .required_nameid = 2499; .required_amount = 1; setarray .item, 22000, 22001, 22002, 22003; .@item_size = getarraysize( .item ); for ( .@i = 0; .@i < .@item_size; .@i++ ) { .menu$ = .menu$ + getitemname( .item[.@i] ) + ":"; } end; }
  12. I think the script itself look fine, just a some bug that can be exploit. mes "[Leon]"; mes "You guessed the correct number!"; next; mes "[Leon]"; mes "Congratulations! You have won the Jackpot of ^008800"+$JackpotAmount+" zeny^000000!"; set zeny,zeny+$JackpotAmount; announce "[ Jackpot ]: "+strcharinfo(0)+" has won the Jackpot of "+$JackpotAmount+" zeny !!",0x76EE00; set $JackpotAmount,0; close2; announce "[ Jackpot ]: The number that won the Jackpot was "+$JackpotNumber+".",0x76EE00; set $JackpotNumber,0; sleep2 5000; announce "[ Jackpot ]: To win Jackpot come chip in some zeny and take a guess!",0x76EE00; end; change to input .@JackpotPick; if( .@JackpotPick < 1 || .@JackpotPick > 100 ) { next; mes "[Leon]"; mes "You must enter a number between ^FF00001^000000 and ^FF0000100^000000. I do not give refunds!"; goto JackpotStart; } else { mes "["+strcharinfo(0)+"]"; mes "My number is ^880000"+.@JackpotPick+"^000000!"; next; if(.@JackpotPick!=$JackpotNumber) { mes "[Leon]"; mes "You guessed the wrong number."; mes "You can always try again!"; goto JackpotStart; } mes "[Leon]"; mes "Congratulations! You have won the Jackpot of ^008800"+$JackpotAmount+" zeny^000000!"; set Zeny,Zeny + $JackpotAmount; announce "[ Jackpot ]: "+strcharinfo(0)+" has won the Jackpot of "+$JackpotAmount+" zeny !!",0x76EE00; announce "[ Jackpot ]: The number that won the Jackpot was "+$JackpotNumber+".",0x76EE00; set $JackpotAmount,0; set $JackpotNumber,0; close2; announce "[ Jackpot ]: To win Jackpot come chip in some zeny and take a guess!",0x76EE00; end; } You just need more practice and testing on the script.
  13. .......,{ getitem <item1>,1; getitem <item2>,1; getitem <item3>,1; getitem <item4>,1; getitem <item5>,1; },{ },{ } make sure you set the item to usable.
  14. you can just follow the way like how official server did it.. 13502,Drooping_Kitty_Box,Refined Drooping Cat Box,18,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ rentitem 5279,604800; },{},{} 13503,Magestic_Goat_Box,Baphomet Horns Box,18,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ rentitem 5280,604800; },{},{} 13504,Deviruchi_Cap_Box,Refined Deviruchi Hat Box,18,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ rentitem 5281,604800; },{},{} 13505,Executioner_Box,Executioner Box,18,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ rentitem 1174,604800; },{},{} 13506,Brood_Axe_Box,Refined Bloody Axe Box,18,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ rentitem 1373,604800; },{},{} 13507,Tomahawk_Box,Tomahawk Box,18,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ rentitem 1374,604800; },{},{} 13508,Bow_Of_Rudra_Box,Rudra Bow Box,18,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ rentitem 1729,604800; },{},{} 13509,Cutlas_Box,Cutlus Box,18,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ rentitem 13402,604800; },{},{} 13510,Solar_Sword_Box,Solar Sword Box,18,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ rentitem 13403,604800; },{},{} 13511,Sword_Breaker_Box,Refined Swordbreaker Box,18,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ rentitem 13024,604800; },{},{} 13512,Mail_Breaker_Box,Refined Mailbreaker Box,18,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ rentitem 13025,604800; },{},{} 13513,Moonlight_Sword_Box,Moonlight Dagger Box,18,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ rentitem 13026,604800; },{},{} 13514,Spanner_Box,Wrench Box,18,20,,10,,,,,0xFFFFFFFF,63,2,,,,,,{ rentitem 1534,604800; },{},{}
  15. tools/convert_sql.pl#L3-L5 install perl in your pc and execute it as shown in the link.
  16. .......,{ autobonus "{ bonus bIntravision,1; }",<rate>,<duration>,<flag>; },{ },{ }
  17. if I recall correctly, you can only tame non-mvp monster. pet 0; I think should be this item bonus to tame all monster as long as you have the pet_db added for each mob and pet egg in item_db.
  18. you can try this https://pastebin.com/knwkR58H
  19. you can try this https://pastebin.com/83feiD7B
  20. callsub( L_rate,1 ); // 1x / Original callsub( L_rate,2 ); // 2x callsub( L_rate,3 ); // 3x
  21. sometime it's good thing if you did check the previous edited post. compare(strcharinfo(3),"cas_g") has been fixed to compare(strcharinfo(3),"g_cas")
  22. my bad, should be OnPCKillEvent: if (killerrid != getcharid(3)){ announce strcharinfo(0)+" killed "+rid2name(killedrid),bc_map; } end;
  23. npc/custom/warper.txt npc/custom/healer.txt npc/custom/stylist.txt npc/other/pvp.txt npc/custom/quests/quest_shop.txt
  24. loop through all the cutin file in sequence and repeat with longer and longer delay each time.
  25. the variable value are already stored in the acc_reg_num table, I dont see there is a need to create a new table for it.
×
×
  • Create New...