Jump to content

Emistry

Forum Moderator
  • Content Count

    9,447
  • Avg. Content Per Day

    3
  • Joined

  • Days Won

    239

Everything posted by Emistry

  1. ....{ if (compare(strcharinfo(3), "dbroom") || compare(strcharinfo(3), "06guild")) { delitem 604,1; monster "this",-1,-1,"--ja--",-1,1,""; } else { dispbottom "This item cannot be used within this are. please use the db room!"; } },{},{} by default, script column could only support up to 1000 characters.
  2. [email protected] = 10; monster "prontera",0,0,"Quest Poring",1002,[email protected],"NPCNAME::OnPoringKilled"; copyarray [email protected]_gid, [email protected], [email protected]; for ([email protected] = 0; [email protected] < [email protected]; [email protected]++) { getunitdata [email protected]_gid[[email protected]], [email protected]; if ([email protected][UMOB_MODE] & MD_AGGRESSIVE) setunitdata [email protected]_gid[[email protected]], UMOB_MODE, ([email protected][UMOB_MODE] - MD_AGGRESSIVE); }
  3. prontera,155,181,5 script Sample 757,{ switch(select("I want to check shop", "I'm good thank you..")) { case 1: callshop "woe_shop",4; end; case 2: mes "Thats good to hear!"; break; } close; OnInit: // Shop items: <ID>,<point cost> setarray .Shop, 4001,1, 4004,1, 4033,1, 4196,1, 4197,25, 4054,50, 4174,75, 4047,100; npcshopdelitem "woe_shop",909; for([email protected]=0; [email protected]<getarraysize(.Shop); [email protected]+=2) npcshopadditem "woe_shop",.Shop[[email protected]],.Shop[[email protected]+1]; end; } - pointshop woe_shop -1,#WOEPOINTS,909:-1
  4. Emistry

    SQL bank

    number doesn't need concatenation. query_sql("UPDATE `char` SET `quest_points` = `quest_points` + 10, `E` = `E` + 1 WHERE `char_id` = "+getcharid(0));
  5. // ...{ callfunc("F_CraftItem", <receipt_itemid>, <reward_itemid>, <required_item>, <required_amount>...); } // ...{ callfunc("F_CraftItem", 501, 5022, 5001, 1, 5002, 1); } make a usable with the item script above. and load the following function script function script F_CraftItem { [email protected] = getargcount(); for ([email protected] = 2; [email protected] < [email protected] - 1; [email protected] += 2) { if (countitem(getarg([email protected])) < getarg([email protected] + 1, 0)) return; } delitem getarg(0), 1; for ([email protected] = 2; [email protected] < [email protected] - 1; [email protected] += 2) delitem getarg([email protected]), getarg([email protected] + 1, 0); getitem getarg(1), 1; return; }
  6. prontera,155,181,5 script Sample 757,{ if (getcharid(3) >= 2000001 && getcharid(3) <= 2000003) { switch(select("Warp", "Change Password")) { case 1: warp "prontera", 155, 180; end; case 2: mes "Enter new password."; input [email protected]_password$; if (getstrlen([email protected]_password$) < 5 || getstrlen([email protected]_password$) > 30) { mes "Between 5 ~ 30 characters."; } else { if (.md5) { [email protected]_password$ = "MD5('"[email protected]_password$+"')"; } else { [email protected]_password$ = "'"[email protected]_password$+"'"; } query_sql("UPDATE `login` SET `user_pass` = "[email protected]_password$+" WHERE `account_id` = "+getcharid(3)+" LIMIT 1"); } break; } close; } end; OnInit: .use_md5 = 1; waitingroom "Warper", 0; end; }
  7. OnUpdate: if(checkvending()) { dispbottom "Hourly Point disabled."; end; } ... ...
  8. autobonus "{ callfunc "F_BlackKingBar"; }",500,10000,BF_WEAPON; function script F_BlackKingBar { atcommand "@effect 123456"; // TODO: change to enlarge effect. sleep2 10000; atcommand "@effect 123456"; // TODO: repeat to end the effect. end; } i don't remember which effect allow user to growth in size. find the id and change it.
  9. donpcevent "Ev_HntRm"; donpcevent "Ev_HntRm2"; donpcevent(...) suppose to trigger an event label within a NPC script, it should be npc name + event label name, not just npc name. and event label name should start with "OnXXXXX", follow the naming convension.
  10. just use any website that allow you to convert hex color code into rgb https://color-hex.org/color/c6a518
  11. if the script are making use of gvg_castle mapflag to create the emperium test area, then you need a guild with that skill to be able to hit the emperium. otherwise you had to remove the mapflag, but this will end up spamming your map-server with warning since emperium doesn't spawn in any other maps. work around would be create a new emperium monster using new mob id and remove that guild checking.
  12. shut down server, and execute these queries. UPDATE `cart_inventory` SET `option_id0` = 0,`option_val0` = 0,`option_parm0` = 0,`option_id1` = 0,`option_val1` = 0,`option_parm1` = 0,`option_id2` = 0,`option_val2` = 0,`option_parm2` = 0,`option_id3` = 0,`option_val3` = 0,`option_parm3` = 0,`option_id4` = 0,`option_val4` = 0,`option_parm4` = 0; UPDATE `guild_storage` SET `option_id0` = 0,`option_val0` = 0,`option_parm0` = 0,`option_id1` = 0,`option_val1` = 0,`option_parm1` = 0,`option_id2` = 0,`option_val2` = 0,`option_parm2` = 0,`option_id3` = 0,`option_val3` = 0,`option_parm3` = 0,`option_id4` = 0,`option_val4` = 0,`option_parm4` = 0; UPDATE `inventory` SET `option_id0` = 0,`option_val0` = 0,`option_parm0` = 0,`option_id1` = 0,`option_val1` = 0,`option_parm1` = 0,`option_id2` = 0,`option_val2` = 0,`option_parm2` = 0,`option_id3` = 0,`option_val3` = 0,`option_parm3` = 0,`option_id4` = 0,`option_val4` = 0,`option_parm4` = 0; UPDATE `mail_attachments` SET `option_id0` = 0,`option_val0` = 0,`option_parm0` = 0,`option_id1` = 0,`option_val1` = 0,`option_parm1` = 0,`option_id2` = 0,`option_val2` = 0,`option_parm2` = 0,`option_id3` = 0,`option_val3` = 0,`option_parm3` = 0,`option_id4` = 0,`option_val4` = 0,`option_parm4` = 0; UPDATE `storage` SET `option_id0` = 0,`option_val0` = 0,`option_parm0` = 0,`option_id1` = 0,`option_val1` = 0,`option_parm1` = 0,`option_id2` = 0,`option_val2` = 0,`option_parm2` = 0,`option_id3` = 0,`option_val3` = 0,`option_parm3` = 0,`option_id4` = 0,`option_val4` = 0,`option_parm4` = 0;
  13. doc/item_bonus.txt#L419-L425 bonus bUnbreakableGarment; Garment cannot be damaged/broken by any means bonus bUnbreakableWeapon; Weapon cannot be damaged/broken by any means bonus bUnbreakableArmor; Armor cannot be damaged/broken by any means bonus bUnbreakableHelm; Helm cannot be damaged/broken by any means bonus bUnbreakableShield; Shield cannot be damaged/broken by any means bonus bUnbreakableShoes; Shoes cannot be damaged/broken by any means bonus bUnbreakable,n; Reduces the break chance of all equipped equipment by n% and db/pre-re/item_noequip.txt or db/re/item_noequip.txt
  14. just duplicate the script for each town or maps, and rename the npc variable (albertaquest) so that its unique to each other.
  15. You didnt have the required .act file in your data folder or grf.
  16. increase the inventory name letter.
  17. You can add the nightmare mapflag to the map you want. npc/mapflag/nightmare.txt
  18. What's the point of this changes? if drop rate is 0% ... it meant the monster will never drop it, as if the item drops weren't added to the monster. Your changes probably messed up with the calculation part (value divide by 0) and caused server crashed.
  19. try change your clientinfo servicetype to uae, and langtype 19
  20. you have disabled or removed the npc.... enable the NPC or remove it from the script ...
  21. 7140,Seed_Of_Life,Seed of Life,0,600,,10,,,,,,,,,,,,,{ input [email protected]$; atcommand "@unjail " + [email protected]$; },{},{} you almost did it, except the missing semi colon;
  22. check the wav folder inside the data.grf, its all there.
  23. a slightly more optimized version... alberta,220,42,3 script CardTrader 60,{ mes "Exchange Cards:"; for ([email protected] = 0; [email protected] < .cards_size; [email protected]++) { mes "~ "+getitemname(.cards[[email protected]]); if (!countitem(.cards[[email protected]]) [email protected]++; } if ([email protected]) { next; mes "[Card Trader]","Congratz you have all cards."; for ([email protected] = 0; [email protected] < .cards_size; [email protected]++) delitem .cards[[email protected]], 1; mes "You gained:"; for ([email protected] = 0 ; [email protected] < .price_size; [email protected] += 2) { mes "~ "+.prize[[email protected]+1]+"x "+getitemname(.prize[[email protected]]); getitem .prize[[email protected]],.prize[[email protected]+1]; } } close; OnInit: setarray .cards,4001,4002,4003,4004; // Card ID list setarray .prize,909,3,901,5; // <ITEM ID><AMOUNT>{<ITEM ID><AMOUNT>....} .cards_size = getarraysize(.cards); .price_size = getarraysize(.prize); end; }
  24. try change if(!getarg(0,0)&&!getarg(1,0)) into if (getargcount() < 2)
  25. maybe just follow how Randgrid Card work? auto cast dispell skill ? bonus3 bAutoSpell,"SA_DISPELL",1,50;
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.