Jump to content

pinyinhuo

Members
  • Posts

    54
  • Joined

  • Last visited

Everything posted by pinyinhuo

  1. pinyinhuo

    NVZ Bug

    Thank you guys! its fixed <3
  2. @Cyro - Thank you!!! <3 <3 <3
  3. pinyinhuo

    NVZ Bug

    Hi @Freya, Should i delete the whole line? <3
  4. Hi Rathena Team, is it possible to have an afk event then you get an specific item like pods or tcgs? THANKS!!! <3 <3 <3
  5. pinyinhuo

    NVZ Bug

    Hello, I have a custom script made by someone else, the problem is, it says no player win due all participants died, but one was left alive and all the zombie died. can you help me fix it? that when only one remaining, it will announce that person wins and will not say no player win due to all participants died? prontera,145,167,5 script Novice vs. Zombie 1015,{ if ( BaseLevel != 1 || Class != 0){ mes "[^0000FFZombie Vs. Novice^000000]"; mes "You must be a level 1 Novice."; close; } if(Weight > 0) { mes "Lower your weight, Remove all your items."; close; } mes "[^0000FFZombie Vs. Novice^000000]"; mes "You want to join the Event?"; next; switch(select("Yes","No")) { case 1: npctalk ""+strcharinfo(0)+" has registered for the Zombie v.s. Novice."; sc_end SC_ALL; sc_start SC_DECREASEAGI,1200000,10; percentheal 100,100; sc_start SC_STRIPSHIELD,1200000,5; sc_start SC_STRIPWEAPON,1200000,5; sc_start SC_STRIPARMOR,1200000,5; sc_start SC_STRIPHELM,1200000,5; statusup2 bStr,-999; statusup2 bAgi,-999; statusup2 bVit,-999; statusup2 bInt,-999; statusup2 bDex,-999; statusup2 bLuk,-999; warp "quiz_01",42,369; end; case 2: mes "[^0000FFZombie Vs. Novice^000000]"; mes "Come Again, if you want to join."; break; } close; OnInit: disablenpc "Novice vs. Zombie"; disablenpc "Prize"; end; OnClock1649: OnClock0100: OnClock0300: OnClock0500: OnClock0700: OnClock0900: OnClock1100: OnClock1300: OnClock1500: OnClock1700: OnClock1900: OnClock2100: OnClock2300: announce "Event Manager: Zombie Vs. Novice Event Registration is now Open, 1 minutes",0,0x00CCFF; killmonsterall "quiz_01"; sleep 5000; announce "Event Manager: NPC Appeared at Prontera Town' Register Now!",0,0x00CCFF; enablenpc "Novice vs. Zombie"; sleep 55000; announce "Event Manager: Zombie Vs. Novice Registration will be closed in 1 minute!",0,0x00CCFF; sleep 50000; mapannounce "quiz_01","Registration Closed!! in 10 seconds the Event will Start!",0,0x00CCFF; disablenpc "Novice vs. Zombie"; sleep 5000; for( set .@a,5; .@a > 0; set .@a,.@a - 1 ){ announce "Event Manager: Monster will spawn in ~"+.@a+"~",0,0x00CCFF; sleep 1000; } if(getmapusers("guild_vs5") == 1){ mapannounce "guild_vs5","Event Manager: Event Ended 1 Participant Only..",0,0x00CCFF; disablenpc "Prize"; announce "Event Manager: Event Ended 1 Participant Only",0,0x00CCFF; disablenpc "Novice vs. Zombie"; sleep 1000; } for( set .@a,3; .@a > 0; set .@a,.@a - 1 ){ monster "quiz_01",42,369,"Zombie",1015,2; sleep 10000; } while( getmapusers("quiz_01") > 1 ){ mapannounce "quiz_01",getmapusers("quiz_01") +" players still alive in the Event.",0,0x00FF00; sleep 2000; } killmonsterall "quiz_01"; announce "Event Manager: No Player win the Event, due to all participant die.",0,0x00FF00; mapannounce "quiz_01","Event Manager: You survive the zombie waves, talk to the Prize NPC to get the reward.",0,0x00FF00; enablenpc "Prize"; end; OnPCDieEvent: getmapxy .@mapnvz$,.@xnvz,.@ynvz,0; if ( .@mapnvz$ == "quiz_01") { sleep2 100; warp "prontera",156,180; atcommand "@alive "+ strcharinfo(0); dispbottom "Sorry, but you were killed."; } sleep2 100; if (.@mapnvz$ == "sec_pri" && getmapusers("quiz_01") == 1 ) { killmonsterall "sec_pri"; sc_start SC_BASILICA,30000,1; mapannounce "sec_pri","You have won, approach the R.F.Y.L. Banker NPC please.",0,0x00FF00; enablenpc "Prize"; stopnpctimer; end; } end; } quiz_01,42,369,3 script Prize 72,{ if(getmapusers("quiz_01") > 1){ npctalk "Only the last Survivor can talk with me."; end; } announce "In ' Zombie Vs. Novice ' has won" + strcharinfo (0) + "! We congratulate "+(( Sex )? "HIM":"HER")+"!",0,0x00FF00; getitem 7977,1; warp "prontera",156,180; disablenpc "Prize"; end; } // == Mapflags quiz_01 mapflag gvg quiz_01 mapflag nowarp quiz_01 mapflag nowarpto quiz_01 mapflag noteleport quiz_01 mapflag nosave quiz_01 mapflag nomemo quiz_01 mapflag nobranch quiz_01 mapflag pvp_noparty quiz_01 mapflag nocommand 80 //quiz_01 mapflag restricted 5
  6. Hi Rathena Team, I cant seem to put skill points on Magnus Exorcimus and Safety Wall, i have no idea on how to fix this. Please help me =(
  7. @Valor !!! THANKS! Works like magic <3 <3 <3
  8. @Valor, the prob is my char stays as blacksmith, how can i turn it to novice when i click the npc?
  9. Thank you so much Hakuren! <3 Well it works perfectly fine, i just need them to turn to novice aswell? which command should i put? Set Job 0?
  10. Hello Everyone, can you help me with my custom warper where when they get warped, all their zeny and items and equipped deleted and turns them to lvl 1 novice & job lvl 1. prontera,150,192,5 script Test 410,{ warp "turbo_room" ,100,109; end; OnInit: waitingroom "Test",0; end; }
  11. Hello, i would like to request a script where, when you kill a player in a specific map, you gain tcg/coins. Hoping you could help me out! Thanks!
  12. Is it possible, you get an item instead points like tcgs or coins? Youre my savior @Cyro! thanks!
  13. Thank you so much @Cyro! It worked!
  14. Hi. How can i apply it manually? should i just paste it in SRC Folder? or should i copy the content and paste somewhere else inside the file? i dont really know if i did it right.
  15. I mean the (red colored message) "You do not have enough Kafra Credit Points." can be changed to something like "You do not have enough Gold Coin." thank you so much @Cyrofor quick response.
  16. Hello Cyro i was hoping to find an NPC, same with MVP Ladder/PVP Ladder. but didnt manage to find it. does it still exist in rathena?
  17. Hello, can this appear as gold coin's aswell? sry!!!! ._.
  18. @Cyro, Thank you for your never ending support! it worked like magic! <3
  19. Hi, How can i separate this shop to 3 Different shops? thanks!
  20. Hello, I am currently Using a Kafra points to Pods shop, is it possible i could get like the same? wherein i could change kafra pts to pods and pods to kafra pts? and also, will shout their name Globally and how much they change in the npc? thank youuuu! <3 <3 <3 turbo_room,135,85,4 script Wertern Union 563,{ mes .NPC$; mes "Can exchange your " +getitemname(.ID)+ " for kafra points. Want to exchange?"; next; if (select("Yes:No") - 1) close; mes .NPC$; mes "Okay how many " +getitemname(.ID)+ " will you exchange?"; next; input .@amount; if (.@amount == 0) { mes .NPC$; mes "Cannot trade 0 amount"; close; } mes .NPC$; mes "So you want to exchange " +.@amount+ "x " +getitemname(.ID); next; if (select("Yes:No") - 1) close; mes .NPC$; mes "Let me check if you have that amount of requirements"; next; if (countitem(.ID) < .@amount) { mes .NPC$; mes "Seems like you put an invalid amount"; close; } mes .NPC$; mes "Ohh that's nice here you go!"; delitem .ID,.@amount; set #KAFRAPOINTS,#KAFRAPOINTS+1; dispbottom "You now have " +#KAFRAPOINTS+ " kafra credit points"; next; mes .NPC$; mes "Success trading"; close; OnInit: set .NPC$,"[ " +strnpcinfo(1)+ " ]"; // NPC Name set .ID,7179; // Requirement end; }
  21. Thank you so much @Cyro and @Technoken. is it possible i could use a gold coin/mithril coin when buying in those shops?
  22. Hello, Can somebody help me with level up ranking npc? where in they could check whos leading on training to level 99, Thank you so much!!! =)
  23. Hello, I used Euphy and Emistry's shop, i find them complicated for me. as some people can use the shop and buy stuffs w/o pods/tcgs, i really cant help seeing buggers buying stuffs. =( instead i use this, the problem is, my character moves even im already inside the shop and also i want to use an specific currency/badges to buy in the shop, that i can easily put more shop but different items in it. please help me guys!!! //===== rAthena Script ======================================= //= Dynamical Shop //===== By =================================================== //= lllchrislll //===== Version ============================================== //= 1.0 - Script Created // - Nearly forgot the "OnBuyItem" part (Q.Q) // - Added the possibility to edit the price limit. //= 1.1 - Added more Currency options // - Added possiblity to use pre-defined items + prices, // which are always in the shop, see 'OnInit:' > $cash_pre_it and $cash_pre_p // - Fixed an bug about the price limit // - Changed all $cash variables to .cash //===== Compatible With ====================================== //= Every rAthena SVN //===== Tested With ========================================== //= rAthena SQL 11.06.2015 - Updated Revision //===== Description ========================================== //= This Shop can be changed dynamically ingame and has four // payment methods, to choose from: Zeny, Cash Points, Custom Variable and Item. //= Also you can edit the Price Limit as long it doesn't exceed // the server's default settings in the conf/script_athena.conf // > input_max_value. By default I put it on 10,000,000, near // line 76 you can find a small hint, which value is the max, // if it isn't noted inside of that file already. //===== Comments ============================================= //= Thanks to Elysium: // > Bug about the price limit // > Modification request about more currency options //=========================================================== itemmall,175,76,4 script Cash Shop 100,{ function ShopStuff; // Reading Currency Display Name switch(.CR) { case 0: set .Cur_N$,"None"; break; case 1: set .Cur_N$,"Zeny"; set @Cur_O$,"Zeny"; break; case 2: set .Cur_N$,"Cash Points"; set @Cur_O$,"#CASHPOINTS"; break; case 3: set .Cur_N$,.CR_Name$; set @Cur_O$,""+.CR_Var$; break; case 4: set .Cur_N$,getitemname(.CR_Item); break; } if(.first) ShopStuff(5); if(getgmlevel() >= .gm) { set @shop,0; mes .n$; mes "Hello, "+strcharinfo(0)+"."; mes "Current Currency: "+.Cur_N$; while(1) { if(@shop) { close2; break; } // Reading Currency Display Name switch(.CR) { case 0: set .Cur_N$,"None"; break; case 1: set .Cur_N$,"Zeny"; set @Cur_O$,"Zeny"; break; case 2: set .Cur_N$,"Cash Points"; set @Cur_O$,"#CASHPOINTS"; break; case 3: set .Cur_N$,.CR_Name$; set @Cur_O$,""+.CR_Var$; break; case 4: set .Cur_N$,getitemname(.CR_Item); break; } next; mes .n$; mes "How can I help you?"; next; switch(select("- Shop Settings:- Reset Shop:- Open Shop:- Nothing")) { case 1: mes .n$; mes "What do you want view?"; next; if(select("- Shop Managment:- Currency Setting") - 1) { mes .n$; mes "What now?"; mes "^FF0000Note: On currency change I will delete every entry in the shop you have made so far.^000000"; switch(select("- Change currency (Current - "+.Cur_N$+"):- Set Price Limit:- Nothing")) { case 1: next; mes .n$; mes "Please choose from the menu below, which currency I should use:"; switch(select("- Zeny:- Cash Points:- Custom Variable:- Items")) { default: set .CR,@menu; break; case 3: next; mes .n$; mes "Please write the name of the Custom Variable and the display name for the players:"; mes "^FF0000Note: You have to be aware of the variable name itself, like PvPPoints.^000000"; mes "^FF0000Note: Max letters for variable name: 10, 20 for display name!^000000"; next; if(input(.@CR_Var$,1,10) != 0) { mes .n$; mes "Error: Either the variable name is too long or too short. Please try again."; continue; } if(input(.@CR_Name$,1,20) != 0) { mes .n$; mes "Error: Either the display name is too long or too short. Please try again."; continue; } mes .n$; mes "Variable Name: "+.@CR_Var$; mes "Variable Display Name: "+.@CR_Name$; mes "Is this correct?"; if(select("- Yes:- No") - 1) continue; next; mes .n$; mes "Custom Variable will now be used as currency."; set .CR_Var$,.@CR_Var$; set .CR_Name$,.@CR_Name$; set .CR,3; break; case 4: next; mes .n$; mes "Please write the id of the item you want to use:"; next; if(input(.@item,501,.last_id) != 0) { mes .n$; mes "The id you have put is either too low or too high."; continue; } if(getitemname(.@item) == "null" || getitemname(.@item) == "") { mes .n$; mes "The item you requested doesn't exist."; continue; } mes .n$; mes "Chosen Item: "+getitemname(.@item); mes "Is that correct?"; if(select("- Yes:- No") - 1) continue; set .CR_Item,.@item; set .CR,4; break; } deletearray .cash_it[0],128; deletearray .cash_p[0],128; ShopStuff(4); continue; break; case 2: next; mes .n$; mes "Current Setting: "+.limit; mes "Change?"; if(select("- Yes:- No") - 1) continue; next; mes .n$; mes "Please type the new value:"; // ========= Changing Max Limit of 10,000,000 ============ // // 10,000,000 is the default setting for the max input. // To change that open the conf/script_athena.conf and // edit the value of "input_max_value:" to "2147483647", // which is the highest value possible. // Then you only need to change it here :D. // ======================================================= // mes "Note: But you can't go higher than the server setting of 10,000,000."; next; if(input(@n_lim,1,10000000) != 0) { mes .n$; mes "Invalid Value, max 10,000,000."; continue; } mes .n$; mes "New Limit has been set."; set .limit,@n_lim; continue; break; case 3: continue; break; } } if(!.CR) { mes .n$; mes "I'm sorry, but I don't know with which Currency I should trade yet."; mes "Please choose an currency first."; continue; } if(!.limit) { mes .n$; mes "You haven't set an price limit yet."; continue; } mes .n$; if(getarraysize(.cash_it) < 1) { mes "There is no item in the Shop yet."; } else { mes "There are currently the following "+getarraysize(.cash_it)+" Items in the Shop:"; mes "============================"; for ( set .@i,0; .@i < getarraysize(.cash_it); set .@i,.@i + 1) { mes getitemname(.cash_it[.@i])+" (ID: "+.cash_it[.@i]+")"; mes "Price:"+.cash_p[.@i]+" "+.Cur_N$; mes ( (.cash_it[.@i+1] != 0)?"---------------------------------":"============================"); } } next; switch(select("- Add Items:- Edit Items:- Delete Items:- Nothing")) { case 1: mes .n$; if(getarraysize(.cash_it) >= 128) { mes "The Shop is full, please remove an item first."; continue; } mes "Please type the Item ID you want to add:"; mes "Max is 128 Items."; next; if(input(.@item,501,.last_id) != 0) { mes .n$; mes "The id you have put is either too low or too high."; continue; } if(getitemname(.@item) == "null" || getitemname(.@item) == "") { mes .n$; mes "The item you requested doesn't exist."; continue; } mes .n$; mes "Chosen Item: "+getitemname(.@item); mes " "; mes "Now input the price it should have, the current currency is \""+.Cur_N$+"\"."; mes "Maximum is "+.limit; next; if(input(.@price,1,.limit) != 0) { mes .n$; mes "You have put an invalid price."; mes "Maximum is "+.limit; continue; } mes .n$; mes "Price: "+.@price+" "+.Cur_N$; mes "Is that correct?"; if(select("- Yes:- No") - 1) continue; ShopStuff(1,0,.@item,.@price); continue; break; case 2: mes .n$; if(getarraysize(.cash_it) < 1) { mes "There is no Item to edit."; mes "Please add one first :D."; continue; } mes "Please choose the item you want to edit:"; mes "Format: Name (Current Price)"; next; set @ed_list$,""; for ( set .@e,0; .@e < getarraysize(.cash_it); set .@e,.@e + 1) set @ed_list$,@ed_list$ + "- "+getitemname(.cash_it[.@e])+" ("+.cash_p[.@e]+")" + ( (.cash_it[.@e+1])?":":""); set @ed,select(@ed_list$) - 1; mes .n$; mes "Chosen Item: "+ getitemname(.cash_it[@ed]); mes "Price: "+ .cash_p[@ed]+" "+.Cur_N$; mes "Correct?"; if(select("- Yes:- No") - 1) continue; next; mes .n$; mes "What do you want to edit?"; next; if(select("- Item ID:- Price") - 1) { mes .n$; mes "Input the new price:"; next; if(input(.@price,1,.limit) != 0) { mes .n$; mes "You have put an invalid price."; mes "Maximum is "+.limit; continue; } mes .n$; mes "Chosen Price: "+.@price+" "+.Cur_N$; mes "Correct?"; if(select("- Yes:- No") - 1) continue; ShopStuff(3,@ed,.cash_it[@ed],.@price); } else { mes .n$; mes "Input the new item id:"; next; if(input(.@item,501,.last_id) != 0) { mes .n$; mes "The id you have put is either too low or too high."; continue; } if(getitemname(.@item) == "null" || getitemname(.@item) == "") { mes .n$; mes "The item you requested doesn't exist."; continue; } mes .n$; mes "Chosen Item: "+getitemname(.@item); mes "Correct?"; if(select("- Yes:- No") - 1) continue; ShopStuff(3,@ed,.@item,.cash_p[@ed]); } continue; break; case 3: mes .n$; if(getarraysize(.cash_it) < 1) { mes "There is no Item to remove."; mes "Please add one first :D."; continue; } mes "Please choose the item you want to remove:"; mes "Format: Name (Current Price)"; next; set @r_list$,""; for ( set .@e,0; .@e < getarraysize(.cash_it); set .@e,.@e + 1) set @r_list$,@r_list$ + "- "+getitemname(.cash_it[.@e])+" ("+.cash_p[.@e]+")" + ( (.cash_it[.@e+1])?":":""); set @re,select(@r_list$) - 1; mes .n$; mes "Chosen Item: "+ getitemname(.cash_it[@re]); mes "Price: "+ .cash_p[@re]+" "+.Cur_N$; mes "Correct?"; if(select("- Yes:- No") - 1) continue; ShopStuff(2,@ed); continue; break; case 4: continue; break; } case 2: mes .n$; mes "Do you really want to reset the shop?"; if(select("- Yes:- No") - 1) continue; ShopStuff(4); continue; break; case 3: set @shop,1; break; case 4: close; } } } if(!.CR) { mes .n$; mes "I'm sorry, but I don't know with which Currency I should trade yet."; close; } if(getarraysize(.cash_it) < 1) { mes .n$; mes "There are no items to purchase yet."; mes "Please come back as soon as I have some."; close; } dispbottom strnpcinfo(1)+": Accepted Payment Method: "+.Cur_N$; if(.CR < 4) dispbottom strnpcinfo(1)+": You have "+getd(""+@Cur_O$)+" "+.Cur_N$; else dispbottom strnpcinfo(1)+": You have "+countitem(.CR_Item)+" "+.Cur_N$; dispbottom strnpcinfo(1)+": Notice: Discount Skill won't work at me, you'll have to pay the full price."; callshop "Dynam_Shop",1; npcshopattach "Dynam_Shop"; end; OnBuyItem: for ( set .@b,0; .@b < getarraysize(@bought_nameid); set .@b,.@b + 1) { for ( set .@l,0; .@l < getarraysize(.cash_it); set .@l,.@l + 1) { if(@bought_nameid[.@b] == .cash_it[.@l]) { if(checkweight(.cash_it[.@l],@bought_quantity[.@b]) == 1) { set @cost,.cash_p[.@l]*@bought_quantity[.@b]; set @total,@total+@cost; } else { dispbottom "Cash Shop: You would be overweight, please remove some items or buy less."; set @cost,0; set @total,0; deletearray @bought_nameid[0],128; deletearray @bought_quantity[0],128; end; } } } } if(.CR < 4 && (@total > getd(""+@Cur_O$) ) ) set .@f,1; if(.CR == 4 && (@total > countitem(.CR_Item) ) ) set .@f,1; if(.@f) { dispbottom strnpcinfo(1)+": You don't have the required "+.Cur_N$; dispbottom strnpcinfo(1)+": You need "+@total +" "+.Cur_N$+"."; set @cost,0; set @total,0; deletearray @bought_nameid[0],128; deletearray @bought_quantity[0],128; end; } if(.CR < 4) setd(""+@Cur_O$),getd(""+@Cur_O$) - @total; else delitem .CR_Item,@total; for ( set .@s,0; .@s < getarraysize(@bought_nameid); set .@s,.@s + 1) { getitem @bought_nameid[.@s],@bought_quantity[.@s]; dispbottom strnpcinfo(1)+": You have succesfully purchased "+@bought_quantity[.@s]+"x "+getitemname(@bought_nameid[.@s])+"."; } dispbottom strnpcinfo(1)+": You have paied "+@total+"x "+.Cur_N$+"."; set @cost,0; set @total,0; deletearray @bought_nameid[0],128; deletearray @bought_quantity[0],128; end; function ShopStuff { // ==================================================== // // getarg(0): // * 1 - Add // * 2 - Remove // * 3 - Edit // * 4 - Delete Shop // * 5 - Shop Creation // getarg(1): Array Position for Edit & Remove // getarg(2): Item ID // getarg(3): Price // ==================================================== // //debugmes "getarg(0): "+getarg(0,0)+", getarg(1): "+getarg(1,0)+", getarg(2): "+getarg(2,0)+", getarg(3): "+getarg(3,0); // =========== Item Adding ============ // if(getarg(0) == 1) { npcshopadditem "Dynam_Shop",getarg(2),getarg(3); setarray .cash_it[getarraysize(.cash_it)],getarg(2); setarray .cash_p[getarraysize(.cash_p)],getarg(3); // =========== Item Removal ============ // } else if(getarg(0) == 2) { npcshopdelitem "Dynam_Shop",.cash_it[getarg(1)]; deletearray .cash_it[getarg(1)],1; deletearray .cash_p[getarg(1)],1; // =========== Item Edit ============ // } else if(getarg(0) == 3) { setarray .cash_it[getarg(1)],getarg(2); setarray .cash_p[getarg(1)],getarg(3); // Re-Create Shop after Edit npcshopitem "Dynam_Shop",.cash_it[0],.cash_p[0]; for ( set .@s,1; .@s < getarraysize(.cash_it); set .@s,.@s + 1) npcshopadditem "Dynam_Shop",.cash_it[.@s],.cash_p[.@s]; // =========== Reset Shop ============ // } else if(getarg(0) == 4) { npcshopitem "Dynam_Shop",512,10; set .first,1; // =========== Shop Creation ============ // } else if(getarg(0) == 5) { ShopStuff(4); npcshopdelitem "Dynam_Shop",512; // Adding pre-defined items to the shop array for ( set .@s,0; .@s < getarraysize(.cash_pre_it); set .@s,.@s + 1) { setarray .cash_it[getarraysize(.cash_it)],.cash_pre_it[.@s]; setarray .cash_p[getarraysize(.cash_p)],.cash_pre_p[.@s]; } // Adding items to the shop for ( set .@s,0; .@s < getarraysize(.cash_it); set .@s,.@s + 1) npcshopadditem "Dynam_Shop",.cash_it[.@s],.cash_p[.@s]; set .first,0; } return; } OnInit: set .n$,"["+strnpcinfo(1)+"]"; set .gm,80; // General Access Level set .first,1; // First Shop Creation set .last_id,30000; // Highest Item ID if(getarraysize($cash_it) > 0) { deletearray $cash_it,128; deletearray $cash_p,128; deletearray $cash_pre_it,128; deletearray $cash_pre_p,128; } // Pre-Defined Items in the Shop, they are always in it! setarray .cash_pre_it[0],2792,2793,2374,2375,2357,2524,2421,2115,2729; setarray .cash_pre_p[0],100,100,100,100,100,100,100,100,100; end; } - shop Dynam_Shop -1,512:-1
  24. Hello Cyro, Should i recompile my server after changing the src code? thank you so much! you really helped me alot! <3
×
×
  • Create New...