- //=========================================
- //By : goddameit
- //Ver : 3
- //=========================================
- prontera,157,185,4 script Warp Battle Ground Vg 100,{
- warp "pvp_room",80,43;
- end;
- }
- //=======================================================================//
- //===============================Register================================//
- //=======================================================================//
- pvp_room,87,38,4 script Battleground Vg#1 100,{
- end;
- OnInitC:
- if(!.k){end;}
- enablenpc strnpcinfo(0);
- waitingroom "Battle Ground",getvariableofnpc(.gameplayeramount,"batleVg"),"Battleground Vg#1::OnJoin",getvariableofnpc(.gameplayeramount,"batleVg");
- end;
- OnJoin:
- if(getvariableofnpc(.game,"batleVg")==3){
- mapannounce "pvp_room","[Battle Ground System] Wait for game over completely.",0;
- end;
- }
- set .k,0;
- set $bgvgbid1,waitingroom2bg("bat_b01",87,75,"","batleVg::OnGu1Die");
- warpwaitingpc "bat_b01",87,75;
- delwaitingroom;
- disablenpc strnpcinfo(0);
- set getvariableofnpc(.game,"batleVg"),getvariableofnpc(.game,"batleVg")+1;
- if(getvariableofnpc(.game,"batleVg")==1){
- donpcevent "batleVg::OnGameStart";
- }
- end;
- OnPCLoadMapEvent:
- if(getcharid(4)){
- bg_leave;
- dispbottom "=======================================";
- dispbottom "================[Leave]================";
- dispbottom "=======================================";
- }
- end;
- }
- pvp_room,72,38,4 script Battleground Vg#2 100,{
- end;
- OnInitC:
- if(!.k){end;}
- enablenpc strnpcinfo(0);
- waitingroom "Battle Ground",getvariableofnpc(.gameplayeramount,"batleVg"),"Battleground Vg#2::OnJoin",getvariableofnpc(.gameplayeramount,"batleVg");
- end;
- OnJoin:
- if(getvariableofnpc(.game,"batleVg")==3){
- mapannounce "pvp_room","[Battle Ground System] Wait for game over completely.",0;
- end;
- }
- set .k,0;
- set $bgvgbid2,waitingroom2bg("bat_b01",311,224,"","batleVg::OnGu2Die");
- warpwaitingpc "bat_b01",311,224;
- delwaitingroom;
- disablenpc strnpcinfo(0);
- set getvariableofnpc(.game,"batleVg"),getvariableofnpc(.game,"batleVg")+1;
- if(getvariableofnpc(.game,"batleVg")==1){
- donpcevent "batleVg::OnGameStart";
- }
- end;
- }
- //=======================================================================//
- //================================Set====================================//
- //=======================================================================//
- - script batleVg -1,{
- ii:
- setarray .hpto,50,50,10000,90000,10000; //HP of Ground 1 , HP of Ground 2 , time 1(Register) , time 2(During) , time 3(Respwan)
- if(!getvariableofnpc(.k,"Battleground Vg#2")){
- set getvariableofnpc(.k,"Battleground Vg#2"),1;
- donpcevent "Battleground Vg#2::OnInitC";
- }
- if(!getvariableofnpc(.k,"Battleground Vg#1")){
- set getvariableofnpc(.k,"Battleground Vg#1"),1;
- donpcevent "Battleground Vg#1::OnInitC";
- }
- set .game,0;
- killmonsterall "bat_b01";
- mapwarp "bat_b01","prontera",150,180;
- return;
- OnInit:
- set .gameplayeramount,1;
- callsub ii;
- //=======================================================================//
- //===============================SetWall=================================//
- //=======================================================================//
- setwall "bat_b01",327,173,5,6,1,"battleground Vg wall 1";
- setwall "bat_b01",332,172,2,6,1,"battleground Vg wall 2";
- setwall "bat_b01",244,185,3,4,1,"battleground Vg wall 3";
- setwall "bat_b01",244,182,4,6,1,"battleground Vg wall 4";
- setwall "bat_b01",67,128,10,1,1,"battleground Vg wall 5";
- setwall "bat_b01",152,118,4,6,1,"battleground Vg wall 6";
- setwall "bat_b01",156,118,5,4,1,"battleground Vg wall 7";
- disablenpc "battleground Vg warp 1";
- disablenpc "battleground Vg warp 2";
- disablenpc "battleground Vg warp 3";
- disablenpc "battleground Vg warp 4";
- end;
- //=======================================================================//
- //================================Control================================//
- //=======================================================================//
- OnGameStart:
- bg_updatescore "bat_b01",.hpto[0],.hpto[1];
- mapwarp "bat_b01","prontera",150,180;
- setarray .@k,gettime(3),gettime(2),gettime(1)+.hpto[2]/1000;
- while(.@k[2]>=60){
- if(.@k[2]>=60){
- setarray .@k[1],.@k[1]+1,.@k[2]-60;
- }
- if(.@k[1]>=60){
- setarray .@k[0],.@k[0]+1,.@k[1]-60;
- }
- if(.@k[0]>=24){
- set .@k[0],.@k[0]-24;
- }
- }
- announce "[Battle Ground System] Will Start at "+.@k[0]+":"+.@k[1]+":"+.@k[2]+" !",0;
- sleep(.hpto[2]);
- OnTimerC:
- if(.game!=2){
- sleep(2000);
- if(.game){
- announce "[Battle Ground System] Game Over.",0;
- }
- callsub ii;
- end;
- }
- announce "[Battle Ground System] Go !",0;
- set .ib2,bg_monster($bgvgbid2,"bat_b01",326,149," ",1956,"batleVg::OnKiillT2");
- set .ib1,bg_monster($bgvgbid1,"bat_b01",61,149," ",1916,"batleVg::OnKiillT1");
- enablenpc "battleground Vg warp 1";
- enablenpc "battleground Vg warp 2";
- enablenpc "battleground Vg warp 3";
- enablenpc "battleground Vg warp 4";
- initnpctimer "#bgvg_heal1";
- //=======================================================================//
- //=================================OnEnd=================================//
- //=======================================================================//
- OnTimerB:
- sleep(.hpto[3]);
- if(.hpto[0]>.hpto[1]){
- set .@c4,1;
- }else if(.hpto[0]<.hpto[1]){
- set .@c4,2;
- }
- announce "[Battle Ground System] Ground "+(.@c4?.@c4+" Win":"Tie")+" !",0;
- callsub ii;
- end;
- //=======================================================================//
- //================================OnBreak================================//
- //=======================================================================//
- OnKiillT2:
- bg_warp $bgvgbid1,"bat_b01",87,75;
- bg_warp $bgvgbid2,"bat_b01",311,224;
- bg_updatescore "bat_b01",set(.hpto[0],.hpto[0]+3),set(.hpto[1],.hpto[1]-5);
- if(.hpto[0]>99){
- bg_updatescore "bat_b01",99,.hpto[1];
- }
- sleep(.hpto[4]);
- set .ib2,bg_monster($bgvgbid2,"bat_b01",326,149," ",1956,"batleVg::OnKiillT2");
- end;
- OnKiillT1:
- bg_warp $bgvgbid1,"bat_b01",87,75;
- bg_warp $bgvgbid2,"bat_b01",311,224;
- bg_updatescore "bat_b01",set(.hpto[0],.hpto[0]-5),set(.hpto[1],.hpto[1]+3);
- if(.hpto[1]>99){
- bg_updatescore "bat_b01",.hpto[0],99;
- }
- sleep(.hpto[4]);
- set .ib1,bg_monster($bgvgbid1,"bat_b01",61,149," ",1916,"batleVg::OnKiillT1");
- end;
- //=======================================================================//
- //=================================OnDie=================================//
- //=======================================================================//
- OnGu1Die:
- OnGu2Die:
- getmapxy(@n$,@n,@b,0);
- if((getcharid(4)!=$bgvgbid2&&getcharid(4)!=$bgvgbid1)||@n$!="bat_b01"){
- set @n$,"";set @n,0; set @b,0;
- end;
- }
- if(getcharid(4)==$bgvgbid2){
- set .hpto[1],.hpto[1]-1;
- }else{
- set .hpto[0],.hpto[0]-1;
- }
- if(.hpto[1]>99){
- set .hpto[1],99;
- }
- if(.hpto[1]<0){
- set .winn,1;
- set .hpto[1],0;
- }
- if(.hpto[0]>99){
- set .hpto[0],99;
- }
- if(.hpto[0]<0){
- set .winn,2;
- set .hpto[0],0;
- }
- bg_updatescore "bat_b01",.hpto[0],.hpto[1];
- if(.winn){
- announce "[Battle Ground System] Ground "+.winn+" Win !",0;
- sleep 1000;
- callsub ii;
- mapwarp "bat_b01","prontera",150,180;
- set .game,3;
- }
- end;
- }
- //=======================================================================//
- //==================================Heal=================================//
- //=======================================================================//
- bat_b01,311,224,4 script #bgvg_heal1 139,{
- OnTimer2000:
- unitwarp .ib2,"bat_b01",326,149;
- unitwarp .ib1,"bat_b01",61,149;
- if(getvariableofnpc(.game,"batleVg")==2){
- unitwarp .ib1,"bat_b01",61,149;
- unitwarp .ib2,"bat_b01",326,149;
- specialeffect 573;
- donpcevent "#bgvg_heal2::OnDo";
- sleep(1000);
- sleep(1000);
- sleep(1000);
- sleep(1000);
- sleep(1000);
- sleep(1000);
- initnpctimer;
- }else{
- stopnpctimer;
- }
- end;
- }
- bat_b01,87,75,4 script #bgvg_heal2 139,{
- OnDo:
- specialeffect 573;
- end;
- }
- //=======================================================================//
- //==================================Warp=================================//
- //=======================================================================//
- bat_b01,338,226,0 warp battleground Vg warp 1 2,2,bat_b01,331,170
- bat_b01,286,228,0 warp battleground Vg warp 2 2,2,bat_b01,242,179
- bat_b01,61,73,0 warp battleground Vg warp 3 2,2,bat_b01,65,133
- bat_b01,114,72,0 warp battleground Vg warp 4 2,2,bat_b01,154,122
- bat_b01,199,119,0 script #battleground Vg warp 5 45,2,2,{
- if(getcharid(4)!=$bgvgbid1){end;}
- warp "bat_b01",87,75;
- end;
- }
- bat_b01,199,181,0 script #battleground Vg warp 6 45,2,2,{
- if(getcharid(4)!=$bgvgbid2){end;}
- warp "bat_b01",311,224;
- end;
- }
- //=======================================================================//
- //================================Mapflag================================//
- //=======================================================================//
- 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 monster_noteleport
- pvp_room mapflag loadevent
- //=======================================================================//
- //===============================Function================================//
- //=======================================================================//
- function script BattleGroundVgFunction {
- getmapxy(@m$,@x,@y,0);
- if(getcharid(4)!=$bgvgbid1&&getcharid(4)!=$bgvgbid2&&@m$!="bat_b01"){
- dispbottom "[You can't use this item]";
- end;
- }
- bg_warp getcharid(4),@m$,@x,@y;
- end;
- }
Untitled
Posted by Anonymous on Fri 1st Jun 2012 05:24
raw | new post
view followups (newest first): Untitled by Anonymous
Submit a correction or amendment below (click here to make a fresh posting)
After submitting an amendment, you'll be able to view the differences between the old and new posts easily.