imustluvpain

Members
  • Content count

    34
  • Joined

  • Last visited

5 Followers

About imustluvpain

  • Rank
    Advanced Member

Profile Information

  • Github
    Topechi

Recent Profile Visitors

370 profile views
  1. LAST MAN STANDING NPC • Register by @joinffa command • 4 players last man standing rumble • Game will be 15mins MAX LIMIT • Announce the winner (last man standing on the arena), if there are still players inside the arena after the time limit, there will be no winner. • Last man standing will be the winner and gets a prize • after the match, npc will reset and announce that it is open for registration again. • when registering using @joinffa npc will wait after there are 4 complete players before warping them to the arena. • 4 players will be warped to the arena all together at the same time. • Npc will announce how many players needed left to register for the FFA. • No warping, no go, no trading, no storage, no party, no Yggdrasilberries/seeds. • When a certain player logs out or gets disconnected, he will be out of the arena. Please PM me your price for this script. Thanks in advance!
  2. Hello! Can i ask a little help with this Party vs. Party Script please? i wanted to add an announce on it. After the match, i wanted the npc to announce that the match has ended, congratulate the winner then the npc is open for match registration again. Thanks in advance and godbless! - script init -1,{ OnInit: //== CONFIG START ==// set [email protected]$,"#"; // Set the symbol of your char command ex. # set [email protected]$,"^009966War Organizer^000000"; // Set NPC name set [email protected]_mem,7; // Set minimum members per party, if a party has 6 members below including the leader, leader can't register his/her party set [email protected]_map$,"guild_vs3"; // Set where you want the players to battle set [email protected]_arena_mapX,15; // Set the starting X position of Team 1 set [email protected]_arena_mapY,49; // Set the starting Y position of Team 1 set [email protected]_arena_mapX,85; // Set the starting X position of Team 2 set [email protected]_arena_mapY,49; // Set the starting Y position of Team 2 set [email protected]_map$,"quiz_02"; // Set where you want the players to be warped after the player was killed. set [email protected]_mapX,350; set [email protected]_mapY,379; //== Set Winning Party Rewards ==// set [email protected]_winitem_qnty,0; // Important, set to how many reward items you set below for the winning party setarray [email protected]_itemid[0],0; // Set the item id of the reward item setarray [email protected]_itemname$[0],"Red Potion", // Set the name of the reward item "Orange Potion", "Yellow Potion", "White Potion", "Blue Potion"; setarray [email protected]_itemnum[0],0; // Set the quantity of the reward //== Set Losing Party Rewards ==// set [email protected]_loseitem_qnty,0; // Important, set to how many reward items you set below for losing party setarray [email protected]_itemid[0],0; // Set the item id of the reward item setarray [email protected]_itemname$[0],"Red Potion", // Set the name of the reward item "Orange Potion"; setarray [email protected]_itemnum[0],0; // Set the quantity of the reward //== Set Draw Rewards ==// set [email protected]_drawitem_qnty,0; // Important, set to how many reward items you set below for draw result setarray [email protected]_itemid[0],0; // Set the item id of the reward item setarray [email protected]_itemname$[0],"Yellow Potion", // Set the name of the reward item "White Potion"; setarray [email protected]_itemnum[0],0; // Set the quantity of the reward //== CONFIG END ==// // Do not change configs below, this will reset in case the server unexpectedly shuts down set [email protected]_Start,0; set [email protected]_team,0; set [email protected]_team1,0; set [email protected]_team2,0; set $team1_mem,0; set $team2_mem,0; // RWC 3 enablenpc "WALL#41"; enablenpc "WALL#42"; enablenpc "WALL#43"; enablenpc "WALL#44"; enablenpc "WALL#45"; enablenpc "WALL#46"; enablenpc "WALL#47"; enablenpc "WALL#48"; enablenpc "WALL#49"; enablenpc "WALL#50"; enablenpc "WALL#51"; enablenpc "WALL#52"; enablenpc "WALL#53"; enablenpc "WALL#54"; enablenpc "WALL#55"; enablenpc "WALL#56"; enablenpc "WALL#57"; enablenpc "WALL#58"; enablenpc "WALL#59"; enablenpc "WALL#60"; enablenpc "WALL#61"; enablenpc "WALL#62"; enablenpc "WALL#63"; enablenpc "WALL#64"; // Now let's check if the event is on going or not (checks current server's time) // if the event is on going, Enable NPC and sends a message to the player upon logging in for(set [email protected],0; [email protected]<=22; set [email protected],[email protected]+2) { set [email protected],[email protected]+1; if(gettime(3)>[email protected] && gettime(3)<[email protected]) { set [email protected]_start,1; enablenpc "PartyReg"; } set [email protected],[email protected]+1; } end; } // Party Registration NPC quiz_02,350,389,3 script Party Registration::PartyReg 89,{ mes "["[email protected]$+"]"; if(([email protected]_Start && getcharid(1)[email protected]_team1) || ([email protected]_Start && getcharid(1)[email protected]_team2) ) { mes "Hmm... Too bad for you, you didn't make it to win for your party. Cheer them up instead."; close; } if([email protected]_Start || [email protected]_team>=2) { mes "Battle is currently on"; mes "going. Party registration is"; mes "close during this time."; next; if(select("> Check current battle info.:> Leave") == 2){ mes "["[email protected]$+"]"; mes "Come back to me and register your party after the battle between "+getpartyname([email protected]_team1)+" and "+getpartyname([email protected]_team2)+" has ended."; close; } mes "["[email protected]$+"]"; if([email protected]_Start) { mes "The Battle already ended."; close; } set @standing_mem1,[email protected]_mem-$team2_mem; set @standing_mem2,[email protected]_mem-$team1_mem; mes "Battle Information"; mes "---"; mes "- " + getpartyname([email protected]_team1) + " Party : "; mes "Standing Members Left : " + @standing_mem1; mes "---"; mes "- " + getpartyname([email protected]_team2) + " Party : "; mes "Standing Members Left : " + @standing_mem2; next; mes "["[email protected]$+"]"; if($team1_mem>$team2_mem) { mes "Current leading party is "+getpartyname([email protected]_team1); close; } else if($team1_mem<$team2_mem) { mes "Current leading party is "+getpartyname([email protected]_team2); close; } else { mes "Both Party has the same number of members that are still alive."; close; } } if(getcharid(1)==0) goto L_ContinueMain; if(getcharid(1)[email protected]_team1 || getcharid(1)[email protected]_team2) { mes getpartyleader(getcharid(1)) + ", your party leader already registered your party, please wait for the other team to register."; close; } L_ContinueMain: mes "Welcome "+strcharinfo(0)+"!"; mes "I am the War Arena Organizer"; next; switch(select("> Register")) { case 1: callsub R_Party; } R_Party: mes "["[email protected]$+"]"; if ( callfunc("party_has_duplicate_job") ) { mes "It seems that someone in the party has the same class than another member. Please check again the requirements..."; close; } if ( [email protected] != 7 ) { mes "You have to be 7 on the team."; close; } if(getcharid(1)==0) { mes "I see that you have no party yet. Please form your party first before registering."; close; } mes "Party Name : "+strcharinfo(1); if(getpartyleader(getcharid(1),2)==getcharid(0)) { mes "Party Leader : You"; } else { mes "Party Leader : "+getpartyleader(getcharid(1)); } mes "-"; getpartymember(getcharid(1)); set @partymembercount,[email protected]; copyarray @partymembername$[0],[email protected]$[0],@partymembercount; set @countmem,0; L_DisplayMem: if(@countmem == @partymembercount) goto L_Continue; set @countmem,@countmem+1; goto L_DisplayMem; L_Continue: mes "Party Members ("+(@countmem)+"/"[email protected]_mem+")"; set @count,0; L_DisplayMember: if(@count == @partymembercount) goto L_Continue2; mes (@count + 1) + ". ^0000FF" + @partymembername$[@count] + "^000000"; set @count,@count+1; goto L_DisplayMember; L_Continue2: if([email protected]_Start || [email protected]_team>=2) { next; mes "Sorry but party registration is now close. Please re-register after the current battle progress has ended."; close; } if(getpartyleader(getcharid(1),2)!=getcharid(0)) { next; mes strcharinfo(0)+", If you have time, please find your Party Leader "+getpartyleader(getcharid(1))+" and let him/her register your party"; close; } if(@countmem>[email protected]_mem) { next; mes "This event requires you to form a party with only "[email protected]_mem+" members including you. I'm sorry to say but you need to expel ^FF0000"+(@[email protected]_mem)+"^000000 more member(s)."; close; } if(@countmem<[email protected]_mem) { next; mes "This event requires you to form a party with "[email protected]_mem+" members including you. You still need to recruit ^FF0000"+([email protected][email protected])+"^000000 more member(s)."; close; } set [email protected]_team,[email protected]_team+1; if([email protected]_team==1) { set [email protected]_team1,getcharid(1); setarray [email protected]_name1$[0],@partymembername$[0],@partymembername$[1],@partymembername$[2],@partymembername$[3],@partymembername$[4]; announce "Team "+getpartyname([email protected]_team1)+" registered on Team "[email protected]_team+".",bc_all; goto L_Continue3; } if([email protected]_team==2) { set [email protected]_team2,getcharid(1); announce "Team "+getpartyname([email protected]_team2)+" registered on Team "[email protected]_team+".",bc_all; setarray [email protected]_name2$[0],@partymembername$[0],@partymembername$[1],@partymembername$[2],@partymembername$[3],@partymembername$[4]; goto L_Continue3; } L_Continue3: close2; if([email protected]_team==2) donpcevent "PvP_Func::OnStart"; end; OnPCDieEvent: getmapxy @map$,@x,@y,0; if([email protected]_Start && @[email protected]_map$ && getcharid(1)[email protected]_team1) { set $team2_mem,$team2_mem+1; warp [email protected]_map$,[email protected]_mapX,[email protected]_mapY; if([email protected]_mem) { setcell [email protected]_map$,80,55,80,44,cell_walkable,1; setcell [email protected]_map$,19,55,19,44,cell_walkable,1; donpcevent "PvP_Func::OnTeam2Win2"; } end; } if([email protected]_Start && @[email protected]_map$ && getcharid(1)[email protected]_team2) { set $team1_mem,$team1_mem+1; warp [email protected]_map$,[email protected]_mapX,[email protected]_mapY; if([email protected]_mem) { setcell [email protected]_map$,80,55,80,44,cell_walkable,1; setcell [email protected]_map$,19,55,19,44,cell_walkable,1; donpcevent "PvP_Func::OnTeam1Win2"; } end; } OnPCLogoutEvent: getmapxy @map$,@x,@y,0; if([email protected]_Start && @[email protected]_map$ && getcharid(1)[email protected]_team1) { warp [email protected]_map$,[email protected]_mapX,[email protected]_mapY; set $team2_mem,$team2_mem+1; mapannounce [email protected]_map$,"User "+strcharinfo(0)+" of "+getpartyname([email protected]_team1)+" Team logged out of the game.",bc_all; if([email protected]_mem) { setcell [email protected]_map$,80,55,80,44,cell_walkable,1; setcell [email protected]_map$,19,55,19,44,cell_walkable,1; donpcevent "PvP_Func::OnTeam2Win2"; } end; } if([email protected]_Start && @[email protected]_map$ && getcharid(1)[email protected]_team2) { warp [email protected]_map$,[email protected]_mapX,[email protected]_mapY; set $team1_mem,$team1_mem+1; mapannounce [email protected]_map$,"User "+strcharinfo(0)+" of "+getpartyname([email protected]_team2)+" Team logged out of the game.",bc_all; if([email protected]_mem) { setcell [email protected]_map$,80,55,80,44,cell_walkable,1; setcell [email protected]_map$,19,55,19,44,cell_walkable,1; donpcevent "PvP_Func::OnTeam1Win2"; } end; } OnPCLoadMapEvent: getmapxy @map$,@x,@y,0; if([email protected]_Start && @[email protected]_map$ && getcharid(1)[email protected]_team1) { warp [email protected]_map$,[email protected]_mapX,[email protected]_mapY; set $team2_mem,$team2_mem+1; mapannounce [email protected]_map$,""+strcharinfo(0)+" of "+getpartyname([email protected]_team1)+" party warped out of the battle arena.",bc_blue; if([email protected]_mem) { setcell [email protected]_map$,80,55,80,44,cell_walkable,1; setcell [email protected]_map$,19,55,19,44,cell_walkable,1; donpcevent "PvP_Func::OnTeam2Win2"; } end; } if([email protected]_Start && @[email protected]_map$ && getcharid(1)[email protected]_team2) { warp [email protected]_map$,[email protected]_mapX,[email protected]_mapY; set $team1_mem,$team1_mem+1; mapannounce [email protected]_map$,""+strcharinfo(0)+" of "+getpartyname([email protected]_team2)+" party warped out of the battle arena.",bc_blue; if([email protected]_mem) { setcell [email protected]_map$,80,55,80,44,cell_walkable,1; setcell [email protected]_map$,19,55,19,44,cell_walkable,1; donpcevent "PvP_Func::OnTeam1Win2"; } end; } } // Script where all functions are stored - script PvP_Func -1,{ OnStart: initnpctimer; set [email protected]_Start,1; setcell [email protected]_map$,80,55,80,44,cell_walkable,0; setcell [email protected]_map$,19,55,19,44,cell_walkable,0; announce "The Battle between "+getpartyname([email protected]_team1)+" and "+getpartyname([email protected]_team2)+" Party has engaged. Registered Party along with its members will be automatically warped to the arena after 10 seconds.",bc_all; gvgoff [email protected]_map$; setnpctimer 0; startnpctimer; end; OnTimer5000: warpparty [email protected]_map$,[email protected]_arena_mapX,[email protected]_arena_mapY,[email protected]_team1; warpparty [email protected]_map$,[email protected]_arena_mapX,[email protected]_arena_mapY,[email protected]_team2; end; OnTimer30000: mapannounce [email protected]_map$,"Players, you only have 30 seconds left to prepare for the Battle.",bc_all; end; OnTimer50000: mapannounce [email protected]_map$,"The Battle will begin in 5 seconds.",bc_all; end; OnTimer51000: mapannounce [email protected]_map$,"The Battle will begin in 4 seconds.",bc_all; end; OnTimer52000: mapannounce [email protected]_map$,"The Battle will begin in 3 seconds.",bc_all; end; OnTimer53000: mapannounce [email protected]_map$,"The Battle will begin in 2 seconds.",bc_all; end; OnTimer54000: mapannounce [email protected]_map$,"The Battle will begin in 1 second.",bc_all; end; OnTimer55000: gvgon [email protected]_map$; setcell [email protected]_map$,80,55,80,44,cell_walkable,1; setcell [email protected]_map$,19,55,19,44,cell_walkable,1; disablenpc "WALL#41"; disablenpc "WALL#42"; disablenpc "WALL#43"; disablenpc "WALL#44"; disablenpc "WALL#45"; disablenpc "WALL#46"; disablenpc "WALL#47"; disablenpc "WALL#48"; disablenpc "WALL#49"; disablenpc "WALL#50"; disablenpc "WALL#51"; disablenpc "WALL#52"; disablenpc "WALL#53"; disablenpc "WALL#54"; disablenpc "WALL#55"; disablenpc "WALL#56"; disablenpc "WALL#57"; disablenpc "WALL#58"; disablenpc "WALL#59"; disablenpc "WALL#60"; disablenpc "WALL#61"; disablenpc "WALL#62"; disablenpc "WALL#63"; disablenpc "WALL#64"; announce "The team "+getpartyname([email protected]_team1)+" vs "+getpartyname([email protected]_team2)+" battle has begun!",bc_all; mapannounce [email protected]_map$,"You only have 5 minutes to eliminate all opponent's party members. Be quick!!!",bc_all; end; // After 5 Minutes, system will check the party who has the most number of member and will declare that party as a winner. // All variables will be resetted. OnTimer420000: if($team2_mem<$team1_mem) { donpcevent "PvP_Func::OnTeam1Win"; } else if ($team2_mem<$team1_mem) { donpcevent "PvP_Func::OnTeam2Win"; } else if ($team2_mem==$team1_mem || $team1_mem==$team2_mem) { donpcevent "PvP_Func::OnDraw"; } else { donpcevent "PvP_Func::OnNoWin"; } end; // This label will be called after the event has ended without registered parties OnNoWin: announce "The Battle has ended.",bc_all; gvgoff [email protected]_map$; set [email protected]_team,0; set [email protected]_Start,0; set $team1_mem,0; set $team2_mem,0; set [email protected]_team1,0; set [email protected]_team2,0; setcell "guild_vs3",19,55,19,44,cell_walkable,0; setcell "guild_vs3",80,55,80,44,cell_walkable,0; enablenpc "WALL#41"; enablenpc "WALL#42"; enablenpc "WALL#43"; enablenpc "WALL#44"; enablenpc "WALL#45"; enablenpc "WALL#46"; enablenpc "WALL#47"; enablenpc "WALL#48"; enablenpc "WALL#49"; enablenpc "WALL#50"; enablenpc "WALL#51"; enablenpc "WALL#52"; enablenpc "WALL#53"; enablenpc "WALL#54"; enablenpc "WALL#55"; enablenpc "WALL#56"; enablenpc "WALL#57"; enablenpc "WALL#58"; enablenpc "WALL#59"; enablenpc "WALL#60"; enablenpc "WALL#61"; enablenpc "WALL#62"; enablenpc "WALL#63"; enablenpc "WALL#64"; stopnpctimer; sleep2 10000; areawarp [email protected]_map$,12,87,87,12,[email protected]_map$,[email protected]_mapX,[email protected]_mapY; end; OnEndNoWin: announce "The Battle has ended.",bc_all; gvgoff [email protected]_map$; set [email protected]_team,0; set [email protected]_Start,0; set $team1_mem,0; set $team2_mem,0; set [email protected]_team1,0; set [email protected]_team2,0; set [email protected]_start,0; setcell "guild_vs3",19,55,19,44,cell_walkable,0; setcell "guild_vs3",80,55,80,44,cell_walkable,0; enablenpc "WALL#41"; enablenpc "WALL#42"; enablenpc "WALL#43"; enablenpc "WALL#44"; enablenpc "WALL#45"; enablenpc "WALL#46"; enablenpc "WALL#47"; enablenpc "WALL#48"; enablenpc "WALL#49"; enablenpc "WALL#50"; enablenpc "WALL#51"; enablenpc "WALL#52"; enablenpc "WALL#53"; enablenpc "WALL#54"; enablenpc "WALL#55"; enablenpc "WALL#56"; enablenpc "WALL#57"; enablenpc "WALL#58"; enablenpc "WALL#59"; enablenpc "WALL#60"; enablenpc "WALL#61"; enablenpc "WALL#62"; enablenpc "WALL#63"; enablenpc "WALL#64"; stopnpctimer; sleep2 10000; areawarp [email protected]_map$,12,87,87,12,[email protected]_map$,[email protected]_mapX,[email protected]_mapY; end; OnDraw: announce "Team "+getpartyname([email protected]_team1)+" and Team "+getpartyname([email protected]_team2)+" has the same number of members standing in the arena, the battle result is a draw.",bc_all; for(set [email protected],0; [email protected]<[email protected]_mem; set [email protected],[email protected]+1) { for(set [email protected],0; [email protected]<[email protected]_drawitem_qnty; set [email protected],[email protected]+1) { charcommand ""[email protected]$+"item "[email protected]_name1$[[email protected]]+" "[email protected]_itemid[[email protected]]+" "[email protected]_itemnum[[email protected]]+""; } } for(set [email protected],0; [email protected]<[email protected]_mem; set [email protected],[email protected]+1) { for(set [email protected],0; [email protected]<[email protected]_drawitem_qnty; set [email protected],[email protected]+1) { charcommand ""[email protected]$+"item "[email protected]_name2$[[email protected]]+" "[email protected]_itemid[[email protected]]+" "[email protected]_itemnum[[email protected]]+""; } } stopnpctimer; gvgoff [email protected]_map$; set [email protected]_team,0; set [email protected]_Start,0; set $team1_mem,0; set $team2_mem,0; set [email protected]_team1,0; set [email protected]_team2,0; setcell "guild_vs3",19,55,19,44,cell_walkable,0; setcell "guild_vs3",80,55,80,44,cell_walkable,0; enablenpc "WALL#41"; enablenpc "WALL#42"; enablenpc "WALL#43"; enablenpc "WALL#44"; enablenpc "WALL#45"; enablenpc "WALL#46"; enablenpc "WALL#47"; enablenpc "WALL#48"; enablenpc "WALL#49"; enablenpc "WALL#50"; enablenpc "WALL#51"; enablenpc "WALL#52"; enablenpc "WALL#53"; enablenpc "WALL#54"; enablenpc "WALL#55"; enablenpc "WALL#56"; enablenpc "WALL#57"; enablenpc "WALL#58"; enablenpc "WALL#59"; enablenpc "WALL#60"; enablenpc "WALL#61"; enablenpc "WALL#62"; enablenpc "WALL#63"; enablenpc "WALL#64"; sleep2 10000; areawarp [email protected]_map$,12,87,87,12,[email protected]_map$,[email protected]_mapX,[email protected]_mapY; end; OnEndDraw: announce "Team "+getpartyname([email protected]_team1)+" and Team "+getpartyname([email protected]_team2)+" has the same number of members standing in the arena, the battle result is a draw.",bc_all; for(set [email protected],0; [email protected]<[email protected]_mem; set [email protected],[email protected]+1) { for(set [email protected],0; [email protected]<[email protected]_drawitem_qnty; set [email protected],[email protected]+1) { charcommand ""[email protected]$+"item "[email protected]_name1$[[email protected]]+" "[email protected]_itemid[[email protected]]+" "[email protected]_itemnum[[email protected]]+""; } } for(set [email protected],0; [email protected]<[email protected]_mem; set [email protected],[email protected]+1) { for(set [email protected],0; [email protected]<[email protected]_drawitem_qnty; set [email protected],[email protected]+1) { charcommand ""[email protected]$+"item "[email protected]_name2$[[email protected]]+" "[email protected]_itemid[[email protected]]+" "[email protected]_itemnum[[email protected]]+""; } } stopnpctimer; gvgoff [email protected]_map$; set [email protected]_team,0; set [email protected]_Start,0; set $team1_mem,0; set $team2_mem,0; set [email protected]_team1,0; set [email protected]_team2,0; set [email protected]_start,0; setcell "guild_vs3",19,55,19,44,cell_walkable,0; setcell "guild_vs3",80,55,80,44,cell_walkable,0; enablenpc "WALL#41"; enablenpc "WALL#42"; enablenpc "WALL#43"; enablenpc "WALL#44"; enablenpc "WALL#45"; enablenpc "WALL#46"; enablenpc "WALL#47"; enablenpc "WALL#48"; enablenpc "WALL#49"; enablenpc "WALL#50"; enablenpc "WALL#51"; enablenpc "WALL#52"; enablenpc "WALL#53"; enablenpc "WALL#54"; enablenpc "WALL#55"; enablenpc "WALL#56"; enablenpc "WALL#57"; enablenpc "WALL#58"; enablenpc "WALL#59"; enablenpc "WALL#60"; enablenpc "WALL#61"; enablenpc "WALL#62"; enablenpc "WALL#63"; enablenpc "WALL#64"; sleep2 10000; areawarp [email protected]_map$,12,87,87,12,[email protected]_map$,[email protected]_mapX,[email protected]_mapY; end; OnTeam1Win: announce "After 5 minutes of battle, "+getpartyname([email protected]_team1)+" party member survives more than "+getpartyname([email protected]_team2)+" party member and won the Battle!",bc_all; for(set [email protected],0; [email protected]<[email protected]_mem; set [email protected],[email protected]+1) { for(set [email protected],0; [email protected]<[email protected]_winitem_qnty; set [email protected],[email protected]+1) { charcommand ""[email protected]$+"item "[email protected]_name1$[[email protected]]+" "[email protected]_itemid[[email protected]]+" "[email protected]_itemnum[[email protected]]+""; } } for(set [email protected],0; [email protected]<[email protected]_mem; set [email protected],[email protected]+1) { for(set [email protected],0; [email protected]<[email protected]_loseitem_qnty; set [email protected],[email protected]+1) { charcommand ""[email protected]$+"item "[email protected]_name2$[[email protected]]+" "[email protected]_itemid[[email protected]]+" "[email protected]_itemnum[[email protected]]+""; } } set [email protected]_team,0; set [email protected]_Start,0; set $team1_mem,0; set $team2_mem,0; set [email protected]_team1,0; set [email protected]_team2,0; gvgoff [email protected]_map$; setcell "guild_vs3",19,55,19,44,cell_walkable,0; setcell "guild_vs3",80,55,80,44,cell_walkable,0; enablenpc "WALL#41"; enablenpc "WALL#42"; enablenpc "WALL#43"; enablenpc "WALL#44"; enablenpc "WALL#45"; enablenpc "WALL#46"; enablenpc "WALL#47"; enablenpc "WALL#48"; enablenpc "WALL#49"; enablenpc "WALL#50"; enablenpc "WALL#51"; enablenpc "WALL#52"; enablenpc "WALL#53"; enablenpc "WALL#54"; enablenpc "WALL#55"; enablenpc "WALL#56"; enablenpc "WALL#57"; enablenpc "WALL#58"; enablenpc "WALL#59"; enablenpc "WALL#60"; enablenpc "WALL#61"; enablenpc "WALL#62"; enablenpc "WALL#63"; enablenpc "WALL#64"; stopnpctimer; sleep2 10000; areawarp [email protected]_map$,12,87,87,12,[email protected]_map$,[email protected]_mapX,[email protected]_mapY; end; OnEndTeam1Win: announce "After 5 minutes of battle, "+getpartyname([email protected]_team1)+" party member survives more than "+getpartyname([email protected]_team2)+" party member and won the Battle!",bc_all; for(set [email protected],0; [email protected]<[email protected]_mem; set [email protected],[email protected]+1) { for(set [email protected],0; [email protected]<[email protected]_winitem_qnty; set [email protected],[email protected]+1) { charcommand ""[email protected]$+"item "[email protected]_name1$[[email protected]]+" "[email protected]_itemid[[email protected]]+" "[email protected]_itemnum[[email protected]]+""; } } for(set [email protected],0; [email protected]<[email protected]_mem; set [email protected],[email protected]+1) { for(set [email protected],0; [email protected]<[email protected]_loseitem_qnty; set [email protected],[email protected]+1) { charcommand ""[email protected]$+"item "[email protected]_name2$[[email protected]]+" "[email protected]_itemid[[email protected]]+" "[email protected]_itemnum[[email protected]]+""; } } set [email protected]_team,0; set [email protected]_Start,0; set $team1_mem,0; set $team2_mem,0; set [email protected]_team1,0; set [email protected]_team2,0; set [email protected]_start,0; gvgoff [email protected]_map$; setcell "guild_vs3",19,55,19,44,cell_walkable,0; setcell "guild_vs3",80,55,80,44,cell_walkable,0; enablenpc "WALL#41"; enablenpc "WALL#42"; enablenpc "WALL#43"; enablenpc "WALL#44"; enablenpc "WALL#45"; enablenpc "WALL#46"; enablenpc "WALL#47"; enablenpc "WALL#48"; enablenpc "WALL#49"; enablenpc "WALL#50"; enablenpc "WALL#51"; enablenpc "WALL#52"; enablenpc "WALL#53"; enablenpc "WALL#54"; enablenpc "WALL#55"; enablenpc "WALL#56"; enablenpc "WALL#57"; enablenpc "WALL#58"; enablenpc "WALL#59"; enablenpc "WALL#60"; enablenpc "WALL#61"; enablenpc "WALL#62"; enablenpc "WALL#63"; enablenpc "WALL#64"; stopnpctimer; sleep2 10000; areawarp [email protected]_map$,12,87,87,12,[email protected]_map$,[email protected]_mapX,[email protected]_mapY; end; OnTeam2Win: announce "After 5 minutes of battle, "+getpartyname([email protected]_team2)+" party member survives more than "+getpartyname([email protected]_team1)+" party member and won the Battle!",bc_all; for(set [email protected],0; [email protected]<[email protected]_mem; set [email protected],[email protected]+1) { for(set [email protected],0; [email protected]<[email protected]_winitem_qnty; set [email protected],[email protected]+1) { charcommand ""[email protected]$+"item "[email protected]_name2$[[email protected]]+" "[email protected]_itemid[[email protected]]+" "[email protected]_itemnum[[email protected]]+""; } } for(set [email protected],0; [email protected]<[email protected]_mem; set [email protected],[email protected]+1) { for(set [email protected],0; [email protected]<[email protected]_loseitem_qnty; set [email protected],[email protected]+1) { charcommand ""[email protected]$+"item "[email protected]_name1$[[email protected]]+" "[email protected]_itemid[[email protected]]+" "[email protected]_itemnum[[email protected]]+""; } } set [email protected]_team,0; set [email protected]_Start,0; set $team1_mem,0; set $team2_mem,0; set [email protected]_team1,0; set [email protected]_team2,0; gvgoff [email protected]_map$; setcell "guild_vs3",19,55,19,44,cell_walkable,0; setcell "guild_vs3",80,55,80,44,cell_walkable,0; enablenpc "WALL#41"; enablenpc "WALL#42"; enablenpc "WALL#43"; enablenpc "WALL#44"; enablenpc "WALL#45"; enablenpc "WALL#46"; enablenpc "WALL#47"; enablenpc "WALL#48"; enablenpc "WALL#49"; enablenpc "WALL#50"; enablenpc "WALL#51"; enablenpc "WALL#52"; enablenpc "WALL#53"; enablenpc "WALL#54"; enablenpc "WALL#55"; enablenpc "WALL#56"; enablenpc "WALL#57"; enablenpc "WALL#58"; enablenpc "WALL#59"; enablenpc "WALL#60"; enablenpc "WALL#61"; enablenpc "WALL#62"; enablenpc "WALL#63"; enablenpc "WALL#64"; stopnpctimer; sleep2 10000; areawarp [email protected]_map$,12,87,87,12,[email protected]_map$,[email protected]_mapX,[email protected]_mapY; end; OnEndTeam2Win: announce "After 5 minutes of battle, "+getpartyname([email protected]_team2)+" party member survives more than "+getpartyname([email protected]_team1)+"'s Party member and won the Battle!",bc_all; for(set [email protected],0; [email protected]<[email protected]_mem; set [email protected],[email protected]+1) { for(set [email protected],0; [email protected]<[email protected]_winitem_qnty; set [email protected],[email protected]+1) { charcommand ""[email protected]$+"item "[email protected]_name2$[[email protected]]+" "[email protected]_itemid[[email protected]]+" "[email protected]_itemnum[[email protected]]+""; } } for(set [email protected],0; [email protected]<[email protected]_mem; set [email protected],[email protected]+1) { for(set [email protected],0; [email protected]<[email protected]_loseitem_qnty; set [email protected],[email protected]+1) { charcommand ""[email protected]$+"item "[email protected]_name1$[[email protected]]+" "[email protected]_itemid[[email protected]]+" "[email protected]_itemnum[[email protected]]+""; } } set [email protected]_team,0; set [email protected]_Start,0; set $team1_mem,0; set $team2_mem,0; set [email protected]_team1,0; set [email protected]_team2,0; set [email protected]_start,0; disablenpc "PartyReg"; gvgoff [email protected]_map$; setcell "guild_vs3",19,55,19,44,cell_walkable,0; setcell "guild_vs3",80,55,80,44,cell_walkable,0; enablenpc "WALL#41"; enablenpc "WALL#42"; enablenpc "WALL#43"; enablenpc "WALL#44"; enablenpc "WALL#45"; enablenpc "WALL#46"; enablenpc "WALL#47"; enablenpc "WALL#48"; enablenpc "WALL#49"; enablenpc "WALL#50"; enablenpc "WALL#51"; enablenpc "WALL#52"; enablenpc "WALL#53"; enablenpc "WALL#54"; enablenpc "WALL#55"; enablenpc "WALL#56"; enablenpc "WALL#57"; enablenpc "WALL#58"; enablenpc "WALL#59"; enablenpc "WALL#60"; enablenpc "WALL#61"; enablenpc "WALL#62"; enablenpc "WALL#63"; enablenpc "WALL#64"; stopnpctimer; sleep2 10000; areawarp [email protected]_map$,12,87,87,12,[email protected]_map$,[email protected]_mapX,[email protected]_mapY; end; OnTeam1Win2: announce "Team "+getpartyname([email protected]_team1)+" smashed all the member of Team "+getpartyname([email protected]_team2)+" and won the Battle!",bc_all; for(set [email protected],0; [email protected]<[email protected]_mem; set [email protected],[email protected]+1) { for(set [email protected],0; [email protected]<[email protected]_winitem_qnty; set [email protected],[email protected]+1) { charcommand ""[email protected]$+"item "[email protected]_name1$[[email protected]]+" "[email protected]_itemid[[email protected]]+" "[email protected]_itemnum[[email protected]]+""; } } for(set [email protected],0; [email protected]<[email protected]_mem; set [email protected],[email protected]+1) { for(set [email protected],0; [email protected]<[email protected]_loseitem_qnty; set [email protected],[email protected]+1) { charcommand ""[email protected]$+"item "[email protected]_name2$[[email protected]]+" "[email protected]_itemid[[email protected]]+" "[email protected]_itemnum[[email protected]]+""; } } set [email protected]_team,0; set [email protected]_Start,0; set $team1_mem,0; set $team2_mem,0; set [email protected]_team1,0; set [email protected]_team2,0; gvgoff [email protected]_map$; setcell "guild_vs3",19,55,19,44,cell_walkable,0; setcell "guild_vs3",80,55,80,44,cell_walkable,0; enablenpc "WALL#41"; enablenpc "WALL#42"; enablenpc "WALL#43"; enablenpc "WALL#44"; enablenpc "WALL#45"; enablenpc "WALL#46"; enablenpc "WALL#47"; enablenpc "WALL#48"; enablenpc "WALL#49"; enablenpc "WALL#50"; enablenpc "WALL#51"; enablenpc "WALL#52"; enablenpc "WALL#53"; enablenpc "WALL#54"; enablenpc "WALL#55"; enablenpc "WALL#56"; enablenpc "WALL#57"; enablenpc "WALL#58"; enablenpc "WALL#59"; enablenpc "WALL#60"; enablenpc "WALL#61"; enablenpc "WALL#62"; enablenpc "WALL#63"; enablenpc "WALL#64"; stopnpctimer; sleep2 10000; areawarp [email protected]_map$,12,87,87,12,[email protected]_map$,[email protected]_mapX,[email protected]_mapY; end; OnTeam2Win2: announce "Team "+getpartyname([email protected]_team2)+" smashed all the member of Team "+getpartyname([email protected]_team1)+"and won the Battle!",bc_all; for(set [email protected],0; [email protected]<[email protected]_mem; set [email protected],[email protected]+1) { for(set [email protected],0; [email protected]<[email protected]_winitem_qnty; set [email protected],[email protected]+1) { charcommand ""[email protected]$+"item "[email protected]_name2$[[email protected]]+" "[email protected]_itemid[[email protected]]+" "[email protected]_itemnum[[email protected]]+""; } } for(set [email protected],0; [email protected]<[email protected]_mem; set [email protected],[email protected]+1) { for(set [email protected],0; [email protected]<[email protected]_loseitem_qnty; set [email protected],[email protected]+1) { charcommand ""[email protected]$+"item "[email protected]_name1$[[email protected]]+" "[email protected]_itemid[[email protected]]+" "[email protected]_itemnum[[email protected]]+""; } } set [email protected]_team,0; set [email protected]_Start,0; set $team1_mem,0; set $team2_mem,0; set [email protected]_team1,0; set [email protected]_team2,0; gvgoff [email protected]_map$; setcell "guild_vs3",19,55,19,44,cell_walkable,0; setcell "guild_vs3",80,55,80,44,cell_walkable,0; enablenpc "WALL#41"; enablenpc "WALL#42"; enablenpc "WALL#43"; enablenpc "WALL#44"; enablenpc "WALL#45"; enablenpc "WALL#46"; enablenpc "WALL#47"; enablenpc "WALL#48"; enablenpc "WALL#49"; enablenpc "WALL#50"; enablenpc "WALL#51"; enablenpc "WALL#52"; enablenpc "WALL#53"; enablenpc "WALL#54"; enablenpc "WALL#55"; enablenpc "WALL#56"; enablenpc "WALL#57"; enablenpc "WALL#58"; enablenpc "WALL#59"; enablenpc "WALL#60"; enablenpc "WALL#61"; enablenpc "WALL#62"; enablenpc "WALL#63"; enablenpc "WALL#64"; stopnpctimer; sleep2 10000; areawarp [email protected]_map$,12,87,87,12,[email protected]_map$,[email protected]_mapX,[email protected]_mapY; end; } function script StartEvent { enablenpc "PartyReg"; set [email protected]_start,1; announce "The Battle has begun.",bc_all; return; } function script EndEvent { if ([email protected]_Start && [email protected]_team<2) { setcell [email protected]_map$,80,55,80,44,cell_walkable,1; setcell [email protected]_map$,19,55,19,44,cell_walkable,1; donpcevent "PvP_Func::OnEndNoWin"; } else if ($team2_mem<$team1_mem) { setcell [email protected]_map$,80,55,80,44,cell_walkable,1; setcell [email protected]_map$,19,55,19,44,cell_walkable,1; donpcevent "PvP_Func::OnEndTeam1Win"; } else if ($team2_mem<$team1_mem) { setcell [email protected]_map$,80,55,80,44,cell_walkable,1; setcell [email protected]_map$,19,55,19,44,cell_walkable,1; donpcevent "PvP_Func::OnEndTeam2Win"; } else if ($team2_mem==$team1_mem || $team1_mem==$team2_mem) { setcell [email protected]_map$,80,55,80,44,cell_walkable,1; setcell [email protected]_map$,19,55,19,44,cell_walkable,1; donpcevent "PvP_Func::OnEndDraw"; } else { setcell [email protected]_map$,80,55,80,44,cell_walkable,1; setcell [email protected]_map$,19,55,19,44,cell_walkable,1; donpcevent "PvP_Func::OnEndNoWin"; } end; } //////////////////////////////////////////////////////////////////////////// ////RWC 3/////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// guild_vs3,19,55,0 script WALL#41 1905,{ } guild_vs3,19,54,0 duplicate(WALL#41) WALL#42 1905 guild_vs3,19,53,0 duplicate(WALL#41) WALL#43 1905 guild_vs3,19,52,0 duplicate(WALL#41) WALL#44 1905 guild_vs3,19,51,0 duplicate(WALL#41) WALL#45 1905 guild_vs3,19,50,0 duplicate(WALL#41) WALL#46 1905 guild_vs3,19,49,0 duplicate(WALL#41) WALL#47 1905 guild_vs3,19,48,0 duplicate(WALL#41) WALL#48 1905 guild_vs3,19,47,0 duplicate(WALL#41) WALL#49 1905 guild_vs3,19,46,0 duplicate(WALL#41) WALL#50 1905 guild_vs3,19,45,0 duplicate(WALL#41) WALL#51 1905 guild_vs3,19,44,0 duplicate(WALL#41) WALL#52 1905 guild_vs3,80,55,0 duplicate(WALL#41) WALL#53 1905 guild_vs3,80,54,0 duplicate(WALL#41) WALL#54 1905 guild_vs3,80,53,0 duplicate(WALL#41) WALL#55 1905 guild_vs3,80,52,0 duplicate(WALL#41) WALL#56 1905 guild_vs3,80,51,0 duplicate(WALL#41) WALL#57 1905 guild_vs3,80,50,0 duplicate(WALL#41) WALL#58 1905 guild_vs3,80,49,0 duplicate(WALL#41) WALL#59 1905 guild_vs3,80,48,0 duplicate(WALL#41) WALL#60 1905 guild_vs3,80,47,0 duplicate(WALL#41) WALL#61 1905 guild_vs3,80,46,0 duplicate(WALL#41) WALL#62 1905 guild_vs3,80,45,0 duplicate(WALL#41) WALL#63 1905 guild_vs3,80,44,0 duplicate(WALL#41) WALL#64 1905 function script party_has_duplicate_job { set [email protected]_id, getarg( 0, getcharid(1) ); // Need to have a party. if ( [email protected]_id ) { return -1; } // Loading party members variables getpartymember [email protected]_id, 1; getpartymember [email protected]_id, 2; // Keep rid attached. set [email protected], playerattached(); // Check all members for ( set [email protected],0; [email protected]<[email protected]; set [email protected], [email protected]+1 ) { // Online user if ( isloggedin( [email protected][[email protected]], [email protected][[email protected]]) ) { // Attach the member to access "Class" attachrid( [email protected][[email protected]] ); if ( compare( [email protected]_class$ + "|", "|" + Class + "|" ) ) { if ( [email protected] ) attachrid([email protected]); else detachrid; return 1; } set [email protected]_class$, [email protected]_class$ + "|" + Class; } // Offline user (use sql) else { set [email protected]$, [email protected]$ + ( [email protected]_i ? "OR " : "" ) + "`char_id`='" + [email protected][[email protected]] + "' "; set [email protected]_i, [email protected]_i + 1; } } // SQL for offline users if ( getstrlen([email protected]$) ) { // get class from offline members set [email protected], query_sql("SELECT `class` FROM `char` WHERE " + [email protected]$, [email protected] ); // Check the class. for ( set [email protected], 0; [email protected]<[email protected]; set [email protected], [email protected]+1 ) { if ( compare( [email protected]_class$ + "|", "|" + [email protected][[email protected]] + "|" ) ) { if ( [email protected] ) attachrid([email protected]); else detachrid; return 1; } set [email protected]_class$, [email protected]_class$ + "|" + [email protected][[email protected]]; } } // Restore RID. if ( [email protected] ) attachrid([email protected]); else detachrid; return 0; } - script RWC -1,{ // Settings // GM LVL Allowed set .gmlvl,99; OnWhisperGlobal: if(getgmlevel() <= .gmlvl) goto N_Authority; switch(select("Reset:")) { case 1: stopnpctimer; gvgoff [email protected]_map$; set [email protected]_team,0; set [email protected]_Start,0; set $team1_mem,0; set $team2_mem,0; set [email protected]_team1,0; set [email protected]_team2,0; set [email protected]_start,0; dispbottom "Reset OK."; close; N_Authority: dispbottom "You cannot use this commands anymore."; close; } }
  3. up
  4. Hi guys! I need some help with this FFA Script please. I was hoping if someone can edit it, players will have to register to the NPC and wait for a certain time for example 3mins before all registered players be warped to the FFA Arena? And if possible, to add a announcement of the winner and reset the npc after the match. Thanks in advance! // -------------------------------------// // ----------- Free For All ------------// // ------------- By: Butch -------------// // ---------- Rewrite by: Bio ----------// // A simple Free for all script // // -------------------------------------// // ------------- Changelog -------------// // 1.0 - The one made by Butch. // // 2.0 - Rewrite by Bio: // // Easy Configuration // // Use of Event Labels // // Added Min and Max Players // // -------------------------------------// // -- FFA Core - script ::ffa_core FAKE_NPC,{ end(); OnInit: // -- Configuration .WAITINGROOM_TEXT$ = "[Free For All]"; // Text to be displayed on Waiting Room .MIN_PLAYER = 5; // How many Players are needed to start .MAX_PLAYER = 0; // Maximum number of Players allowed. Must be higher than '1' (0 to disable this limit) .REWARD_PLAYER = 1; // Reward Players? Use 0 or 1 (0: off / 1: on) .REWARD_NAMEID = 25002; // Reward ID .REWARD_AMOUNT = 1; // Reward Amount .ANNOUNCE_COLOR$ = "0x00b89d"; // FFA announce's color .WINNER_DISP_COLOR$ = "0x00FFFF"; // FFA winner announce's color .ATCMD_NAME$ = "startffa"; // @name of atcommand to force start announce. .ATCMD_LEVEL = 60; // Min GroupID which can use this command. .ATCMD_CHRLV = 99; // Min GroupID which can use this char command. // -- Initializing bindatcmd(.ATCMD_NAME$,"ffa_core::OnStartEvent",.ATCMD_LEVEL, .ATCMD_CHRLV); .STATUS = 0; // Info: 0 - Off | 1 - Waiting for start | 2 - Running waitingroom(.WAITINGROOM_TEXT$, 0); end(); OnStartEvent: .STATUS = 1; announce("Free for all will start in 1 minute.", bc_all, .ANNOUNCE_COLOR$); sleep(60000); if ( getmapusers("guild_vs5") >= .MIN_PLAYER ) { for ( [email protected] = 5; [email protected] > 0; [email protected] ) { mapannounce("guild_vs5", sprintf("FFA starts in [%d]", [email protected]), .ANNOUNCE_COLOR$); } announce("guild_vs5", "FFA has started!! Go kill'em all!!", bc_all, .ANNOUNCE_COLOR$); .STATUS = 2; setmapflag("guild_vs5", mf_gvg); removemapflag("guild_vs5", mf_noskill); initnpctimer(); // Time Limit of 30 minutes end(); } // Else: Fall Through OnStopEvent: OnTimer1800000: stopnpctimer(); .STATUS = 0; removemapflag("guild_vs5", mf_gvg); setmapflag("guild_vs5", mf_noskill); mapwarp("guild_vs5", "prontera", 156, 149); end(); OnPCKillEvent: if ( getmapusers("guild_vs5") != 1 ) { announce(sprintf("FFA Current players - %d.", getmapusers("guild_vs5")), bc_self, .ANNOUNCE_COLOR$); } else if ( getmapusers("guild_vs5") == 1 ) { dispbottom("You are a winner of Event Free for all. Congratz!", .WINNER_DISP_COLOR$); announce(sprintf("Free For All Winner: %s", strcharinfo(0)), bc_all, .WINNER_DISP_COLOR$); getitem(.REWARD_NAMEID, .REWARD_AMOUNT); mapwarp("guild_vs5", "prontera", 156, 149); // TODO: make dest map configurable (I'm too lazy to do it now haha) donpcevent("ffa_core::OnStopEvent"); } end(); // Common end command for conditions above. OnPCLoadMapEvent: if ( strcharinfo(3) == "guild_vs5" ) { if ( getmapusers("guild_vs5") >= .MIN_PLAYER && !.STATUS ) { donpcevent("ffa_core::OnStartEvent"); } } end(); } // ------ FFA Warper -------// prontera,147,149,6 script Free For All 999,{ .STATUS = getvariableofnpc(.STATUS, "ffa_core"); .MAX_PLAYER = getvariableofnpc(.MAX_PLAYER, "ffa_core"); mes("[^FF0000Agent Mil^000000]"); mes("What do you want?"); next(); [email protected] = select("Enter ^FFA500FFA Arena^000000", "Nothing"); if ( [email protected] == 2 ) { mes("[^FF0000Agent Mil^000000]"); mes("Okay, see you next time."); } else if ( .STATUS > 1 ) { mes("[^FF0000Agent Mil^000000]"); mes("Entrance for Free for all is not available at the moment"); } else if ( .MAX_PLAYER > 1 && getmapusers("guild_vs5") >= .MAX_PLAYER ) { mes("[^FF0000Agent Mil^000000]"); mes("Maximum number of players reached, try again in next match."); } else { if ( getcharid(1) ) { mes("^ff0000* Please leave your party."); close; } else if ( getcharid(2) ) { mes("^ff0000* Please leave your guild."); close; } else { // TODO: Why use this coordinates if we want to warp randomly? // Isn't better replace this switch and warp with just 'warp("guild_vs5", 0, 0);'? switch (rand(3)) { case 0: [email protected] = 18; [email protected] = 50; break; case 1: [email protected] = 50; [email protected] = 77; break; case 2: [email protected] = 81; [email protected] = 49; break; case 3: [email protected] = 49; [email protected] = 22; break; } warp("guild_vs5", [email protected], [email protected]); } } close(); // Common close command for all conditions above. } // -- Mapflags guild_vs5 mapflag loadevent guild_vs5 mapflag partylock guild_vs5 mapflag guildlock guild_vs5 mapflag notrade guild_vs5 mapflag nodrop
  5. After making a new directory sir, should i config inter-server.conf?
  6. I should just take the plugins?
  7. I should copy and replace my trunk files with these https://github.com/HerculesWS/Hercules sir?
  8. Hi guys. just wondering how can i enable this npc all the time? so i won't have to manually enable it and players can use it anytime. thanks in advance! // -----------------------------// // ------- Free For All --------// // -------- By : Butch ---------// // A simple Free for all script // // -----------------------------// guild_vs5,48,51,6 script FFA Master 999,{ if(getmapusers("guild_vs5") != 1) { mes "[^FF0000FFA Master^000000]"; mes "Current players - ^FF0000"+ getmapusers("guild_vs5") +"^000000."; close; } else if(getmapusers("guild_vs5") == 1) { dispbottom "You are a winner of Event Free for all. Congratz!"; donpcevent "Free For All::OnStopEvent"; announce "Free for all winner : "+ strcharinfo(0) +"", bc_all, "0xFFCE00"; getitem 25002,1; // Reward warp "prontera", 156,149; end; } } // ------ FFA Warper -------// prontera,147,149,6 script Free For All 999,{ if (.start != 1) { mes "[^FF0000Agent Mil^000000]"; mes "Free for all is not available at the moment"; close; } mes "[^FF0000Agent Mil^000000]"; mes "What do you want?"; switch(select("Free for all")) { case 1: if( getcharid(1) ) { mes "Please leave your party."; close; } if( getcharid(2) ) { mes "Please leave your guild."; close; } else switch(rand(3)) { case 0: [email protected] = 18; [email protected] = 50; break; case 1: [email protected] = 50; [email protected] = 77; break; case 2: [email protected] = 81; [email protected] = 49; break; case 3: [email protected] = 49; [email protected] = 22; break; } warp "guild_vs5", [email protected],[email protected]; break; } close; OnStartEvent: OnClock1245: OnClock1645: OnClock2045: OnClock0045: OnClock0445: OnClock0845: .start = 1; disablenpc "FFA Master"; announce "Free for all will start in 5 minutes.", bc_all, "0x00b89d"; sleep 120000; announce "Free for all will start in 3 minutes.", bc_all, "0x00b89d"; sleep 120000; announce "Free for all will start in 1 minute.", bc_all, "0x00b89d"; sleep 60000; announce "Free for all has started!", bc_all, "0x00b89d"; .start = 2; enablenpc "FFA Master"; sleep 2000; if ( !getmapusers("guild_vs5") ) goto OnStopEvent; mapannounce "guild_vs5", "FFA starts in 5", bc_map; sleep 1000; mapannounce "guild_vs5", "FFA starts in 4", bc_map; sleep 1000; mapannounce "guild_vs5", "FFA starts in 3", bc_map; sleep 1000; mapannounce "guild_vs5", "FFA starts in 2", bc_map; sleep 1000; mapannounce "guild_vs5", "FFA starts in 1", bc_map; sleep 1000; mapannounce "guild_vs5", "GO! Kill all!", bc_map; setmapflag "guild_vs5", mf_gvg; removemapflag "guild_vs5", mf_noskill; end; OnStopEvent: .start = 0; disablenpc "FFA Master"; removemapflag "guild_vs5", mf_gvg; setmapflag "guild_vs5", mf_noskill; end; OnInit: bindatcmd("startevent",strnpcinfo(1)+"::OnStartEvent",60,99); waitingroom "[Free For All]",0; end; } guild_vs5 mapflag partylock guild_vs5 mapflag guildlock guild_vs5 mapflag notrade guild_vs5 mapflag nodrop
  9. Do you have the latest herc? it says unknown sir
  10. it says unknown sir?
  11. yes sir there is 4_EP16_SPIEGEL inside my constrants.conf
  12. Yes sir. i want to enable it all the time
  13. Hi guys. I'm having this error after adding hBG.c plugin from http://herc.ws/board/topic/14083-hercules-battlegrounds/ . Hoping for some help please. Thanks in advance! In file included from hBG.c:44: ../plugins/HPMHooking.h:25: error: nested redefinition of 'enum HPluginHookType' ../plugins/HPMHooking.h:25: error: redeclaration of 'enum HPluginHookType' ../plugins/HPMHooking.h:26: error: redeclaration of enumerator 'HOOK_TYPE_PRE' ../common/HPMi.h:75: note: previous definition of 'HOOK_TYPE_PRE' was here ../plugins/HPMHooking.h:27: error: redeclaration of enumerator 'HOOK_TYPE_POST' ../common/HPMi.h:76: note: previous definition of 'HOOK_TYPE_POST' was here In file included from hBG.c:44: ../plugins/HPMHooking.h:46:42: error: HPMHooking/HPMHooking.Defs.inc: No such file or directory ../plugins/HPMHooking.h:48:1: warning: "addHookPre" redefined In file included from ../common/hercules.h:35, from hBG.c:15: ../common/HPMi.h:110:1: warning: this is the location of the previous definition In file included from hBG.c:44: ../plugins/HPMHooking.h:53:1: warning: "addHookPost" redefined In file included from ../common/hercules.h:35, from hBG.c:15: ../common/HPMi.h:111:1: warning: this is the location of the previous definition In file included from hBG.c:44: ../plugins/HPMHooking.h:60:1: warning: "hookStop" redefined In file included from ../common/hercules.h:35, from hBG.c:15: ../common/HPMi.h:114:1: warning: this is the location of the previous definition In file included from hBG.c:44: ../plugins/HPMHooking.h:61:1: warning: "hookStopped" redefined In file included from ../common/hercules.h:35, from hBG.c:15: ../common/HPMi.h:115:1: warning: this is the location of the previous definition hBG.c: In function 'hBG_send_guild_member_list': hBG.c:599: error: 'struct mmo_charstatus' has no member named 'class' hBG.c: In function 'hBG_add_rank_points': hBG.c:1559: error: too few arguments to function 'clif->disp_message' hBG.c:1560: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c:1564: error: too few arguments to function 'clif->disp_message' hBG.c:1565: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c: In function 'npc_parse_unknown_mapflag_pre': hBG.c:3202: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c: In function 'clif_charnameupdate_pre': hBG.c:3236: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c: In function 'skill_check_condition_castbegin_pre': hBG.c:3247: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c: In function 'skillnotok_pre': hBG.c:3255: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c: In function 'skill_castend_nodamage_id_pre': hBG.c:3304: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c: In function 'status_get_guild_id_pre': hBG.c:3325: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c: In function 'status_get_emblem_id_pre': hBG.c:3345: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c: In function 'bg_team_leave_pre': hBG.c:3364: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c: In function 'guild_isallied_pre': hBG.c:3404: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c: In function 'plugin_init': hBG.c:3593: error: 'HPMHOOK_pre_npc_parse_unknown_mapflag' undeclared (first use in this function) hBG.c:3593: error: (Each undeclared identifier is reported only once hBG.c:3593: error: for each function it appears in.) hBG.c:3593: error: expected ')' before numeric constant hBG.c:3593: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c:3593: warning: left-hand operand of comma expression has no effect hBG.c:3594: error: 'HPMHOOK_pre_clif_charnameupdate' undeclared (first use in this function) hBG.c:3594: error: expected ')' before numeric constant hBG.c:3594: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c:3594: warning: left-hand operand of comma expression has no effect hBG.c:3595: error: 'HPMHOOK_pre_status_get_guild_id' undeclared (first use in this function) hBG.c:3595: error: expected ')' before numeric constant hBG.c:3595: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c:3595: warning: left-hand operand of comma expression has no effect hBG.c:3596: error: 'HPMHOOK_pre_status_get_emblem_id' undeclared (first use in this function) hBG.c:3596: error: expected ')' before numeric constant hBG.c:3596: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c:3596: warning: left-hand operand of comma expression has no effect hBG.c:3597: error: 'HPMHOOK_pre_map_quit' undeclared (first use in this function) hBG.c:3597: error: expected ')' before numeric constant hBG.c:3597: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c:3597: warning: left-hand operand of comma expression has no effect hBG.c:3598: error: 'HPMHOOK_pre_guild_isallied' undeclared (first use in this function) hBG.c:3598: error: expected ')' before numeric constant hBG.c:3598: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c:3598: warning: left-hand operand of comma expression has no effect hBG.c:3599: error: 'HPMHOOK_pre_skill_check_condition_castbegin' undeclared (first use in this function) hBG.c:3599: error: expected ')' before numeric constant hBG.c:3599: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c:3599: warning: left-hand operand of comma expression has no effect hBG.c:3600: error: 'HPMHOOK_pre_skill_not_ok' undeclared (first use in this function) hBG.c:3600: error: expected ')' before numeric constant hBG.c:3600: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c:3600: warning: left-hand operand of comma expression has no effect hBG.c:3601: error: 'HPMHOOK_pre_skill_castend_nodamage_id' undeclared (first use in this function) hBG.c:3601: error: expected ')' before numeric constant hBG.c:3601: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c:3601: warning: left-hand operand of comma expression has no effect hBG.c:3602: error: 'HPMHOOK_pre_bg_team_leave' undeclared (first use in this function) hBG.c:3602: error: expected ')' before numeric constant hBG.c:3602: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c:3602: warning: left-hand operand of comma expression has no effect hBG.c:3605: error: 'HPMHOOK_post_clif_pLoadEndAck' undeclared (first use in this function) hBG.c:3605: error: expected ')' before numeric constant hBG.c:3605: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c:3605: warning: left-hand operand of comma expression has no effect hBG.c:3606: error: 'HPMHOOK_post_clif_pUseSkillToId' undeclared (first use in this function) hBG.c:3606: error: expected ')' before numeric constant hBG.c:3606: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c:3606: warning: left-hand operand of comma expression has no effect hBG.c:3607: error: 'HPMHOOK_post_clif_getareachar_pc' undeclared (first use in this function) hBG.c:3607: error: expected ')' before numeric constant hBG.c:3607: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c:3607: warning: left-hand operand of comma expression has no effect hBG.c:3608: error: 'HPMHOOK_post_pc_update_idle_time' undeclared (first use in this function) hBG.c:3608: error: expected ')' before numeric constant hBG.c:3608: error: 'struct HPMi_interface' has no member named 'hooking' hBG.c:3608: warning: left-hand operand of comma expression has no effect hBG.c:3664:89: error: macro "addBattleConf" passed 4 arguments, but takes just 3 hBG.c: In function 'server_preinit': hBG.c:3664: error: 'addBattleConf' undeclared (first use in this function) hBG.c:3665:96: error: macro "addBattleConf" passed 4 arguments, but takes just 3 hBG.c:3666:90: error: macro "addBattleConf" passed 4 arguments, but takes just 3 hBG.c:3667:95: error: macro "addBattleConf" passed 4 arguments, but takes just 3 hBG.c:3668:95: error: macro "addBattleConf" passed 4 arguments, but takes just 3 hBG.c:3669:96: error: macro "addBattleConf" passed 4 arguments, but takes just 3 hBG.c:3670:94: error: macro "addBattleConf" passed 4 arguments, but takes just 3 hBG.c:3671:93: error: macro "addBattleConf" passed 4 arguments, but takes just 3 hBG.c:3672:93: error: macro "addBattleConf" passed 4 arguments, but takes just 3 make[1]: *** [../../plugins/hBG.so] Error 1 make[1]: Leaving directory `/root/trunk/src/plugins' make: *** [plugins] Error 2
  14. How to fix this error sir? Thanks in advance!
  15. Hello. I tried the Queue BG rewrite by KUBIX link: http://herc.ws/board/topic/12349-queue-bg-rewrite/#entry71761 , but i have this problem with the Battle Recruiter NPC. What should i do please? i can't click on the npc. Thanks in advance! Here's the npc scrip and screenshot of the problem: function script cleanBgQuests { for([email protected] = 8500; [email protected] < 8511; [email protected] ++) if( ([email protected] != 8506 && questprogress([email protected], PLAYTIME) ) ) erasequest [email protected]; return; } - script Battle_Register FAKE_NPC,{ end; OnJoinBG: mes "^D2691E[Battle Requiter]^000000"; mes "Welcome to the Battleground register service."; next; if( select( "Register:Close" ) == 2) close; if( questprogress(8506, PLAYTIME) ) erasequest 8506; else if( questprogress(8506, PLAYTIME) == 1 ) { mes "^D2691E[Battle Requiter]^000000"; mes "You are a Deserter. You can't participate until the indicator goes off"; close; } if( getcharid(4) ) { mes "^D2691E[Battle Requiter]^000000"; mes "You already in Battle Group."; close; } [email protected] = queueiterator( [email protected]_Duplicate ); [email protected] = queueiterator( [email protected]_Duplicate ); for( [email protected] = 0; [email protected] < .BG_Max[ .Index ]; [email protected] ++ ) { if( qiget([email protected]) == ( .MultipleCheck == 1? getcharid(0):getcharip() ) || qiget([email protected]) == ( .MultipleCheck == 1? getcharid(0):getcharip() ) ) { mes "^D2691E[Battle Requiter]^000000"; mes "You already in queue."; close; } } cleanBgQuests(); switch( .Battle_State ) { default: case 0: case 2: mes "^D2691E[Battle Requiter]^000000"; mes "Queue not available. Try again later or contact your administrator."; close; case 1: // idle if( getarraysize( [email protected]_QID ) < .BG_Max[ .Index ] || getarraysize( [email protected]_QID ) < .BG_Max[ .Index ] ) { if( getarraysize( [email protected]_QID ) > getarraysize( [email protected]_QID ) ) { if( !queueadd( [email protected]_Duplicate, ( .MultipleCheck == 1? getcharid(0):getcharip() ) ) ) { mes "^D2691E[Battle Requiter]^000000"; mes "You already in queue"; close; } [email protected]_QID[ [email protected] ] = getcharid(3); [email protected] ++; if( .debug ) debugmes strcharinfo(0) + " guillame"; } else if( getarraysize( [email protected]_QID ) < getarraysize( [email protected]_QID ) ) { if( !queueadd( [email protected]_Duplicate, ( .MultipleCheck == 1? getcharid(0):getcharip() ) ) ) { mes "^D2691E[Battle Requiter]^000000"; mes "You already in queue"; close; } [email protected]_QID[ [email protected] ] = getcharid(3); [email protected] ++; if( .debug ) debugmes strcharinfo(0) + " croix"; } else { if( !queueadd( [email protected]_Duplicate, ( .MultipleCheck == 1? getcharid(0):getcharip() ) ) ) { mes "^D2691E[Battle Requiter]^000000"; mes "You already in queue"; close; } [email protected]_QID[ [email protected] ] = getcharid(3); [email protected] ++; if( .debug ) debugmes strcharinfo(0) + " croix"; } mes "^D2691E[Battle Requiter]^000000"; mes "Added to queue."; close; } mes "^D2691E[Battle Requiter]^000000"; mes "Queue is full"; close; case 3: // Beginning, other can join. if( getarraysize( [email protected]_QID ) < .BG_Max[ .Index ] || getarraysize( [email protected]_QID ) < .BG_Max[ .Index ] ) { if( getarraysize( [email protected]_QID ) > getarraysize( [email protected]_QID ) ) { if( !queueadd( [email protected]_Duplicate, ( .MultipleCheck == 1? getcharid(0):getcharip() ) ) ) { mes "^D2691E[Battle Requiter]^000000"; mes "You already in queue"; close; } [email protected]_QID[ [email protected] ] = getcharid(3); [email protected] ++; if( .BG_Names$[ .Index] == "Conquest" ) if( [email protected]_BG == getvariableofnpc( .Atacker, "Conquest" ) ) bg_single( [email protected]_BG, .BG_Map$[ .Index ], .BG_AtackerX, .BG_AtackerY ); else bg_single( [email protected]_BG, .BG_Map$[ .Index ], .BG_DefenerX, .BG_DefenerY ); else bg_single( [email protected]_BG, .BG_Map$[ .Index ], .BG_GuillX[ .Index ], .BG_GuillY[ .Index ] ); if( .debug ) debugmes strcharinfo(0) + " guillame"; } else if( getarraysize( [email protected]_QID ) < getarraysize( [email protected]_QID ) ) { if( !queueadd( [email protected]_Duplicate, ( .MultipleCheck == 1? getcharid(0):getcharip() ) ) ) { mes "^D2691E[Battle Requiter]^000000"; mes "You already in queue"; close; } [email protected]_QID[ [email protected] ] = getcharid(3); [email protected] ++; if( .BG_Names$[ .Index] == "Conquest" ) if( [email protected]_BG == getvariableofnpc( .Atacker, "Conquest" ) ) bg_single( [email protected]_BG, .BG_Map$[ .Index ], .BG_AtackerX, .BG_AtackerY ); else bg_single( [email protected]_BG, .BG_Map$[ .Index ], .BG_DefenerX, .BG_DefenerY ); else bg_single( [email protected]_BG, .BG_Map$[ .Index ], .BG_CroixX[ .Index ], .BG_CroixY[ .Index ] ); if( .debug ) debugmes strcharinfo(0) + " croix"; } else { if( !queueadd( [email protected]_Duplicate, ( .MultipleCheck == 1? getcharid(0):getcharip() ) ) ) { mes "^D2691E[Battle Requiter]^000000"; mes "You already in queue"; close; } [email protected]_QID[ [email protected] ] = getcharid(3); [email protected] ++; if( .BG_Names$[ .Index] == "Conquest" ) if( [email protected]_BG == getvariableofnpc( .Atacker, "Conquest" ) ) bg_single( [email protected]_BG, .BG_Map$[ .Index ], .BG_AtackerX, .BG_AtackerY ); else bg_single( [email protected]_BG, .BG_Map$[ .Index ], .BG_DefenerX, .BG_DefenerY ); else bg_single( [email protected]_BG, .BG_Map$[ .Index ], .BG_CroixX[ .Index ], .BG_CroixY[ .Index ] ); if( .debug ) debugmes strcharinfo(0) + " croix"; } mes "^D2691E[Battle Requiter]^000000"; mes "Added to queue."; close; } mes "^D2691E[Battle Requiter]^000000"; mes "Queue is full"; close; } OnInit: // = BG Rewards: [email protected]_RewardID = 7773; // (War Badge) [email protected]_WinnerAmount = 15; // Reward amount for winning team [email protected]_LooserAmount = 10; // Reward amount for loosing team [email protected]_TieAmount = 5; // Reward amount for Tie. // = Flavius Score (Kills for end game): [email protected]_Score = 99; // ===== Multiple Windows checking by ? // = 1 - Disabled // = 2 - IP .MultipleCheck = 1; // ===== BG Colors setarray .BG_Color$[0], "0xDDA0DD", "0x7CCD7C", "0xFFA500"; // ===== BG NPC & Arena Names setarray .BG_Names$[0], "Rush", "Flavius TD", "Conquest"; setarray .BG_Arena$[0], "Rush", "Flavius_TD", "Conquest"; // ===== BG Player Amount setarray .BG_Min[0], 2, 2, 2; setarray .BG_Max[0], 30, 30, 30; // ===== BG Locations setarray .BG_Map$[0], "rush_cas04", "bat_b03", "schg_cas06"; // ===== BG X/Y Coordinates setarray .BG_GuillX[0], 270, 390, 264; setarray .BG_GuillY[0], 292, 10, 379; setarray .BG_CroixX[0], 270, 10, 295; setarray .BG_CroixY[0], 288, 290, 379; bindatcmd "joinbg", strnpcinfo(0) + "::OnJoinBG", 0, 99; bindatcmd "leavebg", strnpcinfo(0) + "::OnLeaveBG", 0, 99; // ===== Time to flood in seconds. .Flood_Time = 180; // ===== Enable debug mode? .debug = false; [email protected]$ = strnpcinfo(0) + "::OnBGRotate"; OnBGRotate: if( ( .Index += 1 ) > ( getarraysize( .BG_Names$ ) - 1 ) ) .Index = 0; if( [email protected]_Duplicate ) queuedel [email protected]_Duplicate; if( [email protected]_Duplicate ) queuedel [email protected]_Duplicate; if( [email protected]_BG ) bg_destroy [email protected]_BG; if( [email protected]_BG ) bg_destroy [email protected]_BG; // ===== Queue with Gepard ID [email protected]_Duplicate = queue(); [email protected]_Duplicate = queue(); deletearray [email protected]_QID[0], getarraysize( [email protected]_QID ); deletearray [email protected]_QID[0], getarraysize( [email protected]_QID ); .Leavers = 0; .Battle_State = 1; .BG_Tick = 0; .Player2Start = ( .BG_Min[ .Index ] * 2 ) - ( queuesize( [email protected]_Duplicate ) + queuesize( [email protected]_Duplicate ) ) ; announce "Battleground -- " + .BG_Names$[ .Index ] + " -- (" + .Player2Start + ") more players to start.", bc_all, .BG_Color$[ .Index ]; initnpctimer; end; OnTimer30000: .Player2Start = ( .BG_Min[ .Index ] * 2 ) - ( queuesize( [email protected]_Duplicate ) + queuesize( [email protected]_Duplicate ) ) ; if( .Player2Start <= 0 ) { if( .BG_Names$[ .Index] == "Conquest" ) { donpcevent "Conquest::OnSetRotation"; .BG_Map$[ .Index ] = getvariableofnpc( .Castle$, "Conquest" ); .BG_GuillX[ .Index ] = getvariableofnpc( .GX, "Conquest" ); .BG_GuillY[ .Index ] = getvariableofnpc( .GY, "Conquest" ); .BG_CroixX[ .Index ] = getvariableofnpc( .CX, "Conquest" ); .BG_CroixY[ .Index ] = getvariableofnpc( .CY, "Conquest" ); .BG_DefenerX = getvariableofnpc( .DX, "Conquest" ); .BG_DefenerY = getvariableofnpc( .DY, "Conquest" ); .BG_AtackerX = getvariableofnpc( .AX, "Conquest" ); .BG_AtackerY = getvariableofnpc( .AY, "Conquest" ); } [email protected]_BG = bg_create_team( .BG_Map$[ .Index ], .BG_GuillX[ .Index ], .BG_GuillY[ .Index ], .BG_Arena$[ .Index ] + "::OnGuillameQuit", .BG_Arena$[ .Index ] + "::OnGuillameDie" ); [email protected]_BG = bg_create_team( .BG_Map$[ .Index ], .BG_CroixX[ .Index ], .BG_CroixY[ .Index ], .BG_Arena$[ .Index ] + "::OnCroixQuit", .BG_Arena$[ .Index ] + "::OnCroixDie"); .Battle_State = 2; freeloop(1); for( .c = 0; .c < getarraysize( [email protected]_QID ); .c ++ ) { if( !isloggedin( [email protected]_QID[ .c ] ) ) .Leavers ++; else bg_join_team( [email protected]_BG, [email protected]_QID[ .c ] ); } for( .g = 0; .g < getarraysize( [email protected]_QID ); .g ++ ) { if( !isloggedin( [email protected]_QID[ .g ] ) ) .Leavers ++; else bg_join_team( [email protected]_BG, [email protected]_QID[ .g ] ); } freeloop(0); announce "Battleground -- " + .BG_Names$[ .Index ] + " -- Beginning.", bc_all, .BG_Color$[ .Index ]; donpcevent .BG_Arena$[ .Index ] + "::OnStartBattleground"; .Battle_State = 3; stopnpctimer; end; } if( .BG_Flood < gettimetick(2) ) { .BG_Tick ++; if( .BG_Tick >= 10 ) { stopnpctimer; donpcevent strnpcinfo(0) + "::OnBGRotate"; end; } announce "Battleground -- " + .BG_Names$[ .Index ] + " -- (" + .Player2Start + ") more players to start.", bc_all, .BG_Color$[ .Index ]; .BG_Flood = gettimetick(2) + .Flood_Time; } initnpctimer; end; f OnLeaveBG: [email protected]_IT1 = queueiterator( [email protected]_Duplicate ); [email protected]_IT2 = queueiterator( [email protected]_Duplicate ); if( qiget([email protected]_IT1) == ( .MultipleCheck == 1? getcharid(0):getcharip() ) ) { queueremove( [email protected]_Duplicate, ( .MultipleCheck == 1? getcharid(0):getcharip() ) ); for( [email protected] = 0; [email protected] < getarraysize( [email protected]_QID ); [email protected] ++ ) if( [email protected]_QID[ [email protected] ] == getcharid(3) ) deletearray [email protected]_QID[ [email protected] ], 1; [email protected] --; } else if( qiget([email protected]_IT2) == ( .MultipleCheck == 1? getcharid(0):getcharip() ) ) { queueremove( [email protected]_Duplicate, ( .MultipleCheck == 1? getcharid(0):getcharip() ) ); for( [email protected] = 0; [email protected] < getarraysize( [email protected]_QID ); [email protected] ++ ) if( [email protected]_QID[ [email protected] ] == getcharid(3) ) deletearray [email protected]_QID[ [email protected] ], 1; [email protected] --; } else { message strcharinfo(0), "You are not in queue."; end; } if( getcharid(4) ) { bg_leave(); warp "SavePoint", 0, 0; } end; } prontera,158,174,3 script Battle Recruiter#Main 4_EP16_SPIEGEL,{ doevent "Battle_Register::OnJoinBG"; end; } // ==== NPC Duplicates prontera,153,173,6 duplicate(Battle Recruiter#Main) Battle Recruiter#A 4_EP16_SPIEGEL