Jump to content

rkhin28

Members
  • Posts

    45
  • Joined

  • Last visited

Everything posted by rkhin28

  1. rkhin28

    Skill.txt

    Just a question. If I change the delay_rate to 0 will Kiel Card be useless in the server? // Delay time after casting (Note 2) delay_rate: 100 ---> 0
  2. How to know the current version of my rAthena? And what's the latest version? EDIT: I'm currently using SVN Revision: '17125'.
  3. I'm currently using rAthena.
  4. Hi, I'm currently having problem with this script I got this error in my map-serv [Error]: Loading NPC file: npc/custom/ro/questevent.txt script error on npc/custom/ro/questevent.txt line 68 parse_line: need ';' 63 : Add(1,5374,1,5000000,0,2256,3,750,2,923,100); 64 : Add(1,5373,1,5000000,0,7063,100,949,150,7315,200,983,4,7510,2,22 55,10); 65 : Add(1,5377,1,10000000,0,7201,300,999,100,7035,5,2268,1) 66 : // ----------------------------------------------------------- 67 : * 68 : 'f'reeloop(0); 69 : set .menu$,""; 70 : for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { 71 : set .menu$, .menu$+.Shops$[.@i]+":"; 72 : npcshopdelitem "qshop"+.@i,909; 73 : } Here is the full script. //===== rAthena Script ======================================= //= Euphy's Quest Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.6 //===== Compatible With: ===================================== //= rAthena SVN r16862+ //===== Description: ========================================= //= A dynamic quest shop based on Lunar's, with easier config. //= Includes support for multiple shops & cashpoints. //= Item Preview script by ToastOfDoom. //============================================================ // Shop NPCs -- supplying no argument displays entire menu. // callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}}; //============================================================ prontera,164,203,6 script Quest Shop#1 998,{ callfunc "qshop"; } // Script Core //============================================================ - script quest_shop -1,{ function Add; function Chk; function Slot; function A_An; OnInit: freeloop(1); // ----------------------------------------------------------- // Basic shop settings. // ----------------------------------------------------------- set .Announce,0; // Announce quest completion? (1: yes / 0: no) set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never) set .ShowID,0; // Show item IDs? (1: yes / 0: no) set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) set .MaxStack,100; // Max number of quest items purchased at one time. // ----------------------------------------------------------- // Points variable -- optional quest requirement. // setarray .Points$[0],"<variable name>","<display name>"; // ----------------------------------------------------------- setarray .Points$[0],"#CASHPOINTS","Cash Points"; // ----------------------------------------------------------- // Shop IDs -- to add shops, copy dummy data at bottom of file. // setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...}; // ----------------------------------------------------------- setarray .Shops$[1],"Headgears"; // ----------------------------------------------------------- // Quest items -- do NOT use a reward item more than once! // Add(<shop ID>,<reward ID>,<reward amount>, // <Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // ----------------------------------------------------------- Add(1,5359,1,2000000,0,2259,30); Add(1,5132,1,2000000,0,949,150,5035,1,5074,1); Add(1,5505,1,5000000,0,6020,150,1059,200,7215,50,7213,50,7038,50,7166,30); Add(1,5431,1,2000000,0,916,300,925,200,1095,100); Add(1,5374,1,5000000,0,2256,3,750,2,923,100); Add(1,5373,1,5000000,0,7063,100,949,150,7315,200,983,4,7510,2,2255,10); Add(1,5377,1,10000000,0,7201,300,999,100,7035,5,2268,1) // ----------------------------------------------------------- freeloop(0); set .menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { set .menu$, .menu$+.Shops$[.@i]+":"; npcshopdelitem "qshop"+.@i,909; } end; OnMenu: set .@size, getarraysize(@i); if (!.@size) set .@i, select(.menu$); else if (.@size == 1) set .@i, @i[0]; else { for(set .@j,0; .@j<.@size; set .@j,.@j+1) set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; set .@i, @i[select(.@menu$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[.@i] == "") { message strcharinfo(0),"An error has occurred."; end; } dispbottom "Select one item at a time."; callshop "qshop"+.@i,1; npcshopattach "qshop"+.@i; end; OnBuyItem: // .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... } setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]); copyarray .@q[3],getd(".q_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+.@q[0])); set .@q[2],.@q[1]*.@q[3]; if (!.@q[2] || .@q[2] > 30000) { message strcharinfo(0),"You can't purchase that many "+getitemname(.@q[0])+"."; end; } mes "[Quest Shop]"; mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000"; mes "Requirements:"; if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000"; if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000"; if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000"; next; setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11); if (((@qe[1] & 1) || (@qe[1] & 256) || (@qe[1] & 512)) && @qe[2] > 0) set .@preview,1; addtimer 1000, strnpcinfo(0)+"::OnEnd"; while(1) { switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[6])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe[0]) { mes "[Quest Shop]"; mes "You're missing one or more quest requirements."; close; } if (!checkweight(.@q[0],.@q[2])) { mes "[Quest Shop]"; mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if (.@q[4]) set Zeny, Zeny-(.@q[4]*.@q[1]); if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]); if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) delitem .@q[.@i],.@q[.@i+1]*.@q[1]; getitem .@q[0],.@q[2]; if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):A_An(getitemname(.@q[0])))+"!",0; specialeffect2 699; close; case 2: setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), 1; if (@qe[1] & 1) changelook LOOK_HEAD_BOTTOM, @qe[2]; if (@qe[1] & 256) changelook LOOK_HEAD_TOP, @qe[2]; if (@qe[1] & 512) changelook LOOK_HEAD_MID, @qe[2]; break; case 3: close; } } OnEnd: if (@qe[6]) { changelook LOOK_HEAD_BOTTOM, @qe[3]; changelook LOOK_HEAD_TOP, @qe[4]; changelook LOOK_HEAD_MID, @qe[5]; } deletearray @qe[0],7; end; function Add { if (getitemname(getarg(1)) == "null") { debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; } setarray .@j[0],getarg(2),getarg(3),getarg(4); for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) { if (getitemname(getarg(.@i)) == "null") { debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped)."; return; } else setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1); } copyarray getd(".q_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j); npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); return; } function Chk { if (getarg(0) < getarg(1)) { set @qe[0],1; return "^FF0000"; } else return "^00FF00"; } function Slot { set .@s$,getitemname(getarg(0)); switch(.ShowSlot) { case 1: if (!getitemslots(getarg(0))) return .@s$; case 2: if (getiteminfo(getarg(0),2) == 4 || getiteminfo(getarg(0),2) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]"; default: return .@s$; } } function A_An { setarray .@A$[0],"a","e","i","o","u"; set .@B$, "_"+getarg(0); for(set .@i,0; .@i<5; set .@i,.@i+1) if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0); return "a "+getarg(0); } } function script qshop { deletearray @i[0],getarraysize(@i); for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set @i[.@i],getarg(.@i); doevent "quest_shop::OnMenu"; end; } // Dummy shop data -- copy as needed. //============================================================ //- shop qshop1 -1,909:-1 //- shop qshop2 -1,909:-1 //- shop qshop3 -1,909:-1 //- shop qshop4 -1,909:-1 //- shop qshop5 -1,909:-1
  5. Thanks Brian. Is there a MySQL Gui on CentOS like on WinXP?
  6. I'm planning to get a VPS from you. Do you mean even I have already configured the files, I need configure them again when transferring to CentOS?
  7. I'm planning to make my server online for public. I am currently running on Windows XP and already setup the server. Can anybody give me a tutorial on how to transfer it to a VPS running on a CentOS? Thanks!
  8. The mount sprites are on the rdata.grf. Just update your renewal.
  9. Yeah I wanted to disable mounts on Prontera but it doesn't work. The script don't remove the mount when somebody goes to Prontera. 12622,Reins_Of_Mount,Reins Of Mount,11,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ if (strcharinfo(3) != prontera) { setmounting(); } },{},{} ^I can't use Reins of Mount
  10. Thanks for the help. It's working now Thanks again **EDIT** It's not working :/ I accidentally put setmounting(); below OnPCLoadMapEvent that's why I said it's working but there's a problem with it. If they are not on mount and when they go to Prontera they are already mounted and when they type @go 0 again the mount disappear. Any ideas?
  11. Here's the whole script. - script no_reins2 -1,{ OnPCLoadMapEvent: setmounting(); if (strcharinfo(3) == prontera && checkmounting() == 1 ) { setmounting(); } } prontera mapflag loadevent
  12. Got a new error XD parse_simpleexpr: unmatch ')' 1 : { 2 : OnPCLoadMapEvent: 3 : setmounting(); * 4 : if (strcharinfo(3) == prontera && checkmounting'(') == 1 ) { setmounting(); } 5 : } 6 : prontera mapflag loadevent
  13. I've got this error btw script error on npc/own/mapflags/no_reins2.txt line 4 parse_line: need ';' 1 : { 2 : OnPCLoadMapEvent: 3 : setmounting(); * 4 : if (strcharinfo(3) == prontera) { setmounting'('0); } 5 : end; 6 : } 7 : prontera mapflag loadevent
  14. Where should I put this one?
  15. I've already done that method xD my main problem is the second one. But thanks for the reply!
  16. Can anybody make script for this? --Can't use Reins of Mounts when in Prontera --When mounted(Reins of Mounts) on other map then warps to Prontera it automatically unmount.
  17. Gumagana po ba to for rAthena or pwede niyo ba ibigay yung patch for rAthena Meron naman na yung Reins of Mounts ko sa item_db.txt pero still not working. Unknown Item siya :/
  18. rkhin28

    Refine NPC

    Can anybody make a Refiner using this item: But instead of +7 on armor make it +5. Thanks!
  19. Lipat ka nalang po ng rAthena or baka may linagay kang patch na something like this? Guild HP
  20. Took that out and all getmapmobs tag but when ingame and putting the mapname already it is stuck in there and there is no next or close.
  21. The error is always parse_simpleexpr: unmatch ')' on the command }while( getmapmobs( $@Map$ ) == -1 );
  22. Can anybody modify this script so it could run for rAthena? //============================================================ //= Auto MVP Summoner //===== By: =======================Modified By:========= //= xMachina / Acetito Emistry //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= eA SVN 5000+ //===== Additional Comments: ================================= //= v1.0 Testing Mode //============================================================ gonryun,155,181,5 script MVP Attack 437,{ mes "[ ^0065DFxMachina^000000 ]"; if(getgmlevel() < 20) { if(!.Event) mes "There is no MVP Attack Event now."; else { mes "There is a MVP Attack Event on now!"; mes "Location: " + $@Map$; mes "Special MVP: " + $@SpecialMVP; mes "Normal MVP: " + $@NormalMVP; } close; } Main: mes "Please customize the MVP Attack Event:"; while(1){ switch(select("Item ["+getitemname($@ItemID)+" x "+$@Amount+"]:Location [" + $@Map$ + "]:MVP [special "+$@SpecialMVP+" |Normal "+$@NormalMVP+"]:Start/END Event")) { Case 1: mes "What item to be given to MVP Killer ?"; next; do{ message strcharinfo(0),"Enter a VALID itemID. Example 501 - Red Potion."; input $@ItemID,501,32767; }while( getitemname( $@ItemID ) == "null" ); mes "Input the Amount of Item to be Rewarded for Special MVP Killer."; input $@Amount,1,30000; next; break; Case 2: mes "Which map would you like me to host this event?"; mes "Input a ^FF0000VALID^000000 mapname."; do{ message strcharinfo(0),"Enter a VALID mapname . Example : prt_maze02"; input $@Map$; }while( getmapmobs( $@Map$ ) == -1 ); next; break; Case 3: mes "How many ^FF0000Special^000000 MVP would you like me to summon?"; input $@SpecialMVP; next; mes "How many ^FF0000Normal^000000 MVP would you like me to summon?"; input $@NormalMVP; dispbottom "Special MVP = "+$@SpecialMVP+" and Normal MVP = "+$@NormalMVP+" "; next; break; Case 4: if( getmapmobs( $@Map$ ) == -1 || $@SpecialMVP == 0 ){ mes "Please make sure your have do the Correct Configuration."; next; break; } if( !.Event ){ mes "Starting the event now..."; set .Event,1; monster $@Map$,0,0,"--ja--",-3,$@SpecialMVP,strnpcinfo(3)+"::OnSpecialKill"; monster $@Map$,0,0,"--ja--",-3,$@NormalMVP,strnpcinfo(3)+"::OnNormalKill"; announce "Map Invasion Begin : "+$@SpecialMVP+" Special MVP has invaded in "+$@Map$+". Hurry Up..",0,0x98FB98; }else{ mes "Ending the event now..."; announce "The MVP Attack Event is now over!",0,0x98FB98; killmonster $@Map$,"All"; set .Event,0; } close; } } OnSpecialKill: announce "["+strcharinfo(0)+"] has killed 1 Special MVP and Gained Mystery Items . Left "+mobcount($@Map$,strnpcinfo(3)+"::OnSpecialKill")+" Special MVP.",0; getitem $@ItemID,$@Amount; if( mobcount( $@Map$,strnpcinfo(3)+"::OnSpecialKill" ) == 0 ){ announce "The MVP Attack Event is now over!",0,0x98FB98; killmonster $@Map$,"All"; set .Event,0; } end; OnNormalKill: dispbottom "You killed Normal MVP ( No Reward ). Special MVP Left : "+mobcount($@Map$,strnpcinfo(3)+"::OnSpecialKill")+" ."; end; OnClock0000: OnClock0400: OnClock0800: OnClock1200: OnClock1600: OnClock2000: if( getmapmobs( $@Map$ ) == -1 || $@SpecialMVP == 0 ){ announce "MVP Invasion Event Failed due to MisConfiguration of Event. Please Report to Staffs.",0; end; } set .Event,1; monster $@Map$,0,0,"--ja--",-3,$@SpecialMVP,strnpcinfo(3)+"::OnSpecialKill"; monster $@Map$,0,0,"--ja--",-3,$@NormalMVP,strnpcinfo(3)+"::OnNormalKill"; announce "Map Invasion Begin : "+$@SpecialMVP+" Special MVP has invaded in "+$@Map$+". Hurry Up..",0,0x98FB98; end; } Thanks!
  23. rkhin28

    Mount Bug?

    Does anybody know why all of the characters are mounted and also they can attack. o.O I can't remember anything that I added. Thanks for those who will help me
×
×
  • Create New...