Jump to content

eboni001

Members
  • Posts

    327
  • Joined

  • Last visited

Everything posted by eboni001

  1. /trunk/db/re/skill_tree.txt try commenting out 14,251,5,250,3,0,0,0,0,0,0,0,0 //CR_SHIELDBOOMERANG#Shield Boomerang# Did it and not work, any other suggestion?
  2. OK guys i will try annierurur after try this posted by @Alvins182
  3. Forgot to say this is only the design, patcher is not coded, im sorry but i dont know how to do it, if i knew i would do it.
  4. This is my first ever made thor patcher skin, i used a hallowen theme because the date and hallowen is coming soon, i hope everyone like it. please rate it and leave your suggestions/criticism here: Download Link: http://rathena.org/board/files/file/3002-thor-patcher-hallowen-skin-by-eboni001/
  5. Version V1.0

    471 downloads

    This is my first ever made thor patcher skin, i used a hallowen theme because the date and hallowen is coming soon, i hope everyone like it.
    Free
  6. OK, i will do one for free release, much better than this,and thanks for your rate
  7. Hello guys this is the first try on making a patcher skin for my server, please rate it and feel free to give me any ideas and sugestions to improve it to the goal.
  8. Hello guys, as title say can somebody please explain how does rewards work on euphy woe controller? this is the script: //===== rAthena Script ======================================= //= Euphy's WOE Controller //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.5 //===== Compatible With: ===================================== //= rAthena SVN r16958+ //===== Description: ========================================= //= A controller for War of Emperium designed for //= simplicity and ease of use. //= Many concepts taken from ToastOfDoom's script, //= and "rewards" function originally by Goddameit. //===== Additional Comments: ================================= //= Be sure to disable the default agit controllers! //== npc\guild\agit_controller.txt //== npc\guild2\agit_start_se.txt //============================================================ // Information NPC //============================================================ prontera,144,199,3 script WOE Information 990,{ doevent "WOE_CONTROL::OnMenu"; end; OnAgitStart: while(agitcheck()) { misceffect EF_BEGINSPELL6; sleep 425; } end; } // Script Core //============================================================ - script WOE_CONTROL -1,{ function Disp_Owner; function Add_Zero; OnInit: // ----------------------------------------------------------- // Configuration settings. // ----------------------------------------------------------- set .CastleWarp,0; // 1: Always enable all castle warps. | 0: Warp only to active castles. set .AutoKick,1; // Automatically kick players from inactive castles during WOE? (1:yes / 0:no) set .NoOwner,1; // Automatically kick players from unconquered castles outside of WOE? (1:yes / 0:no) set .ExitWarp,1; // Warp all players from castles when WOE ends? (1:yes / 0:no) set .GMAccess,99; // GM level required to access Session Manager. // ----------------------------------------------------------- // Reward options. // ----------------------------------------------------------- // [1] Enable rewards. // [2] Mail all rewards. // - If not set, players receive items in their inventory. // - Only ONE item can be sent via mail, plus Zeny. // - Note that offline players do NOT receive rewards. // [4] Only reward Guild Masters. // - If not set, all guild members are rewarded. // - If mailing is enabled (option 2), offline Guild Masters WILL receive rewards. // [8] Duplicate IP check. // - Members in a guild with the same IP address are not rewarded. // - If Guild Masters is enabled (option 4), this feature is not used. // ----------------------------------------------------------- // Combine values as needed (e.g. 1|8 = 1+8 = 9). set .Options, 1|4; // Rewards per castle. // -- when given directly: <itemID>,<amount>{,<itemID>,<amount>,...} // -- via mail (option 2): <itemID>,<amount>,<Zeny> setarray .Reward[0],14001,1; // ----------------------------------------------------------- // Constants (leave this section alone). // ----------------------------------------------------------- setarray .Castles$[0], "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05", "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05", "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05", "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05", "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05", "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05"; setarray .EndLabel$[0],"ar01","ar02","ar03","ar04","ar05","sc01","sc02","sc03","sc04","sc05"; setarray .Days$[0],"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"; setarray .Regions$[0],"Prontera","Payon","Geffen","Aldebaran","Arunafeltz","Schwaltzvalt"; setarray .Map$[0],"prt_gld","pay_gld","gef_fild13","alde_gld","aru_gld","sch_gld"; setarray .MapX[0],134,240,153,111,208,121,295,317,140,204,214,308,143,193,305,48, 95,142,239,264,158,83, 68,299,292,293,288, 97,137, 71; setarray .MapY[0], 65,128,137,240,240,233,116,293,160,266, 75,240,240,278, 87,83,249, 85,242, 90,272,47,155,345,107,100,252,196, 90,315; // ----------------------------------------------------------- set .Size, getarraysize($WOE_CONTROL); if (.AutoKick || .NoOwner) for(set .@i,0; .@i<30; set .@i,.@i+1) { setmapflag .Castles$[.@i], mf_loadevent; setd "."+.Castles$[.@i], .@i; } if (!agitcheck() && !agitcheck2()) sleep 4000; set .Init,1; OnMinute00: freeloop(1); if (agitcheck() || agitcheck2()) { for(set .@i,0; .@i<.Size; set .@i,.@i+4) if (gettime(4) == $WOE_CONTROL[.@i] && gettime(3) == $WOE_CONTROL[.@i+2]) { OnWOEEnd: announce "The War Of Emperium is over!",bc_all|bc_woe; AgitEnd; AgitEnd2; sleep 1000; for(set .@j,0; .@j<30; set .@j,.@j+1) { if (.Active[0]&(1<<.@j)) Disp_Owner(.Castles$[.@j],1); if (.ExitWarp) maprespawnguildid .Castles$[.@j],0,3; } if (.Options&1 && .Active[0] && .ForceEnd != 2) callsub OnReward, .Active[0]; deletearray .Active[0],2; if (.ForceEnd) { set .ForceEnd,0; end; } break; } } if ((!agitcheck() && !agitcheck2()) || .Init) { if (!agitcheck() && !agitcheck2()) set .Init,0; for(set .@i,0; .@i<.Size; set .@i,.@i+4) if (gettime(4) == $WOE_CONTROL[.@i] && gettime(3) >= $WOE_CONTROL[.@i+1] && gettime(3) < $WOE_CONTROL[.@i+2]) { deletearray .Active[0],2; set .Active[0], $WOE_CONTROL[.@i+3]; if (.Init) { AgitEnd; AgitEnd2; } else announce "The War Of Emperium has begun!",bc_all|bc_woe; sleep 1000; AgitStart; AgitStart2; for(set .@j,0; .@j<30; set .@j,.@j+1) { if (.Active[0]&(1<<.@j)) { if (!.Init) Disp_Owner(.Castles$[.@j],0); set .Active[1], .Active[1] | (1<<((.@j/5)+1)); } else { if (.@j<20) { donpcevent "Agit#"+.Castles$[.@j]+"::OnAgitEnd"; killmonster .Castles$[.@j], "Agit#"+.Castles$[.@j]+"::OnAgitBreak"; } else { donpcevent "Manager#"+.Castles$[.@j]+"::OnAgitEnd2"; killmonster .Castles$[.@j], "Steward#"+.EndLabel$[.@j-20]+"::OnStartArena"; } } } break; } } set .Init,0; end; function Disp_Owner { set .@o, getcastledata(getarg(0),1); if (.@o) announce "The ["+getcastlename(getarg(0))+"] castle "+((getarg(1))?"has been conquered":"is currently held")+" by the ["+getguildname(.@o)+"] guild.",bc_all|bc_woe; else announce "The ["+getcastlename(getarg(0))+"] castle is currently unoccupied.",bc_all|bc_woe; return; } function Add_Zero { return ((getarg(0)<10)?"0":"")+getarg(0)+(getarg(1,0)?".":":")+"00"; } OnReward: set .@sql$, ((.Options&4)?"position = 0":"online = 1"); if (.Options&2) set .@str$,gettimestr("%B %d, %Y",21); freeloop(1); for(set .@i,0; .@i<30; set .@i,.@i+1) if (getarg(0)&(1<<.@i)) { set .@gid, getcastledata(.Castles$[.@i],1); if (!.@gid) continue; set .@size, query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@gid+"' AND "+.@sql$,.@aid,.@cid); for(set .@j,0; .@j<.@size; set .@j,.@j+1) { if (.Options&8 && !(.Options&4)) { set .@ip$, replacestr(getcharip(.@aid[.@j]),".","a"); if (getd(".@ip_"+.@i+"_"+.@ip$)) continue; setd ".@ip_"+.@i+"_"+.@ip$,1; } if (.Options&2) { query_sql("INSERT INTO `mail` (send_name,dest_id,title,message,nameid,amount,identify,zeny,time) VALUES ("+ "'no-reply',"+.@cid[.@j]+",'** Siege Reward: "+getcastlename(.Castles$[.@i])+" **',"+ "'Brave one,% % Congratulations!% Your guild has successfully occupied% territory in the War of Emperium on% "+.@str$+".% % % % % [ Your reward is attached. ]',"+ .Reward[0]+","+.Reward[1]+",0,"+.Reward[2]+",UNIX_TIMESTAMP(NOW()))"); if (!getd(".@str_"+.@cid[.@j]) && isloggedin(.@aid[.@j],.@cid[.@j])) { setd ".@str_"+.@cid[.@j],1; message rid2name(.@aid[.@j]),"You've got mail! Please re-login to update your mailing list."; } } else if (isloggedin(.@aid[.@j])) { for(set .@k,0; .@k<getarraysize(.Reward); set .@k,.@k+2) getitem .Reward[.@k], .Reward[.@k+1], .@aid[.@j]; message rid2name(.@aid[.@j]),"You have been rewarded for conquering "+getcastlename(.Castles$[.@i])+"."; } } } if (.Options&2) query_sql("UPDATE `mail` SET message = REPLACE(message,'%',CHAR(13)) WHERE send_name = 'no-reply'"); return; OnPCLoadMapEvent: if (!compare(strcharinfo(3),"g_cas")) end; if (((.AutoKick && .Active[0]) || (.NoOwner && !getcastledata(strcharinfo(3),1))) && !(.Active[0]&(1<<getd("."+strcharinfo(3))))) { if (getcharid(2) && getcastledata(strcharinfo(3),1) == getcharid(2)) end; sleep2 1000; message strcharinfo(0), getcastlename(strcharinfo(3))+" is currently inactive."; sleep2 5000; if (compare(strcharinfo(3),"g_cas")) warp "SavePoint",0,0; } end; OnMenu: while(1) { mes "[WOE Information]"; if (agitcheck() || agitcheck2()) { if (.Active[0]) { for(set .@i,0; .@i<.Size; set .@i,.@i+4) if (gettime(4) == $WOE_CONTROL[.@i] && gettime(3) >= $WOE_CONTROL[.@i+1] && gettime(3) < $WOE_CONTROL[.@i+2]) { set .@i, $WOE_CONTROL[.@i+2]; break; } mes "The War of Emperium is ^0055FFactive^000000 until ^FF0000"+Add_Zero(.@i)+"^000000 in the following regions:"; mes " "; for(set .@i,0; .@i<6; set .@i,.@i+1) if (.Active[1]&(1<<(.@i+1))) mes " > ^777777"+.Regions$[.@i]+"^000000"; } else mes "The War of Emperium is ^0055FFactive^000000."; } else { for(set .@i,0; .@i<.Size; set .@i,.@i+4) if ((gettime(4) == $WOE_CONTROL[.@i] && gettime(3) <= $WOE_CONTROL[.@i+1]) || gettime(4) < $WOE_CONTROL[.@i]) { setarray .@time[0],$WOE_CONTROL[.@i],$WOE_CONTROL[.@i+1]; break; } if (!getarraysize(.@time)) setarray .@time[0],$WOE_CONTROL[0],$WOE_CONTROL[1]; mes "The War of Emperium is ^777777inactive^000000."; if (.Size) { mes " "; mes "The next session will begin"; mes "on ^0055FF"+.Days$[.@time[0]]+"^000000 at "+Add_Zero(.@time[1])+"^000000."; } } next; switch(select(""+((.CastleWarp || .Active[1])?" ~ Warp to castles...":"")+": ~ Check schedule...: ~ View castle owners...:"+((getgmlevel()<.GMAccess || !getgmlevel())?"":" ~ Manage sessions...")+": ~ ^777777Cancel^000000")) { case 1: if (.CastleWarp) set .@clr$,"^0055FF"; set .@menu$,""; for(set .@i,0; .@i<6; set .@i,.@i+1) { if (.CastleWarp || .Active[1]&(1<<(.@i+1))) set .@menu$, .@menu$+" ~ "+((.Active[1]&(1<<(.@i+1)))?.@clr$:"^777777")+.Regions$[.@i]+" Castles^000000"; set .@menu$, .@menu$+":"; } set .@i, select(.@menu$)-1; set .@menu$,""; for(set .@j,.@i*5; .@j<(.@i*5)+5; set .@j,.@j+1) { if (.CastleWarp || .Active[0]&(1<<.@j)) set .@menu$, .@menu$+" ~ "+((.Active[0]&(1<<.@j))?.@clr$:"^777777")+getcastlename(.Castles$[.@j])+"^000000"; set .@menu$, .@menu$+":"; } set .@j, select(.@menu$)-1; warp .Map$[.@i],.MapX[(.@i*5)+.@j],.MapY[(.@i*5)+.@j]; close; case 2: mes "[Schedule]"; if (.Size) { freeloop(1); for(set .@i,0; .@i<.Size; set .@i,.@i+4) { mes "> ^FF0000"+.Days$[$WOE_CONTROL[.@i]]+" ("+Add_Zero($WOE_CONTROL[.@i+1])+"-"+Add_Zero($WOE_CONTROL[.@i+2])+")^000000"; for(set .@j,0; .@j<30; set .@j,.@j+1) if ($WOE_CONTROL[.@i+3]&(1<<.@j)) mes " ~ "+getcastlename(.Castles$[.@j])+" ^777777("+.Castles$[.@j]+")^000000"; if (.@i+4 < .Size) mes " "; } freeloop(0); } else mes "No times are configured."; next; break; case 3: mes "[Castle Ownership]"; for(set .@i,0; .@i<6; set .@i,.@i+1) { set .@k, .@i*5; mes "> ^FF0000"+.Regions$[.@i]+"^000000"; for(set .@j,.@k; .@j<(.@k+5); set .@j,.@j+1) { set .@t, getcastledata(.Castles$[.@j],1); mes " ~ "+getcastlename(.Castles$[.@j])+": "+((.@t)?"^0055FF"+getguildname(.@t):"^777777unoccupied")+"^000000"; } if (.@i < 5) mes " "; } next; break; case 4: while(1) { mes "[Session Manager]"; mes "There are ^0055FF"+(.Size/4)+" session(s)^000000 configured."; mes "What would you like to do?"; next; switch(select(" ~ Add a session...: ~ Delete a session...: ~ Reload settings...:"+((agitcheck() || agitcheck2())?" ~ End WOE session...":"")+": ~ ^777777Go back^000000")) { case 1: mes "[New Session]"; if (.Size > 127) { mes "You have already reached the maximum of 32 sessions."; next; break; } mes "Select a day."; next; set .@Day, select(" ~ "+implode(.Days$,": ~ "))-1; mes "[New Session]"; mes "Select a start time for ^0055FF"+.Days$[.@Day]+"^000000."; next; set .@menu$,""; for(set .@i,0; .@i<23; set .@i,.@i+1) set .@menu$, .@menu$+" ~ "+Add_Zero(.@i,1)+":"; set .@Start, select(.@menu$)-1; mes "[New Session]"; mes "Select an end time for ^0055FF"+.Days$[.@Day]+"^000000."; next; set .@menu$,""; for(set .@i,.@Start+1; .@i<24; set.@i,.@i+1) set .@menu$, .@menu$+" ~ "+Add_Zero(.@i,1)+":"; set .@End, select(.@menu$)+.@Start; for(set .@i,0; .@i<.Size; set .@i,.@i+4) if (.@Day == $WOE_CONTROL[.@i] && ((.@Start >= $WOE_CONTROL[.@i+1] && .@Start < $WOE_CONTROL[.@i+2]) || (.@End > $WOE_CONTROL[.@i+1] && .@End <= $WOE_CONTROL[.@i+2]) || (.@Start <= $WOE_CONTROL[.@i+1] && .@End >= $WOE_CONTROL[.@i+2]))) { mes "[New Session]"; mes "The chosen times overlap with an existing session."; next; set .@d,1; break; } if (.@d) { set .@d,0; break; } set .@Castle,0; while(1) { mes "[New Session]"; mes "^0055FF"+.Days$[.@Day]+" ("+Add_Zero(.@Start)+"-"+Add_Zero(.@End)+")^000000"; mes " > Castles:"; if (!.@Castle) mes " ~ ^777777(none selected)^000000"; else for(set .@i,0; .@i<30; set .@i,.@i+1) if (.@Castle&(1<<.@i)) mes " ~ "+getcastlename(.Castles$[.@i])+" ("+.Castles$[.@i]+")"; next; set .@menu$,((.@Castle)?" ~ ^FF0000Finished...^000000":"")+":"; for(set .@i,0; .@i<30; set .@i,.@i+1) set .@menu$, .@menu$+" ~ "+((.@Castle&(1<<.@i))?"^0055FF":"")+getcastlename(.Castles$[.@i])+" ("+.Castles$[.@i]+")^000000:"; set .@i, select(.@menu$)-1; if (.@i) set .@Castle, .@Castle^(1<<(.@i-1)); else { mes "[New Session]"; mes "Are you sure?"; next; switch(select(" ~ ^0055FFAdd session...^000000: ~ Continue selecting castles...: ~ ^777777Cancel^000000")) { case 1: for(set .@i,0; .@i<.Size; set .@i,.@i+4) if ((.@Day == $WOE_CONTROL[.@i] && .@End <= $WOE_CONTROL[.@i+1]) || .@Day < $WOE_CONTROL[.@i]) { set .@d,1; break; } if (!.@d) { set .@d,1; set .@i,.Size; } copyarray $WOE_CONTROL[.@i+4], $WOE_CONTROL[.@i], .Size-.@i; setarray $WOE_CONTROL[.@i], .@Day, .@Start, .@End, .@Castle; set .Size, getarraysize($WOE_CONTROL); case 3: mes "[New Session]"; mes ((.@d)?"Session added.":"Cancelled."); next; set .@d,1; case 2: break; } if (.@d) { set .@d,0; break; } } } break; case 2: mes "[Remove Session]"; if (!.Size) { mes "There are no sessions configured."; next; break; } mes "Select a session to remove."; next; set .@menu$,""; for(set .@i,0; .@i<.Size; set .@i,.@i+4) set .@menu$, .@menu$+" ~ "+.Days$[$WOE_CONTROL[.@i]]+" ("+Add_Zero($WOE_CONTROL[.@i+1],1)+"-"+Add_Zero($WOE_CONTROL[.@i+2],1)+"):"; set .@menu$, .@menu$+" ~ ^777777Cancel^000000"; set .@i, select(.@menu$)-1; if (.@i == (.Size/4)) break; mes "[Remove Session]"; mes "Delete ^0055FF"+.Days$[$WOE_CONTROL[.@i*4]]+"'s^000000 session?"; mes "This action cannot be undone."; next; set .@j, select(" ~ ^FF0000Delete session...^000000: ~ ^777777Cancel^000000"); mes "[Remove Session]"; if (.@j == 2) mes "Cancelled."; else { deletearray $WOE_CONTROL[.@i*4],4; set .Size, getarraysize($WOE_CONTROL); mes "Session deleted."; } next; break; case 3: mes "[Reload Settings]"; mes "This will trigger all events related to new session configurations, if any."; if (agitcheck() || agitcheck2()) { mes " "; mes "Be aware that this will disrupt the current WOE session."; } next; set .@i, select(" ~ ^0055FFReload settings...^000000: ~ ^777777Cancel^000000"); mes "[Reload Settings]"; if (.@i == 2) mes "Cancelled."; else { set .Init,1; donpcevent "WOE_CONTROL::OnMinute00"; mes "Variables have been re-initialized."; } next; break; case 4: mes "[Force Agit End]"; if (!agitcheck() && !agitcheck2()) { mes "WOE has already ended."; next; break; } mes "This command will safely execute all AgitEnd events."; mes " "; mes "Kill the current WOE session?"; next; set .@i, select(" ~ ^FF0000End session...^000000:"+((.Options&1)?" ~ ^FF0000End session without rewards...^000000":"")+": ~ ^777777Cancel^000000"); mes "[Force Agit End]"; if (.@i == 3) mes "Cancelled."; else { set .ForceEnd, .@i; donpcevent "WOE_CONTROL::OnWOEEnd"; mes "WOE session terminated."; } next; break; case 5: set .@d,1; break; } if (.@d) { set .@d,0; break; } } break; case 5: close; } } } Edit: i want to know how to set castle drops for each castle only for gm of the guild.
  9. X_X my phone got crazy, ok lil troll when i wake up ill start editing and will let you know how is going, 1 more question, do you spesk spanish? I saw a spanish word in the script (gracias, Oh Santo) Something like that xD.
  10. dont worry men, you are helping me of course you can take your time, and is funny heard it have filipino words xD i didnt notice nothing xD
  11. ok this npc's will be located on each room like this: (these are the warpers to each room by floor and the npc helper in each room, here i want to add you have to set a password to enter, if somebody is in the room, you can enter only if you have the password, but, if room detect no one is inside the password will be reset) // ---- MVP ARENA!!!!!! By Darkchild with 16 diff MVP's inside // -- Optimised The MVP arena!!!! By massdriller // - NPC in prontera // --- Optimising Functions function script Ramvp_1 { mes "[ ^0065DFAlpha MVP^000000 ]"; mes "Here you go!"; return; } function script Ramvp_2 { mes "[ ^0065DFBeta MVP^000000 ]"; mes "Here you go!"; return; } function script Ramvp_3 { mes "[ ^0065DFTheta MVP^000000 ]"; mes "Here you go!"; return; } function script Ramvp_4 { mes "[ ^0065DFEpsilon MVP^000000 ]"; mes "Here you go!"; return; } function script Ramvp_M { mes "How do you need help?."; menu "Harder Monsters",L_Next,"Heal Please",L_Heal,"Leave",L_Leave; L_Next: return; L_Heal: percentheal 100,100; close; L_Leave: warp "prontera",156,179; close; } function script Ramvp_M2 { mes "How do you need help?."; menu "Heal Please",L_Heal,"Leave",L_Leave; L_Heal: percentheal 100,100; close; L_Leave: warp "prontera",156,179; close; } each room have 8 floors: Alpha: pvp_n_1-2 to 8-2, Beta: pvp_n_1-3 to 8-3, Theta: pvp_n_1-4 to 8-4, Epsilon: pvp_n_1-5 to 8-5 , each npc is located on 100, 100 of each room (example: pvp_n_1-2 ,100, 100) if you need, this is the script of the warper in towns, to enter the room where the each room warpers are. // ---- MVP ARENA!!!!!! By Darkchild with 16 diff MVP's inside // -- Optimised The MVP arena!!!! By massdriller // - NPC in prontera // - Removed Duplicates [Silent] prontera,158,188,3 script MVP Warper#1::mvp 768,{ mes "[ ^0065DFMVP Warper^000000 ]"; mes "Would you like to go to the MVP Arena ?..."; if (select("Yes!","No thanks.") == 2) close; close2; warp "quiz_00",50,24; end; } // --- Inside the Arena // --- NPC's That explains thigns quiz_00,49,31,4 script MVP Arena Guide 778,{ switch(select("Intro","I want to go back","Heal me please","Cancel")) { case 1: mes "[ ^0065DFMVP Arena Guide^000000 ]"; mes "Welcome and behold this sacred place, Here you will find out if you truly have what it takes to call yourself a warrior, and a Team mate."; next; mes "Here in [ ^0065DFSvRO^000000 ] we like to be a family, and as a family you learn you must help and assist one-another, so if you want to survive you should learn to Co-operate."; next; mes "There are Plenty of rooms with MVP's in them so don't all fight over the one room just cause you think it's the only one, just move to the next one."; next; mes "If you can't get along, and there is too much complaining about people stealing MVP kills and items... then this place will be removed."; next; mes "Now the npc's are in groups of monsters, there are 4 different mvps per each npc, i won't tell you which it's a surprise hehe."; next; mes "Good luck, Live long and Prosper!."; close; break; case 2: close2; warp "prontera",156,179; end; break; case 3: percentheal 100,100; close; break; case 4: close; break; } close; } // --- The first Alpha-MVP warper quiz_00,56,31,4 script Alpha MVP 770,{ mes "[ ^0065DFAlpha MVP^000000 ]"; mes "I am the first Keeper, are you ready?."; if (select("Yes!","Urrr No.") == 2) close; mes "[ ^0065DFAlpha MVP^000000 ]"; mes "Which Arena you want to go to??"; menu "Arena 1 [" + getmapusers("pvp_n_1-2") + " / 50]",Larena1, "Arena 2 [" + getmapusers("pvp_n_2-2") + " / 50]",Larena2, "Arena 3 [" + getmapusers("pvp_n_3-2") + " / 15]",Larena3, "Arena 4 [" + getmapusers("pvp_n_4-2") + " / 15]",Larena4, "Arena 5 [" + getmapusers("pvp_n_5-2") + " / 15]",Larena5, "Arena 6 [" + getmapusers("pvp_n_6-2") + " / 15]",Larena6, "Arena 7 [" + getmapusers("pvp_n_7-2") + " / 15]",Larena7, "Arena 8 [" + getmapusers("pvp_n_8-2") + " / 15]",Larena8, "Quit",Lcancel; Lcancel: close; Larena1: if (getmapusers("pvp_n_1-2") > 49) goto Lsorry; callfunc "Ramvp_1"; warp "pvp_n_1-2",102,102; close; Larena2: if (getmapusers("pvp_n_2-2") > 49) goto Lsorry; callfunc "Ramvp_1"; warp "pvp_n_2-2",102,102; close; Larena3: if (getmapusers("pvp_n_3-2") > 14) goto Lsorry; callfunc "Ramvp_1"; warp "pvp_n_3-2",102,102; close; Larena4: if (getmapusers("pvp_n_4-2") > 14) goto Lsorry; callfunc "Ramvp_1"; warp "pvp_n_4-2",102,102; close; Larena5: if (getmapusers("pvp_n_5-2") > 14) goto Lsorry; callfunc "Ramvp_1"; warp "pvp_n_5-2",102,102; close; Larena6: if (getmapusers("pvp_n_6-2") > 14) goto Lsorry; callfunc "Ramvp_1"; warp "pvp_n_6-2",102,102; close; Larena7: if (getmapusers("pvp_n_7-2") > 14) goto Lsorry; callfunc "Ramvp_1"; warp "pvp_n_7-2",102,102; close; Larena8: if (getmapusers("pvp_n_8-2") > 14) goto Lsorry; callfunc "Ramvp_1"; warp "pvp_n_8-2",102,102; close; Lsorry: mes "[ ^0065DFAlpha MVP^000000 ]"; mes "Sorry but this Arena is already full, maybe you can try another one!"; close; } // --- The first Beta-MVP warper quiz_00,58,31,4 script Beta MVP 773,{ mes "[ ^0065DFAlpha MVP^000000 ]"; mes "I am the first Keeper, are you ready?."; menu "Yes!",L_Yes,"Urrr No.",Lcancel; L_Yes: mes "[ ^0065DFBeta MVP^000000 ]"; mes "Which Arena you want to go to??"; menu "Arena 1 [" + getmapusers("pvp_n_1-3") + " / 50]",Larena1, "Arena 2 [" + getmapusers("pvp_n_2-3") + " / 15]",Larena2, "Arena 3 [" + getmapusers("pvp_n_3-3") + " / 15]",Larena3, "Arena 4 [" + getmapusers("pvp_n_4-3") + " / 15]",Larena4, "Arena 5 [" + getmapusers("pvp_n_5-3") + " / 15]",Larena5, "Arena 6 [" + getmapusers("pvp_n_6-3") + " / 15]",Larena6, "Arena 7 [" + getmapusers("pvp_n_7-3") + " / 15]",Larena7, "Arena 8 [" + getmapusers("pvp_n_8-3") + " / 15]",Larena8, "Quit",Lcancel; Lcancel: close; Larena1: if (getmapusers("pvp_n_1-3") > 49) goto Lsorry; callfunc "Ramvp_2"; warp "pvp_n_1-3",102,102; close; Larena2: if (getmapusers("pvp_n_2-3") > 14) goto Lsorry; callfunc "Ramvp_2"; warp "pvp_n_2-3",102,102; close; Larena3: if (getmapusers("pvp_n_3-3") > 14) goto Lsorry; callfunc "Ramvp_2"; warp "pvp_n_3-3",102,102; close; Larena4: if (getmapusers("pvp_n_4-3") > 14) goto Lsorry; callfunc "Ramvp_2"; warp "pvp_n_4-3",102,102; close; Larena5: if (getmapusers("pvp_n_5-3") > 14) goto Lsorry; callfunc "Ramvp_2"; warp "pvp_n_5-3",102,102; close; Larena6: if (getmapusers("pvp_n_6-3") > 14) goto Lsorry; callfunc "Ramvp_2"; warp "pvp_n_6-3",102,102; close; Larena7: if (getmapusers("pvp_n_7-3") > 14) goto Lsorry; callfunc "Ramvp_2"; warp "pvp_n_7-3",102,102; close; Larena8: if (getmapusers("pvp_n_8-3") > 14) goto Lsorry; callfunc "Ramvp_2"; warp "pvp_n_8-3",102,102; close; Lsorry: mes "[ ^0065DFBeta MVP^000000 ]"; mes "Sorry but this Arena is already full, maybe you can try another one!"; close; } // --- The first Theta-MVP warper quiz_00,60,31,4 script Theta MVP 774,{ mes "[ ^0065DFTheta MVP^000000 ]"; mes "I am the first Keeper, are you ready?."; menu "Yes!",L_Yes,"Urrr No.",Lcancel; L_Yes: mes "[ ^0065DFTheta MVP^000000 ]"; mes "Which Arena you want to go to??"; menu "Arena 1 [" + getmapusers("pvp_n_1-4") + " / 50]",Larena1, "Arena 2 [" + getmapusers("pvp_n_2-4") + " / 15]",Larena2, "Arena 3 [" + getmapusers("pvp_n_3-4") + " / 15]",Larena3, "Arena 4 [" + getmapusers("pvp_n_4-4") + " / 15]",Larena4, "Arena 5 [" + getmapusers("pvp_n_5-4") + " / 15]",Larena5, "Arena 6 [" + getmapusers("pvp_n_6-4") + " / 15]",Larena6, "Arena 7 [" + getmapusers("pvp_n_7-4") + " / 15]",Larena7, "Arena 8 [" + getmapusers("pvp_n_8-4") + " / 15]",Larena8, "Quit",Lcancel; Lcancel: close; Larena1: if (getmapusers("pvp_n_1-4") > 49) goto Lsorry; callfunc "Ramvp_3"; warp "pvp_n_1-4",102,102; close; Larena2: if (getmapusers("pvp_n_2-4") > 14) goto Lsorry; callfunc "Ramvp_3"; warp "pvp_n_2-4",102,102; close; Larena3: if (getmapusers("pvp_n_3-4") > 14) goto Lsorry; callfunc "Ramvp_3"; warp "pvp_n_3-4",102,102; close; Larena4: if (getmapusers("pvp_n_4-4") > 14) goto Lsorry; mes "[ ^0065DFTheta MVP^000000 ]"; mes "Here you go!"; warp "pvp_n_4-4",102,102; close; Larena5: if (getmapusers("pvp_n_5-4") > 14) goto Lsorry; callfunc "Ramvp_3"; warp "pvp_n_5-4",102,102; close; Larena6: if (getmapusers("pvp_n_6-4") > 14) goto Lsorry; callfunc "Ramvp_3"; warp "pvp_n_6-4",102,102; close; Larena7: if (getmapusers("pvp_n_7-4") > 14) goto Lsorry; callfunc "Ramvp_3"; warp "pvp_n_7-4",102,102; close; Larena8: if (getmapusers("pvp_n_8-4") > 14) goto Lsorry; callfunc "Ramvp_3"; warp "pvp_n_8-4",102,102; close; Lsorry: mes "[ ^0065DFTheta MVP^000000 ]"; mes "Sorry but this Arena is already full, maybe you can try another one!"; close; } // --- The first Epsilon-MVP warper quiz_00,62,31,4 script Epsilon MVP 776,{ mes "[ ^0065DFEpsilon MVP^000000 ]"; mes "I am the first Keeper, are you ready?."; menu "Yes!",L_Yes,"Urrr No.",Lcancel; L_Yes: mes "[ ^0065DFEpsilon MVP^000000 ]"; mes "Which Arena you want to go to??"; menu "Arena 1 [" + getmapusers("pvp_n_1-5") + " / 50]",Larena1, "Arena 2 [" + getmapusers("pvp_n_2-5") + " / 15]",Larena2, "Arena 3 [" + getmapusers("pvp_n_3-5") + " / 15]",Larena3, "Arena 4 [" + getmapusers("pvp_n_4-5") + " / 15]",Larena4, "Arena 5 [" + getmapusers("pvp_n_5-5") + " / 15]",Larena5, "Arena 6 [" + getmapusers("pvp_n_6-5") + " / 15]",Larena6, "Arena 7 [" + getmapusers("pvp_n_7-5") + " / 15]",Larena7, "Arena 8 [" + getmapusers("pvp_n_8-5") + " / 15]",Larena8, "Quit",Lcancel; Lcancel: close; Larena1: if (getmapusers("pvp_n_1-5") > 49) goto Lsorry; callfunc "Ramvp_4"; warp "pvp_n_1-5",102,102; close; Larena2: if (getmapusers("pvp_n_2-5") > 14) goto Lsorry; callfunc "Ramvp_4"; warp "pvp_n_2-5",102,102; close; Larena3: if (getmapusers("pvp_n_3-5") > 14) goto Lsorry; callfunc "Ramvp_4"; warp "pvp_n_3-5",102,102; close; Larena4: if (getmapusers("pvp_n_4-5") > 14) goto Lsorry; callfunc "Ramvp_4"; warp "pvp_n_4-5",102,102; close; Larena5: if (getmapusers("pvp_n_5-5") > 14) goto Lsorry; callfunc "Ramvp_4"; warp "pvp_n_5-5",102,102; close; Larena6: if (getmapusers("pvp_n_6-5") > 14) goto Lsorry; callfunc "Ramvp_4"; warp "pvp_n_6-5",102,102; close; Larena7: if (getmapusers("pvp_n_7-5") > 14) goto Lsorry; callfunc "Ramvp_4"; warp "pvp_n_7-5",102,102; close; Larena8: if (getmapusers("pvp_n_8-5") > 14) goto Lsorry; callfunc "Ramvp_4"; warp "pvp_n_8-5",102,102; close; Lsorry: mes "[ ^0065DFEpsilon MVP^000000 ]"; mes "Sorry but this Arena is already full, maybe you can try another one!"; close; } // ---- Inside MVP-Arena NPC's // --- Alpha-MVP #1 pvp_n_1-2,100,100,4 script MVP-Protector#01 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_2-2",102,102; close; } // --- Alpha-MVP #2 pvp_n_2-2,100,100,4 script MVP-Protector#02 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_3-2",102,102; close; } // --- Alpha-MVP #3 pvp_n_3-2,100,100,4 script MVP-Protector#03 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_4-2",102,102; close; } // --- Alpha-MVP #4 pvp_n_4-2,100,100,4 script MVP-Protector#04 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_5-2",102,102; close; } // --- Alpha-MVP #5 pvp_n_5-2,100,100,4 script MVP-Protector#05 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_6-2",102,102; close; } // --- Alpha-MVP #6 pvp_n_6-2,100,100,4 script MVP-Protector#06 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_7-2",102,102; close; } // --- Alpha-MVP #7 pvp_n_7-2,100,100,4 script MVP-Protector#07 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_8-2",102,102; close; } // --- Alpha-MVP #8 pvp_n_8-2,100,100,4 script MVP-Protector#08 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M2"; } // --- Beta-MVP #1 pvp_n_1-3,100,100,4 script MVP-Protector#09 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_2-3",102,102; close; } // --- Beta-MVP #2 pvp_n_2-3,100,100,4 script MVP-Protector#10 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_3-3",102,102; close; } // --- Beta-MVP #3 pvp_n_3-3,100,100,4 script MVP-Protector#11 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_4-3",102,102; close; } // --- Beta-MVP #4 pvp_n_4-3,100,100,4 script MVP-Protector#12 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_5-3",102,102; close; } // --- Beta-MVP #5 pvp_n_5-3,100,100,4 script MVP-Protector#13 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_6-3",102,102; close; } // --- Beta-MVP #6 pvp_n_6-3,100,100,4 script MVP-Protector#14 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_7-3",102,102; close; } // --- Beta-MVP #7 pvp_n_7-3,100,100,4 script MVP-Protector#15 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_8-3",102,102; close; } // --- Beta-MVP #8 pvp_n_8-3,100,100,4 script MVP-Protector#16 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M2"; } // --- Theta-MVP #1 pvp_n_1-4,100,100,4 script MVP-Protector#17 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_2-4",102,102; close; } // --- Theta-MVP #2 pvp_n_2-4,100,100,4 script MVP-Protector#18 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_3-4",102,102; close; } // --- Theta-MVP #3 pvp_n_3-4,100,100,4 script MVP-Protector#19 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_4-4",102,102; close; } // --- Theta-MVP #4 pvp_n_4-4,100,100,4 script MVP-Protector#20 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_5-4",102,102; close; } // --- Theta-MVP #5 pvp_n_5-4,100,100,4 script MVP-Protector#21 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_6-4",102,102; close; } // --- Theta-MVP #6 pvp_n_6-4,100,100,4 script MVP-Protector#22 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_7-4",102,102; close; } // --- Theta-MVP #7 pvp_n_7-4,100,100,4 script MVP-Protector#23 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_8-4",102,102; close; } // --- Theta-MVP #8 pvp_n_8-4,100,100,4 script MVP-Protector#24 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M2"; } // --- Epsilon-MVP #1 pvp_n_1-5,100,100,4 script MVP-Protector#25 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_2-5",102,102; close; } // --- Epsilon-MVP #2 pvp_n_2-5,100,100,4 script MVP-Protector#26 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_3-5",102,102; close; } // --- Epsilon-MVP #3 pvp_n_3-5,100,100,4 script MVP-Protector#27 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_4-5",102,102; close; } // --- Epsilon-MVP #4 pvp_n_4-5,100,100,4 script MVP-Protector#28 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_5-5",102,102; close; } // --- Epsilon-MVP #5 pvp_n_5-5,100,100,4 script MVP-Protector#29 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_6-5",102,102; close; } // --- Epsilon-MVP #6 pvp_n_6-5,100,100,4 script MVP-Protector#30 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_7-5",102,102; close; } // --- Epsilon-MVP #7 pvp_n_7-5,100,100,4 script MVP-Protector#31 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M"; L_Next: warp "pvp_n_8-5",102,102; close; } // --- Epsilon-MVP #8 pvp_n_8-5,100,100,4 script MVP-Protector#32 727,{ mes "[ ^0065DFMVP-Protector^000000 ]"; callfunc "Ramvp_M2"; } // ---- Monsters for the MVP-Arena // --- Alpha-MVP Maps // --- First Alpha-MVP area pvp_n_1-2,0,0,0,0 monster Eddga 1115,3,60000,66000 pvp_n_1-2,0,0,0,0 monster Mistress 1059,1,60000,66000 // --- Second Alpha-MVP area pvp_n_2-2,0,0,0,0 monster Mistress 1059,3,60000,66000 pvp_n_2-2,0,0,0,0 monster Moonlight 1150,1,60000,66000 // --- Third Alpha-MVP area pvp_n_3-2,0,0,0,0 monster Mistress 1059,1,60000,66000 pvp_n_3-2,0,0,0,0 monster Moonlight 1150,2,60000,66000 pvp_n_3-2,0,0,0,0 monster Maya 1147,1,60000,66000 // --- Fourth Alpha-MVP area pvp_n_4-2,0,0,0,0 monster Eddga 1115,1,60000,66000 pvp_n_4-2,0,0,0,0 monster Mistress 1059,1,60000,66000 pvp_n_4-2,0,0,0,0 monster Moonlight 1150,1,60000,66000 pvp_n_4-2,0,0,0,0 monster Maya 1147,1,60000,66000 // --- Fifth Alpha-MVP area pvp_n_5-2,0,0,0,0 monster Eddga 1115,1,60000,66000 pvp_n_5-2,0,0,0,0 monster Mistress 1059,2,60000,66000 pvp_n_5-2,0,0,0,0 monster Moonlight 1150,1,60000,66000 pvp_n_5-2,0,0,0,0 monster Maya 1147,2,60000,66000 // --- Sixth Alpha-MVP area pvp_n_6-2,0,0,0,0 monster Eddga 1115,2,60000,66000 pvp_n_6-2,0,0,0,0 monster Mistress 1059,3,60000,66000 pvp_n_6-2,0,0,0,0 monster Moonlight 1150,1,60000,66000 pvp_n_6-2,0,0,0,0 monster Maya 1147,2,60000,66000 // --- Seventh Alpha-MVP area pvp_n_7-2,0,0,0,0 monster Eddga 1115,3,60000,66000 pvp_n_7-2,0,0,0,0 monster Mistress 1059,3,60000,66000 pvp_n_7-2,0,0,0,0 monster Moonlight 1150,2,60000,66000 pvp_n_7-2,0,0,0,0 monster Maya 1147,2,60000,66000 // --- Eighth Alpha-MVP area pvp_n_8-2,0,0,0,0 monster Eddga 1115,3,60000,66000 pvp_n_8-2,0,0,0,0 monster Mistress 1059,3,60000,66000 pvp_n_8-2,0,0,0,0 monster Moonlight 1150,3,60000,66000 pvp_n_8-2,0,0,0,0 monster Maya 1147,3,60000,66000 // --- Beta-MVP Maps // --- First Beta-MVP area pvp_n_1-3,0,0,0,0 monster Phreeoni 1159,3,60000,66000 pvp_n_1-3,0,0,0,0 monster Turtle General 1312,1,60000,66000 // --- Second Beta-MVP area pvp_n_2-3,0,0,0,0 monster Phreeoni 1159,2,60000,66000 pvp_n_3-3,0,0,0,0 monster Turtle General 1312,1,60000,66000 pvp_n_2-3,0,0,0,0 monster Orc Hero 1087,1,60000,66000 // --- Third Beta-MVP area pvp_n_3-3,0,0,0,0 monster Phreeoni 1159,1,60000,66000 pvp_n_3-3,0,0,0,0 monster Turtle General 1312,1,60000,66000 pvp_n_3-3,0,0,0,0 monster Orc Hero 1087,1,60000,66000 pvp_n_3-3,0,0,0,0 monster Orc Lord 1190,1,60000,66000 // --- Fourth Beta-MVP area pvp_n_4-3,0,0,0,0 monster Phreeoni 1159,2,60000,66000 pvp_n_4-3,0,0,0,0 monster Turtle General 1312,1,60000,66000 pvp_n_4-3,0,0,0,0 monster Orc Hero 1087,1,60000,66000 pvp_n_4-3,0,0,0,0 monster Orc Lord 1190,1,60000,66000 // --- Fifth Beta-MVP area pvp_n_5-3,0,0,0,0 monster Phreeoni 1159,1,60000,66000 pvp_n_5-3,0,0,0,0 monster Turtle General 1312,2,60000,66000 pvp_n_5-3,0,0,0,0 monster Orc Hero 1087,2,60000,66000 pvp_n_5-3,0,0,0,0 monster Orc Lord 1190,1,60000,66000 // --- Sixth Beta-MVP area pvp_n_6-3,0,0,0,0 monster Phreeoni 1159,2,60000,66000 pvp_n_6-3,0,0,0,0 monster Turtle General 1312,1,60000,66000 pvp_n_6-3,0,0,0,0 monster Orc Hero 1087,2,60000,66000 pvp_n_6-3,0,0,0,0 monster Orc Lord 1190,2,60000,66000 // --- Seventh Beta-MVP area pvp_n_7-3,0,0,0,0 monster Phreeoni 1159,3,60000,66000 pvp_n_7-3,0,0,0,0 monster Turtle General 1312,1,60000,66000 pvp_n_7-3,0,0,0,0 monster Orc Hero 1087,2,60000,66000 pvp_n_7-3,0,0,0,0 monster Orc Lord 1190,3,60000,66000 // --- Eighth Beta-MVP area pvp_n_8-3,0,0,0,0 monster Phreeoni 1159,3,60000,66000 pvp_n_8-3,0,0,0,0 monster Turtle General 1312,3,60000,66000 pvp_n_8-3,0,0,0,0 monster Orc Hero 1087,3,60000,66000 pvp_n_8-3,0,0,0,0 monster Orc Lord 1190,3,60000,66000 // --- Theta-MVP Maps // --- First Theta-MVP area pvp_n_1-4,0,0,0,0 monster Drake 1112,3,60000,66000 pvp_n_1-4,0,0,0,0 monster Osiris 1038,1,60000,66000 // --- Second Theta-MVP area pvp_n_2-4,0,0,0,0 monster Drake 1112,2,60000,66000 pvp_n_2-4,0,0,0,0 monster Osiris 1038,1,60000,66000 pvp_n_2-4,0,0,0,0 monster Doppelganger 1046,1,60000,66000 // --- Third Theta-MVP area pvp_n_3-4,0,0,0,0 monster Drake 1112,1,60000,66000 pvp_n_3-4,0,0,0,0 monster Osiris 1038,1,60000,66000 pvp_n_3-4,0,0,0,0 monster Doppelganger 1046,1,60000,66000 pvp_n_3-4,0,0,0,0 monster Lord of Death 1373,1,60000,66000 // --- Fourth Theta-MVP area pvp_n_4-4,0,0,0,0 monster Drake 1112,2,60000,66000 pvp_n_4-4,0,0,0,0 monster Osiris 1038,1,60000,66000 pvp_n_4-4,0,0,0,0 monster Doppelganger 1046,2,60000,66000 pvp_n_4-4,0,0,0,0 monster Lord of Death 1373,1,60000,66000 // --- Fifth Theta-MVP area pvp_n_5-4,0,0,0,0 monster Drake 1112,3,60000,66000 pvp_n_5-4,0,0,0,0 monster Osiris 1038,2,60000,66000 pvp_n_5-4,0,0,0,0 monster Doppelganger 1046,2,60000,66000 pvp_n_5-4,0,0,0,0 monster Lord of Death 1373,1,60000,66000 // --- Sixth Theta-MVP area pvp_n_6-4,0,0,0,0 monster Drake 1112,3,60000,66000 pvp_n_6-4,0,0,0,0 monster Osiris 1038,2,60000,66000 pvp_n_6-4,0,0,0,0 monster Doppelganger 1046,2,60000,66000 pvp_n_6-4,0,0,0,0 monster Lord of Death 1373,2,60000,66000 // --- Seventh Theta-MVP area pvp_n_7-4,0,0,0,0 monster Drake 1112,3,60000,66000 pvp_n_7-4,0,0,0,0 monster Osiris 1038,2,60000,66000 pvp_n_7-4,0,0,0,0 monster Doppelganger 1046,3,60000,66000 pvp_n_7-4,0,0,0,0 monster Lord of Death 1373,2,60000,66000 // --- Eighth Theta-MVP area pvp_n_8-4,0,0,0,0 monster Drake 1112,3,60000,66000 pvp_n_8-4,0,0,0,0 monster Osiris 1038,3,60000,66000 pvp_n_8-4,0,0,0,0 monster Doppelganger 1046,3,60000,66000 pvp_n_8-4,0,0,0,0 monster Lord of Death 1373,3,60000,66000 // --- Epsilon-MVP Maps // --- First Epsilon-MVP area pvp_n_1-5,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000 pvp_n_1-5,0,0,0,0 monster Pharoh 1157,1,60000,66000 // --- First Epsilon-MVP area pvp_n_2-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000 pvp_n_2-5,0,0,0,0 monster Pharoh 1157,1,60000,66000 pvp_n_2-5,0,0,0,0 monster Dark Lord 1272,1,60000,66000 // --- First Epsilon-MVP area pvp_n_3-5,0,0,0,0 monster Incantation Samurai 1492,1,60000,66000 pvp_n_3-5,0,0,0,0 monster Pharoh 1157,1,60000,66000 pvp_n_3-5,0,0,0,0 monster Dark Lord 1272,1,60000,66000 pvp_n_3-5,0,0,0,0 monster Baphomet 1039,1,60000,66000 // --- First Epsilon-MVP area pvp_n_4-5,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000 pvp_n_4-5,0,0,0,0 monster Pharoh 1157,1,60000,66000 pvp_n_4-5,0,0,0,0 monster Dark Lord 1272,1,60000,66000 pvp_n_4-5,0,0,0,0 monster Baphomet 1039,1,60000,66000 // --- First Epsilon-MVP area pvp_n_5-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000 pvp_n_5-5,0,0,0,0 monster Pharoh 1157,2,60000,66000 pvp_n_5-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000 pvp_n_5-5,0,0,0,0 monster Baphomet 1039,1,60000,66000 // --- First Epsilon-MVP area pvp_n_6-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000 pvp_n_6-5,0,0,0,0 monster Pharoh 1157,2,60000,66000 pvp_n_6-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000 pvp_n_6-5,0,0,0,0 monster Baphomet 1039,1,60000,66000 // --- First Epsilon-MVP area pvp_n_7-5,0,0,0,0 monster Incantation Samurai 1492,2,60000,66000 pvp_n_7-5,0,0,0,0 monster Pharoh 1157,2,60000,66000 pvp_n_7-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000 pvp_n_7-5,0,0,0,0 monster Baphomet 1039,2,60000,66000 // --- First Epsilon-MVP area pvp_n_8-5,0,0,0,0 monster Incantation Samurai 1492,3,60000,66000 pvp_n_8-5,0,0,0,0 monster Pharoh 1157,2,60000,66000 pvp_n_8-5,0,0,0,0 monster Dark Lord 1272,2,60000,66000 pvp_n_8-5,0,0,0,0 monster Baphomet 1039,2,60000,66000 pvp_n_1-2 mapflag nowarp pvp_n_2-2 mapflag nowarp pvp_n_3-2 mapflag nowarp pvp_n_4-2 mapflag nowarp pvp_n_5-2 mapflag nowarp pvp_n_6-2 mapflag nowarp pvp_n_7-2 mapflag nowarp pvp_n_8-2 mapflag nowarp pvp_n_1-3 mapflag nowarp pvp_n_2-3 mapflag nowarp pvp_n_3-3 mapflag nowarp pvp_n_4-3 mapflag nowarp pvp_n_5-3 mapflag nowarp pvp_n_6-3 mapflag nowarp pvp_n_7-3 mapflag nowarp pvp_n_8-3 mapflag nowarp pvp_n_1-4 mapflag nowarp pvp_n_2-4 mapflag nowarp pvp_n_3-4 mapflag nowarp pvp_n_4-4 mapflag nowarp pvp_n_5-4 mapflag nowarp pvp_n_6-4 mapflag nowarp pvp_n_7-4 mapflag nowarp pvp_n_8-4 mapflag nowarp pvp_n_1-5 mapflag nowarp pvp_n_2-5 mapflag nowarp pvp_n_3-5 mapflag nowarp pvp_n_4-5 mapflag nowarp pvp_n_5-5 mapflag nowarp pvp_n_6-5 mapflag nowarp pvp_n_7-5 mapflag nowarp pvp_n_8-5 mapflag nowarp pvp_n_1-2 mapflag noteleport pvp_n_2-2 mapflag noteleport pvp_n_3-2 mapflag noteleport pvp_n_4-2 mapflag noteleport pvp_n_5-2 mapflag noteleport pvp_n_6-2 mapflag noteleport pvp_n_7-2 mapflag noteleport pvp_n_8-2 mapflag noteleport pvp_n_1-3 mapflag noteleport pvp_n_2-3 mapflag noteleport pvp_n_3-3 mapflag noteleport pvp_n_4-3 mapflag noteleport pvp_n_5-3 mapflag noteleport pvp_n_6-3 mapflag noteleport pvp_n_7-3 mapflag noteleport pvp_n_8-3 mapflag noteleport pvp_n_1-4 mapflag noteleport pvp_n_2-4 mapflag noteleport pvp_n_3-4 mapflag noteleport pvp_n_4-4 mapflag noteleport pvp_n_5-4 mapflag noteleport pvp_n_6-4 mapflag noteleport pvp_n_7-4 mapflag noteleport pvp_n_8-4 mapflag noteleport pvp_n_1-5 mapflag noteleport pvp_n_2-5 mapflag noteleport pvp_n_3-5 mapflag noteleport pvp_n_4-5 mapflag noteleport pvp_n_5-5 mapflag noteleport pvp_n_6-5 mapflag noteleport pvp_n_7-5 mapflag noteleport pvp_n_8-5 mapflag noteleport pvp_n_1-2 mapflag pvp pvp_n_2-2 mapflag pvp pvp_n_3-2 mapflag pvp pvp_n_4-2 mapflag pvp pvp_n_5-2 mapflag pvp pvp_n_6-2 mapflag pvp pvp_n_7-2 mapflag pvp pvp_n_8-2 mapflag pvp pvp_n_1-3 mapflag pvp pvp_n_2-3 mapflag pvp pvp_n_3-3 mapflag pvp pvp_n_4-3 mapflag pvp pvp_n_5-3 mapflag pvp pvp_n_6-3 mapflag pvp pvp_n_7-3 mapflag pvp pvp_n_8-3 mapflag pvp pvp_n_1-4 mapflag pvp pvp_n_2-4 mapflag pvp pvp_n_3-4 mapflag pvp pvp_n_4-4 mapflag pvp pvp_n_5-4 mapflag pvp pvp_n_6-4 mapflag pvp pvp_n_7-4 mapflag pvp pvp_n_8-4 mapflag pvp pvp_n_1-5 mapflag pvp pvp_n_2-5 mapflag pvp pvp_n_3-5 mapflag pvp pvp_n_4-5 mapflag pvp pvp_n_5-5 mapflag pvp pvp_n_6-5 mapflag pvp pvp_n_7-5 mapflag pvp pvp_n_8-5 mapflag pvp pvp_n_1-2 mapflag nosave pvp_n_2-2 mapflag nosave pvp_n_3-2 mapflag nosave pvp_n_4-2 mapflag nosave pvp_n_5-2 mapflag nosave pvp_n_6-2 mapflag nosave pvp_n_7-2 mapflag nosave pvp_n_8-2 mapflag nosave pvp_n_1-3 mapflag nosave pvp_n_2-3 mapflag nosave pvp_n_3-3 mapflag nosave pvp_n_4-3 mapflag nosave pvp_n_5-3 mapflag nosave pvp_n_6-3 mapflag nosave pvp_n_7-3 mapflag nosave pvp_n_8-3 mapflag nosave pvp_n_1-4 mapflag nosave pvp_n_2-4 mapflag nosave pvp_n_3-4 mapflag nosave pvp_n_4-4 mapflag nosave pvp_n_5-4 mapflag nosave pvp_n_6-4 mapflag nosave pvp_n_7-4 mapflag nosave pvp_n_8-4 mapflag nosave pvp_n_1-5 mapflag nosave pvp_n_2-5 mapflag nosave pvp_n_3-5 mapflag nosave pvp_n_4-5 mapflag nosave pvp_n_5-5 mapflag nosave pvp_n_6-5 mapflag nosave pvp_n_7-5 mapflag nosave pvp_n_8-5 mapflag nosave payon,148,225,6 duplicate(mvp) MVP Warper#2 768 mall,107,116,3 duplicate(mvp) MVP Warper#3 768 morocc,143,89,6 duplicate(mvp) MVP Warper#4 768 lighthalzen,150,102,4 duplicate(mvp) MVP Warper#5 768 This are some pictures to help you:
  12. Hello guys, if somebody can help me with this script please, what i want is a mvp room mid rates style, i wish to use the same maps as regular mvp room, ( pvp_n_ ) but what i want is people have to talk with the npc to summon the mvp, and will not be free, i want to add the same mvp's too, (eddga,mistress,maya,turtle general,baphomet,etc.) i want the npc have this options: - Summon MvP - Heal me please - Leave mvp room - Summon Mvp (Which mvp would you like i summon for you?) i want each npc on each room can summon diferents mvp, Example for all npc by rooms: all npc in each floor of Alpha room can summon this mvp's: Alpha Room: Eddga, Misstress, Moonlight Flower, Maya. all npc in each floor of Beta room can summon this mvp's: Beta Room: Phreeoni, Turtle General, Orc Hero, Orc Lord. all npc in each floor of Theta room can summon this mvp's: Theta Room: Drake, Osiris, Doppleganger, Lord of Death. all npc in each floor of Epsilon room can summon this mvp's: Epsilon Room: Incantation Samurai, Pharaoh, Baphomet, Dark Lord. List of mvp's and price example for Betha Room: npc talk: Ok, this are the mvp i can summon and their respectives prices. Phreeoni - $3,000,000 Orc lord - $5,000,000 Orc Hero - $7,000,000 Turtle General - $10,000,000 I'll be back later, thank you. (If possible please i wish, each room is private but free of charges to enter, you have to set a password to enter, if somebody input the same password it can enter too). - Heal price = ($1m zeny) - Leave (warp to prontera 156, 179) Please somebody help me with this script it will be very helpfull.
  13. Ohh, ok thanks capuche maybe it was something custom in the server i saw it, anyway if you are interested on know about this i can provide you with some pictures, Thank you capuche i will try this you sent to me.
  14. Exactly if you add the others npc's following the chain, i can edit the dialogs and items id's following the others npc's.
  15. Nope you misunderstand me, what i mean is add 4 more npc's like the other one's, each Valkyrie item have a separate npc to make the item, Example: Valk. armor have a separate npc, vshild: too, v. manteau: too, and vshoes too, before you can talk with the npc that will make you the named sleipnir you had did all the valkyrie items first, if this npc detect you not finish all the valkyrie items it wont make Sleipnir for you, what i want is to add 4 more npc's you have to do the items before this last npc can make the sleipnir for you.
  16. this is only to change the quantity of the mobs? what i want to do with this is what i requested above, make the guardians harder, bu thank you anyway now i know how to change the quantity.
  17. hey guys how i can make this mine guardians really hard with perfect flee, people only can hit this guardian with sniper card, and it hit's the people like 8 to 10k by hit, i want this for a high rates server, but even a char in lvl 150 can kill the guardian very easy (and my server is 255/100) and if possible change the guardian to an Orc Warrior!! this is my gold room: // _______ __ ____ ____ __ __ ____ __ __ __ __ __ __ __ ____ _ ____ // /__ __/ / / / __ \ / __ \ / / / / /__ \ / / /_/ __/ /_ / // / / /__/ / /__ \ / /__ / __ \ _____ // / / / /_ / /_/ / / / / / / / / / ____/ / / / __ /_ __// // / / _ _ / ____/ / / // / / /_/ / / __ \ // / / / __ \ / ____/ / / / / / / / / / __ / / / / / / / \_ / / // /// / __ / / __/ / ____/ / / /_/ // / / / / / / / /__ / /_/ /_ / /_/ / / /_/ / / / / / / / __/ / / // /// / /_/ / / _ \ / /__ / / ///_/ /_/ /_/ \____/ \_______/ \____/ \____/ /_/ /_/ /_/ \__/ /_//_/// \____/ /_/ \_\ \____/ /_/ //============================================================================= // // Gold Room V2.0 Script - Mining Gold for wealth - Please Leave Credit \\ //============================================================================= //POWERED by: rudolp //The Quality Maker //10:19 PM 2/25/2009 //===== Compatible With: ==================================================================== //= Any eAthena Version //===== Description: ======================================================================== //=============Gold Room Settings=================== //This should always be enable for a better Gold Room System. //================================================== ordeal_1-2.gat mapflag noskill ordeal_1-2.gat mapflag nomemo ordeal_1-2.gat mapflag nobranch ordeal_1-2.gat mapflag noexp ordeal_1-2.gat mapflag nodrop ordeal_1-2.gat mapflag nochat ordeal_1-2.gat mapflag novending ordeal_1-2.gat mapflag nowarp ordeal_1-2.gat mapflag nowarpto ordeal_1-2.gat mapflag noreturn //================================================== //Optional //================================================== ordeal_1-2.gat mapflag noloot //disable so that after logging in your still in the Gold Room.. //ordeal_1-2.gat mapflag nosave SavePoint ordeal_1-2,0,0,0 script Gold Room -1,{ OnPCDieEvent: if (getmapxy(@mapname$,@mapx,@mapy,0) == -1) end; if (@mapname$ == "ordeal_1-2"){ soundeffect "HolyShit.wav",0; dispbottom "Holy Shit you died!"; dispbottom "All of your gold will gone!"; set alive, 0; set paid, 0; end; } OnNPCKillEvent: if (getmapxy(@mapname$,@mapx,@mapy,0) == -1) goto L_Finish; if (@mapname$ == "ordeal_1-2"){ set @bonus,readparam(bLuk); if(@bonus >= 50 && @bonus <= 149){ set @plus,1; }else if(@bonus >=150 && @bonus <= 199){ set @plus,2; }else if(@bonus >= 200 && @bonus >=250){ set @plus,3; }else if(@bonus > 250){ set @plus,4; }else if(@bonus < 50){ set @plus,0; } set @setadd,0; set @special,rand (4); if(@special == 0){ set @special,(rand(4)*-1); set @setadd,(@special); }else{ set @setadd,(@plus+@special); } set gold, gold + @setadd; if(gold < 50 && @special < 0) dispbottom "-|You got: " + @special + " gold|- "; if(@special == 0) dispbottom "-|You got: NOTHING! |- "; if(gold < 50 && @special > 0) dispbottom "-|You got: " + (@special + @plus) + " gold|- "; if(gold > 50 && @special >0) dispbottom "-|You got: " + (@special + @plus)+ " gold| - |Total: " +gold+ " gold|-"; if(gold > 50 && @special <0) dispbottom "-|You got: " +@special+ " gold| - |Total: " +gold+ " gold|-"; if (gold >= 100 && gold%2 == 0) goto L_HolyShit; if (gold >= 115 && gold <= 149){ sc_start 33,240000,10; }else if (gold >= 150 && gold <= 199){ sc_start 5,240000,10; }else if(gold > 200){ percentheal -30,0; heal -50,0; } if(paid == 0){ mapannounce "ordeal_1-2"," :"+strcharinfo(0)+" is a cheater!",bc_map; dispbottom "Go out you bastard!"; warp "prontera", 173, 160; } end; L_HolyShit: dispbottom "Warning! you may die if you exceed."; misceffect 368; end; end; } } //=============================================== //warper //=============================================== ordeal_1-2,154,156,5 script Gold Miner 813,{ mes "[Gold Miner]"; if(gold >=50){ goto wa; } mes "Want to go now?"; mes "Your gold is just "+gold+" you can still get more, return after you get more than 50"; close; wa: mes "Want to go now?"; if(select("Yes Please", "No, i want more golds") == 1) { set alive,1; warp "prontera", 157, 147; close; } } prontera,165,137,2 script Gold Room Warper#1::GR 848,{ set @name$,"prontera"; callfunc "goldmain"; end; } function script goldmain { if ( alive == 0){ set gold,0; } mes "[Gold Room Miner]"; mes "Hi,I am one of the best gold miners since this was discovered,What can i do for you?"; next; menu "Take me to the Gold Room",-,"Exchange my Golds",exchange,"I'll Back Later",C_s; mes "[Gold Room Miner]"; mes "Hmm.. So you want to go to the mines? OK"; mes "It will cost you $100,000z for the transportation"; mes "Would you like to go anyway to the gold room?"; if(select("Yes Please!", "No, maybe later") == 1) { if(@name$ == "prontera") savepoint "prontera",160,180; if (Zeny < 100000) goto nomoney; set Zeny, Zeny - 100000; set alive, 1; set paid, 1; warp "ordeal_1-2", 156, 155; close; } nomoney: mes "[Gold Room Miner]"; mes "Sorry you have insufficient balance"; close; exchange: mes "[Gold Room Miner]"; mes "Hmm...let me see"; mes "You have " +gold+ "."; if (gold == 0) goto nogold; mes "Ok this is your reward for be a tough miner."; next; if (checkweight(969,gold) == 0) goto L_OverWeight; getitem 969, gold; set gold, 0; emotion e_no1; close; L_OverWeight: mes "[Gold Room Miner]"; mes "Sorry your overweight"; close; nogold: close; C_s: close; } //======================================== //warps you may edit this one for your convenience //======================================== ordeal_1-2,73,265,0 warp ord500 1,1,prontera,173,160 //ordeal_1-2,129,194,0 warp ord501 1,1,prontera,173,160 ordeal_1-2,130,194,0 warp ord502 1,1,prontera,173,160 ordeal_1-2,178,193,0 warp ord503 1,1,prontera,173,160 ordeal_1-2,290,130,0 warp ord504 1,1,prontera,173,160 ordeal_1-2,241,281,0 warp ord505 1,1,prontera,173,160 ordeal_1-2,66,25,0 warp ord506 1,1,prontera,173,160 ordeal_1-2,105,154,0 warp ord507 1,1,prontera,173,160 ordeal_1-2,201,130,0 warp ord5s08 1,1,prontera,173,160 //====================================== //mobs you may edit this as you want. //===================================== ordeal_1-2,0,0,0,0 monster Gold Guardian 1490,10,0,0,0 ordeal_1-2,0,0,0,0 monster Gold Guardian 1490,10,0,0,0 ordeal_1-2,0,0,0,0 monster Gold Guardian 1490,10,0,0,0 ordeal_1-2,0,0,0,0 monster Gold Guardian 1490,10,0,0,0 ordeal_1-2,0,0,0,0 monster Gold Guardian 1490,10,0,0,0 ordeal_1-2,0,0,0,0 monster Golden Pecopeco 1369,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Golden Pecopeco 1369,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Golden Pecopeco 1369,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Golden Pecopeco 1369,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Golden Pecopeco 1369,20,40000,20000,0 ordeal_1-2,0,0,0,0 monster Golden Pecopeco 1369,10,40000,20000,0 ordeal_1-2,0,0,0,0 monster Golden Pecopeco 1369,20,40000,20000,0 //====================================== payon,148,228,6 duplicate(GR) Gold Room Warper#2 848 mall,77,108,6 duplicate(GR) Gold Room Warper#3 848 lighthalzen,181,78,7 duplicate(GR) Gold Room Warper#4 848
  18. try to use this one: 29802,Ancient_Advance_Valkyrie_Helm,Ancient_Advance_Valkyrie_Helm,5,20,,100,,10,,1,0xFFFFFFFF,7,2,256,,0,1,1901,{ bonus bAllstats,5; bonus bMaxHPRate,5; },{},{} same. still cant It works good for me, did you reloaditemdb after replace with the one i sent? Yeah im sure i did reloaditemdb / restart the server. what u had changed? can tell me? the only thing i changed was the format of the weight and remove a space in the script, but i tested it in my server and is working good.
  19. try to use this one: 29802,Ancient_Advance_Valkyrie_Helm,Ancient_Advance_Valkyrie_Helm,5,20,,100,,10,,1,0xFFFFFFFF,7,2,256,,0,1,1901,{ bonus bAllstats,5; bonus bMaxHPRate,5; },{},{} same. still cant It works good for me, did you reloaditemdb after replace with the one i sent?
  20. Hey guys can somebody tell me how i can set all jobs with job lvl 100 can only have 148 skill points and no more? i played in a server before where all jobs with job lvl 100 have only 148 skill points, but in my server they have direfrent skill points some chars only get 148 but others get 202, 186, Etc. and if possible please somebody tell me how to remove the skill shield boomerang from paladin jobs, thank you.
  21. try to use this one: 29802,Ancient_Advance_Valkyrie_Helm,Ancient_Advance_Valkyrie_Helm,5,20,,100,,10,,1,0xFFFFFFFF,7,2,256,,0,1,1901,{ bonus bAllstats,5; bonus bMaxHPRate,5; },{},{}
  22. I was checking the adoption system in my server and i noticed is not there, no warp portal and no npc for donation, i need the adoption system since i delete the baby job class from my jobmaster, can somebody please share this script? the one in prt_church after you get married and you need a novice to adopt, and blah blah blah xD. Bump
  23. hello guys how to remove: Ninja, Gunslinger and baby novice from this job master? //===== rAthena Script ======================================= //= Job Master //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.3 //===== Compatible With: ===================================== //= rAthena SVN r16114+ //===== Description: ========================================= //= A fully functional job changer. //===== Additional Comments: ================================= //= 1.1 Fixed reset on Baby job change. [Euphy] //= 1.2 Added Expanded Super Novice support and initial Kagerou/Oboro support. [Euphy] //= 1.3 Kagerou/Oboro added. [Euphy] //============================================================ prontera,153,193,4 script Job Master#1::JM 743,{ function Job_Menu; function A_An; mes "[Job Master]"; if (Class > 4049) { mes "No more jobs are available."; close; } if (checkfalcon() || checkcart() || checkriding() || ismounting()) { mes "Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkriding())?"Peco":"")+((ismounting())?"mount":"")+" before proceeding."; close; } if (.SkillPointCheck && SkillPoint) { mes "Please use all your skill points before proceeding."; close; } set .@eac, eaclass(); set .@i, ((.ThirdClass)?roclass(.@eac&EAJ_UPPERMASK):Class); if (.@i > 6 && .@i < 22) { if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) { set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .Rebirth[1]-JobLevel; mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue."; close; } if (Class > 21) { mes "Switch to third class?"; next; Job_Menu(roclass(.@eac|EAJL_THIRD)); close; } while(1) { mes "Select an option."; next; set .@i, select(" ~ ^0055FFLast Class^000000:: ~ ^777777Cancel^000000"); if (.@i==3) close; mes "[Job Master]"; mes "Are you sure?"; next; Job_Menu(roclass(.@eac|EAJL_UPPER)); mes "[Job Master]"; } } set .@j1, roclass(.@eac|EAJL_2_1); set .@j2,roclass(.@eac|EAJL_2_2); if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) setarray .@exp[0],roclass(.@eac|EAJL_THIRD),99; //if (Class == Job_Ninja) setarray .@exp[0],.@j1,70; if (.@exp[0] && (.ThirdClass || Class == Job_Ninja)) { if (BaseLevel < .Rebirth[0] || JobLevel < .@exp[1]) { set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .@exp[1]-JobLevel; mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue."; close; } mes "Switch to "+jobname(.@exp[0])+"?"; next; Job_Menu(.@exp[0]); close; } if (.@eac&EAJL_2) if (.@eac&(EAJL_UPPER|EAJL_BABY) || roclass(.@eac|EAJL_UPPER) == -1) { mes "No more jobs are available."; close; } if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) { if (JobLevel < .JobReq[0]) mes "A job level of "+.JobReq[0]+" is required to change into the 1st Class."; else if (Class == 4001 && .LastJob && lastJob) { mes "Switch classes now?"; next; Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER)); } else switch(Class) { case 0: Job_Menu(1,2,3,4,5,6,23,4046,24,25,4023); case 4001: Job_Menu(4002,4003,4004,4005,4006,4007); case 4023: Job_Menu(4024,4025,4026,4027,4028,4029,4045); default: mes "An error has occurred."; break; } close; } if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1) mes "No more jobs are available."; else if (!(.@eac&EAJL_2) && JobLevel < .JobReq[1]) mes "A job level of "+.JobReq[1]+" is required to change into the 2nd Class."; else if (.LastJob && lastJob && (.@eac&EAJL_UPPER)) { mes "Switch classes now?"; next; Job_Menu(lastJob+4001); } else Job_Menu(.@j1,.@j2); close; function Job_Menu { while(1) { if (getargcount() > 1) { mes "Select a job."; set .@menu$,""; for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set .@menu$, .@menu$+" ~ "+jobname(getarg(.@i))+":"; set .@menu$, .@menu$+" ~ ^777777Cancel^000000"; next; set .@i, getarg(select(.@menu$)-1,0); if (!.@i) close; if ((.@i == 23 || .@i == 4045) && BaseLevel < .SNovice) { mes "[Job Master]"; mes "A base level of "+.SNovice+" is required to turn into a "+jobname(.@i)+"."; close; } mes "[Job Master]"; mes "Are you sure?"; next; } else set .@i, getarg(0); if (select(" ~ Change into ^0055FF"+jobname(.@i)+"^000000 class: ~ ^777777"+((getargcount() > 1)?"Go back":"Cancel")+"^000000") == 1) { mes "[Job Master]"; mes "You are now "+A_An(jobname(.@i))+"!"; if (.@i==4001 && .LastJob) set lastJob, Class; jobchange .@i; if (.@i==4001 || .@i==4023) resetlvl(1); specialeffect2 338; specialeffect2 432; if (.Platinum) callsub Get_Platinum; close; } if (getargcount() == 1) return; mes "[Job Master]"; } end; } 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); } Get_Platinum: 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; } return; OnInit: setarray .Rebirth[0],50,50; // Minimum base level, job level to rebirth OR change to third class setarray .JobReq[0],10,50; // Minimum job level to turn into 1st class, 2nd class set .ThirdClass,0; // Enable third classes? (1: yes / 0: no) set .SNovice,50; // Minimum base level to turn into Super Novice set .LastJob,1; // Enforce linear class changes? (1: yes / 0: no) set .SkillPointCheck,1; // Force player to use up all skill points? (1: yes / 0: no) set .Platinum,0; // Get platinum skills automatically? (1: yes / 0: no) end; } payon,148,231,6 duplicate(JM) Job Master#2 743 morocc,169,80,2 duplicate(JM) Job Master#3 743 lighthalzen,153,105,6 duplicate(JM) Job Master#4 743
×
×
  • Create New...