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

PvP Arena с множеством функций.


Gans

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

NPC PvP Arena v1.1 Мой скриптик @by Gans@.

Fix NPC PvP Arena v1.4

Исправлен баг с ареной 1х1.

Особенности:


  1. Первая строка отправляет вас на последнею арену.
  2. На каждой арене стоит NPC "выход с кодом"
  3. Установлены mapflag
  4. Установлен сброс ФП и Сумки.
  5. Установлена Арена 1 на 1.
  6. Установлена Арена Без Ягод.
  7. Показывает сока человек на какой pvp локе
  8. Установлена табличка над NPC с количество игроков на 1-вой pvp локе
  9. Ограничение по левелу.
  10. NPC стоит в разных городах.
  11. NPC c картинкой.
  12. Добавлен анонс на карте при входе игрока на арену.


pvp_n_1-5 mapflag pvp
pvp_n_2-5 mapflag pvp
cmd_fild02 mapflag pvp
pvp_n_3-3 mapflag pvp

pvp_n_2-5 mapflag nowarp
pvp_n_1-5 mapflag nowarp
cmd_fild02 mapflag nowarp
pvp_n_3-3 mapflag nowarp

pvp_n_1-5 mapflag noloot
pvp_n_2-5 mapflag noloot
pvp_n_3-3 mapflag noloot

pvp_n_2-5 mapflag noreturn
pvp_n_1-5 mapflag noreturn
cmd_fild02 mapflag noreturn
pvp_n_3-3 mapflag noreturn

pvp_n_1-5 mapflag nodrop
pvp_n_2-5 mapflag nodrop
pvp_n_3-3 mapflag nodrop

pvp_n_1-5 mapflag nobranch
pvp_n_2-5 mapflag nobranch
cmd_fild02 mapflag nobranch
pvp_n_3-3 mapflag nobranch

cmd_fild02 mapflag nomemo
pvp_n_2-5 mapflag nomemo
pvp_n_1-5 mapflag nomemo
pvp_n_3-3 mapflag nobranch

pvp_n_2-5 mapflag restricted 5

pvp_n_2-5 mapflag nosave SavePoint
pvp_n_1-5 mapflag nosave SavePoint
cmd_fild02 mapflag nosave SavePoint
pvp_n_3-3 mapflag nosave SavePoint

pvp_n_1-5 mapflag nogo
pvp_n_2-5 mapflag nogo
pvp_n_3-3 mapflag nogo

pvp_n_7-3 mapflag pvp
pvp_n_7-3 mapflag nogo
pvp_n_7-3 mapflag nowarp
pvp_n_7-3 mapflag noloot
pvp_n_7-3 mapflag restricted 5
pvp_n_7-3 mapflag nobranch
pvp_n_7-3 mapflag nomemo
pvp_n_7-3 mapflag nodrop


prontera,164,175,4 script PvP-Arena#h1-1::PvP-Arena 752,{
cutin "bat_kiyom1",2;
mes "[PvP Мастер]";
mes "Приветствую тебя юный воин!";
mes "С Расходом (^FF0000"+getmapusers("pvp_n_1-5")+"^000000)";
mes "Без Расхода (^FF0000"+getmapusers("pvp_n_2-5")+"^000000)";
mes "1 vs 1 (^FF0000"+getmapusers("guild_vs1")+" / 2^000000)";
mes "PvP на Локации (^FF0000"+getmapusers("cmd_fild02")+"^000000)";
mes "С Расходом 2-ая арена (^FF0000"+getmapusers("pvp_n_3-3")+"^000000)";
mes "Ты должен иметь^7300E7 254 Base lvl^000000 или более.";
mes "На какую арену хочешь попасть?";
next;

switch(select("Прошлая арена:PvP:Без Расхода:PvP-2:PvP на Локации:1 vs 1:Выход")) {

case 1:
if (BaseLevel < 254) goto nodloot;
cutin "bat_kiyom1",255;
mes "Ты будешь перемещён на последнию арену - "+#lastwarplo$;
callfunc("full_dispel");
mapannounce #lastwarplo$,"Игрок "+ strcharinfo(0) +" вошел на PvP Арену",0;
warp #lastwarplo$,#lastwapx,#lastwapy;
if (lastwarplo$ == "")
{ mes "Ты еще не посещал арену."; close; }


case 2:
if (BaseLevel < 254) goto nodloot;
cutin "bat_kiyom1",255;
callfunc("full_dispel");
mapannounce "pvp_n_1-5","Игрок "+ strcharinfo(0) +" вошел на PvP Арену",0;
callfunc "teleportatio","pvp_n_1-5",0,0;
break;


case 3:
if (BaseLevel < 254) goto nodloot;
cutin "bat_kiyom1",255;
callfunc("full_dispel");
mapannounce "pvp_n_2-5"," Игрок "+ strcharinfo(0) +" вошел на PvP Арену",0;
callfunc "teleportatio","pvp_n_2-5",0,0;
break;


case 4:
if (BaseLevel < 254) goto nodloot;
cutin "bat_kiyom1",255;
callfunc("full_dispel");
mapannounce "pvp_n_3-3"," Игрок "+ strcharinfo(0) +" вошел на PvP Арену",0;
callfunc "teleportatio","pvp_n_3-3",0,0;
break;

case 5:
if (BaseLevel < 254) goto nodloot;
cutin "bat_kiyom1",255;
callfunc("full_dispel");
mapannounce "cmd_fild02"," Игрок "+ strcharinfo(0) +" вошел на PvP Арену",0;
callfunc "teleportatio","cmd_fild02",250,180;
break;


case 6:
if (BaseLevel < 254) goto nodloot;
if(getmapusers("guild_vs1") >= 2 ) { mes "Арена занята"; close; }
callfunc("full_dispel");
mapannounce "guild_vs1"," Игрок "+ strcharinfo(0) +" вошел на PvP Арену",0;
callfunc "teleportatio","guild_vs1",0,0;
break;

case 7:
mes "Если захочешь попасть на арену,обращайся.";
cutin "bat_kiyom1",255;
close;

nodloot:
mes "Ты еще слишком мал.";
cutin "bat_kiyom1",255;
close;


}

OnInit:
OnTimer1000:
delwaitingroom;
waitingroom getmapusers("pvp_n_1-5")+" игроков"+( getmapusers("pvp_n_1-5") > 1 ? "":"") +" на Арене", 0;
initnpctimer;
end;
}

function script full_dispel {
sc_end SC_CP_WEAPON;
sc_end SC_CP_SHIELD;
sc_end SC_CP_ARMOR;
sc_end SC_CP_HELM;
sc_end SC_ASSUMPTIO;
return;
}


function script teleportatio {
set @waploc$, getarg(0);
set @wapx, getarg(1);
set @wapy, getarg(2);
set #lastwarplo$,@waploc$;
set #lastwapx,@wapx;
set #lastwapy,@wapy;
warp @waploc$,@wapx,@wapy;
end;
}




pvp_n_2-5,135,100,3 script Exit#h2-1::Exit 752,{
cutin "bat_kiyom1",2;
set @vihod,rand (12345,99999); // Будет выбрано случайное число в диапозоне от 12345 до 99999
mes "[^0000FFВыход с Арены^000000]";
mes "Приветствую Вас, ^FF0000"+strcharinfo(0)+"^000000.";
mes "Вы уверены, что хотите выйти с Арены?";
switch(select("Нет","Да")){
case 1:
cutin "bat_kiyom1",255;
close;

case 2:
mes "Тогда введите число ^FF0000"+ @vihod +"^000000.";
next;
input @vihod2;
if(@vihod2==@vihod) {
warp "SavePoint",0,0;
end;
}
else {
mes "[^0000FFВыход с Арены^000000]";
mes "Результат не верный.";
mes "Я не могу Вас выпустить.";
cutin "bat_kiyom1",255;
close;
}
}
OnInit:
waitingroom "[Выход]",0;
end;
}



guild_vs1,50,65,3 duplicate(Exit) Exit#h2-4 752
pvp_n_1-5,135,100,3 duplicate(Exit) Exit#h2-2 752
pvp_n_3-3,116,88,3 duplicate(Exit) Exit#h2-3 752
morocc,148,91,4 duplicate(PvP-Arena) PvP-Arena#h1-2 751
geffen,114,64,4 duplicate(PvP-Arena) PvP-Arena#h1-3 751
payon,169,234,4 duplicate(PvP-Arena) PvP-Arena#h1-4 751
alberta,189,149,4 duplicate(PvP-Arena) PvP-Arena#h1-5 751
izlude,134,114,4 duplicate(PvP-Arena) PvP-Arena#h1-6 751
aldebaran,136,130,4 duplicate(PvP-Arena) PvP-Arena#h1-7 751
xmas,144,137,4 duplicate(PvP-Arena) PvP-Arena#h1-8 751
comodo,208,147,4 duplicate(PvP-Arena) PvP-Arena#h1-9 751
yuno,163,51,4 duplicate(PvP-Arena) PvP-Arena#h1-10 751
amatsu,204,82,4 duplicate(PvP-Arena) PvP-Arena#h1-11 751
gonryun,167,119,4 duplicate(PvP-Arena) PvP-Arena#h1-12 751
umbala,85,160,4 duplicate(PvP-Arena) PvP-Arena#h1-13 751
louyang,222,48,4 duplicate(PvP-Arena) PvP-Arena#h1-14 751
jawaii,244,128,4 duplicate(PvP-Arena) PvP-Arena#h1-15 751
ayothaya,144,117,4 duplicate(PvP-Arena) PvP-Arena#h1-16 751
einbroch,71,201,4 duplicate(PvP-Arena) PvP-Arena#h1-17 751
lighthalzen,152,97,4 duplicate(PvP-Arena) PvP-Arena#h1-18 751
einbech,70,100,4 duplicate(PvP-Arena) PvP-Arena#h1-19 751
hugel,93,149,4 duplicate(PvP-Arena) PvP-Arena#h1-20 751
rachel,131,117,4 duplicate(PvP-Arena) PvP-Arena#h1-21 751
veins,220,127,4 duplicate(PvP-Arena) PvP-Arena#h1-22 751
moscovia,221,191,4 duplicate(PvP-Arena) PvP-Arena#h1-23 751

Изменено пользователем Sanasol
  • Upvote 14
Ссылка на комментарий
Поделиться на другие сайты

Афина принимает скрипт на ура без всяких проблем. Если кому то, что не нравиться пишите свой. Но за комментарии спасибо.

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

Fix NPC PvP Arena v1.1

Исправлен баг с ФП теперь при телепорте на арену снимает и ФП

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

Окей сделал NPC дубликат. А бафы между собой связаны, так что с ними все впорядке..

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

Помню этот скрипт, точнее тот, который ты переделал)

Вот мои советы по оптимизации:


if (BaseLevel < 254) goto nodloot;
cutin "bat_kiyom1",255;
callfunc("full_dispel");
callfunc "teleportatio","cmd_fild02",250,180;

замени на один вызов ф-ции. В этой ф-ции:

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

Существенно сократит код + уберет goto.

Затем, ты молодец, нашел мой "убер-фикс" для "последнего варпа", но логичнее будет

делать СНАЧАЛА проверку, а потом только врпать)) Вот здесь:

              warp #lastwarplo$,#lastwapx,#lastwapy;
if (lastwarplo$ == "")
{ mes "Ты еще не посещал арену."; close; }

Кейсы (case) должны закрываться брэйками (break)

switch(select("Нет","Да")){

логичнее заменить на

if(select())

Как и сказал Сан, бафы 2 раза снимает, но это решится,

когда ты все сольешь в одну ф-цию. Так же не понятен этот код

set @waploc$, getarg(0);
set @wapx, getarg(1);
set @wapy, getarg(2);
set #lastwarplo$,@waploc$;
set #lastwapx,@wapx;
set #lastwapy,@wapy;
warp @waploc$,@wapx,@wapy;

по-моему назначение @ переменных здесь лишнее.

Ну вот все, что я увидел на первый взгляд. Учись, молодец)

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

Не понимаю... чем вам моя арена не нравится ? :)

Зачем изобретать велосипед ? =)

Не хотят 404 портить :D

Так то да. Но я хочу остановится на 666 :D

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

Fix NPC PvP Arena v1.3

Добавлен анонс на карте, при входе игрока на арену. Убраны повторы снимающие бафы.

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

  • 2 недели спустя...

Ммм сакраевский олдскул:) Где-то похожее я видел:) ну уж очень давно:) (не говорю что такое же самое, а очень похожее, в году так 2009-ом:)

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

NPC PvP Arena v1.1 Мой скриптик @by Gans@.

Fix NPC PvP Arena v1.4

Исправлен баг с ареной 1х1.

Особенности:


  1. Первая строка отправляет вас на последнею арену.
  2. На каждой арене стоит NPC "выход с кодом"
  3. Установлены mapflag
  4. Установлен сброс ФП и Сумки.
  5. Установлена Арена 1 на 1.
  6. Установлена Арена Без Ягод.
  7. Показывает сока человек на какой pvp локе
  8. Установлена табличка над NPC с количество игроков на 1-вой pvp локе
  9. Ограничение по левелу.
  10. NPC стоит в разных городах.
  11. NPC c картинкой.
  12. Добавлен анонс на карте при входе игрока на арену.

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

  • 2 месяца спустя...
  • 1 год спустя...

не пойму я, что я делаю не так с ареной засунул её в rAthena\npc\custom\etc

прописал её в

// --------------------------------------------------------------

// - Custom Scripts -

// --------------------------------------------------------------

// All the custom scripts, remove the '//' to enable...

// Place your scripts here!

//npc: npc/location/to/script.txt

npc: npc/custom/etc/arena.txt

к сожалению НПЦ арены так и негде нету, что я делаю не так?

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

к сожалению НПЦ арены так и негде нету, что я делаю не так?

Мап-сервер что-нибудь говорит по этому поводу?

нет мап сервер ничего не говорил, всё загружалось без ошибок. а нпц всё нету =/

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

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