Jump to content
  • 0

Hi can Fix This Script?please


jacky

Question


  • Group:  Members
  • Topic Count:  26
  • Topics Per Day:  0.01
  • Content Count:  51
  • Reputation:   0
  • Joined:  05/23/14
  • Last Seen:  

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.
Link to comment
Share on other sites

2 answers to this question

Recommended Posts


  • Group:  Forum Moderator
  • Topic Count:  33
  • Topics Per Day:  0.01
  • Content Count:  1268
  • Reputation:   382
  • Joined:  02/03/12
  • Last Seen:  

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.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  26
  • Topics Per Day:  0.01
  • Content Count:  51
  • Reputation:   0
  • Joined:  05/23/14
  • Last Seen:  

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

 


 

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...