Jump to content

Kiritoryu

Members
  • Posts

    59
  • Joined

  • Last visited

Everything posted by Kiritoryu

  1. Does Bubble Gem affects this custom drop rate script? - script Sample -1,{ function CustomRateCard; OnNPCKillEvent: // CustomRateCard( <MobID>,<CardID>,<Rate> ); // Rate : 1 = 0.01% / 1000 = 10% / 10000 = 100% CustomRateCard( 1086,4128,500 ); CustomRateCard( 1708,4399,110 ); CustomRateCard( 1751,4407,500 ); CustomRateCard( 1583,4302,300 ); CustomRateCard( 1646,4357,100 ); CustomRateCard( 1648,4361,100 ); CustomRateCard( 1649,4363,100 ); CustomRateCard( 1650,4367,100 ); CustomRateCard( 1651,4365,100 ); CustomRateCard( 1768,4408,300 ); CustomRateCard( 1734,4403,300 ); CustomRateCard( 1623,4342,300 ); CustomRateCard( 1647,4359,100 ); CustomRateCard( 1630,4372,500 ); end; function CustomRateCard { if( killedrid == getarg(0) && rand( 10000 ) <= getarg(2) ){ getitem getarg(1),1; announce "[ "+strcharinfo(0)+" ] get 1 "+getitemname( getarg(1) ),0; } return; } }
  2. I know i already have an emp test. But i would prefer if anyone can make a script which have a number of emp's/barricades inside the room where everyone can test it together. i also would appreciate it, if someone can tell me how to show the dmg on emp test. not woe emp. thanks
  3. Yes and theres No error. ;\ Your SQL query has been executed successfully (Query took 0.2210 sec)
  4. Im using this PVP ladder btw somehow the PVP ranking doesnt show the top 10. Its empty. What might be the problem? Other's is working //======================================================================================== //Title: Ghost's PvP System (Multi-announcer + Ladder) //Version: 1.3 //Author: Ghost //Created: 12/27/2011 //Released: 01/31/2012 //Compatibility: rAthena | eAthena //Support: TXT & SQL //rAthena Topic: http://rathena.org/board/topic/58222-ghosts-scripts/ //Required File: // SQL Table: http://pastebin.com/dEqrkczy // Wav Files: http://www.mediafire.com/?i3uutvdp00jw4r8 //References: // http://www.wowwiki.com/Defense_of_the_Ancients:_Allstars // http://honwiki.net/wiki/Kill_Streak // http://honwiki.net/wiki/Multi_Kill // http://honwiki.net/wiki/Patch_2.0.0#Nemesis_and_Payback // http://igamepros.com/viewtopic.php?f=62&t=4342 //Additional Note: // Multiple kill timer is set to Heroes of Newerth's 18 seconds. // KDR Algorithm is originally written by me, Ghost. // If you like this PvP System, say thanks at my rAthena topic. //Glossary: // KDR: Kill Death Ratio // SK: Streak Kill // MK: Multi Kill //Credits: // Thank you to the Athena community. //Changelog: // v1.3 = Fixed .PvPMap$[0] settings [Ghost] // = Added .GMLevel at configuration [Ghost] // = Change SK Hex Color to ^00FF00 for visibility [Ghost] // = Fixed Streak Kill ended broadcast [Ghost] // = Typographical error (Ms. Pudding to Flamboyant) on Announcer Setting corrected [Ghost] // = Changed Top 10 Players ranking from KDR to Kills [Ghost] // v1.2 = Fixed obfuscation at PvP Statistics [Ghost] // v1.1 = KDR Algorithm update for undefined calculation check [Lighta] // = Fixed obfuscation at Nemesis Kill [Lighta] // v1.0 = Initial release //?2011-2012 Ghost //======================================================================================== - script Versus -1,{ OnInit: //--Configuration set .System, 1; //Toggle PvP System (0:Disable|1:Enable) set .ServerType, 1; //Are you using TXT or SQL? (0:TXT|1:SQL) set .GMLevel, 80; //GM levels above or equal this level will be ignored by the system setarray .PvPMap$[0], "All"; //List all pvp maps here (Index 0:"All" to enable all maps) //PvP Ladder set .Top, 10; //What is the length of the list? set .Reset, 2; //Allow players to reset their PvP statistics? (0:Disable|1:Zeny|2:Cashpoint|3:Skull) set .ZenyFee, 0; //How much zeny you want to charge to reset their pvp stat? set .CashFee, 1000; //How much cashpoint you want to charge to reset their pvp stat? set .SkullFee, 1000; //How much skull you want to charge to reset their pvp stat? set .AnnouncerFee, 2000; //How much cashpoint per announcer? (DotA announcer is set as default) //Reward Setting (Every Kill) set .MaxZeny, 2000000000; //What is the max zeny of the server? set .Zeny, 0; //Earn zeny each kill? (0:Disable) set .Cash, 0; //How much #CASHPOINT every kill? (0:Disable) set .Skull, 1; //Collect player's skull each kill? (0:Disable|1:Enable) setarray .ItemID[0], 12034; //Get items each kill? (0:Disable) setarray .Amount[0], 5; //How many items per kill? //Penalty Setting set .Feed, 10; //How many kills before feeding is called? (10:Recommended) set .Penalty, 2; //What is the penalty for the feedee? (0:Disable|1:Kill Rollback|2:Server Kick|3:Server Block) set .Kick, 1; //Who to kick? (0:Feedee|1:Feeder|2:Both) set .Rollback, 10; //How many times should the kill count rollback when feeding is called? (10:Recommended) //Announcer Setting set .Broadcast, 0; //Where do you want to broadcast? (0:bc_all|1:bc_map) set .Streak, 1; //Show number of killing streak in broadcast? e.g. Ghost is Beyond Godlike(8) set .Multiple, 1; //Show number of multiple kill in broadcast? e.g. Makizushi just got an Ownage(5) set .Nemesis, 1; //Show number of nemesis in broadcast? e.g. Epoque is owning Jguy(9) set .Feeder, 1; //Show number of feed in broadcast? e.g. Cookies is feeding `KeiKun(10) set .RandomKillWord, 1; //Randomize the kill words? e.g. Arcenciel "Kill Word" jTynne (0:Disable|Default:"pwned") setarray .KillWord$[0], "pwned", "killed", "disintegrated", "neutralized"; //Enable above setting for this to work //Broadcast Color | See HexTable: http://johncfish.com/bggallery/otherchart/hextable.gif set .KColor$, "0xFFFF00"; //Kill Broadcast Color | e.g. Jguy pwned Mercurial set .KSColor$, "0xFFFF00"; //Killing Streak Broadcast Color | e.g. jTynne is on a Killing Spree set .MKColor$, "0x33FF00"; //Multiple Kill Broadcast Color | e.g. Mercurial just got a Double Kill set .ESColor$, "0xFF0000"; //End Streak Broadcast Color | e.g. BrianL just ended Jguy's Killing Spree set .NMColor$, "0x0099FF"; //Nemesis Broadcast Color | e.g. Xazax is owning Cookies set .PBColor$, "0xFF0000"; //Payback Broadcast Color | e.g. Makizushi just have a payback againts lilcooldude69 set .FDColor$, "0xFF00CC"; //Feeder Broadcast Color | e.g. Cookies is feeding Z3R0 //--Warning: Critical Setting | Killing Streaks and Multiple Kills Announcer setarray .KSDotA$[0], "is on a Killing Spree", "is Dominating", "has a Mega-Kill", "is Unstoppable", "is Wicked Sick", "has a M-m-m-m....Monster Kill", "is Godlike", "is Beyond Godlike"; setarray .KSHoN$[0], "is a Serial Killer", "is an Ultimate Warrior", "is Legendary", "is on an Onslaught!", "is Savage Sick", "is Dominating", "has a Bloodbath", "is Immortal"; //Took out #9. Champion of Newearth setarray .MKDotA$[0], "just got a Double Kill", "just got a Triple Kill", "just got an Ultra Kill", "is on a Rampage", "is Owning his enemies"; setarray .MKHoN$[0], "just got a Double Tap", "just got a Hat Trick", "just got an Quad Kill", "annihilated his enemies", "just got a Genocide"; setarray .ESDotA$[0], "Killing Spree", "Dominating", "Mega-Kill", "Unstoppable", "Wicked Sick", "Monster Kill", "Godlike", "Beyond Godlike"; setarray .ESHoN$[0], "Serial Killer", "Ultimate Warrior", "Legendary", "Onslaught", "Savage Sick", "Dominating", "Bloodbath", "Immortal"; //Took out #9. Champion of Newearth setarray .EMDotA$[0], "Double Kill", "Triple Kill", "Ultra Kill", "Rampage", "Ownage"; setarray .EMHoN$[0], "Double Tap", "Hat Trick", "Quad Kill", "Annihilation", "Genocide"; //--Warning: Fail Safe | Do Not Touch if(.System > 1){ set .System, 1; } if(.System < 0){ set .System, 0; } if(.ServerType > 1){ set .ServerType, 1; } if(.ServerType < 0){ set .ServerType, 0; } if(.GMLevel > 99){ set .GMLevel, 99; } if(.GMLevel < 0){ set .GMLevel, 0; } if((.PvPMap$[0] == "ALL")||(.PvPMap$[0] == "ALl")||(.PvPMap$[0] == "AlL")||(.PvPMap$[0] == "aLL")||(.PvPMap$[0] == "aLl") || (.PvPMap$[0] == "alL")){ setarray .PvPMap$[0], "All"; } if(.Ladder > 1){ set .Ladder, 1; } if(.Ladder < 0){ set .Ladder, 0; } if(.Top < 0){ set .Top, 0; } if(.Reset > 3){ set .Reset, 0; } if(.Reset < 0){ set .Reset, 0; } if((.Reset == 1)&&(.ZenyFee <= 0)){ set .Reset, 0; } if((.Reset == 1)&&(.ZenyFee >= .MaxZeny)){ set .Reset, 0; } if((.Reset == 2)&&(.CashFee <= 0)){ set .Reset, 0; } if((.Reset == 3)&&(.SkullFee <= 0)){ set .Reset, 0; } if(.Zeny > .MaxZeny){ set .Zeny, 0; } if(.Zeny < 0){ set .Zeny, 0; } if(.Cash < 0){ set .Cash, 0; } if(.Broadcast > 1){ set .Broadcast, 1; } if(.Broadcast < 0){ set .Broadcast, 0; } if(.Feed < 1){ set .Feed, 0; } if(.Penalty > 3){ set .Penalty, 3; } if(.Penalty < 1){ set .Penalty, 0; } if(.Rollback < 1){ set .Rollback, 0; } if(.Streak > 1){ set .Streak, 1; } if(.Streak < 1){ set .Streak, 0; } if(.Multiple > 1){ set .Multiple, 1; } if(.Multiple < 1){ set .Multiple, 0; } if(.Nemesis > 1){ set .Nemesis, 1; } if(.Nemesis < 0){ set .Nemesis, 0; } if(.Feeder > 1){ set .Feeder, 1; } if(.Feeder < 1){ set .Feeder, 0; } if(.RandomKillWord > 1){ set .RandomKillWord, 1; } if(.RandomKillWord < 0){ set .RandomKillWord, 0; } end; OnPCKillEvent: if(.System){ if(getgmlevel() >= .GMLevel){ end; } if(.PvPMap$[0] != "All"){ for(set .@i, 0; .@i < (getarraysize(.PvPMap$) - 1); set .@i, .@i + 1){ if(strcharinfo(3) != .PvPMap$[.@i]){ end; } } } if((@nm == .Feed) && (.Penalty)){ callsub OnClearData; switch(.Penalty){ case 0: break; case 1: callsub OnRollback; break; case 2: callsub OnRollback; if(.Kick == 0){ atcommand "@kick "+strcharinfo(0); } if(.Kick == 1){ atcommand "@kick "+rid2name(killedrid); } if(.Kick == 2){ atcommand "@kick "+strcharinfo(0); atcommand "@kick "+rid2name(killedrid); } break; case 3: callsub OnRollback; if(.Kick == 0){ atcommand "@block "+strcharinfo(0); } if(.Kick == 1){ atcommand "@block "+rid2name(killedrid); } if(.Kick == 2){ atcommand "@block "+strcharinfo(0); atcommand "@block "+rid2name(killedrid); } break; default: break; } } if(@nm < .Feed){ if(.Zeny && ((Zeny + .Zeny) < .MaxZeny)){ set Zeny, Zeny + .Zeny; } if(.Cash){ dispbottom "[Point System] +1 Kill Point"; set #CASHPOINT, #CASHPOINT + .Cash; } if(.Skull){ getnameditem 7420, rid2name(killedrid); } for(set .@i, 0; .@i < getarraysize(.ItemID); set .@i, .@i + 1){ if(.ItemID){ getitem .ItemID[.@i], .Amount[.@i]; }} } if(.RandomKillTerm){ announce strcharinfo(0)+" "+.KillWord$[rand(0, getarraysize(.KillWord$) - 1)]+" "+rid2name(killedrid)+"'s head", ((.Broadcast)?bc_all:bc_map), .KColor$; } else { announce strcharinfo(0)+" pwned "+rid2name(killedrid)+"'s head", ((.Broadcast)?bc_all:bc_map), .KColor$; } set Kill, Kill + 1; if(@ks < 10){ set @ks, @ks + 1; } if(@mk < 6){ set @mk, @mk + 1; } if(!NemesisKilled){ set NemesisKilled, killedrid; } if(NemesisKilled == killedrid){ set @nm, @nm + 1; } deltimer "Versus::OnMKReset"; addtimer 18000, "Versus::OnMKReset"; callsub OnRecordStreak; callsub OnAnnounce; callsub OnDeath; end; } end; OnPCDieEvent: if(.System){ if(getgmlevel() >= .GMLevel){ end; } if(.PvPMap$[0] != "All"){ for(set .@i, 0; .@i < (getarraysize(.PvPMap$) - 1); set .@i, .@i + 1){ if(strcharinfo(3) != .PvPMap$[.@i]){ end; } set Death, Death + 1; } } } end; OnPCLogoutEvent: if(.System){ if(getgmlevel() >= .GMLevel){ end; } if((.ServerType) && (Kill)){ query_sql("REPLACE INTO `pvp_rank` (`char_id`, `account_id`, `char`, `kill`, `death`, `kdr`, `killingstreak`, `multikill`, `nemesiskill`, `feedcount`,`killingspree`, `dominating`, `megakill`, `unstoppable`, `wickedsick`, `monsterkill`, `godlike`, `beyondgodlike`, `doublekill`, `triplekill`, `ultrakill`, `rampage`, `ownage`) VALUES ("+getcharid(0)+","+getcharid(3)+", '"+rid2name(getcharid(3))+"', "+Kill+", "+Death+", '"+callfunc("KDR_Calc", Kill, Death)+"', "+KillingStreak+", "+MultiKill+", "+NemesisKill+", "+FeedCount+", "+KillingSpree+", "+Dominating+", "+MegaKill+", "+Unstoppable+", "+WickedSick+", "+MonsterKill+", "+Godlike+", "+BeyondGodlike+", "+DoubleKill+", "+TripleKill+", "+UltraKill+", "+Rampage+", "+Ownage+")"); } if(.PvPMap$[0] != "All"){ for(set .@i, 0; .@i < (getarraysize(.PvPMap$) - 1); set .@i, .@i + 1){ if(strcharinfo(3) != .PvPMap$[.@i]){ end; } } } callsub OnClearData; deltimer "Versus::OnMKReset"; } end; OnRecordStreak:
  5. oh ops XD. well im a noob at this okay. i'll move my post
  6. Im sorry, am i at the right sction? I have prepare a song at .wav format. and wanna let me players patch it. I wanna know how can i set a town to play my song.wav ?
  7. This is the broadcaster npc but cant seem to work when i whisper to it? Any help? mes "[broadcaster]"; mes "Hello "+strcharinfo(0); mes "If you want to broadcast some messages,"; mes "type ^ff0000NPC:Broadcaster^000000 in the"; mes "Whisper Box, then type ^ff0000Global#<Text>^000000, or ^ff0000Map:<Text>^000000"; mes "in the Text Box."; next; mes "[broadcaster]"; mes "Example:"; mes "[WhisperBox:] NPC:Broadcaster"; mes "[TextBox:] Global#Hi Guys!"; mes ""; mes "The message 'Hi Guys' will be"; mes "announced to everyone on the Server."; mes "If I had put 'Map' instead of 'Global'"; mes "the message would be announced to the"; mes "current Map your on."; next; mes "[broadcaster]"; mes "A Global Broadcast costs "+$global_price+" Zeny."; mes "A Map Broadcast costs "+$map_price+" Zeny."; close; } - script Broadcaster -1,{ end;OnInit: set $map_price,75000; set $global_price,150000; end; OnWhisperGlobal: if(@whispervar0$ == "Global") { if(@whispervar1$ != "") { if(Zeny < $global_price) dispbottom "You don't have enough Zeny."; end; set Zeny, Zeny - $global_price; announce "(From "+strcharinfo(0)+"): "+@whispervar1$+"",bc_yellow; end; } else { announce "You didn't put a message.",bc_self|bc_red; end; } } else if(@whispervar0$ == "Map") { if(@whispervar1$ != "") { getmapxy(@mapn$,@mapx,@mapy,0); if(Zeny < $map_price) dispbottom "You don't have enough Zeny."; end; set Zeny, Zeny - $map_price; mapannounce @mapn$,"(From "+strcharinfo(0)+"): "+@whispervar1$+"",bc_yellow; end; } else { announce "You didn't put a message.",bc_self|bc_red; end; } } }
  8. How can i set the Owner of that castle can receive GC's of 100 on their castle? take from the GL room ?
  9. WoE Schedule are not showing on my website (FLUX CP) . But the WoE Castle Owners are. What could be the problem //===== rAthena Script ======================================= //= Euphy's WOE Controller //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== //= rAthena SVN r16571+ //===== 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 //============================================================ dicastes01,233,160,4 script WOE Information 835,{ doevent "WOE_CONTROL::OnMenu"; end; OnAgitStart: while(agitcheck()) { misceffect 58; sleep 425; } end; } - script WOE_CONTROL -1,{ function Disp_Owner; function Add_Zero; OnInit: // -------------------------------------------------------------------------------------------------------------------------- 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,0; // Automatically kick players from unconquered castles outside of WOE? (1:yes / 0:no) set .ExitWarp,0; // Warp all players from castles when WOE ends? (1:yes / 0:no) set .GMAccess,99; // GM level required to access Session Manager. setarray .Reward[0],14001,1; // Reward for all members of conquering guilds, per castle: <ID>,<Count>{,...} (0 to disable) // -------------------------------------------------------------------------------------------------------------------------- set .Size, getarraysize($WOE_CONTROL); 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; 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 (.Reward[0] && .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; freeloop(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: for(set .@i,0; .@i<30; set .@i,.@i+1) if (getarg(0)&(1<<.@i)) { set .@guild, getcastledata(.Castles$[.@i],1); if (.@guild) { deletearray .@acc[0], getarraysize(.@acc); deletearray .@char[0], getarraysize(.@char); query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@guild+"'", .@acc, .@char); for(set .@j,0; .@j<getarraysize(.@acc); set .@j,.@j+1) if (isloggedin(.@acc[.@j],.@char[.@j])) { for(set .@k,0; .@k<getarraysize(.Reward); set .@k,.@k+2) getitem .Reward[.@k], .Reward[.@k+1], .@acc[.@j]; message rid2name(.@acc[.@j]),"You have been rewarded for conquering "+getcastlename(.Castles$[.@i])+"."; } } } 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 (!.Size) 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(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 { set .@j,0; set .@k,0; 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]) { set .@j, $WOE_CONTROL[.@i]; set .@k, $WOE_CONTROL[.@i+1]; break; } if (!.@j && !.@k) { set .@j, $WOE_CONTROL[0]; set .@k, $WOE_CONTROL[1]; } mes "The War of Emperium is ^777777inactive^000000."; if (.Size) { mes " "; mes "The next session will begin"; mes "on ^0055FF"+.Days$[.@j]+"^000000 at "+Add_Zero(.@k)+"^000000."; } } next; switch(select(""+((.CastleWarp || .Active[1])?" ~ Warp to castles...":"")+": ~ Check schedule...: ~ View castle owners...:"+((getgmlevel()<.GMAccess || !getgmlevel())?"":" ~ Manage sessions...")+": ~ ^777777Cancel^000000")) { case 1: 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)))?"^0055FF":"^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))?"^0055FF":"^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:"+((.Reward[0])?" ~ ^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; } } Anyone care to help ?
  10. that script still doesn't allow me to rebirth or job rebirth after 3rd CLASS ;\
  11. I need a job changer that have the option to JOB REBIRTH & REBIRTH after reaching 3RD JOB. the one in my rathena doesnt work. It has the kewl effects but it says "YOUR at the end of your job" when reaching 3rd JOB. anyone here can help? Thanks! A preview of my jobchanger - dicastes01,261,144,1 script Job Changer 965,{ 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(" ~ ^0055FFRebirth^000000:"+((.ThirdClass)?" ~ ^FF0000Third Class^000000":"")+": ~ ^777777Cancel^000000"); if (.@i==3) close; mes "[Job Master]"; mes "Are you sure?"; next; Job_Menu(((.@i==1)?4001:roclass(.@eac|EAJL_THIRD))); 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) { 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],99,50; // Minimum base level, job level to rebirth OR change to third class setarray .JobReq[0],10,40; // Minimum job level to turn into 1st class, 2nd class set .ThirdClass,1; // Enable third classes? (1: yes / 0: no) set .SNovice,45; // 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,1; // Get platinum skills automatically? (1: yes / 0: no) end; } even using Euphy's All - In - One All-In-One v1.6.txt
  12. Omg your awesome! Thanks! This guy make alot of spaces in the script -.-"
  13. Btw make a npc for this script? or? I try putting as a npc script but nothing pops out when i come in for the first time
  14. No idea to even start to make one huhu. Pvp Ladder please
  15. How do i lower the refine percentage for normal and enrich ? thanks euphy
  16. How do i make the Daily NPC limit to 1 time per account. Players tend to make many chars and abuse it ><// //=====// /==/ /==/ /==/ // // // /==/ /==/ /=/ /==/ // //=====// /==/ /=/ /==============/ /========/ /==//===/ /==/ /==/ // //=////// /==/ /==//=/ /==/ /==/==/==/==/==/ / / / /==/ /==/ /==/ // // == /==/ /==//=/ /==/ /==/ /==/ /==/ ======/ / /==/ /==/ /==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ / /===/ / /==/ /==/ /==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ / /===/ / /==/ /==/=====/==/ // // == /==/ /==/ /=/ /==/ /==/ /==/ /==/ /========/ /==/ /==///////==/ // ================ rAthena Script ==================================================================== //=== Made by Rikimaru //==================== Information ==================================================================== //==== Daily Reward Script //================= Version : ========================================================================= //=== V 1.1 Fixed a typo in the Script [ Rikimaru ] //=== V 1.0 Finished Scripting the Daily Reward Script [ Rikimaru ] //============== Credits : ============================================================================ //=== Credits to Rikimaru for the Daily Reward Script //=== rAthena Profile Link : [url="http://rathena.org/board/user/434-rikimaru/"]http://rathena.org/b...r/434-rikimaru/[/url] //===================================================================================================== //************************************************************************* dicastes01,233,155,6 script Daily Reward 906,{ //=========================== Settings ================================================================ set .@rewname$,"^0000FF[ Daily Reward ]^000000";// YOU MAY CHANGE THE NAME OF THE NPC set .rewardid,7227;// CHANGE THE XXXXX TO THE ITEM ID,WHICH THE PLAYER SHOULD GET set @rewardamount,2;// CHANGE THE XX TO THE AMOUNT OF THE ITEM WHICH YOU WANT THE PLAYER TO GET //======================= Settings End ================================================================ //***************************************************************************************************** if(gettimetick(2) - lastTimeTalked > (60 * 60 * 24)) { mes .@rewname$; mes "Hello "+strcharinfo(0)+",I"; mes "am here to give you a daily"; mes "Reward. Do you want to have it?"; next; switch(select("-Yes,sure!:-No,bye!:-Cancel")) { case 1: mes .@rewname$; mes "Okay going to give you the item!"; next; mes .@rewname$; getitem .rewardid,@rewardamount; mes "Okay have fun with it!"; set lastTimeTalked,gettimetick(2); close; case 2: mes .@rewname$; mes "Okay goodbye!"; close; case 3: close; } } mes .@rewname$; mes "Sorry you can get the"; mes "Reward again after "; mes "24 Hours are over!"; close; }
  17. This is the script i got from the script release section. But somehow it doesnt work. the npc doesnt load when i @loadnpc or @reloadscript and it even say script loaded. ? // ------------------------------------------------------------------------------------------ // ------ rAthena Script Release // Title: Simple 4 versus 4 PVP Gateway // Author: jTynne - [email protected] // Modified by: Scene - [email protected] // Version: 0.1 (Beta) // ------------------------------------------------------------------------------------------ dicastes01,266,158,4 script Party Battle Recruiter 954,{ set .@n$,"[^FF0000Party Battle Recruiter^000000]"; set .@charid,getcharid(0); mes .@n$; mes "Would you like to register for a 4 versus 4 Party Battle?"; next; menu "Yes",-,"No",L_cancel; if(getmapusers("quiz_02") > 0) { mes .@n$; mes "There appears to be a match currently in session. Check back momentarily."; close; end; } mes .@n$; mes "Which side of the arena would you like to join?"; next; menu "Odin ("+$pvp4nA+"/4)",L_odin,"Freya ("+$pvp4nB+"/4)",L_freya; L_odin: if(.@charid == $pvp4nAchar1 || .@charid == $pvp4nAchar2 || .@charid == $pvp4nAchar3 || .@charid == $pvp4nAchar4 || .@charid == $pvp4nBchar1 || .@charid == $pvp4nBchar2 || .@charid == $pvp4nBchar3 || .@charid == $pvp4nBchar4) { mes .@n$; mes "You may only register once per round."; close; end; } if($pvp4nA < 4) { set $pvp4nA,$pvp4nA+1; if($pvp4nA == 1) { set $pvp4nAchar1,getcharid(0); } if($pvp4nA == 2) { set $pvp4nAchar2,getcharid(0); } if($pvp4nA == 3) { set $pvp4nAchar3,getcharid(0); } if($pvp4nA == 4) { set $pvp4nAchar4,getcharid(0); } if($pvp4nA == 1 || $pvp4nB == 1) { if($pvp4timer == 0 ) { initnpctimer; set $pvp4timer,1; } } mes .@n$; mes "You've joined the selected team. Once the other team have filled up, you'll automatically be transferred into the Colosseum. If the other team do not fill up within the next 30 seconds, this session will be cleared."; npctalk strcharinfo(0)+" has entered the round on Odin's Side."; if($pvp4nA == 4 && $pvp4nB == 4) { stopnpctimer; goto L_begin;} close; end; } L_freya: if(.@charid == $pvp4nAchar1 || .@charid == $pvp4nAchar2 || .@charid == $pvp4nAchar3 || .@charid == $pvp4nAchar4 || .@charid == $pvp4nAchar5 || .@charid == $pvp4nAchar6 || .@charid == $pvp4nAchar7 || .@charid == $pvp4nBchar1 || .@charid == $pvp4nBchar2 || .@charid == $pvp4nBchar3 || .@charid == $pvp4nBchar4 || .@charid == $pvp4nBchar5 || .@charid == $pvp4nBchar6 || .@charid == $pvp4nBchar7) { mes .@n$; mes "You may only register once per round."; close; end; } if($pvp4nB < 4) { set $pvp4nB,$pvp4nB+1; if($pvp4nB == 1) { set $pvp4nBchar1,getcharid(0); } if($pvp4nB == 2) { set $pvp4nBchar2,getcharid(0); } if($pvp4nB == 3) { set $pvp4nBchar3,getcharid(0); } if($pvp4nB == 4) { set $pvp4nBchar4,getcharid(0); } if($pvp4nA == 1 || $pvp4nB == 1) { if($pvp4timer == 0 ) { initnpctimer; set $pvp4timer,1; } } mes .@n$; mes "You've joined the selected team. Once the other team have filled up, you'll automatically be transferred into the Colosseum. If the other team do not fill up within the next 30 seconds, this session will be cleared."; npctalk strcharinfo(0)+" has entered the round on Freya's Side."; if($pvp4nA == 4 && $pvp4nB == 4) { stopnpctimer; goto L_begin;} close; end; } goto L_full; L_full: mes .@n$; mes "Sorry, but this team is full. Try another team, please."; close; end; L_begin: npctalk "Both teams have been filled. All participants currently logged in will be transferred to the arena in ten seconds."; sleep2 10000; set .@x,0; L_warploop: while (.@x < 7) { if (.@x == 0) { warpchar "quiz_02",126,388,$pvp4nAchar1; } else if (.@x == 1) { warpchar "quiz_02",126,384,$pvp4nAchar2; } else if (.@x == 2) { warpchar "quiz_02",126,380,$pvp4nAchar3; } else if (.@x == 3) { warpchar "quiz_02",126,376,$pvp4nAchar4; } else if (.@x == 4) { warpchar "quiz_02",169,388,$pvp4nBchar1; } else if (.@x == 5) { warpchar "quiz_02",169,384,$pvp4nBchar2; } else if (.@x == 6) { warpchar "quiz_02",169,380,$pvp4nBchar3; } else if (.@x == 7) { warpchar "quiz_02",169,376,$pvp4nBchar4; } else { npctalk "A round is now in session."; goto L_clear;} set .@x, .@x + 1; } goto L_warploop; end; L_cancel: mes .@n$; mes "Do come back if you change your mind."; close; end; OnTimer10000: npctalk "Ten seconds have passed. Entry to the round ends in 20 seconds."; end; OnTimer20000: npctalk "Twenty seconds have passed. Entry to the round ends in 10 seconds."; end; OnTimer30000: npctalk "Thirty seconds have passed and thus I have canceled the round."; stopnpctimer; goto L_clear; L_clear: set $pvp4timer,0; set $pvp4nA,0; set $pvp4nB,0; set $pvp4nAchar1,0; set $pvp4nAchar2,0; set $pvp4nAchar3,0; set $pvp4nAchar4,0; set $pvp4nBchar1,0; set $pvp4nBchar2,0; set $pvp4nBchar3,0; set $pvp4nBchar4,0; end; } - script pvp4vs4#1 -1,{ OnPCDieEvent: getmapxy (.@map$, .@x, .@y, 0); if(.@map$ == "quiz_02") { warp "SavePoint",0,0;} end; OnPCKillEvent: getmapxy (.@map$, .@x, .@y, 0); if( .@map$ == "quiz_02") { set .@tempn1$,strcharinfo(0); set .@tempn2$,rid2name(killedrid); mapannounce "quiz_02",""+.@tempn1$+" has killed "+.@tempn2$+".",1,0xD6A4E6;} end; }
  18. but for mine. it cant be rebirth after 3rd Job. It says your already end of your job
  19. I would like to request a Job changer that allow people to rebirth after 3rd Job. The newest rAthena one if possible. Love the effect when they change jobs! Include Baby Job's too if possible! Thanks!(Baby 3rd Jobs too if possible )
  20. It says i cant purchase that many While i got the item. and only buying 1 o.o Would like to learn to use your script :DD Yours is fine :DD
  21. Can i have an awesome dye-stuff npc please ? Which can make more then 1 dyestuff at a time?
  22. Any one know how to make a Banker system where u dont use banknote? Using @tradebn in trade to input bn trade amount and @bn to check your remaining banknote
×
×
  • Create New...