//
//
// Author Goddameit
// Version 2014/02/22
// Web__ http://goo.gl/0vY9GV
//
//
aretnorp,178,351,3 script BG DoTa 572,{
if( getgroupid() >= 99 )
{
if( select("Do Reset","None") == 1 )
donpcevent strnpcinfo(0)+"::onresett";
}
if(.game_status==1||.game_status==2)
{
mes "Sorry, game is running";
close;
}
if(select("Join","Cancel")==2)
close;
if(.dat_join>=120)
{
mes "Sorry, full";
close;
}
for(.@i=1;.@i<=.dat_join;.@i++)
if(.dat_aid[.@i]==getcharid(3))
{
mes "You already join in.";
close;
}
.dat_join += 1;
.dat_aid[.dat_join] = getcharid(3);
bg_leave;
mes "Done";
close2;
if( .dat_join < 10 )
announce "[BG DoTa]: Player Amount : ["+.dat_join+"/10]",0;
if( .dat_join >= 10 && .active == 0 )
{
initnpctimer;
killmonsterall "dota01";
.active = 1;
bg_destroy .dat_bgid1;
bg_destroy .dat_bgid2;
.dat_bgid1 = 0;
.dat_bgid2 = 0;
mapwarp "dota01","aretnorp",196,244;
announce "[BG DoTa]: Game Active",0;
}
end;
onleave:
bg_leave;
end;
OnTimer1000:
.game_status = 1;
.@npcname$ = strnpcinfo(0);
announce "[BG DoTa]: Game Start",0;
.dat_bgid1 = bg_teamcreate("dota01",24,33,.@npcname$+"::onleave","");
.dat_bgid2 = bg_teamcreate("dota01",362,342,.@npcname$+"::onleave","");
for(.@i=1;.@i<=.dat_join;.@i++)
if(.@i%2)
bg_teamjoin(.dat_bgid1,.dat_aid[.@i]);
else
bg_teamjoin(.dat_bgid2,.dat_aid[.@i]);
bg_warp .dat_bgid1,"dota01",24,33;
bg_warp .dat_bgid2,"dota01",362,342;
end;
onresett:
.dat_join = 0;
.active = 0;
.game_status = 0;
deletearray .dat_aid[0],128;
bg_destroy .dat_bgid1;
bg_destroy .dat_bgid2;
OnInit:
mapwarp "dota01","prontera",150,180;
end;
OnTimer2000:
// 3215//3218
.@npcname$ = strnpcinfo(0);
set .gid_astone,bg_monster(.dat_bgid1,"dota01",68,48,"",1258,.@npcname$+"::onbgaloss");
set .gid_aline1[0],bg_monster(.dat_bgid1,"dota01",38,123,"",1900,.@npcname$+"::onlinea1b3");
set .gid_aline1[1],bg_monster(.dat_bgid1,"dota01",35,170,"",1900,.@npcname$+"::onlinea1b2");
set .gid_aline1[2],bg_monster(.dat_bgid1,"dota01",39,246,"",1900,.@npcname$+"::onlinea1b1");
set .gid_aline2[0],bg_monster(.dat_bgid1,"dota01",104,80,"",1900,.@npcname$+"::onlinea2b3");
set .gid_aline2[1],bg_monster(.dat_bgid1,"dota01",115,111,"",1900,.@npcname$+"::onlinea2b2");
set .gid_aline2[2],bg_monster(.dat_bgid1,"dota01",160,157,"",1900,.@npcname$+"::onlinea2b1");
set .gid_aline3[0],bg_monster(.dat_bgid1,"dota01",135,25,"",1900,.@npcname$+"::onlinea3b3");
set .gid_aline3[1],bg_monster(.dat_bgid1,"dota01",181,25,"",1900,.@npcname$+"::onlinea3b2");
set .gid_aline3[2],bg_monster(.dat_bgid1,"dota01",332,27,"",1900,.@npcname$+"::onlinea3b1");
set .gid_bstone,bg_monster(.dat_bgid2,"dota01",318,313,"",1189,.@npcname$+"::onbgbloss");
set .gid_bline1[0],bg_monster(.dat_bgid2,"dota01",275,362,"",1016,.@npcname$+"::onlineb1b3");
set .gid_bline1[1],bg_monster(.dat_bgid2,"dota01",205,356,"",1016,.@npcname$+"::onlineb1b2");
set .gid_bline1[2],bg_monster(.dat_bgid2,"dota01",89,351,"",1016,.@npcname$+"::onlineb1b1");
set .gid_bline2[0],bg_monster(.dat_bgid2,"dota01",359,264,"",1016,.@npcname$+"::onlineb2b3");
set .gid_bline2[1],bg_monster(.dat_bgid2,"dota01",360,203,"",1016,.@npcname$+"::onlineb2b2");
set .gid_bline2[2],bg_monster(.dat_bgid2,"dota01",358,157,"",1016,.@npcname$+"::onlineb2b1");
set .gid_bline3[0],bg_monster(.dat_bgid2,"dota01",275,280,"",1016,.@npcname$+"::onlineb3b3");
set .gid_bline3[1],bg_monster(.dat_bgid2,"dota01",261,234,"",1016,.@npcname$+"::onlineb3b2");
set .gid_bline3[2],bg_monster(.dat_bgid2,"dota01",236,203,"",1016,.@npcname$+"::onlineb3b1");
setmobnoattackable .gid_astone,1;
setmobnowalkable .gid_astone,1;
setmobnoattackable .gid_bstone,1;
setmobnowalkable .gid_bstone,1;
for(.@i=1;.@i<=3;.@i++)
for(.@j=0;.@j<3;.@j++)
{
setmobnowalkable getd(".gid_bline"+.@i+"["+.@j+"]"),1;
setmobnowalkable getd(".gid_aline"+.@i+"["+.@j+"]"),1;
if(.@j!=2)
{
setmobnoattackable getd(".gid_bline"+.@i+"["+.@j+"]"),1;
setmobnoattackable getd(".gid_aline"+.@i+"["+.@j+"]"),1;
}
}
end;
//-----------------------------------------
onbgaloss:
mapwarp "dota01","aretnorp",196,244;
sleep2 5000;
bg_warp .dat_bgid2,"dota01",390,8;
initnpctimer "BG DoTa Reward";
end;
//-----------------------------------------
onbgbloss:
mapwarp "dota01","aretnorp",196,244;
sleep2 5000;
bg_warp .dat_bgid1,"dota01",390,8;
initnpctimer "BG DoTa Reward";
end;
//-----------------------------------------
onlinea1b3:
onlinea2b3:
onlinea3b3:
.game_status = 2;
setmobnoattackable .gid_astone,0;
end;
onlinea1b2:
setmobnoattackable .gid_aline1[0],0;
end;
onlinea1b1:
setmobnoattackable .gid_aline1[1],0;
end;
onlinea2b2:
setmobnoattackable .gid_aline2[0],0;
end;
onlinea2b1:
setmobnoattackable .gid_aline2[1],0;
end;
onlinea3b2:
setmobnoattackable .gid_aline3[0],0;
end;
onlinea3b1:
setmobnoattackable .gid_aline3[1],0;
end;
//-----------------------------------------
onlineb1b3:
onlineb2b3:
onlineb3b3:
.game_status = 2;
setmobnoattackable .gid_bstone,0;
end;
onlineb1b2:
setmobnoattackable .gid_bline1[0],0;
end;
onlineb1b1:
setmobnoattackable .gid_bline1[1],0;
end;
onlineb2b2:
setmobnoattackable .gid_bline2[0],0;
end;
onlineb2b1:
setmobnoattackable .gid_bline2[1],0;
end;
onlineb3b2:
setmobnoattackable .gid_bline3[0],0;
end;
onlineb3b1:
setmobnoattackable .gid_bline3[1],0;
end;
//-----------------------------------------
}
dota01,390,8,4 script BG DoTa Reward 100,{
getitem 7905,50;
getitem 12189,5;
warp "aretnorp",184,351;
end;
OnTimer20000:
donpcevent "BG DoTa::onresett";
end;
}
dota01 mapflag battleground
dota01 mapflag nosave
dota01 mapflag noreturn
dota01 mapflag nobranch
dota01 mapflag pvp_noguild
dota01 mapflag partylock
dota01 mapflag nowarp
dota01 mapflag novending
dota01 mapflag noteleport
dota01 mapflag nomemo
//aretnorp,177,352,3 duplicate(BG DoTa) BG Register#h1-1 572