Jump to content
  • 0

Putting Specific position Party Vs party script


iamjhigz

Question


  • Group:  Members
  • Topic Count:  8
  • Topics Per Day:  0.00
  • Content Count:  28
  • Reputation:   1
  • Joined:  08/12/17
  • Last Seen:  

Does anyone knows how to put specific position like in BGM KVM map. Thanks in advance. GoD of Scripter. 
i tried to do it. but my skills aren't enough.
I dont own the script just saw it on rathena. Credits to the owner.
    bg_warp $@KvM01BG_id1,"bat_c01",53,128;
    bg_warp $@KvM01BG_id2,"bat_c01",146,55;
 

firstcity,218,209,5    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$,"firstcity",216,204;
        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$,"bat_c01";
end;
}


 

Edited by Patskie
codebox
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2346
  • Joined:  10/28/11
  • Last Seen:  

for( set .@party,0; .@party < 2; set .@party,.@party + 1 ){
    getpartymember .Team[0],1;
    for( set .@i,0; .@i < .No; set .@i,.@i + 1 )
        warpchar .Map$,0,0,$@partymembercid[.@i];
}

change into

    getpartymember .Team[0],1;
    for( set .@i,0; .@i < .No; set .@i,.@i + 1 )
        warpchar .Map$,0,0,$@partymembercid[.@i]; // <-- edit the coordiate team 1
    getpartymember .Team[1],1;
    for( set .@i,0; .@i < .No; set .@i,.@i + 1 )
        warpchar .Map$,0,0,$@partymembercid[.@i]; // <-- edit the coordiate team 2

 

Edited by Emistry
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...