Jump to content
  • 0
Sign in to follow this  
Overkill Gaming

Help: 7v7 Script

Question

Hi Hercules.

Found this script in rAthena (credits to the author) which I would like to use in my server. The script is for 7v7.
I would like to request help if ever you guys can edit and have this to be:

 

-No repeating class.

// ------------------------------------------------------------------------------------------// ------ rAthena Script Release// Title: Simple 4 vs 4 PVP Gateway// Author: jTynne - [email protected]// Version: 0.1 (Beta)// Notes://	v0.1: This is the UNOPTIMIZED release of a simple 4vs4vs4vs4 PVP gateway.//	      There are likely bugs in this version. Please report them as you find them!//	      Please note that this script uses a TON of global variables. Keep that in mind//	      when using this script in the current version.// ------------------------------------------------------------------------------------------//Modified by: www.runemidgard.asia// ------------------------------------------------------------------------------------------prontera,218,183,6	script	Party Battle Recruiter	416,{set .@n$,"[^FF0000Party Battle Recruiter^000000]";set .@charid,getcharid(0);mes .@n$;mes "Would you like to register for a 7 versus 7 Party Battle?";next;menu "Yes",-,"No",L_cancel;if(getmapusers("guild_vs3") > 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+"/7)",L_odin,"Freya ("+$pvp4nB+"/7)",L_freya;L_odin: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($pvp4nA < 3) {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 == 5) { set $pvp4nAchar5,getcharid(0); }if($pvp4nA == 6) { set $pvp4nAchar6,getcharid(0); }if($pvp4nA == 7) { set $pvp4nAchar7,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 == 7 && $pvp4nB == 7) { 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 < 3) {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($pvp4nB == 5) { set $pvp4nBchar5,getcharid(0); }if($pvp4nB == 6) { set $pvp4nBchar6,getcharid(0); }if($pvp4nB == 7) { set $pvp4nBchar7,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 == 7 && $pvp4nB == 7) { 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 "guild_vs3",18,50,$pvp4nAchar1; }		else if (.@x == 1)			{ warpchar "guild_vs3",18,50,$pvp4nAchar2; }		else if (.@x == 2)			{ warpchar "guild_vs3",18,50,$pvp4nAchar3; }		else if (.@x == 3)			{ warpchar "guild_vs3",18,50,$pvp4nBchar1; }		else if (.@x == 4)			{ warpchar "guild_vs3",18,50,$pvp4nBchar2; }		else if (.@x == 5)			{ warpchar "guild_vs3",18,50,$pvp4nBchar3; }		else if (.@x == 6)			{ warpchar "guild_vs3",18,50,$pvp4nAchar2; }		else if (.@x == 7)			{ warpchar "guild_vs3",83,50,$pvp4nAchar3; }		else if (.@x == 8)			{ warpchar "guild_vs3",83,50,$pvp4nBchar1; }		else if (.@x == 9)			{ warpchar "guild_vs3",83,50,$pvp4nBchar2; }		else if (.@x == 10)			{ warpchar "guild_vs3",83,50,$pvp4nBchar3; }		else if (.@x == 11)			{ warpchar "guild_vs3",83,50,$pvp4nBchar2; }		else if (.@x == 12)			{ warpchar "guild_vs3",83,50,$pvp4nBchar3; }		else if (.@x == 13)			{ warpchar "guild_vs3",83,50,$pvp4nBchar3; }		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 $pvp4nAchar5,0;set $pvp4nAchar6,0;set $pvp4nAchar7,0;set $pvp4nBchar1,0;set $pvp4nBchar2,0;set $pvp4nBchar3,0;set $pvp4nBchar4,0;set $pvp4nBchar5,0;set $pvp4nBchar6,0;set $pvp4nBchar7,0;end;}-	script	pvp3vs3#1	-1,{OnPCDieEvent:getmapxy (.@map$, .@x, .@y, 0); if(.@map$ == "guild_vs3") { warp "SavePoint",0,0;}end;OnPCKillEvent:getmapxy (.@map$, .@x, .@y, 0); if( .@map$ == "guild_vs3") { set .@tempn1$,strcharinfo(0);set .@tempn2$,rid2name(killedrid);mapannounce "guild_vs3",""+.@tempn1$+" has killed "+.@tempn2$+".",1,0xD6A4E6;}end;}

 

Or is there any similar script somewhere in this forum that you guys can recommend?

Thanks in advance.
 

Edited by krayzie1027

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

I should probably remove my old scripts from rA/Hercules (I'm jTynne-- author of that script).

 

I'm not sure of other scripts available here.. though I must admit, I've never really looked around.

 

I'm sure someone could whip something better together of greater quality than I can, as my original script is terribly unoptimized.

 

At first glance, I guess you could store the Job IDs in an array, and run a loop to see if a class has already registered.. but I suck at arrays (hence why I have so many variables in the original script to begin with >.<).

Share this post


Link to post
Share on other sites
  • 0

Nice. Good to know author moved to hercules too. :)

Well sir, here is the issue on this script.
-once the session starts, only team 1 gets warped. Team 2 gets stuck o prontera. clicking on the npc again also gets the client to hang.

-if say we are able to warp inside the gvg map. there is no announcement that the team won even if they eliminated all opposing teams. Also, the winning team is not ported out after the battle.
-the counter remains for the team. even though no one is playing or in session, the counter stays 7/7 or 1/1 or 4/4.

if ever we can revise this to do a party vs party and also the kind that checks no repeating classes this NPC will be a blast!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.