Jump to content
  • 0

Help with BattleGround Team DeathMatch


nadiros

Question


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  22
  • Reputation:   0
  • Joined:  01/31/13
  • Last Seen:  

Hello all


I am using Flavius Team Deathmatch, just wondering why the score won't decrease when someone (croix or guillaume) has been killed? the score still the same and i have 0 error i dont know how to fix that :/


I use this script and i have eAthena version 15228 :



// ==============================================================================
// BattleGround System - Flavius TD - Flavius Team Deathmatch
// ==============================================================================
// By Suke / s4zuk3
// ==============================================================================
// Registration NPC's
// *********************************************************************

bat_room,253,97,4 script Registration::Fl1R_Guillaume 418,{
end;
OnInit:
waitingroom "Battle Station 10 Players",10,"Flavius_BG1::OnGuillaumeJoin",1;
end;
OnEnterBG:
set $@FlaviusBG1_id1, waitingroom2bg("bat_b01",390,10,"Flavius_BG1::OnGuillaumeQuit","");
end;
}

bat_room,253,74,0 script Registration::Fl1R_Croix 414,{
end;
OnInit:
waitingroom "Battle Station 10 Players",10,"Flavius_BG1::OnCroixJoin",1;
end;
OnEnterBG:
set $@FlaviusBG1_id2, waitingroom2bg("bat_b01",10,290,"Flavius_BG1::OnCroixQuit","");
end;
}

// Battleground Engine
// *********************************************************************

- script Flavius_BG1 -1,{
end;

OnInit:
disablenpc "Guillaume Vintenar#fl1";
disablenpc "Croix Vintenar#fl1";
disablenpc "Therapist in battle#fl11";
disablenpc "Therapist in battle#fl12";
end;

OnGuillaumeQuit:
OnCroixQuit:
if($@FlaviusBG1 != 1) {end;}
if(Bat_Team == 2) {
for(set .@i,0; .@i < getarraysize($@bg_red$); set .@i,.@i+1){
if($@bg_red$[.@i] == strcharinfo(0)) {break;}
}
deletearray $@bg_red$[.@i],1;
set $@td_a,$@td_a-1;
end;
} else if(Bat_Team == 1) {
for(set .@i,0; .@i < getarraysize($@bg_blue$); set .@i,.@i+1){
if($@bg_blue$[.@i] == strcharinfo(0)) {break;}
}
deletearray $@bg_blue$[.@i],1;
set $@td_b,$@td_b-1;
end;
}
else { end; }
end;

OnGuillaumeJoin:
OnCroixJoin:
if( $@FlaviusBG1 == 1 ){
if( $@Guill < 30 && $@Croi < 30){
set .@Guillaume, getwaitingroomstate(0,"Fl1R_Guillaume");
set .@Croix, getwaitingroomstate(0,"Fl1R_Croix");
if (.@Guillaume!=0 && .@Croix!=0){
set $@Guill, ($@Guill + 1);
set $@Croi, ($@Croi + 1);
waitingroom2bg_single($@FlaviusBG1_id1,"bat_b01",311,224,"Fl1R_Guillaume");
waitingroom2bg_single($@FlaviusBG1_id2,"bat_b01",87,75,"Fl1R_Croix");
mapannounce "bat_room","Battleground -- Flavius Team Deathmatch [80-99] G: " + $@Guill + "/30, C: " + $@Croi + "/30 in Progress!!",1,0x006400;
end;
}
}
}

if( $@FlaviusBG1 == 0 ){
donpcevent "Flavius_BG1::OnReadyCheck";
end;
}

OnReadyCheck:
if( $@FlaviusBG1 )
end;
set .@Guillaume, getwaitingroomstate(0,"Fl1R_Guillaume");
set .@Croix, getwaitingroomstate(0,"Fl1R_Croix");

if( .@Guillaume < 10 || .@Croix < 10 ){

if( .@Guillaume >=4 && .@Croix >=4 && !agitcheck() && $@FLTD_Flood < gettimetick(2) )
{
announce "Battleground -- Flavius Team Deathmatch [80-99] G: " + .@Guillaume + "/10, C: " + .@Croix + "/10",bc_all,0x006400;
set $@FLTD_Flood, gettimetick(2) + 15;
end;
}
mapannounce "bat_room","Battleground -- Flavius Team Deathmatch [80-99] G: " + .@Guillaume + "/10, C: " + .@Croix + "/10",1,0x006400;
end;
}
//

// BG Variables
set $@FlaviusBG1, 1;
set $@FlaviusBG1_Victory, 0;
set .Guillaume_Score, 99;
set .Croix_Score, 99;
// Prepare NPC
donpcevent "#gfl1_respawn::OnBGStart";
donpcevent "#cfl1_respawn::OnBGStart";
donpcevent "#fltd_regroup::OnBGStart";
enablenpc "Therapist in battle#fl11";
enablenpc "Therapist in battle#fl12";
disablenpc "Guillaume Vintenar#fl1";
disablenpc "Croix Vintenar#fl1";
// Build and Warp Teams
donpcevent "Fl1R_Guillaume::OnEnterBG";
donpcevent "Fl1R_Croix::OnEnterBG";
// Vamos contando :3
set $@Guill, 10;
set $@Croi, 10;
announce "Battleground -- Flavius Team Deathmatch [80-99] has started!",0,0x006400;
initnpctimer;
// Death!!

OnRoundStart:
if( $@FlaviusBG1 != 1 ) end;
bg_updatescore "bat_b01",.Guillaume_Score,.Croix_Score;
areapercentheal "bat_b01",382,2,397,17,100,100;
areapercentheal "bat_b01",2,282,17,297,100,100;
bg_warp $@FlaviusBG1_id1,"bat_b01",311,224;
bg_warp $@FlaviusBG1_id2,"bat_b01",87,75;
sleep 2000;
if( $@FlaviusBG1 != 1 ) end;
mapannounce "bat_b01","The Battle of Flavius Team Deathmatch has begun!!",1,0x006400;
bg_updatescore "bat_b01",.Guillaume_Score,.Croix_Score;
end;

OnPCDieEvent:
if( $@FlaviusBG1 == 1 )
{
getmapxy (mapname$,.@mapx,.@mapy,0,strcharinfo(0));
if ( mapname$ != "bat_b01") end;
if( Bat_Team == 1) {
set .Croix_Score, .Croix_Score -1;
bg_updatescore "bat_b01",.Guillaume_Score,.Croix_Score;
if (.Croix_Score < 1) donpcevent "Flavius_BG1::OnCroixTDWin";
end;
}
if ( Bat_Team == 2) {
set .Guillaume_Score, .Guillaume_Score -1;
bg_updatescore "bat_b01",.Guillaume_Score,.Croix_Score;
if (.Guillaume_Score < 1) donpcevent "Flavius_BG1::OnGuillaumeTDWin";
end;
}
}
end;

OnGuillaumeTDWin:
set $@FlaviusBG1, 2;
set $@FlaviusBG1_Victory, 1;
mapannounce "bat_b01","The Guillaume Army has won the battle of Flavius Team Deathmatch",1,0x0000FF;
stopnpctimer;
sleep 2000;
donpcevent "Flavius_BG1::OnMatchEnd";
end;

OnCroixTDWin:
set $@FlaviusBG1, 2;
set $@FlaviusBG1_Victory, 2;
mapannounce "bat_b01","The Croix Army has won the battle of Flavius Team Deathmatch",1,0xFF0000;
stopnpctimer;
sleep 2000;
donpcevent "Flavius_BG1::OnMatchEnd";
end;

OnTimer900000:
if ($@FlaviusBG1 != 1) end;
mapannounce "bat_b01","Battle of Flavius Team Deathmatch will ends in 5 minutes",1,0x006400;
end;
OnTimer1140000:
if ($@FlaviusBG1 != 1) end;
mapannounce "bat_b01","Battle of Flavius Team Deathmatch will ends in 1 minute",1,0x006400;
end;

OnTimer1200000:
if ($@FlaviusBG1 != 1) end;
if( .Croix_Score > .Guillaume_Score )
{
mapannounce "bat_b01","The Croix army has won the Battle of Flavius Team Deathmatch!",1,0xFF0000;
donpcevent "Flavius_BG1::OnCroixTDWin";
}
else if( .Croix_Score < .Guillaume_Score )
{
mapannounce "bat_b01","The Guillaume army has won the Battle of Flavius Team Deathmatch!",1,0x0000FF;
donpcevent "Flavius_BG1::OnGuillaumeTDWin";
}
else
{
mapannounce "bat_b01","The Battle of Flavius Team Deathmatch is over. The time is out, this is a Tie",1,0x006400;
set $@FlaviusBG1, 2;
set $@FlaviusBG1_Victory, 3;
stopnpctimer;
sleep 2000;
}

OnMatchEnd:
donpcevent "#gfl1_respawn::OnBGStop";
donpcevent "#cfl1_respawn::OnBGStop";
donpcevent "#fltd_regroup::OnBGStop";
disablenpc "Therapist in battle#fl11";
disablenpc "Therapist in battle#fl12";
enablenpc "Guillaume Vintenar#fl1";
enablenpc "Croix Vintenar#fl1";
bg_warp $@FlaviusBG1_id1,"bat_b01",390,10;
bg_warp $@FlaviusBG1_id2,"bat_b01",10,290;
deletearray $@bg_red$;
deletearray $@bg_blue$;
set $@td_a,0;
set $@td_b,0;
sleep 3000;
mapannounce "bat_b01","Battle of Flavius Team Deathmatch will close in 1 minute!",1,0x006400;
initnpctimer;
end;

OnTimer30000:
if( $@FlaviusBG1 == 2 )
mapannounce "bat_b01","Battle of Flavius Team Deathmatch will close in 30 seconds!",1,0x006400;
end;
OnTimer50000:
if( $@FlaviusBG1 == 2 )
mapannounce "bat_b01","Battle of Flavius Team Deathmatch will close in 10 seconds!",1,0x006400;
end;

OnTimer60000:
if( $@FlaviusBG1 != 2 ) end;

OnReset:
stopnpctimer;
set .Guillaume_Score, 99;
set .Croix_Score, 99;
set $@FlaviusBG1_Victory, 0;
// NPC's
disablenpc "Guillaume Vintenar#fl1";
disablenpc "Croix Vintenar#fl1";
disablenpc "Therapist in battle#fl11";
disablenpc "Therapist in battle#fl12";
if( $@FlaviusBG1_id1 ) { bg_destroy $@FlaviusBG1_id1; set $@FlaviusBG1_id1, 0; }
if( $@FlaviusBG1_id2 ) { bg_destroy $@FlaviusBG1_id2; set $@FlaviusBG1_id2, 0; }
sleep 1000;
mapwarp "bat_b01","bat_room",155,150;
sleep 2000;
bg_updatescore "bat_b01",.Guillaume_Score,.Croix_Score;
set $@FlaviusBG1, 0;
donpcevent "Flavius_BG1::OnReadyCheck";
end;
}


// View oponentes en el mapa <3
- script viewtd -,{
end;
OnPCLoadMapEvent:
if($@FlaviusBG1 != 1) {end;}
if(Bat_Team == 2) {
getmapxy .@MAPNAME$,.@X,.@Y,0,strcharinfo(0);
while(.@MAPNAME$ == "bat_b01"){
if($@FlaviusBG1 != 1) {end;}
getmapxy .@MAPNAME$,.@X,.@Y,0,strcharinfo(0);
if(.@MAPNAME$ != "bat_b01") { end;}
for(set .@i,0; .@i < getarraysize($@bg_red$); set .@i,.@i+1){
if($@bg_red$[.@i] == strcharinfo(0)) { set .@ontd,1; break;}
}
if(.@ontd != 1) {
setarray $@bg_red$[$@td_a],strcharinfo(0);
set $@td_a,$@td_a+1; }
set .@j,0;
for (set .@i,0; .@i < getarraysize($@bg_blue$); set .@i,.@i+1){
set .@j,.@j+1;
getmapxy(.mapES$, .xI, .yI,0,$@bg_blue$[.@i]);
viewpoint 1,.xI,.yI,.@j,0x0000ff;
} // cierre for
sleep2 1000;
} // cierre while
} else if(Bat_Team == 1) {
getmapxy .@MAPNAME$,.@X,.@Y,0,strcharinfo(0);
while(.@MAPNAME$ == "bat_b01"){
if($@FlaviusBG1 != 1) {end;}
getmapxy .@MAPNAME$,.@X,.@Y,0,strcharinfo(0);
if(.@MAPNAME$ != "bat_b01") { end;}
for(set .@i,0; .@i < getarraysize($@bg_blue$); set .@i,.@i+1){
if($@bg_blue$[.@i] == strcharinfo(0)) { set .@ontd,1; break;}
}
if(.@ontd != 1) {
setarray $@bg_blue$[$@td_b],strcharinfo(0);
set $@td_b,$@td_b+1; }
set .@j,0;
for (set .@i,0; .@i < getarraysize($@bg_red$); set .@i,.@i+1){
set .@j,.@j+1;
getmapxy(.mapES$, .xE, .yE,0,$@bg_red$[.@i]);
viewpoint 1,.xE,.yE,.@j,0xff0000;
} // cierre for
sleep2 1000;
} // cierre while
}
else { end; }
}

// Battleground rewards
// *********************************************************************

bat_b01,390,13,5 script Guillaume Vintenar#fl1 419,{
if( $@FlaviusBG1_Victory )
{
if( $@FlaviusBG1_Victory == Bat_Team )
{ // Victory
mes "[Swandery]";
mes "Blessed Guillaume!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
set .@Reward,18;
}
else
{ // Derrota
mes "[Swandery]";
mes "You lost, but you're dedicated to this battle.";
mes "This is a reward for your great dedication by Guillaume Marollo!";
mes "Just take this defeat a lesson, and later you would definitely learn.";
close2;
set .@Reward,6;
}

set Flavius_BG_Tick, gettimetick(2) + 300; //setquest 2070;
getitem 7829, .@Reward;
set .@ontd,0;
bg_leave;
warp "bat_room",155,150;
end;
}
end;
}

bat_b01,10,293,5 script Croix Vintenar#fl1 415,{
if( $@FlaviusBG1_Victory )
{
if( $@FlaviusBG1_Victory == Bat_Team )
{ // Victory
mes "[Swandery]";
mes "Blessed Croax!!";
mes "Let's enjoy our glorious victory!";
mes "" + strcharinfo(0) + ", its a sign reflecting victory";
close2;
set .@Reward, 18;
}
else
{ // Derrota
mes "[Swandery]";
mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
mes "Even though we didn't win, we did our best.";
mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next.";
close2;
set .@Reward, 6;
}

set Flavius_BG_Tick, gettimetick(2) + 300; //setquest 2070;
getitem 7829, .@Reward;
set .@ontd,0;
bg_leave;
warp "bat_room",155,150;
end;
}
end;
}

// Battleground Therapist
// *********************************************************************

bat_b01,390,13,5 script Therapist in battle#fl12 95,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
specialeffect2 312;
if (select("Close:Repairman")==1){
close;
}
next;
callfunc "repairmain","Repairman";
end;
}

bat_b01,10,293,5 script Therapist in battle#fl11 95,{
mes "[Therapist in battle]";
mes "Just close your eyes, and take a deep breathe.";
mes "You can be free from pain.";
specialeffect2 312;
if (select("Close:Repairman")==1){
close;
}
next;
callfunc "repairmain","Repairman";
end;
}

// Battleground Respawn and Regroup
// *********************************************************************

- script #fltd_regroup -1,{
end;

OnBGStart:
initnpctimer;
end;
OnBGStop:
stopnpctimer;
end;
OnTimer150000:
mapannounce "bat_b01","Regroup Team in 30 Seconds...",1,0x006400;
end;
OnTimer175000:
mapannounce "bat_b01","Regroup Team in 5 Seconds...",1,0x006400;
end;
OnTimer180000:
mapannounce "bat_b01","Regroup Team!!",1,0x006400;
bg_warp $@FlaviusBG1_id1,"bat_b01",328,150;
bg_warp $@FlaviusBG1_id2,"bat_b01",62,150;
initnpctimer;
end;
}

bat_b01,390,10,0 script #gfl1_respawn 139,{
end;

OnBGStart:
initnpctimer;
end;

OnBGStop:
stopnpctimer;
end;

OnTimer9000:
misceffect 83;
end;

OnTimer10000:
areapercentheal "bat_b01",382,2,397,17,100,100;
set .@mapx,rand(309,327);
set .@mapy,rand(141,159);
areawarp "bat_b01",382,2,397,17,"bat_b01",.@mapx,.@mapy;
initnpctimer;
end;
}

bat_b01,10,290,0 script #cfl1_respawn 139,{
end;

OnBGStart:
initnpctimer;
end;

OnBGStop:
stopnpctimer;
end;

OnTimer9000:
misceffect 83;
end;

OnTimer10000:
areapercentheal "bat_b01",2,282,17,297,100,100;
set .@mapx,rand(72,91);
set .@mapy,rand(141,159);
areawarp "bat_b01",2,282,17,297,"bat_b01",.@mapx,.@mapy;
initnpctimer;
end;
}

// Flags
// *********************************************************************

bat_b01,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat1 973
bat_b01,319,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat2 973
bat_b01,304,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat3 973
bat_b01,319,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat4 973
bat_b01,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat5 973
bat_b01,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat6 973
bat_b01,335,142,1 duplicate(Guillaume camp#bat) Guillaume camp#bat7 973
bat_b01,335,157,1 duplicate(Guillaume camp#bat) Guillaume camp#bat8 973
bat_b01,390,16,1 duplicate(Guillaume camp#bat) Guillaume camp#bat9 973
bat_b01,292,163,1 duplicate(Guillaume camp#bat) Guillaume camp#bat19 973
bat_b01,292,136,1 duplicate(Guillaume camp#bat) Guillaume camp#bat20 973
bat_b01,241,185,1 duplicate(Guillaume camp#bat) Guillaume camp#bat21 973
bat_b01,247,179,1 duplicate(Guillaume camp#bat) Guillaume camp#bat22 973

bat_b01,96,81,1 duplicate(Croix camp#bat) Croix camp#bat1 974
bat_b01,96,68,1 duplicate(Croix camp#bat) Croix camp#bat2 974
bat_b01,79,81,1 duplicate(Croix camp#bat) Croix camp#bat3 974
bat_b01,79,68,1 duplicate(Croix camp#bat) Croix camp#bat4 974
bat_b01,96,81,1 duplicate(Croix camp#bat) Croix camp#bat5 974
bat_b01,96,81,1 duplicate(Croix camp#bat) Croix camp#bat6 974
bat_b01,59,164,1 duplicate(Croix camp#bat) Croix camp#bat7 974
bat_b01,59,137,1 duplicate(Croix camp#bat) Croix camp#bat8 974
bat_b01,10,296,1 duplicate(Croix camp#bat) Croix camp#bat9 974
bat_b01,110,162,1 duplicate(Croix camp#bat) Croix camp#bat18 974
bat_b01,110,137,1 duplicate(Croix camp#bat) Croix camp#bat19 974
bat_b01,152,120,1 duplicate(Croix camp#bat) Croix camp#bat20 974
bat_b01,158,114,1 duplicate(Croix camp#bat) Croix camp#bat21 974

// MapFlags
// *********************************************************************

bat_b01 mapflag battleground 2
bat_b01 mapflag nomemo
bat_b01 mapflag nosave SavePoint
bat_b01 mapflag noteleport
bat_b01 mapflag nowarp
bat_b01 mapflag nowarpto
bat_b01 mapflag noreturn
bat_b01 mapflag nobranch
bat_b01 mapflag nopenalty
bat_b01 mapflag loadevent

// ***********************************************************************

the original link of the script


http://www.eathena.w...pic=255789&st=0

Edited by Capuche
<>
Link to comment
Share on other sites

1 answer to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  7
  • Topics Per Day:  0.00
  • Content Count:  22
  • Reputation:   0
  • Joined:  01/31/13
  • Last Seen:  

up plz

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