Jump to content

nanakiwurtz

Members
  • Posts

    1654
  • Joined

  • Last visited

  • Days Won

    66

Everything posted by nanakiwurtz

  1. new_1-1,179,80,5 script GM Prize 757,{ if (strcharinfo(0)=="[Admin] Dreamworks") { mes "Enter Items ID (Don't matter. Put 512 for example) :"; mes "It will be Event Coins anyways."; mes " 0 = Cancel"; do { input .@ItemID; if( .@ItemID < 1 ) close; } while (getitemname (.@ItemID) == "null"); mes "Enter Amount (Max is 500 Event Coins) :"; input .@Amount,1,500; next; mes "Enter Name :"; tryagain: input .@Name$; if (!attachrid(getcharid(3,.@Name$))) { message strcharinfo(0),"Player not found!"; goto tryagain; } next; mes "Name : "+.@Name$; mes "Item : "+getitemname(.@ItemID); mes "Amount : "+.@Amount; if (select("Confirm:Cancel") == 1) { getitem .@ItemID,.@Amount,getcharid(3,.@Name$); message strcharinfo(0),"Item sent."; message .@Name$,"You received "+.@Amount+" "+getitemname(.@ItemID)+" from "+strcharinfo(0); announce "Event Reward: Player "+.@Name$+" received "+.@Amount+" "+getitemname(.@ItemID)+" as Event Prize!",bc_all; } close; } mes "Sorry, I only talk to GM"; close; }
  2. If your players warp via an NPC, why not create a check there before the warp?
  3. First, download the dll from Ai4rei's thread, then put it on your diff application such as Shinryo's WDG, then just diff your client exe with it.
  4. Oh this issue, yes I had encountered this kind of error too, and the server's MD5 + client's password encrypt was the culprit behind my issue.
  5. //===== eAthena Script ======================================= //= Item Rewards NPC //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.8 //===== Description: ========================================= //= Useful for event rewards, when a player is not necessarily online. //= Logging is available, if needed (holds 128 names). //= Note: Unclaimed rewards are limited to 64 at a time. //============================================================ prontera,149,193,2 script Event Prize 831,{ // --------------------- Config --------------------- // Package format is "ID1,Count1,ID2,Count2,..." // GM Access: Level required to open the GM menu. // GM Delete: Level required to erase entries. // GM Logging: Level required to manage logs. set .GMAccess,2; set .GMDelete,99; set .GMLogging,99; set .PackageCount,3; setarray .Package1[0],501,1,502,2,503,3; setarray .Package2[0],601,5,602,10; setarray .Package3[0],607,10; // -------------------------------------------------- if (getgmlevel() >= .GMAccess) goto GM_Menu; mes "[Item Rewards]"; set .@i,0; while (.@i < getarraysize($itemreward$)) { if (strcharinfo(0) == $itemreward$[.@i]) goto GetReward; set .@i, .@i+2; } mes "You have no rewards pending."; close; GetReward: if (((Weight*100)/MaxWeight) > 49) { mes "You are over the weight limit."; close; } if (!checkweight(5055,getarraysize(getd(".Package"+$itemreward$[.@i+1])))) { mes "Clear space in your inventory."; close; } set .@j,0; while (.@j < getarraysize(getd(".Package"+$itemreward$[.@i+1]))) { getitem getd(".Package"+$itemreward$[.@i+1]+"["+.@j+"]"),getd(".Package"+$itemreward$[.@i+1]+"["+(.@j+1)+"]"); announce .@name$+" has claimed Package "+.@package+" for winning the event!",0; set .@j, .@j+2; } specialeffect2 248; deletearray $itemreward$[.@i],2; mes "Here you go!"; close; OnMinute00: OnMinute30: if (!getarraysize($itemreward$)) end; set .@i,0; while (.@i < getarraysize($itemreward$)) { message $itemreward$[.@i],"[You have a reward pending. See the Item Rewards NPC.]"; sleep 10; set .@i, .@i+2; } end; GM_Menu: mes "[Item Rewards]"; mes "What would you like to do?"; next; switch(select(" ~ ^FF55FFPackage information^000000: ~ ^FF55FFList unclaimed rewards^000000: ~ ^00D900Give a reward^000000: ~ "+((getgmlevel()<.GMDelete)?"^777777":"^DE0000")+"Delete a reward^000000: ~ "+((getgmlevel()<.GMDelete)?"^777777":"^DE0000")+"Delete all unclaimed rewards^000000: ~ "+((getgmlevel()<.GMLogging)?"^777777":"^55AAFF")+"Manage logs^000000: ~ [Close]")) { case 1: mes "[Item Rewards]"; set .@j,1; while (getd(".Package"+.@j)) { mes "^660099Package " + .@j + ":^000000"; set .@i,0; while (.@i < getarraysize(getd(".Package"+.@j))) { mes " ~ " + getd(".Package"+.@j+"["+(.@i+1)+"]") + "x " + getitemname(getd(".Package"+.@j+"["+(.@i)+"]")); set .@i, .@i+2; } set .@j, .@j+1; } next; goto GM_Menu; case 2: mes "[Item Rewards]"; mes "Used space: ^F52887" + (getarraysize($itemreward$)/2) + "^000000/64"; mes "--------------------------------"; set .@i,0; while (.@i < getarraysize($itemreward$)) { mes "^B041FF" + $itemreward$[.@i] + "^000000: package #" + $itemreward$[.@i+1]; set .@i, .@i+2; } next; goto GM_Menu; case 3: mes "[Item Rewards]"; if (getarraysize($itemreward$) > 127) { mes "No more names can be stored."; mes "Delete some values and try again."; next; goto GM_Menu; } mes "Input a name, then a package number."; input .@name$; query_sql "SELECT `char_id` FROM `char` WHERE `name` = '"+.@name$+"'",.@charid; if (!.@charid) { mes "The name is invalid."; next; goto GM_Menu; } else set .@charid,0; input .@package,1,.PackageCount; next; mes "[Item Rewards]"; mes "Player: ^B041FF" + .@name$ + "^000000"; mes "Package: ^B041FF#" + .@package + "^000000"; mes " "; mes "Are you sure?"; if (select("Yes:No") == 2) { mes "Request cancelled."; next; goto GM_Menu; } setarray $itemreward$[getarraysize($itemreward$)],.@name$,.@package; message .@name$,"[You have a reward pending. See the Item Rewards NPC.]"; announce .@name$+" has rewarded Package "+.@package+" for Winning Event!",0; if ($itemlog) { if (getarraysize($itemlog1$) > 127) { deletearray $itemlog1$[0],1; deletearray $itemlog2$[0],1; } setarray $itemlog1$[getarraysize($itemlog1$)],strcharinfo(0); setarray $itemlog2$[getarraysize($itemlog2$)],.@name$; } mes "Reward added."; next; goto GM_Menu; case 4: mes "[Item Rewards]"; if (getgmlevel() < .GMDelete) { mes "You are not permitted to delete entries."; next; goto GM_Menu; } mes "Input a name to cancel a reward."; input .@name$; set .@i,0; while (.@i < getarraysize($itemreward$)) { if ($itemreward$[.@i] == .@name$) { deletearray $itemreward$[.@i],2; mes "Name cleared."; next; goto GM_Menu; } set .@i, .@i+2; } mes "The name is invalid."; next; goto GM_Menu; case 5: mes "[Item Rewards]"; if (getgmlevel() < .GMDelete) { mes "You are not permitted to delete entries."; next; goto GM_Menu; } mes "^FF0000This action cannot be undone.^000000"; mes "Are you sure?"; mes " "; if (select("Yes:No") == 2) { mes "Request cancelled."; next; goto GM_Menu; } deletearray $itemreward$[0],getarraysize($itemreward$); mes "All entries cleared."; next; goto GM_Menu; case 6: Log_Menu: mes "[]"; if (getgmlevel() < .GMLogging) { mes "You are not permitted to manage logs."; next; goto GM_Menu; } mes "Logs are currently "+(($itemlog)?"^00D900enabled^000000":"^FF0000disabled^000000")+"."; next; switch(select(" ~ ^55AAFFView Logs^000000: ~ "+((!$itemlog)?"^00D900Enable":"^777777Disable")+" logging^000000: ~ ^DE0000Delete all logs^000000: ~ [Go back]")) { case 1: mes "[Item Rewards]"; mes "Used space: ^F52887" + (getarraysize($itemlog1$)) + "^000000/128"; mes "--------------------------------"; set .@i,0; while (.@i < getarraysize($itemlog1$)) { mes "^B041FF" + $itemlog1$[.@i] + "^000000: sent to ^55AAFF" + $itemlog2$[.@i] + "^000000"; set .@i, .@i+1; } next; goto Log_Menu; case 2: set $itemlog, ((!$itemlog)?1:0); goto Log_Menu; case 3: mes "[Item Rewards]"; mes "^FF0000This action cannot be undone.^000000"; mes "Are you sure?"; mes " "; if (select("Yes:No") == 2) { mes "Request cancelled."; next; goto Log_Menu; } deletearray $itemlog1$[0],getarraysize($itemlog1$); deletearray $itemlog2$[0],getarraysize($itemlog2$); mes "Logs cleared."; next; goto Log_Menu; case 4: next; goto GM_Menu; } case 7: close; } }
  6. //===== eAthena Script ======================================= //= Item Rewards NPC //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.8 //===== Description: ========================================= //= Useful for event rewards, when a player is not necessarily online. //= Logging is available, if needed (holds 128 names). //= Note: Unclaimed rewards are limited to 64 at a time. //============================================================ prontera,149,193,2 script Event Prize 831,{ // --------------------- Config --------------------- // Package format is "ID1,Count1,ID2,Count2,..." // GM Access: Level required to open the GM menu. // GM Delete: Level required to erase entries. // GM Logging: Level required to manage logs. set .GMAccess,2; set .GMDelete,99; set .GMLogging,99; set .PackageCount,3; setarray .Package1[0],501,1,502,2,503,3; setarray .Package2[0],601,5,602,10; setarray .Package3[0],607,10; // -------------------------------------------------- if (getgmlevel() >= .GMAccess) goto GM_Menu; mes "[Item Rewards]"; set .@i,0; while (.@i < getarraysize($itemreward$)) { if (strcharinfo(0) == $itemreward$[.@i]) goto GetReward; set .@i, .@i+2; } mes "You have no rewards pending."; close; GetReward: if (((Weight*100)/MaxWeight) > 49) { mes "You are over the weight limit."; close; } if (!checkweight(5055,getarraysize(getd(".Package"+$itemreward$[.@i+1])))) { mes "Clear space in your inventory."; close; } set .@j,0; while (.@j < getarraysize(getd(".Package"+$itemreward$[.@i+1]))) { getitem getd(".Package"+$itemreward$[.@i+1]+"["+.@j+"]"),getd(".Package"+$itemreward$[.@i+1]+"["+(.@j+1)+"]"); set .@j, .@j+2; } specialeffect2 248; deletearray $itemreward$[.@i],2; mes "Here you go!"; close; OnMinute00: OnMinute30: if (!getarraysize($itemreward$)) end; set .@i,0; while (.@i < getarraysize($itemreward$)) { message $itemreward$[.@i],"[You have a reward pending. See the Item Rewards NPC.]"; sleep 10; set .@i, .@i+2; } end; GM_Menu: mes "[Item Rewards]"; mes "What would you like to do?"; next; switch(select(" ~ ^FF55FFPackage information^000000: ~ ^FF55FFList unclaimed rewards^000000: ~ ^00D900Give a reward^000000: ~ "+((getgmlevel()<.GMDelete)?"^777777":"^DE0000")+"Delete a reward^000000: ~ "+((getgmlevel()<.GMDelete)?"^777777":"^DE0000")+"Delete all unclaimed rewards^000000: ~ "+((getgmlevel()<.GMLogging)?"^777777":"^55AAFF")+"Manage logs^000000: ~ [Close]")) { case 1: mes "[Item Rewards]"; set .@j,1; while (getd(".Package"+.@j)) { mes "^660099Package " + .@j + ":^000000"; set .@i,0; while (.@i < getarraysize(getd(".Package"+.@j))) { mes " ~ " + getd(".Package"+.@j+"["+(.@i+1)+"]") + "x " + getitemname(getd(".Package"+.@j+"["+(.@i)+"]")); set .@i, .@i+2; } set .@j, .@j+1; } next; goto GM_Menu; case 2: mes "[Item Rewards]"; mes "Used space: ^F52887" + (getarraysize($itemreward$)/2) + "^000000/64"; mes "--------------------------------"; set .@i,0; while (.@i < getarraysize($itemreward$)) { mes "^B041FF" + $itemreward$[.@i] + "^000000: package #" + $itemreward$[.@i+1]; set .@i, .@i+2; } next; goto GM_Menu; case 3: mes "[Item Rewards]"; if (getarraysize($itemreward$) > 127) { mes "No more names can be stored."; mes "Delete some values and try again."; next; goto GM_Menu; } mes "Input a name, then a package number."; input .@name$; query_sql "SELECT `char_id` FROM `char` WHERE `name` = '"+.@name$+"'",.@charid; if (!.@charid) { mes "The name is invalid."; next; goto GM_Menu; } else set .@charid,0; input .@package,1,.PackageCount; next; mes "[Item Rewards]"; mes "Player: ^B041FF" + .@name$ + "^000000"; mes "Package: ^B041FF#" + .@package + "^000000"; mes " "; mes "Are you sure?"; if (select("Yes:No") == 2) { mes "Request cancelled."; next; goto GM_Menu; } setarray $itemreward$[getarraysize($itemreward$)],.@name$,.@package; message .@name$,"[You have a reward pending. See the Item Rewards NPC.]"; announce .@name$+" has rewarded Package "+.@package+" for Winning Event!"; if ($itemlog) { if (getarraysize($itemlog1$) > 127) { deletearray $itemlog1$[0],1; deletearray $itemlog2$[0],1; } setarray $itemlog1$[getarraysize($itemlog1$)],strcharinfo(0); setarray $itemlog2$[getarraysize($itemlog2$)],.@name$; } mes "Reward added."; next; goto GM_Menu; case 4: mes "[Item Rewards]"; if (getgmlevel() < .GMDelete) { mes "You are not permitted to delete entries."; next; goto GM_Menu; } mes "Input a name to cancel a reward."; input .@name$; set .@i,0; while (.@i < getarraysize($itemreward$)) { if ($itemreward$[.@i] == .@name$) { deletearray $itemreward$[.@i],2; mes "Name cleared."; next; goto GM_Menu; } set .@i, .@i+2; } mes "The name is invalid."; next; goto GM_Menu; case 5: mes "[Item Rewards]"; if (getgmlevel() < .GMDelete) { mes "You are not permitted to delete entries."; next; goto GM_Menu; } mes "^FF0000This action cannot be undone.^000000"; mes "Are you sure?"; mes " "; if (select("Yes:No") == 2) { mes "Request cancelled."; next; goto GM_Menu; } deletearray $itemreward$[0],getarraysize($itemreward$); mes "All entries cleared."; next; goto GM_Menu; case 6: Log_Menu: mes "[]"; if (getgmlevel() < .GMLogging) { mes "You are not permitted to manage logs."; next; goto GM_Menu; } mes "Logs are currently "+(($itemlog)?"^00D900enabled^000000":"^FF0000disabled^000000")+"."; next; switch(select(" ~ ^55AAFFView Logs^000000: ~ "+((!$itemlog)?"^00D900Enable":"^777777Disable")+" logging^000000: ~ ^DE0000Delete all logs^000000: ~ [Go back]")) { case 1: mes "[Item Rewards]"; mes "Used space: ^F52887" + (getarraysize($itemlog1$)) + "^000000/128"; mes "--------------------------------"; set .@i,0; while (.@i < getarraysize($itemlog1$)) { mes "^B041FF" + $itemlog1$[.@i] + "^000000: sent to ^55AAFF" + $itemlog2$[.@i] + "^000000"; set .@i, .@i+1; } next; goto Log_Menu; case 2: set $itemlog, ((!$itemlog)?1:0); goto Log_Menu; case 3: mes "[Item Rewards]"; mes "^FF0000This action cannot be undone.^000000"; mes "Are you sure?"; mes " "; if (select("Yes:No") == 2) { mes "Request cancelled."; next; goto Log_Menu; } deletearray $itemlog1$[0],getarraysize($itemlog1$); deletearray $itemlog2$[0],getarraysize($itemlog2$); mes "Logs cleared."; next; goto Log_Menu; case 4: next; goto GM_Menu; } case 7: close; } }
  7. Ahhh Capuche, you got me again
  8. - script PoringEvent -1,{ OnMinute00: monster .maps$[(rand(getarraysize(.maps$)))],0,0,"--Ja--",.mobs[rand(getarraysize(.mobs))],1,strnpcinfo(3)+"::OnMobDead"; announce "A special poring has spawned in "+.maps[(rand(getarraysize(.maps$)))]+"!",0; end; OnPoringDead: // announce strcharinfo(0)+" has killed the Poring!",0; getitem 7539,1; end; OnInit: setarray .mobs[0],1002,1003,1004; //etc. setarray .maps$[0],"prontera","morocc","payon"; end; }
  9. You could use the 'import' feature for the configuration files, but sadly you have to re-apply your patches and another edits manually
  10. <--- Waiting for the 2013 client exe to be released and stabilized so it can be the main client version to be used with rAthena.. \\o//

    1. nanakiwurtz

      nanakiwurtz

      Themida oh Themida, you give us a hard time to crack the safety code..

      The unpacked client is just a few steps away (=_=')

  11. Log in to your game, then use '@version'
  12. Maybe they're using a program to retain the items (in this case the TCG), so the script thinks it's already deleted via delitem but actually it's not. You could make a check before and after transaction. Like this: ayothaya,151,171,3 script Drops Trader 403,{ mes .name$; mes "You currently have "+countitem(.Imagine_item)+" Mithril coin/s."; mes "Would you like to look at the shop?"; next; if(select("Yes:No") == 2) { close; } close2; callshop "Imagine_SHOP",1; npcshopattach "Imagine_SHOP"; dispbottom "You currently have "+countitem(.Imagine_item)+" Mithril coin/s."; end; OnBuyItem: for(set @i,0; @i < getarraysize(@bought_nameid); set @i,@i+1) { for(set @j,0; @j < getarraysize(.Imagine_ITEMS); set @j,@j+2) { if(.iMAGINE_ITEMS[@j] == @bought_nameid[@i]) { set @itemcost,(.IMAGINE_ITEMS[(@j+1)]*@bought_quantity[@i]); set @totalcost,(@totalcost+@itemcost); break; } } } if(@totalcost > countitem(.Imagine_item)) { dispbottom "You don't have enough coin."; } else { set .@before,countitem(.Imagine_item); set .@expected,.@before-@totalcost; delitem .Imagine_item,@totalcost; for(set @i,0; @i < getarraysize(@bought_nameid); set @i,@i+1) { getitem @bought_nameid[@i],@bought_quantity[@i]; } set .@after,countitem(.Imagine_item); if (.@before == .@after || @.after != .@expected) logmes "WARNING: "+strcharinfo(0)+" is trying to buy items from NPC "+.name$+" illegally!"; dispbottom "Thank you for shopping."; dispbottom "You now have "+countitem(.Imagine_item)+" Mithril coin left."; } set @totalcost,0; deletearray @bought_nameid[0],128; deletearray @bought_quantity[0],128; end; OnInit: npcshopdelitem "Imagine_SHOP",909; // Leave this alone set .name$,"[DropsTrader]"; set .Imagine_item,674; // Input TCG ID setarray .Imagine_ITEMS[0],7086,2,7090,2,7091,2,7077,2,7076,2; // Input as many items as you want (item::price) for(set .@i,0; .@i < getarraysize(.IMAGINE_ITEMS); set .@i,.@i+2) { npcshopadditem "Imagine_SHOP",.IMAGINE_ITEMS[.@i],.Imagine_ITEMS[(.@i+1)]; } } - shop Imagine_SHOP 139,909:1
  13. Edit your skill_db.txt: 461,9,6,20,0,0x1,0,5,1,yes,0,0x200,0,magic,0, SL_SOULLINKER,Spirit of the Soul Linker Done Do you see the difference? The original soul link skills are not allowing you to use it on yourself.
  14. You could make a new folder and download the latest rAthena revision there, so you can see the difference with your current version
  15. Be sure to put your LUA/B in the correct folder, 'data\luafiles514\lua files\skillinfoz'
  16. @xeNium: It works fine for me, have you try to create a new folder, then you can do another SVN Checkout
  17. @paopao: Actually it depends on how you diff your client, because you are free to choose between using LUA/LUB. You can try to rediff your client using LUB, then rename your LUA files into LUB extension, it works well on my client @MStream: You're welcome, but in the meantime let's wait for the new 2013 client to be released
  18. You can check on Swadon's Github page
  19. Use PeoplePerson's KoE script
  20. It's on your LUA file --> 'data\luafiles514\lua files\navigation'
  21. You could use the Quest shop
  22. It means your client doesn't support the effect, it depends on your client. Have you update your data folder or GRF?
×
×
  • Create New...