Yami Posted July 24, 2015 Group: Members Topic Count: 35 Topics Per Day: 0.01 Content Count: 111 Reputation: 2 Joined: 01/02/14 Last Seen: June 4, 2023 Share Posted July 24, 2015 Hi there, I need help making this script not autoresurecting dead players. I plan on making this BG more like WOE, but when you die. You just stay dead, do not ressurect or anything. I will block resu skill on the map. I just dont know what to change to make this script not ressurecting dead players. Thanks in advance. //===== rAthena Script ======================================= //= Battleground: Emperium //===== By: ================================================== //= AnnieRuru //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= A simple battleground script: //= Destroy the opponent's Emperium to win the match. //===== Additional Comments: ================================= //= 1.0 First version, edited. [Euphy] //============================================================ // Battle Ground HQ - script Maroll Battle Recruiter::BatRecruit 728,{ mes " [Maroll Battle Recruiter]"; mes " Good day, adventurer."; mes " I'm a knight from a far country called Maroll Kingdom."; next; mes " [Maroll Battle Recruiter]"; mes " The two princes of the kingdom are now battling for the throne of Maroll, and are in need of experienced soldiers like you."; mes " How would you like to lend your power to one of the princes in the Maroll Kingdom?"; next; switch(select("Join:Don't Join")) { case 1: mes "[Maroll Battle Recruiter]"; mes "May the war god bless you."; close2; getmapxy(.@mapname$,.@x,.@y,1); if (.@mapname$ == "prontera") set bat_return,1; else if (.@mapname$ == "moc_ruins") set bat_return,2; else if (.@mapname$ == "aldebaran") set bat_return,3; else if (.@mapname$ == "geffen") set bat_return,4; else if (.@mapname$ == "payon") set bat_return,5; else if (.@mapname$ == "lighthalzen") set bat_return,6; else if (.@mapname$ == "rachel") set bat_return,7; else set bat_return,1; warp "bat_room",154,150; break; case 2: mes " [Maroll Battle Recruiter]"; mes " I'll always be stationed here for more soldiers. Feel free to come back whenever you're interested."; close; } end; } prontera,164,184,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit1 728 moc_ruins,75,162,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit2 728 aldebaran,146,109,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit3 728 geffen,109,66,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit4 728 payon,189,105,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit5 728 lighthalzen,153,86,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit6 728 rachel,149,138,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit7 728 // Script Start - script bg_emp#control -1,{ OnInit: .minplayer2start = 5; // minimum players to start (ex. if 3vs3, set to 3) .eventlasting = 5*60; // event duration before auto-reset (20 minutes * seconds) setarray .rewarditem[0], // rewards for the winning team: <item>,<amount>,... 7773,5; .team1name$ = "Red"; .team2name$ = "Blue"; end; OnStart: if ( getwaitingroomstate( 0, .rednpcname$ ) < .minplayer2start || getwaitingroomstate( 0, .bluenpcname$ ) < .minplayer2start ) end; // create Battleground and teams .red = waitingroom2bg( "bat_a01", 176,345, strnpcinfo(0)+"::OnRedQuit", strnpcinfo(0)+"::OnRedDead", .rednpcname$ ); copyarray .team1aid, $@arenamembers, $@arenamembersnum; .team1count = .minplayer2start; .blue = waitingroom2bg( "bat_a01", 167,50, strnpcinfo(0)+"::OnBlueQuit", strnpcinfo(0)+"::OnBlueDead", .bluenpcname$ ); copyarray .team2aid, $@arenamembers, $@arenamembersnum; .team2count = .minplayer2start; delwaitingroom .rednpcname$; delwaitingroom .bluenpcname$; disablenpc .rednpcname$; disablenpc .bluenpcname$; setwall "bat_a01", 164,347, 6, 4, 0, "bg_emp_town_red"; setwall "bat_a01", 154,51, 6, 4, 0, "bg_emp_town_blue"; bg_warp .red, "bat_a01", 171,346; bg_warp .blue, "bat_a01", 162,50; bg_updatescore "bat_a01", 0, 0; // delay before match begins sleep 6000; mapannounce "bat_a01", "The rules are simple. The first team to break the opponent's Emperium wins!", bc_map; sleep 3000; for ( .@i = 5; .@i > 0; .@i-- ) { mapannounce "bat_a01", "["+ .@i +"]", bc_map; sleep 1000; } mapannounce "bat_a01", "Start!", bc_map; // spawn Emperiums bg_monster .red,"bat_a01",171,346, "--ja--",1915, strnpcinfo(3)+"::OnRedDown"; bg_monster .blue,"bat_a01",162,50, "--ja--",1914, strnpcinfo(3)+"::OnBlueDown"; delwall "bg_emp_town_red"; delwall "bg_emp_town_blue"; // match duration sleep .eventlasting * 1000; // end match, destroy Battleground, reset NPCs killmonster "bat_a01", strnpcinfo(3)+"::OnRedDown"; killmonster "bat_a01", strnpcinfo(3)+"::OnBlueDown"; if ( .winside ) { mapannounce "bat_a01", "- "+ getd( ".team"+ .winside +"name$" ) +" Team is victorious! -", bc_map; for ( .@i = 0; .@i < getd(".team"+ .winside +"count"); .@i++ ) getitem .rewarditem[0], .rewarditem[1], getd(".team"+ .winside +"aid["+ .@i +"]" ); } else mapannounce "bat_a01", "- The match has ended in a draw! -", bc_map; sleep 5000; bg_warp .red, "bat_room",154,150; bg_warp .blue, "bat_room",154,150; bg_destroy .red; bg_destroy .blue; delwall "bg_emp_town_red"; delwall "bg_emp_town_blue"; deletearray .team1aid; deletearray .team2aid; .winside = .team1count = .team2count = 0; enablenpc .rednpcname$; enablenpc .bluenpcname$; donpcevent .rednpcname$ +"::OnStart"; donpcevent .bluenpcname$ +"::OnStart"; end; // Emperium destroyed OnRedDown: callsub L_EmpDown, 1, 2; OnBlueDown: callsub L_EmpDown, 2, 1; L_EmpDown: mapannounce "bat_a01", strcharinfo(0) +" has destroyed "+ getd( ".team"+ getarg(0) +"name$" ) +" Team's Emperium.", bc_map; .winside = getarg(1); awake strnpcinfo(0); end; // "OnDeath" event OnRedDead: OnBlueDead: sleep2 1250; percentheal 100,100; specialeffect2 EF_INCAGILITY; sc_start SC_INCREASEAGI,240000,10; specialeffect2 EF_BLESSING; sc_start SC_BLESSING,240000,10; end; // "OnQuit" event OnRedQuit: callsub L_Quit, 1, 2; OnBlueQuit: callsub L_Quit, 2, 1; L_Quit: percentheal 100, 100; while ( getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ) != getcharid(3) && .@i < getd(".team"+ getarg(0) +"count") ) .@i++; deletearray getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ), 1; setd ".team"+ getarg(0) +"count", getd(".team"+ getarg(0) +"count") -1; if ( getd(".team"+ getarg(0) +"count") ) end; mapannounce "bat_a01", "All "+ getd( ".team"+ getarg(0) +"name$" ) +" team members have quit!", bc_map, 0xff3333; end; } bat_room,161,155,3 script Red Team#bg_emp 416,{ end; OnInit: sleep 1; set getvariableofnpc( .rednpcname$, "bg_emp#control" ), strnpcinfo(0); OnStart: waitingroom "Red Team", getvariableofnpc( .minplayer2start, "bg_emp#control" ) +1, "bg_emp#control::OnStart", getvariableofnpc( .minplayer2start, "bg_emp#control" ); end; } bat_room,161,145,3 script Blue Team#bg_emp 420,{ end; OnInit: sleep 1; set getvariableofnpc( .bluenpcname$, "bg_emp#control" ), strnpcinfo(0); OnStart: waitingroom "Blue Team", getvariableofnpc( .minplayer2start, "bg_emp#control" ) +1, "bg_emp#control::OnStart", getvariableofnpc( .minplayer2start, "bg_emp#control" ); end; } bat_a01 mapflag battleground bat_a01 mapflag nosave SavePoint bat_a01 mapflag nowarp bat_a01 mapflag nowarpto bat_a01 mapflag noteleport bat_a01 mapflag nomemo bat_a01 mapflag nopenalty bat_a01 mapflag nobranch bat_a01 mapflag noicewall Quote Link to comment Share on other sites More sharing options...
Stolao Posted July 24, 2015 Group: Developer Topic Count: 48 Topics Per Day: 0.01 Content Count: 1443 Reputation: 344 Joined: 10/17/12 Last Seen: Sunday at 01:58 PM Share Posted July 24, 2015 change // "OnDeath" event OnRedDead: OnBlueDead: sleep2 1250; percentheal 100,100; specialeffect2 EF_INCAGILITY; sc_start SC_INCREASEAGI,240000,10; specialeffect2 EF_BLESSING; sc_start SC_BLESSING,240000,10; end; to // "OnDeath" event OnRedDead: OnBlueDead: sleep2 1250; percentheal 100,100; warp "SavePoint",0,0; end; Quote Link to comment Share on other sites More sharing options...
Yami Posted July 24, 2015 Group: Members Topic Count: 35 Topics Per Day: 0.01 Content Count: 111 Reputation: 2 Joined: 01/02/14 Last Seen: June 4, 2023 Author Share Posted July 24, 2015 @staolao is warping to save point dead players won't stop the BG? i think it has a script for players who quit the map Quote Link to comment Share on other sites More sharing options...
Question
Yami
Hi there, I need help making this script not autoresurecting dead players.
I plan on making this BG more like WOE, but when you die. You just stay dead, do not ressurect or anything. I will block resu skill on the map.
I just dont know what to change to make this script not ressurecting dead players. Thanks in advance.
Link to comment
Share on other sites
2 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.