Jump to content
  • 0

Hi can Fix This Script?please


Question

Posted (edited)

prontera,164,191,4    script    3v3    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";
                mes "Because you only have "+$@partymembercount+" member right now.";
                next;
                input .No,3;
                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 22555,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$,"guild_vs1";
end;
}

script works

problem just

all party spawn in random place,

the prize i want use this

n if party got recall from npc , i want all got dispel frist

// Prize
bat_b01,9,290,4    script    Prize    822,3,3,{

OnTouch:
percentheal 100,100;
    sc_end SC_All;
    mes "[Mr. Prize]";
    mes "Write your Character name (Exact Name pls)";
    next;
    input .@name$;
    if(.@name$ != strcharinfo(0)) {
        mes "[Mr. Prize]";
        mes "Are you sure of your name?";
        goto OnTouch;
    }
    getitem 22555,2;
    warp "prontera",156,176;    
    close;
}
//--------------------------
//== Mapflags ==============
bat_b01    mapflag    nobranch
bat_b01    mapflag    nomemo
bat_b01    mapflag    nopenalty
bat_b01    mapflag    noreturn
bat_b01    mapflag    noteleport
bat_b01    mapflag    nowarp
bat_b01    mapflag    nowarpto
bat_b01    mapflag    noicewall

guild_vs1    mapflag    nobranch
guild_vs1    mapflag    nomemo
guild_vs1    mapflag    nopenalty
guild_vs1    mapflag    noreturn
guild_vs1    mapflag    noteleport
guild_vs1    mapflag    nowarp
guild_vs1    mapflag    nowarpto
guild_vs1    mapflag    noicewall

please fix it

thx master

 

disable ygg n got remove all buffer

Edited by Skorm
Seperated Codebox to view inside text.

2 answers to this question

Recommended Posts

Posted
prontera,164,191,4    script    3v3    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";
                mes "Because you only have "+$@partymembercount+" member right now.";
                next;
                input .No,3;
                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 didn't 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$,.party_x[.@party],.party_y[.@party],$@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 .prize_id,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$,"guild_vs1";
//                 Team 1| Team 2
setarray .party_x, 50    , 100   ;
setarray .party_y, 50    , 100   ;
set .prize_id, 22555;
end;
}

Fixed the random warp thing...

 

I can't really understand what you're asking for the other parts.

Posted

can u make it winner take prize must go here n enter the name?

 

 

// Prize
bat_b01,9,290,4 script Prize 822,3,3,{

OnTouch:
percentheal 100,100;
sc_end SC_All;
mes "[Mr. Prize]";
mes "Write your Character name (Exact Name pls)";
next;
input .@name$;
if(.@name$ != strcharinfo(0)) {
mes "[Mr. Prize]";
mes "Are you sure of your name?";
goto OnTouch;
}
getitem 22555,2;
warp "prontera",156,176;
close;
}
//--------------------------
//== Mapflags ==============
bat_b01 mapflag nobranch
bat_b01 mapflag nomemo
bat_b01 mapflag nopenalty
bat_b01 mapflag noreturn
bat_b01 mapflag noteleport
bat_b01 mapflag nowarp
bat_b01 mapflag nowarpto
bat_b01 mapflag noicewall

guild_vs1 mapflag nobranch
guild_vs1 mapflag nomemo
guild_vs1 mapflag nopenalty
guild_vs1 mapflag noreturn
guild_vs1 mapflag noteleport
guild_vs1 mapflag nowarp
guild_vs1 mapflag nowarpto
guild_vs1 mapflag noicewall

 


 

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...