joelolopez Posted April 25, 2013 Posted April 25, 2013 party vs party match lets say 3 vs 3 if a member dies he will stay dead and after (n) secs he will be automaticaly resurected full hp/sp in order to win: the opposing team must kill the whole party before they got resurected again the whole party of the winning team will receive random prizes Quote
Capuche Posted April 26, 2013 Posted April 26, 2013 Try this - EDIT : please take the last script - Put your setting at the end of the script. 1 Quote
joelolopez Posted April 26, 2013 Author Posted April 26, 2013 (edited) WOW capuche your awesome i love it!!! sir capuche can you add something on this script -disqualification system (for those who leave the map) because of this case: when the other "killed members" left the event map the other members left inside still resurrected again and again whenever they are killed and thats why the script cant decide whos party is the winner Edited April 26, 2013 by joelolopez Quote
Hades03 Posted April 26, 2013 Posted April 26, 2013 Capuchin the mapflagnosave prontera I need to change that to my event map or what? Quote
1 Capuche Posted April 26, 2013 Posted April 26, 2013 @joelolopez I totally mess this part.. thanks ! prontera,150,145,5 script register 56,{ function isreq; callsub L_check; select( "Register ?" ); if( !getcharid(1) ) { mes "you're not in a party"; close; } else if( .party1 == getcharid(1) || .party2 == getcharid(1) ) { mes "you're already on my list"; close; } getpartymember getcharid(1); if( $@partymembercount != .count_req || !instance_check_party( getcharid(1),.count_req ) ) { mes "you need "+ .count_req +" players online in your party"; close; } callsub L_check; if( !.party2 ) .party2 = getcharid(1); else .party1 = getcharid(1); dispbottom "your party is now on my list"; if( !.party1 || !.party2 ) end; .start = 1; warpparty .map_event$, 0,0, .party1; warpparty .map_event$, 0,0, .party2; initnpctimer; end; OnPCKillEvent: .@self = getcharid(3); .@killed = killedrid; .@is_reg = isreq(); attachrid( .@killed ); if( !isreq() ) end; getpartymember getcharid(1),1; getpartymember getcharid(1),2; for( .@i = 0; .@i < $@partymembercount; .@i++ ) { if( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { attachrid( $@partymemberaid[.@i] ); sleep2 1; if( strcharinfo(3) == .map_event$ ) { .@is_online += 1; if( Hp < 1 ) .@count += 1; } } } if( .@is_online != .@count ) { attachrid( .@killed ); sleep2( .wait * 1000 ); atcommand "@alive"; end; } else if( !.@is_reg ) end; attachrid( .@self ); sleep2 2; announce "team "+ getpartyname( getcharid(1) ) +" win the event !", 0; getpartymember getcharid(1); getpartymember getcharid(1),1; getpartymember getcharid(1),2; for( .@i = 0; .@i < $@partymembercount; .@i++ ) if( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { getmapxy .@map$, .@x, .@y, 0, $@partymembername$[.@i]; if( .@map$ == .map_event$ ) getitem .item_id, .item_count, $@partymemberaid[.@i]; } stopnpctimer; sleep 3000; OnTimer300000: // 5 min then end of event .start = .party1 = .party2 = 0; mapwarp .map_event$,"prontera",0,0; end; L_check: if( .start ) end; else if( getpartyname( .party1 ) == "null" ) .party1 = 0; else if( getpartyname( .party2 ) == "null" ) .party2 = 0; else if( getpartyname( .party1 ) != "null" ) { getpartymember .party1; if( $@partymembercount != .count_req || !instance_check_party( .party1,.count_req ) ) .party1 = 0; } else if( getpartyname( .party2 ) != "null" ) { getpartymember .party2; if( $@partymembercount != .count_req || !instance_check_party( .party2,.count_req ) ) .party2 = 0; } return; function isreq { if( strcharinfo(3) == .map_event$ && .start && ( getcharid(1) == .party1 || getcharid(1) == .party2 ) ) return 1; return 0; } OnInit: .map_event$ = "geffen"; // your event map .count_req = 1; // count required in the party to start the event .wait = 20; // time in secs to be rezu .item_id = 501; // item id gained .item_count = 1; // item count gained setmapflag .map_event$,mf_noteleport; setmapflag .map_event$,mf_nowarp; setmapflag .map_event$,mf_nowarpto; setmapflag .map_event$,mf_nomemo; setmapflagnosave .map_event$,"prontera",0,0; setmapflag .map_event$,mf_partylock; setmapflag .map_event$,mf_pvp; end; } Now those who leave the event map are not in the killed list + can't gain a reward. Capuchin the mapflagnosave prontera I need to change that to my event map or what? No don't touch the map name in the mapflag. Just change the setting : .map_event$ = "geffen"; // your event map .count_req = 1; // count required in the party to start the event .wait = 20; // time in secs to be rezu .item_id = 501; // item id gained .item_count = 1; // item count gained 2 Quote
Help-Help Posted April 26, 2013 Posted April 26, 2013 ty ty and if i want to ladn the party 1 here guild_vs1 59 65 and party 2 here guild_vs1 25 96 Quote
Capuche Posted April 26, 2013 Posted April 26, 2013 ty ty and if i want to ladn the party 1 here guild_vs1 59 65 and party 2 here guild_vs1 25 96 Then change the setting for your event map here : OnInit: .map_event$ = "geffen"; // your event map geffen -> guild_vs1 Change the xY for party 1 and 2 in (instead of 0,0 ) warpparty .map_event$, 0,0, .party1; warpparty .map_event$, 0,0, .party2; Quote
Capuche Posted April 26, 2013 Posted April 26, 2013 and why i can kill my party member? Because of the mapflag pvp_noparty on your event map. Check your conf/mapflag/pvp_noparty.txt, by default this mapflag is enabled on guild_vs1 //===== Description: =========================================//= Ignores party alliances on PvP-enabled maps. Quote
joelolopez Posted April 26, 2013 Author Posted April 26, 2013 tnx sir capuche, im going to test this and i going to update you sir if theres still need to be fix 100% working sir!!!! no problems encountered!!! u r super sir capuche!!! i think im going to cry sir question .item_id = 501; // item id gained <<< is this an array?can i make it like this?to make it random ? its either 501 or 502 the prize you will receive? .item_id = 501,502; // item id gained Quote
Help-Help Posted April 27, 2013 Posted April 27, 2013 Dude capuche the script super good but can add some mes how to play rules etc hehehehe Quote
Capuche Posted April 27, 2013 Posted April 27, 2013 @joelolopez .item_id = 501; // item id gained <<< is this an array?can i make it like this?to make it random ? its either 501 or 502 the prize you will receive? is not an array. prontera,150,145,5 script register 56,{ function isreq; callsub L_check; if( select( "Register ?", "Informations" ) == 2 ) { mes "info blablabla fill it as your content"; close; } if( !getcharid(1) ) { mes "you're not in a party"; close; } else if( .party1 == getcharid(1) || .party2 == getcharid(1) ) { mes "you're already on my list"; close; } getpartymember getcharid(1); if( $@partymembercount != .count_req || !instance_check_party( getcharid(1),.count_req ) ) { mes "you need "+ .count_req +" players online in your party"; close; } callsub L_check; if( !.party2 ) .party2 = getcharid(1); else .party1 = getcharid(1); dispbottom "your party is now on my list"; if( !.party1 || !.party2 ) end; .start = 1; warpparty .map_event$, 0,0, .party1; warpparty .map_event$, 0,0, .party2; initnpctimer; end; OnPCKillEvent: .@self = getcharid(3); .@killed = killedrid; .@is_reg = isreq(); attachrid( .@killed ); if( !isreq() ) end; getpartymember getcharid(1),1; getpartymember getcharid(1),2; for( .@i = 0; .@i < $@partymembercount; .@i++ ) { if( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { attachrid( $@partymemberaid[.@i] ); sleep2 1; if( strcharinfo(3) == .map_event$ ) { .@is_online += 1; if( Hp < 1 ) .@count += 1; } } } if( .@is_online != .@count ) { attachrid( .@killed ); sleep2( .wait * 1000 ); atcommand "@alive"; end; } else if( !.@is_reg ) end; attachrid( .@self ); sleep2 2; announce "team "+ getpartyname( getcharid(1) ) +" win the event !", 0; getpartymember getcharid(1); getpartymember getcharid(1),1; getpartymember getcharid(1),2; for( .@i = 0; .@i < $@partymembercount; .@i++ ) if( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { getmapxy .@map$, .@x, .@y, 0, $@partymembername$[.@i]; if( .@map$ == .map_event$ ) { for( .@j = 0; .@j < .size_reward; .@j++ ) getitem .item_id[.@j], .item_count[.@j], $@partymemberaid[.@i]; } } stopnpctimer; sleep 3000; OnTimer300000: // 5 min then end of event .start = .party1 = .party2 = 0; mapwarp .map_event$,"prontera",0,0; end; L_check: if( .start ) end; else if( getpartyname( .party1 ) == "null" ) .party1 = 0; else if( getpartyname( .party2 ) == "null" ) .party2 = 0; else if( getpartyname( .party1 ) != "null" ) { getpartymember .party1; if( $@partymembercount != .count_req || !instance_check_party( .party1,.count_req ) ) .party1 = 0; } else if( getpartyname( .party2 ) != "null" ) { getpartymember .party2; if( $@partymembercount != .count_req || !instance_check_party( .party2,.count_req ) ) .party2 = 0; } return; function isreq { if( strcharinfo(3) == .map_event$ && .start && ( getcharid(1) == .party1 || getcharid(1) == .party2 ) ) return 1; return 0; } OnInit: .map_event$ = "geffen"; // your event map .count_req = 1; // count required in the party to start the event .wait = 20; // time in secs to be rezu setarray .item_id, 501; // item id array gained setarray .item_count, 1; // item count array gained - must be same size of .item_id array // Don't touch this part // --------------------- .size_reward = getarraysize( .item_id ); setmapflag .map_event$,mf_noteleport; setmapflag .map_event$,mf_nowarp; setmapflag .map_event$,mf_nowarpto; setmapflag .map_event$,mf_nomemo; setmapflagnosave .map_event$,"prontera",0,0; setmapflag .map_event$,mf_partylock; setmapflag .map_event$,mf_pvp; end; } I include a reward array in this one. Dude capuche the script super good but can add some mes how to play rules etc hehehehe I add a information menu in the script of this post. But you must fill out... it's your homework xD Quote
joelolopez Posted April 27, 2013 Author Posted April 27, 2013 sir capuche what does the item count do? if i set the configuration like this setarray .item_id, 501,502; setarray .item_count, 1,3; will ite give (1x) 501 item (3x) 502 item? Quote
joelolopez Posted April 27, 2013 Author Posted April 27, 2013 once again sir capuche, thanks for making my requested script possible Quote
joelolopez Posted May 2, 2013 Author Posted May 2, 2013 dude find this line .count_req = 1; // count required in the party to start the event change 1 to 3 .count_req = 3; // count required in the party to start the event 1 Quote
Drakkus Posted May 7, 2013 Posted May 7, 2013 Some suggestions, how do player know if someone is already in REGISTERED? possible? to make it expiration in 5minutes? so that another Party can register the said EVENT? so basically this one is first come first serve? Please correct me if i'm wrong. Thank you! Quote
Question
joelolopez
party vs party match
lets say 3 vs 3
if a member dies he will stay dead
and after (n) secs he will be automaticaly resurected full hp/sp
in order to win:
the opposing team must kill
the whole party before they got resurected again
the whole party of the winning team will receive
random prizes
17 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.