Перейти к содержанию

1x1 pvp


Kubix!

Рекомендуемые сообщения

Там есть 1-2 ошибки при убийстве и при смерти.

Если что пишите, помогу исправить.

Музыку выложу попозже, т.к. там 100+ метров музыки :(

Мапу потерял, но можно найти на rathena.org её que_BR4 называется

Или скачать.

// = Battle PvP 1 x 1 by Ocelote = //
// = Версия 1.0 начало.
// = Описание: = //
// = два игрока, пвп локация, 1 флаг.
// = какой игрок быстрее принесет 3 раза флаг - победитель
// 12 286
// ====== начало: ======= //

que_BR4,78,143,0 duplicate(Battle PvP) Battle PvP::Guild 992
que_BR4,78,143,0 duplicate(Battle PvP) Battle PvP::Pront 992
que_BR4,78,143,0 duplicate(Battle PvP) Battle PvP::Fayon 992

fayon,136,139,6 script Battle PvP 992,{
mes "[Battle Manager]";
mes "Желаете отправится на ^0000FFBattle 1 x 1^000000";
next;
if(select("Конечно:Нет")==2)
{
mes "[Battle Manager]";
mes "До встречи!";
close;
}
mes "[Battle Manager]";
mes "Удачной игры, "+strcharinfo(0);
close2;
warp "que_BR4",86,75;
end;
}

// регистрация:

que_BR4,96,68,6 script Battle PvP Red 989,{
if(strcharinfo(0) == $RTM$ && getcharid(0) == $RTI && $PKP != 2)
{
mes "^FF0000[Red Team]^000000";
mes "Вы можете отозвать заявку, или пригласить игрока.";
next;
if(select("Пригласить игрока:Отозвать заявку")==2)
{
mes "^FF0000[Red Team]^000000";
mes "Вы действительно хотите сделать это?";
next;
if(select("Нет.:Да.")==2)
{
set $RTM$, "";
set $RTI, 0;
set $PKP, $PKP - 1;
announce "[Battle PvP] : ("+$RTM$+") отменил заявку !",bc_all,0xFF0000;
close;
}
mes "^FF0000[Red Team]^000000";
mes "Хорошо.Больше не тревожте меня по пустекам.";
close;
}
mes "^FF0000[Red Team]^000000";
mes "Введите имя персонажа которого вы хотите пригласить";
next;
input $CharterName$;
if(getmapxy($mname$,$mx,$my,0,$CharterName$)!=0)
{
mes "^FF0000[Red Team]^000000";
mes "Простите, но я не могу найти этого персонажа.Возможно он сейчас не в сети.";
close;
}
announce "[Battle PvP] : ("+strcharinfo(0)+") приглашает ("+$CharterName$+") на поле боя Battle PvP 1 x 1!",bc_all,0xFF0000;
close;
}
mes "^FF0000[Red Team]^000000";
mes "Регистрация за ^FF0000Красную команду^000000";
mes "Желаете зарегистрироваться?";
next;
select("Регистрация");
mes "^FF0000[Red Team]^000000";
if($RTM$ == "" && $RTI <= 0)
{
if(getcharid(0) != $BTI)
{
if(strcharinfo(0) != $BTM$)
{
set $RTM$,strcharinfo(0);
set $RTI,getcharid(0);
//
set $PKP,$PKP + 1;
if($PKP > 1)
{
donpcevent "PKP::onstartPK";
}
mes "Вы зарегистрированы.";
mes "Ждите начала.";
close;
}
}
}
mes "Эту команду уже зарегистрировал : ";
mes "Игрок - ^FF0000["+$RTM$+"]^000000";
close;
}

que_BR4,96,81,6 script Battle PvP Blue 983,{
if(strcharinfo(0) == $BTM$ && getcharid(0) == $BTI && $PKP != 2)
{
mes "^0000FF[Blue Team]^000000";
mes "Вы можете отозвать заявку, или пригласить игрока.";
next;
if(select("Пригласить игрока:Отозвать заявку")==2)
{
mes "^0000FF[Blue Team]^000000";
mes "Вы действительно хотите сделать это?";
next;
if(select("Нет.:Да.")==2)
{
set $BTM$, "";
set $BTI, 0;
set $PKP, $PKP - 1;
announce "[Battle PvP] : ("+$BTM$+") отменил заявку !",bc_all,0xFF0000;
close;
}
mes "^0000FF[Blue Team]^000000";
mes "Хорошо.Больше не тревожте меня по пустекам.";
close;
}
mes "^0000FF[Blue Team]^000000";
mes "Введите имя персонажа которого вы хотите пригласить";
next;
input $CharterName1$;
if(getmapxy($mname$,$mx,$my,0,$CharterName1$)!=0)
{
mes "^0000FF[Blue Team]^000000";
mes "Простите, но я не могу найти этого персонажа.Возможно он сейчас не в сети.";
close;
}
announce "[Battle PvP] : ("+strcharinfo(0)+") приглашает ("+$CharterName1$+") на поле боя Battle PvP 1 x 1!",bc_all,0x0000FF;
close;
}
mes "^0000FF[Blue Team]^000000";
mes "Регистрация за ^0000FFСинюю команду^000000";
mes "Желаете зарегистрироваться?";
next;
select("Регистрация");
mes "^0000FF[Blue Team]^000000";
if($BTM$ == "" && $BTI <= 0)
{
if(getcharid(0) != $BTI)
{
if(strcharinfo(0) != $BTM$)
{
set $BTM$,strcharinfo(0);
set $BTI,getcharid(0);
//
set $PKP,$PKP + 1;
if($PKP > 1)
{
donpcevent "PKP::onstartPK";
}
mes "Вы зарегистрированы.";
mes "Ждите начала.";
close;
}
}
}
mes "Эту команду уже зарегистрировал : ";
mes "Игрок - ^FF0000["+$RTM$+"]^000000";
close;
}



// = Start :
- script PKP -1,{
onstartPK:
setcell "que_BR4",59,164,59,135,cell_walkable,0;
setcell "que_BR4",324,123,324,169,cell_walkable,0;
announce "[Battle PvP] : бой между ("+$RTM$+") и ("+$BTM$+") начался!",bc_all,0x00FF00;
pvpoff "que_BR4";
warpchar "que_BR4",55,150,$RTI;
warpchar "que_BR4",333,150,$BTI;
sleep 10000;
mapannounce "que_BR4","[Battle PvP] : 10 секунд до начала.",bc_map,0xFF0000;
sleep 10000;
mapannounce "que_BR4","[Battle PvP] : начался!",bc_map,0xFF0000;
setcell "que_BR4",59,164,59,135,cell_walkable,1;
setcell "que_BR4",324,123,324,169,cell_walkable,1;
pvpon "que_BR4";
set $RTMFlag,0;
set $BTMFlag,0;
enablenpc "Battle Capture";
enablenpc "Battle Capture#1";
enablenpc "RTM Capture";
enablenpc "BTM Capture";
set $PKP,0;
donpcevent "BattleSound::OnPlaySound";
end;
}

// = RTM Capture
que_BR4,55,150,0 script RTM Capture -1,2,2,{
if($Capture == 0) end;
if(getcharid(0) == $BTI) end;
if(strcharinfo(0) == $BTM$) end;
mapannounce "que_BR4","[RTM Capture] : "+strcharinfo(0)+" отнес флаг к себе на базу!",bc_map,0xFF0000;
set flaghaved,flaghaved + 1;
set $RTMFlag,$RTMFlag + 1;
if(flaghaved > $MAXCRYSTALD)
{
announce "[RTM Capture] : ["+strcharinfo(0)+"] стал лучшим захватчиком флагов!",bc_all,0xFF0000;
set $MAXCRYSTALD,flaghaved;
set $BESTBG3Z$,strcharinfo(0);
}
if($RTMFlag > 2)
{
set $Winner1x1$, strcharinfo(0);
announce "[Capture] : ["+strcharinfo(0)+"] победил в Battle 1vs1 против ["+$BTM$+"]",bc_all,0x00FF00;
donpcevent "Battle1x1::onstop";
}
end;
}

// = BTM Capture
que_BR4,325,150,0 script BTM Capture -1,2,2,{
if($Capture == 0) end;
if(getcharid(0) == $RTI) end;
if(strcharinfo(0) == $RTM$) end;
mapannounce "que_BR4","[RTM Capture] : "+strcharinfo(0)+" отнес флаг к себе на базу!",bc_map,0xFF0000;
set flaghaved,flaghaved + 1;
set $BTMFlag,$BTMFlag + 1;
if(flaghaved > $FlagMax)
{
announce "[RTM Capture] : ["+strcharinfo(0)+"] стал лучшим захватчиком флагов!",bc_all,0xFF0000;
set $FlagMax,flaghaved;
set $BESTBG3$,strcharinfo(0);
}
if($BTMFlag > 2)
{
set $Winner1x1$, strcharinfo(0);
announce "[Capture] : ["+strcharinfo(0)+"] победил в Battle 1vs1 против ["+$RTM$+"]",bc_all,0x00FF00;
donpcevent "Battle1x1::onstop";
}
end;
}
// = Battle Capture :
que_BR4,199,149,0 script Battle Capture#1 973,{
dispbottom "Вы должны быть не дальше двух клеток от Флага, что бы взять его!";
end;
}
que_BR4,199,149,0 script Battle Capture -1,2,2,{
OnTouch:
if($Capture == 0)
{
if(getcharid(0) == $RTI || getcharid(0) == $BTI)
{
if(strcharinfo(0) == $RTM$)
{
mapannounce "que_BR4","[Battle Capture] : Флаг захвачен игроком "+$RTM$+"",bc_map,0xFF0000;
set $Capture, getcharid(0);
announce "[Capture] : Вы должны отнести этот флаг к себе на базу.",bc_self;
disablenpc "Battle Capture#1";
disablenpc "Battle Capture";
end;
}
else if(strcharinfo(0) == $BTM$)
{
mapannounce "que_BR4","[Battle Capture] : Флаг захвачен игроком "+$BTM$+"",bc_map,0xFF0000;
set $Capture, getcharid(0);
announce "[Capture] : Вы должны отнести этот флаг к себе на базу.",bc_self;
disablenpc "Battle Capture#1";
disablenpc "Battle Capture";
end;
}
}
end;
}
dispbottom "Флаг у другой команды.";
end;

}

- script Battle1x1Kill -1,{
OnPCKillEvent:
getmapxy $@br4$,$@x,$@y,0;
if($@br4$ == "que_BR4")
{
attachrid killedrid;
set .announce,rand(5);
set .BattleBadge,rand(3);
if(.announce == 1)
{
specialeffect2 411;
mapannounce "que_BR4",rid2name(killerrid) +" поставил HEADSHOT игроку ["+ strcharinfo(0) +"] ! ",bc_map|bc_red;
}
else if(.announce == 2)
{
specialeffect 418;
mapannounce "que_BR4",rid2name(killerrid) +" разбил лицо игроку ["+ strcharinfo(0) +"] ! ",bc_map|bc_red;
}
else if(.announce == 3)
{
specialeffect 429;
mapannounce "que_BR4",rid2name(killerrid) +" размазал ["+ strcharinfo(0) +"] по стене ! ",bc_map|bc_red;
}
else if(.announce == 4)
{
specialeffect 431;
mapannounce "que_BR4",rid2name(killerrid) +" сломал шею игроку ["+ strcharinfo(0) +"] ! ",bc_map|bc_red;
}
else if(.announce == 5)
{
specialeffect 444;
mapannounce "que_BR4",rid2name(killerrid) +" разнес голову игроку ["+ strcharinfo(0) +"] ! ",bc_map|bc_red;
}
set killP,killP + 1;
if(killP > $maxBG3PK)
{
mapannounce "que_BR",strcharinfo(0)+" стал лучшим убийцей на Battle PvP [!!!!]",bc_map|0xFF00FF;
set $maxBG3PK,killP;
set $BESTBG3$,strcharinfo(0);

}
getitem 7227,.BattleBadge;
end;
}
else
{
end;
}
}

- script Battle1x1Die -1,{
OnPCDieEvent:
getmapxy $ttt$,$x,$y,0;
if($ttt$ == "que_BR4")
{
for(set .a,0; .a <=10; set .a,.a -1)
{
mes .a;
sleep 1000;
}
if(getcharid(0) == $Capture)
{
set $Capture, 0;
enablenpc "Battle Capture#1";
enablenpc "Battle Capture";
mapannounce "que_BR4",strcharinfo(0)+" потерял флаг, какая неудача!",bc_map|0xFF00FF;
}
sleep 3000;
set dieP,dieP + 1;
dispbottom "У Вас "+dieP+" очков смерти.";
if(dieP > $maxBG3DIE)
{
mapannounce "que_BR4",strcharinfo(0)+" стал худшим на Battle PvP .... ~.~",bc_map|0xFF00FF;
set $BADBG3$,strcharinfo(0);
set $maxBG3DIE,dieP;
}
if(getcharid(0) == $RTI) warp "que_BR4",55,150;
else if(getcharid(0) == $BTI) warp "que_BR4",325,150;
atcommand "@alive "+strcharinfo(0);
end;
}
end;
}

// = STOP event:
- script Battle1x1 -1,{
onstop:
disablenpc "Battle Capture";
disablenpc "Battle Capture#1";
disablenpc "RTM Capture";
disablenpc "BTM Capture";
//
set $RTI, 0;
set $BTI, 0;
set $RTM$, "";
set $BTM$, "";
set $Capture, 0;
set $PKP,0;
//
set $BTMFlag, 0;
set $RTMFlag, 0;
//
pvpoff "que_BR4";
setcell "que_BR4",59,164,59,135,cell_walkable,0;
setcell "que_BR4",324,123,324,169,cell_walkable,0;
end;
}

- script BattleSound -1,{
OnPlaySound:
if($sound)
{
mapannounce "que_BR4","[Battle Ground Sound] : Subsonik vs. Kiro – Hold On (5:17)",bc_map,0x66FF00;
soundeffectall "bg3sound",0,"que_BR4";
initnpctimer;
end;

OnTimer360000:
mapannounce "que_BR4","[Battle Ground Sound] : dj hype – Track 5 (3:23)",bc_map,0x66FF00;
soundeffectall "bg3sound2",0,"que_BR4";
end;

OnTimer6000000:
mapannounce "que_BR4","[Battle Ground Sound] : TONY IGY – Astronomia (X-Killer remix 2011) (4:40)",bc_map,0x66FF00;
soundeffectall "bg3sound3",0,"que_BR4";
stopnpctimer;
end;

}
end;
}

- script BattleInit -1,{
OnInit:
disablenpc "Battle Capture";
disablenpc "Battle Capture#1";
disablenpc "RTM Capture";
disablenpc "BTM Capture";
//
set $RTI, 0;
set $BTI, 0;
set $RTM$, "";
set $BTM$, "";
set $Capture, 0;
set $PKP,0;
//
set $sound,0;
//
set $BTMFlag, 0;
set $RTMFlag, 0;
//
pvpoff "que_BR4";
setcell "que_BR4",59,164,59,135,cell_walkable,0;
setcell "que_BR4",324,123,324,169,cell_walkable,0;
end;
}

- script BattleLogout -1,{
OnPCLogoutEvent:
if(getcharid(0) == $BTI || getcharid(0) == $RTI)
{
announce "[Battle PvP] : один из игроков вышел с игры.Battle pvp отменяется!",bc_all;
donpcevent "Battle1x1::onstop"
end;
}
}

prontera,152,150,0 script Battle Rating 888,{
OnJoin:
mes "[BG 3.0]";
mes "Здравствуйте, я покажу вам рейтинг ^0000FFBattle PvP 1 x 1^000000";
next;
switch(select("^3333CCЛучший убийца:Лучший захватчик:Худший на Battle^000000"))
{
case 1:
if($mesbestk)
{
mes "^FF0000 ["+$BESTBG3$+"] ^000000";
mes "Убийств : ^FF9900 ("+$maxBG3PK+") ^000000";
}
if($dispbestk)
{
dispbottom "["+$BESTBG3$+"]";
dispbottom "Убийств : ("+$maxBG3PK+")";
}
if($annbestk)
{
announce "["+$BESTBG3$+"] - Убийств : ("+$maxBG3PK+")",bc_self,bc_blue;
}
close;

case 2:
if($mesbest)
{
mes "^FF0000 ["+$BESTBG3Z$+"] ^000000";
mes "Захватил : ^FF9900("+$MAXCRYSTALD+")^000000 Кристаллов";
}
if($dispbest)
{
dispbottom "["+$BESTBG3Z+"]";
dispbottom "Захватил : ("+$MAXCRYSTALD+") Кристаллов";
}
if($annbest)
{
announce "["+$BESTBG3Z+"] - Захватил : ("+$MAXCRYSTALD+") Кристаллов",bc_self,bc_blue;
}
close;

case 3:
if($mesnoob)
{
mes "^FF0000 ["+$BADBG3$+"] ^000000";
mes "Умер : ^FF9900("+$maxBG3DIE+")^000000 раз";
}
if($disnoob)
{
dispbottom "["+$BADBG3$+"]";
dispbottom "Умер : ("+$maxBG3DIE+") раз";
}
if($annnoob)
{
announce "["+$BADBG3$+"] - умер : ("+$maxBG3DIE+") раз",bc_self,bc_blue;
}
close;
}
OnInit:
waitingroom "[Battle PvP 1x1 рейтинг!]",0,"Battle Rating::OnJoin",1;

set $mesnoob,1;
set $mesbest,1;
set $mesbestk,1;
end;
}

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

ну а что,прикольно,и вроде работает.

так то он работает, но есть несколько багов, щас нету возможности искать.знаю что баг в убийстве и смерти. и вроде когда флаг относишь

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика