Jump to content
  • 0
Sign in to follow this  
kerbiii

help fix this script it wont start

Question

job_knt,65,53,4	script	RWC Registration	899,{	if (getgmlevel() >= 99){		menu "standard menu",standard,"reset",lend;	}	standard:	set $@members,1; // number of party members change this to your party size you want	set $@start,0;		getpartymember(getcharid(1));	set @partymembercount,$@partymembercount;	if ( $@start == 1 ) {		mes "The Sign Ups are currently unavailable because a match is in progress. Don't hesitate to try again in a few minutes!";		close;	}	if ( @partymembercount == $@members ) {		if ( $@TeamID1 == getcharid(1) ) {			mes "Do you wish to sign out your team?";    			next;    			if (select("I Give up ~.","Never Say Quit !!")==2) close;    			announce "Team 1 : [ " + getpartyname($@TeamID1) + " ] has sign out. We need another Party to sign up now!",0;    			set $@TeamID1, 0;			close;    		}		if ( $@TeamID2 == getcharid(1) ) {    			mes "Do you wish to sign out your team?";    			next;    			if (select("I Give up ~.","Never Say Quit !!")==2) close;			announce "Team 2 : [ " + getpartyname($@TeamID2) + " ] has sign out. We need another Party to sign up now!",0;    			set $@TeamID2, 0;    			close;    		}		mes "[  Team War  ]";		mes "Hello "+strcharinfo(0)+" what do you want?";		next;		if (($@TeamID1!=0) && ($@TeamID2!=0)) {			mes "The Sign Ups are currently unavailable because a match is in progress. Don't hesitate to try again in a few minutes!";			close;		}		if ( getpartyleader(getcharid(1),2) != getcharid(0) ) {			mes "Only party leader have the right to sign up / out from the game with me..";			close;		}		mes "[  Team War  ]";		mes "Choose your team to register.";		switch(select("^ff0000Red Team ^000000 - [" + GetPartyName($@TeamID1) + "] :^0000ffBlue Team^000000 - [" + GetPartyName($@TeamID2) + "]")) {		case 1:    			if ($@TeamID1==0 || getpartyname($@TeamID1)=="null") {							getpartymember(getcharid(1)),1;				getpartymember(getcharid(1)),2;				copyarray $@partymembercidt1[0],$@partymembercid[0],$@members;				copyarray $@partymemberaidt1[0],$@partymemberaid[0],$@members;								for (set .@i,0; .@i<$@members; set .@i,.@i+1) {					if(isloggedin($@partymemberaidt1[.@i],$@partymembercidt1[.@i]))  set .@count,.@count+1;				}								if(.@count < $@members) {					mes "You need all your party members to be online to Register";					close;				}								if ( callfunc("party_has_duplicate_job") ) {					mes "Too many jobs";					close;				}				set $@TeamID1, getcharid(1);    				initnpctimer;    				mes "Your Party is now subscribed, good luck!";    				announce "Team 1 : [ " +getpartyname($@TeamID1)+ " ] has sign up For the Team War!",0;				doevent "RWC Registration::OnSubscriptionTeam";    				close;			} else {				mes "I'm sorry! Another Team has sign up before you...";    				close;    			}					case 2:    mes "[  Team War  ]";			if ($@TeamID2==0 || getpartyname($@TeamID2)=="null") {    				getpartymember(getcharid(1)),1;				getpartymember(getcharid(1)),2;				copyarray $@partymembercidt2[0],$@partymembercid[0],$@members;				copyarray $@partymemberaidt2[0],$@partymemberaid[0],$@members;				for (set .@i,0; .@i<$@members; set .@i,.@i+1) {					if(isloggedin($@partymemberaidt2[.@i],$@partymembercidt2[.@i]))						set .@count,.@count+1;				}								if(.@count < $@members) {					mes "You need all your party members to be online to Register";					close;				}								if ( callfunc("party_has_duplicate_job") ) {					mes "too many jobs";					close;				}								set $@TeamID2, getcharid(1);    				initnpctimer;    				mes "Your Party is now subscribed, good luck!";    				announce "Team 2 : [ " +getpartyname($@TeamID2)+ " ] has sign up For the Team War!",0;				doevent "RWC Registration::OnSubscriptionTeam";    				close;    			} else {    				mes "I'm sorry! Another Team has sign up before you...";    				close;			}		}	} else {		mes "[Event Handler]";		mes "Please contact your party leader.";		mes "Your team must have a party consisting of "+$@members+" members.";		close;	}OnSubscriptionTeam:	getpartymember($@TeamID2),1;	getpartymember($@TeamID2),2;	copyarray $@partymembercidtc2[0],$@partymembercid[0],$@members;	copyarray $@partymemberaidc2[0],$@partymemberaid[0],$@members;	for (set .@i,0; .@i<$@members; set .@i,.@i+1) {		if(isloggedin($@partymemberaidc2[.@i],$@partymembercidtc2[.@i])) set .@countx,.@countx+1;	}	if (.@countx < $@members) {		announce "Team War : "+getpartyname($@TeamID2)+"are not all online the match has been canceled",bc_blue|bc_map;		announce "Team War : registration for 2 new teams are now available",bc_blue|bc_map;		goto lend;	}	if ( $@TeamID2 && $@partymembercount != $@members ) {		announce getpartyname($@TeamID2) +" has extra party members !",bc_blue|bc_map;		goto lend;	}		getpartymember($@TeamID1),1;	getpartymember($@TeamID1),2;	copyarray $@partymembercidtc1[0],$@partymembercid[0],$@members;	copyarray $@partymemberaidc1[0],$@partymemberaid[0],$@members;	for (set .@i,0; .@i<$@members; set .@i,.@i+1) {		if(isloggedin($@partymemberaidc1[.@i],$@partymembercidtc1[.@i])) set .@countz,.@countz+1;	}	if (.@countz < $@members) {		announce "Team War : "+getpartyname($@TeamID1)+"are not all online the match has been canceled",0;		announce "Team War : registration for 2 new teams are now available",bc_blue|bc_map;		goto lend;	}	if ( $@TeamID1 &&  $@partymembercount != $@members ) {		announce getpartyname($@TeamID1) +" has extra party members !",bc_blue|bc_map;		goto lend;	}		if ($@TeamID1!=0 && $@TeamID2!=0) {		announce "Team War : We have 2 Teams signed up now : "+getpartyname($@TeamID1)+" and "+getpartyname($@TeamID2)+".",0;		set @win1, 0;		set @win2, 0;		goto OnStart;	}	end;OnTimer50000:	if (($@TeamID1!=0) && ($@TeamID2!=0)) {		stopnpctimer;		end;	}	stopnpctimer;	set $@TeamID1, 0;	set $@TeamID2, 0;	announce "Team War : we lack teams to start registration for two teams are now available",0;	end;OnStart:	warpparty "guild_vs2",89,49,$@TeamID1;	warpparty "guild_vs2",11,49,$@TeamID2;	set $@start,1;	disablenpc "RWC Winners";	end;lend:	stopnpctimer;	set $@TeamID1,0;	set $@TeamID2,0;	set $@start,0;	set @win1,0;	set @win2,0;	set @partymembercount,$@members;	announce "Thanks for playing",0;	close;OnTimer250000:	Announce "Team War : No Party won due to time limit!",0;	mapwarp "guild_vs2","job_knt",43,52;	goto lend;	end;OnPCDieEvent:	set zeny,10000000;	end;OnPCLogoutEvent:	if(strcharinfo(3) != "guild_vs2") end;	warp "job_knt",43,52;	for(set .@i, 0; .@i < $@members; set .@i, .@i + 1) {		if ( $@partymembercidt1[.@i] == getcharid(0)) {			deletearray $@partymembercidt1[.@i], 1;			deletearray $@partymemberaidt1[.@i], 1;			if( getarraysize($@partymembercidt1) == 0 ) {				set @win2,getarraysize($@partymembercidt2);				goto onwin;			}		}		if ( $@partymembercidt2[.@i] == getcharid(0) ) {			deletearray $@partymembercidt2[.@i], 1;			deletearray $@partymemberaidt2[.@i], 1;			if( getarraysize($@partymembercidt2)  == 0 ) {				set @win1,getarraysize($@partymembercidt1);				goto onwin;			}		}	}	end;onwin:	if (@win1==0) {		enablenpc "RWC Winners";		Announce "Team War :"+GetPartyName($@TeamID2)+" won",0;		for ( .@i = 0; .@i < @win2; .@i++ )			getitem 7922, rand(1,2), $@partymemberaidt2[.@i];		goto lend;	}	if (@win2==0) {		enablenpc "RWC Winners";		Announce "Team War :"+GetPartyName($@TeamID1)+" won",0;		for ( .@i = 0; .@i < @win1; .@i++ )			getitem 7922, rand(1,2), $@partymemberaidt1[.@i];		goto lend;	}	end;OnInit:waitingroom "Register Here!",0;end;}function	script	party_has_duplicate_job	{	set .@party_id, getarg( 0, getcharid(1) );	// Loading party members variables	getpartymember .@party_id, 1;	getpartymember .@party_id, 2;	// Keep rid attached.	set .@rid, playerattached();	// Check all members	for ( set .@i,0; .@i<$@partymembercount; set .@i, .@i+1 ) {		// Online user		if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i]) )		{			// Attach the member to access "Class"			attachrid( $@partymemberaid[.@i] );			if ( compare( .@tmp_class$ + "|", "|" + Class + "|" ) )			{				if ( .@rid )					attachrid(.@rid);				else					detachrid;				return 1;			}			set .@tmp_class$, .@tmp_class$ + "|" + Class;		}		// Offline user (use sql)		else {			set .@sql$, .@sql$ + ( .@sql_i ? "OR " : "" ) + "`char_id`='" + $@partymembercid[.@i] + "' ";			set .@sql_i, .@sql_i + 1;		}	}	// SQL for offline users	if ( getstrlen(.@sql$) )	{		// get class from offline members		set .@count, query_sql("SELECT `class` FROM `char` WHERE " + .@sql$, .@class );		// Check the class.		for ( set .@i, 0; .@i<.@count; set .@i, .@i+1 ) {			if ( compare( .@tmp_class$ + "|", "|" + .@class[.@i] + "|" ) )			{				if ( .@rid )					attachrid(.@rid);				else					detachrid;				return 1;			}			set .@tmp_class$, .@tmp_class$ + "|" + .@class[.@i];		}	}		// Restore RID.	if ( .@rid )		attachrid(.@rid);	else		detachrid;	return 0;}

 

Share this post


Link to post
Share on other sites

10 answers to this question

Recommended Posts

  • 0

weird it was working fine before then suddenly it wont work

Try to check the "mapflag nowarp" if you have this command, the warpparty will not work..

Share this post


Link to post
Share on other sites
  • 0

Well let me, ask and point out the obvious, I haven't checked the rest.

Are you using Hercules or rAthena or eAthena? Because getgmlevel only works with eAthena, unless they changed it recently.

getgmlevel() doesn't exist anymore. It's been replaced by getgroupid(), levels were replaced by groups, which allow for more variety and control. So basically use getgroupid() but that doesn't mean it has to be above 90, unless you set it that way.

 

Now 2, which I found quite odd looking at it is, who is supposed to even be able to talk to this npc? It appears normal users should, because of it's name, but only, lets use the term admins, can talk to it.

 

'Won't start' is also very vague, care to expand on that?

Share this post


Link to post
Share on other sites
  • 0

Well let me, ask and point out the obvious, I haven't checked the rest.

Are you using Hercules or rAthena or eAthena? Because getgmlevel only works with eAthena, unless they changed it recently.

getgmlevel() doesn't exist anymore. It's been replaced by getgroupid(), levels were replaced by groups, which allow for more variety and control. So basically use getgroupid() but that doesn't mean it has to be above 90, unless you set it that way.

 

Now 2, which I found quite odd looking at it is, who is supposed to even be able to talk to this npc? It appears normal users should, because of it's name, but only, lets use the term admins, can talk to it.

 

'Won't start' is also very vague, care to expand on that?

getgmlevel() is still working..  :D 

Share this post


Link to post
Share on other sites
  • 0
As far as I understand :D
level from group.conf

 

groups: (
{
id: 0 /* group 0 is the default group for every new account */
name: "Player"
level: 0
inherit: ( /*empty list*/ )
commands: {
/* no commands by default */
}
permissions: {
/* without this basic permissions regular players could not 
trade or party */
can_trade: true
can_party: true
}
},

 

Share this post


Link to post
Share on other sites
  • 0

I somehow have my doubts the script ever gets to OnStart:

Something like OnTouch might make more sense but considering how the script is structured that would just cause chaos.

Share this post


Link to post
Share on other sites
  • 0

 

weird it was working fine before then suddenly it wont work

Try to check the "mapflag nowarp" if you have this command, the warpparty will not work..

i really think it was the mapflag but then how will i disable players warping in the map?

 

 

tested it and confirmed that the no warp was causing it, now how will i disable players outside the map to warp inside the map?

 

 

solved!! no warpto will do it right?

Edited by kerbiii

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.