Jump to content
  • 0

HELP


Yukaiii

Question


  • Group:  Members
  • Topic Count:  48
  • Topics Per Day:  0.01
  • Content Count:  112
  • Reputation:   9
  • Joined:  11/20/13
  • Last Seen:  

Good afternoon folks! I downloaded a script here from the forum, but I'm having a problem. Any player can cancel the battle in progress. I wanted to know how I solve this problem. This command would have to be just gm, but this is working for everyone. If someone knows how to fix me. Thanks in advance

 

 

 

 

script    Sample    757,{
mes "I am Party Match Manager.";
mes "Party Leader may create a PVP Match here.";
next;
switch( select( ( .Created )?"Join Game[ ^FF0000"+.No+"vs"+.No+"^000000 ]":"Create Game",
                ( ( getgmlevel() >= .GMLevel || getcharid(0) == getpartyleader( getcharid(1),2 ) ) && .Created )?"^FF0000Remove Game^000000":"" )){

Case 1:
    switch( .Created ){
        Case 0:
            getpartymember getcharid(1),1;
            if( getcharid(0) != getpartyleader( getcharid(1),2 ) || !getcharid(1) ){
                mes "Sorry, but only a ^FF0000Party Leader^000000 can register a game here.";
            }else{
                mes "How many Players for each Party Team ?";
                mes "Min = 1    Max = "+$@partymembercount;
                mes "Because you only have "+$@partymembercount+" member right now.";
                next;
                input .No,1,$@partymembercount;
                announce "[ "+.No+"vs"+.No+" Party Match ] created by "+strcharinfo(0)+", you may register to join.",0;
                set .Team[0],getcharid(1);
                set .Created,1;
            }
            close;
        Case 1:
            if( !.Team[1] && getcharid(1) == .Team[0] ){
                mes "Please wait for ^FF0000Team 2^000000 to Register.";
            }else{
                if( getcharid(0) != getpartyleader( getcharid(1),2 ) || !getcharid(1) ){
                    mes "Sorry, but only a ^FF0000Party Leader^000000 can register a game here.";
                    close;
                }
                getpartymember getcharid(1),1;
                if( $@partymembercount < .No ){
                    mes "You didnt have enough of "+.No+" Member for the Game.";
                    mes "You only have "+$@partymembercount+" Member.";
                }else{
                    mes "Confirm Registration ?";
                    if( select("Yes:No") == 1 ){
                        set .Team[1],getcharid(1);
                        set .Created,2;
                        setarray .Members[0],.No,.No;
                        for( set .@party,0; .@party < 2; set .@party,.@party + 1 ){
                            getpartymember .Team[.@party],1;
                            for( set .@i,0; .@i < .No; set .@i,.@i + 1 )
                                warpchar .Map$,0,0,$@partymembercid[.@i];
                        }
                        end;
                    }
                }
            }
            close;
        Case 2:
            mes "^FF0000The Game is in Progress.^000000";
            mes "[ A "+.No+" vs "+.No+" Game ]";
            mes "Team ^FF0000"+getpartyname( .Team[0] )+"^000000 vs Team ^FF0000"+getpartyname( .Team[1] )+"^000000 .";
            close;
        }
        close;
Case 2:
        mes "Done, Match will be terminated right away.";
        mapannounce .Map$,"Match has been Cancelled by a GM.",0;
        close2;
    OnReset:
        deletearray .Team[0],getarraysize( .Team );
        deletearray .Members[0],getarraysize( .Members );
        if( .Winner ){
            getpartymember .Winner,2;
            for( set .@i,0; .@i < .No; set .@i,.@i + 1 ){
                getitem 512,100,$@partymemberaid[.@i];
                getitem 607,1,$@partymemberaid[.@i];
            }
        set .Winner,0;
        }
        sleep2 2000;
        set .Created,0;
        mapwarp .Map$,"prontera",155,181;
        end;
}
close;
        
OnPCDieEvent:
OnPCLogoutEvent:
if( strcharinfo(3) == .Map$ && .Created ){
    for( set .@i,0; .@i < 2; set .@i,.@i + 1 )    
        if( getcharid(1) == .Team[.@i] )
            set .Members[.@i],.Members[.@i] - 1;
            
    if( .Members[0] < 1 ) set .Winner,.Team[1];
    else if( .Members[1] < 1 ) set .Winner,.Team[0];
            
    if( .Winner ){
        mapannounce .Map$,"Team "+getpartyname( .Winner )+" Win the "+.No+"vs"+.No+" Game.",0;
        donpcevent strnpcinfo(0)+"::OnReset";
    }else{
        warp "prontera",155,181;
    }
}
end;
                
OnInit:
set .GMLevel,80;
set .Map$,"pvp_y_1-1";
end;
}

screenDimensionRO015.jpg

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 1

  • Group:  Content Moderator
  • Topic Count:  55
  • Topics Per Day:  0.02
  • Content Count:  1678
  • Reputation:   704
  • Joined:  12/21/14
  • Last Seen:  

new_1-1,52,106,4	script	simple	622,{
mes "I am Party Match Manager.";
mes "Party Leader may create a PVP Match here.";
next;
switch( select( ( .Created )?"Join Game[ ^FF0000"+.No+"vs"+.No+"^000000 ]":"Create Game",
                ( ( getgmlevel() >= .GMLevel ) && .Created )?"^FF0000Remove Game^000000":"" )){

Case 1:
    switch( .Created ){
        Case 0:
            getpartymember getcharid(1),1;
            if( getcharid(0) != getpartyleader( getcharid(1),2 ) || !getcharid(1) ){
                mes "Sorry, but only a ^FF0000Party Leader^000000 can register a game here.";
            }else{
                mes "How many Players for each Party Team ?";
                mes "Min = 1    Max = "+$@partymembercount;
                mes "Because you only have "+$@partymembercount+" member right now.";
                next;
                input .No,1,$@partymembercount;
                announce "[ "+.No+"vs"+.No+" Party Match ] created by "+strcharinfo(0)+", you may register to join.",0;
                set .Team[0],getcharid(1);
                set .Created,1;
            }
            close;
        Case 1:
            if( !.Team[1] && getcharid(1) == .Team[0] ){
                mes "Please wait for ^FF0000Team 2^000000 to Register.";
            }else{
                if( getcharid(0) != getpartyleader( getcharid(1),2 ) || !getcharid(1) ){
                    mes "Sorry, but only a ^FF0000Party Leader^000000 can register a game here.";
                    close;
                }
                getpartymember getcharid(1),1;
                if( $@partymembercount < .No ){
                    mes "You didnt have enough of "+.No+" Member for the Game.";
                    mes "You only have "+$@partymembercount+" Member.";
                }else{
                    mes "Confirm Registration ?";
                    if( select("Yes:No") == 1 ){
                        set .Team[1],getcharid(1);
                        set .Created,2;
                        setarray .Members[0],.No,.No;
                        for( set .@party,0; .@party < 2; set .@party,.@party + 1 ){
                            getpartymember .Team[.@party],1;
                            for( set .@i,0; .@i < .No; set .@i,.@i + 1 )
                                warpchar .Map$,0,0,$@partymembercid[.@i];
                        }
                        end;
                    }
                }
            }
            close;
        Case 2:
            mes "^FF0000The Game is in Progress.^000000";
            mes "[ A "+.No+" vs "+.No+" Game ]";
            mes "Team ^FF0000"+getpartyname( .Team[0] )+"^000000 vs Team ^FF0000"+getpartyname( .Team[1] )+"^000000 .";
            close;
        }
        close;
Case 2:
        mes "Done, Match will be terminated right away.";
        mapannounce .Map$,"Match has been Cancelled by a GM.",0;
        close2;
    OnReset:
        deletearray .Team[0],getarraysize( .Team );
        deletearray .Members[0],getarraysize( .Members );
        if( .Winner ){
            getpartymember .Winner,2;
            for( set .@i,0; .@i < .No; set .@i,.@i + 1 ){
                getitem 512,100,$@partymemberaid[.@i];
                getitem 607,1,$@partymemberaid[.@i];
            }
        set .Winner,0;
        }
        sleep2 2000;
        set .Created,0;
        mapwarp .Map$,"prontera",155,181;
        end;
}
close;
        
OnPCDieEvent:
OnPCLogoutEvent:
if( strcharinfo(3) == .Map$ && .Created ){
    for( set .@i,0; .@i < 2; set .@i,.@i + 1 )    
        if( getcharid(1) == .Team[.@i] )
            set .Members[.@i],.Members[.@i] - 1;
            
    if( .Members[0] < 1 ) set .Winner,.Team[1];
    else if( .Members[1] < 1 ) set .Winner,.Team[0];
            
    if( .Winner ){
        mapannounce .Map$,"Team "+getpartyname( .Winner )+" Win the "+.No+"vs"+.No+" Game.",0;
        donpcevent strnpcinfo(0)+"::OnReset";
    }else{
        warp "prontera",155,181;
    }
}
end;
                
OnInit:
set .GMLevel,100;
set .Map$,"pvp_y_1-1";
end;
}

the script say if you are the party leader you can see the option too

so what i did is just removing the party leader option

the original on line 6 is 

( ( getgmlevel() >= .GMLevel || getcharid(0) == getpartyleader( getcharid(1),2 ) )

after edit is

( ( getgmlevel() >= .GMLevel ) && .Created )

 

note that i did put a npc place so you need to change it :P

and change the gm level the original was set .GMLevel,80; at line 102 i did it 100 for test

Edited by sader1992
  • Upvote 1
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  48
  • Topics Per Day:  0.01
  • Content Count:  112
  • Reputation:   9
  • Joined:  11/20/13
  • Last Seen:  

2 hours ago, sader1992 said:

new_1-1,52,106,4	script	simple	622,{
mes "I am Party Match Manager.";
mes "Party Leader may create a PVP Match here.";
next;
switch( select( ( .Created )?"Join Game[ ^FF0000"+.No+"vs"+.No+"^000000 ]":"Create Game",
                ( ( getgmlevel() >= .GMLevel ) && .Created )?"^FF0000Remove Game^000000":"" )){

Case 1:
    switch( .Created ){
        Case 0:
            getpartymember getcharid(1),1;
            if( getcharid(0) != getpartyleader( getcharid(1),2 ) || !getcharid(1) ){
                mes "Sorry, but only a ^FF0000Party Leader^000000 can register a game here.";
            }else{
                mes "How many Players for each Party Team ?";
                mes "Min = 1    Max = "+$@partymembercount;
                mes "Because you only have "+$@partymembercount+" member right now.";
                next;
                input .No,1,$@partymembercount;
                announce "[ "+.No+"vs"+.No+" Party Match ] created by "+strcharinfo(0)+", you may register to join.",0;
                set .Team[0],getcharid(1);
                set .Created,1;
            }
            close;
        Case 1:
            if( !.Team[1] && getcharid(1) == .Team[0] ){
                mes "Please wait for ^FF0000Team 2^000000 to Register.";
            }else{
                if( getcharid(0) != getpartyleader( getcharid(1),2 ) || !getcharid(1) ){
                    mes "Sorry, but only a ^FF0000Party Leader^000000 can register a game here.";
                    close;
                }
                getpartymember getcharid(1),1;
                if( $@partymembercount < .No ){
                    mes "You didnt have enough of "+.No+" Member for the Game.";
                    mes "You only have "+$@partymembercount+" Member.";
                }else{
                    mes "Confirm Registration ?";
                    if( select("Yes:No") == 1 ){
                        set .Team[1],getcharid(1);
                        set .Created,2;
                        setarray .Members[0],.No,.No;
                        for( set .@party,0; .@party < 2; set .@party,.@party + 1 ){
                            getpartymember .Team[.@party],1;
                            for( set .@i,0; .@i < .No; set .@i,.@i + 1 )
                                warpchar .Map$,0,0,$@partymembercid[.@i];
                        }
                        end;
                    }
                }
            }
            close;
        Case 2:
            mes "^FF0000The Game is in Progress.^000000";
            mes "[ A "+.No+" vs "+.No+" Game ]";
            mes "Team ^FF0000"+getpartyname( .Team[0] )+"^000000 vs Team ^FF0000"+getpartyname( .Team[1] )+"^000000 .";
            close;
        }
        close;
Case 2:
        mes "Done, Match will be terminated right away.";
        mapannounce .Map$,"Match has been Cancelled by a GM.",0;
        close2;
    OnReset:
        deletearray .Team[0],getarraysize( .Team );
        deletearray .Members[0],getarraysize( .Members );
        if( .Winner ){
            getpartymember .Winner,2;
            for( set .@i,0; .@i < .No; set .@i,.@i + 1 ){
                getitem 512,100,$@partymemberaid[.@i];
                getitem 607,1,$@partymemberaid[.@i];
            }
        set .Winner,0;
        }
        sleep2 2000;
        set .Created,0;
        mapwarp .Map$,"prontera",155,181;
        end;
}
close;
        
OnPCDieEvent:
OnPCLogoutEvent:
if( strcharinfo(3) == .Map$ && .Created ){
    for( set .@i,0; .@i < 2; set .@i,.@i + 1 )    
        if( getcharid(1) == .Team[.@i] )
            set .Members[.@i],.Members[.@i] - 1;
            
    if( .Members[0] < 1 ) set .Winner,.Team[1];
    else if( .Members[1] < 1 ) set .Winner,.Team[0];
            
    if( .Winner ){
        mapannounce .Map$,"Team "+getpartyname( .Winner )+" Win the "+.No+"vs"+.No+" Game.",0;
        donpcevent strnpcinfo(0)+"::OnReset";
    }else{
        warp "prontera",155,181;
    }
}
end;
                
OnInit:
set .GMLevel,100;
set .Map$,"pvp_y_1-1";
end;
}

the script say if you are the party leader you can see the option too

so what i did is just removing the party leader option

the original on line 6 is 


( ( getgmlevel() >= .GMLevel || getcharid(0) == getpartyleader( getcharid(1),2 ) )

after edit is


( ( getgmlevel() >= .GMLevel ) && .Created )

 

note that i did put a npc place so you need to change it :P

and change the gm level the original was set .GMLevel,80; at line 102 i did it 100 for test

Many thanks friend! It worked out right here. :D

Link to comment
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.   Paste as plain text instead

  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.

×
×
  • Create New...