Назад

PvP Арена

Автор: DIMAN08: Дата: 01.23.2011



вот..на скрипт пвп аренки матерится мап-сервер..

//---Скрипт "Арена" для RUS-eA.---//

//---Скрипт написал aN00B1s с нуля.---//



//---Скрипт Арены---//

prontera,164,172,3 script Арена 708,{

mes "[^0000FFАрена^000000]";

mes "Приветствую Вас, ^FF0000"+strcharinfo(0)+"^000000.";

mes "Выберите пожалуйста одну из арен, куда Вы хотите попасть.";

switch(select("Арена [" + getmapusers("guild_vs3") + " / 50]","Арена ^FF0000(Без Зелий)^000000

[" + getmapusers("pvp_n_1-5") + " / 50]","Арена ^FF0000(Дроп вещей)^000000 [" + getmapusers("guild_vs2") + " / 10]","Выход")){

case 1:

if(getmapusers("guild_vs3")>=50) {

next;

mes "[^0000FFАрена^000000]";

mes "Извините, но Арена полная, попробуйте позже.";

emotion e_sry;

close;

}

if(BaseJob==Job_Novice || BaseLevel<90) {

next;

mes "[^0000FFАрена^000000]";

mes "Извините, но Ваш уровень слишком мал или Вы Novice.";

mes "На Арену можно попасть с ^FF000090+^000000 базового уровня.";

emotion e_sry;

close;

}

sc_start SC_BLESSING,600000,10;

sc_start SC_INCREASEAGI,600000,10;

percentheal 100,100;

warp "guild_vs3",0,0;

close2;

break;



case 2:

if(getmapusers("pvp_n_1-5")>=50) {

next;

mes "[^0000FFАрена^000000]";

mes "Извините, но Арена полная, попробуйте позже.";

emotion e_sry;

close;

}

if(BaseJob==Job_Novice || BaseLevel<90) {

next;

mes "[^0000FFАрена^000000]";

mes "Извините, но Ваш уровень слишком мал или Вы Novice.";

mes "На Арену можно попасть с ^FF000090+^000000 базового уровня.";

emotion e_sry;

close;

}

sc_start SC_BLESSING,600000,10;

sc_start SC_INCREASEAGI,600000,10;

percentheal 100,100;

warp "pvp_n_1-5",0,0;

close2;

break;



case 3:

if(getmapusers("guild_vs2")>=10) {

next;

mes "[^0000FFАрена^000000]";

mes "Извините, но Арена полная, попробуйте позже.";

emotion e_sry;

close;

}

if(BaseJob==Job_Novice || BaseLevel<90) {

next;

mes "[^0000FFАрена^000000]";

mes "Извините, но Ваш уровень слишком мал или Вы Novice.";

mes "На Арену можно попасть с ^FF000090+^000000 базового уровня.";

emotion e_sry;

close;

}

sc_start SC_BLESSING,600000,10;

sc_start SC_INCREASEAGI,600000,10;

percentheal 100,100;

sc_end SC_GOSPEL; // Убераем госпель, чтобы игроки не кричали, арена с дропом же.

warp "guild_vs2",0,0;

close2;

break;



case 4:

close;

break;

}

OnInit:

waitingroom "[Арена]",0;

end;

}







//---Скрипт выхода с Арен---//

guild_vs3,86,51,3****script****Выход с Арены****708,{

set @vihod,rand (12345,99999); // Будет выбрано случайное число в диапозоне от 12345 до 99999 (для выхода, чтобы не жульничать).

mes "[^0000FFВыход с Арены^000000]";

mes "Приветствую Вас, ^FF0000"+strcharinfo(0)+"^000000.";

mes "Вы уверены, что хотите выйти с Арены?";

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

case 1:

close;



case 2:

mes "Тогда введите число ^FF0000"+ @vihod +"^000000.";

next;

input @vihod2;

if(@vihod2==@vihod) {

warp "SavePoint",0,0;

end;

}

else {

mes "[^0000FFВыход с Арены^000000]";

mes "Результат не верный.";

mes "Я не могу Вас выпустить.";

close;

}

}

OnInit:

waitingroom "[Выход]",0;

end;

}







//---МапФлаги---//



//---Арена---//

guild_vs3****mapflag****nowarpto

guild_vs3****mapflag****pvp

guild_vs3****mapflag****noteleport

guild_vs3****mapflag****nosave****SavePoint

guild_vs3****mapflag****nowarp

guild_vs3****mapflag****noreturn

guild_vs3****mapflag****pvp_noguild

guild_vs3****mapflag****nomemo



//---Арена без зелий (убрал pvp_noguild, как и просили)---//

pvp_n_1-5****mapflag****pvp

pvp_n_1-5****mapflag****noteleport

pvp_n_1-5****mapflag****nosave****SavePoint

pvp_n_1-5****mapflag****nowarp

pvp_n_1-5****mapflag****noreturn

pvp_n_1-5****mapflag****nomemo

pvp_n_1-5****mapflag****nowarpto

pvp_n_1-5****mapflag****restricted****5



//---Арена с дропом вещей---//

guild_vs2****mapflag****pvp

guild_vs2****mapflag****noteleport

guild_vs2****mapflag****nosave****SavePoint

guild_vs2****mapflag****nowarp

guild_vs2****mapflag****noreturn

guild_vs2****mapflag****pvp_noguild

guild_vs2****mapflag****nomemo

guild_vs2****mapflag****nowarpto

guild_vs2****mapflag****pvp_nightmaredrop****random,equip,1000







//---Дубликаты---//



//---Арены---//

geffen,125,69,4****duplicate(Арена)****Арена#2****708

alberta,187,149,4****duplicate(Арена)****Арена#3****708

morocc,160,97,4****duplicate(Арена)****Арена#4****708

payon,162,233,4****duplicate(Арена)****Арена#5****708

comodo,197,148,4****duplicate(Арена)****Арена#6****708

aldebaran,144,123,4****duplicate(Арена)****Арена#7****708

izlude,134,114,4****duplicate(Арена)****Арена#8****708

xmas,143,134,4****duplicate(Арена)****Арена#9****708

yuno,163,50,5****duplicate(Арена)****Арена#10****708

amatsu,197,79,4****duplicate(Арена)****Арена#11****708

gonryun,155,127,5****duplicate(Арена)****Арена#12****708

umbala,86,150,5****duplicate(Арена)****Арена#13****708

louyang,220,102,5****duplicate(Арена)****Арена#14****708

jawaii,245,128,5****duplicate(Арена)****Арена#15****708

ayothaya,157,109,4****duplicate(Арена)****Арена#16****708

einbroch,69,198,4****duplicate(Арена)****Арена#17****708

lighthalzen,153,86,4****duplicate(Арена)****Арена#18****708

hugel,91,150,4****duplicate(Арена)****Арена#19****708

rachel,122,111,4****duplicate(Арена)****Арена#20****708



//---Выхода---//

pvp_n_1-5,134,100,3****duplicate(Выход с Арены)****Выход с Арены#2****708

guild_vs2,92,50,3****duplicate(Выход с Арены)****Выход с Арены#3****708





//---ВНИМАНИЕ! ТО, ЧТО НИЖЕ НЕ ДОБАВЛЯТЬ В СКРИПТ!---//

//---Это нужно добавить в db/item_noequip.txt---//



вот сам скрипт..подскажите что делать?

Автор: Gremlin: Дата: 01.23.2011

просто 17 и 18 строки должны быть одной строкой(убери ентер)

Автор: The nepcuk: Дата: 01.23.2011

Вот тебе , попробуй заюзать

Автор: DIMAN08: Дата: 01.23.2011

Табуляция везде правильно расставлена?м?


кажется да..

просто 17 и 18 строки должны быть одной строкой(убери ентер)


убрал..не помогло((

Автор: The nepcuk: Дата: 01.23.2011

prontera,164,174,3	script	Арена	411,{
mes "Арена";
mes "Добро пожаловать на Арену.";
next;
mes "Арена";
mes "Ты хочешь попасть на Арену, верно?";
menu "Да, хочу",yes,"Нет, я так, случайно...",Lcancel;
yes:
mes "Арена";
mes "Хорошо, сейчас на арене :";
menu "PvP [" + getmapusers("guild_vs3") + " / 100]",Lgu2,"Без зелий [" + getmapusers("pvp_n_1-5") + " / 100]",Lgu3,"Emperium Arena",Lgu4;

Lgu2:
if(getmapusers("guild_vs3") >= 100 ) goto LError;
warp "guild_vs3",0,0;
end;

Lgu3:
if(getmapusers("pvp_n_1-5") >= 100 ) goto LError;
warp "pvp_n_1-5",0,0;
end;
Lgu4:
set @time, $empbrk_record;
set @m, @time / 60000;
set @time, @time - (@m * 60000);
set @s, @time /1000;
set @time, @time - (@s * 1000);

mes "[Emperium]";
mes "Официальная Запись ^5050A0"+$empbrk_record$+"^000000";
mes " ^000080"+@m+"^000000m ^000080"+@s+"^000000s ^000080"+@time+"^000000ms";

set @time, empbrk_record;
set @m, @time / 60000;
set @time, @time - (@m * 60000);
set @s, @time /1000;
set @time, @time - (@s * 1000);
mes "Ваша запись:";
mes " ^000080"+@m+"^000000m ^000080"+@s+"^000000s ^000080"+@time+"^000000ms";

mes "Вы хотите попробовать установить рекорд?";
next;
if (getgmlevel()>99) {mes "^FF0000/!\ ^000000Гм меню ^509050Active ^FF0000/!\^000000"; menu "Стандартное меню",-,"Reset",L_reset,"Exit",L_exit;}
menu
"Да",-,"Нет",L_exit,"Ресет",L_resc;
cleararray .arena$[0],"",4;
mes "[Тест]";
if (getareausers("pvp_n_4-5",94,128,105,139)) mes "Имп n° ^0000DF1 ^FF0000 Занятый^000000";
else{ mes "Emp n° ^0000DF1 ^00A000 Свободный^000000"; set .arena$[0],"^0000DFEmperium^000000";}
if (getareausers("pvp_n_4-5",60,94,71,105)) mes "Имп n° ^B05D002 ^FF0000 Занятый^000000";
else{ mes "Emp n° ^B05D002 ^00A000 Свободный^000000"; set .arena$[1],"^B05D00Emperium^000000";}
if (getareausers("pvp_n_4-5",94,60,105,71)) mes "Имп n° ^B00FB03 ^FF0000 Busy^000000";
else{ mes "Emp n° ^90AF003 ^00A000 Свободный^000000"; set .arena$[2],"^90AF00Emperium^000000";}
if (getareausers("pvp_n_4-5",128,94,139,105)) mes "Имп n° ^50AF004 ^FF0000 Занятый^000000";
else{ mes "Emp n° ^500F004 ^00A000 Свободный^000000"; set .arena$[3],"^500F00Emperium^000000";}
next;
getmapxy(@mpempbrk$,@empbrkx,@empbrky,0,strcharinfo(0));
switch (select(.arena$[0],.arena$[1],.arena$[2],.arena$[3],"Esci")){

case 1:
if (getareausers("pvp_n_4-5",60,94,71,105) == 0){
warp "pvp_n_4-5",99,128;
killmonster "pvp_n_4-5","EmpBrk#1::OnThisMobDeath";
initnpctimer "EmpBrk#1";}
break;

case 2:
if (getareausers("pvp_n_4-5",60,94,71,105) == 0){
warp "pvp_n_4-5",68,99;
killmonster "pvp_n_4-5","EmpBrk#2::OnThisMobDeath";
initnpctimer "EmpBrk#2";}
break;

case 3:
if (getareausers("pvp_n_4-5",94,60,105,71) == 0){
warp "pvp_n_4-5",100,68;
killmonster "pvp_n_4-5","EmpBrk#3::OnThisMobDeath";
initnpctimer "EmpBrk#3";}
break;

case 4:
if (getareausers("pvp_n_4-5",128,94,139,105) == 0){
warp "pvp_n_4-5",130,99;
killmonster "pvp_n_4-5","EmpBrk#4::OnThisMobDeath";
initnpctimer "EmpBrk#4";}
break;

default:
close;

}
charCommand strcharinfo(0)+":#alive "+strcharinfo(0);
close;

L_reset:
mes "[Империум]";
mes "Вы хотите сделать ресет записей??";
menu "Да",-,"Нет",L_exit;
set $empbrk_record, 0;
set $empbrk_record$, 0;
close;
L_resc:
mes "[Империум]";
mes "Уверены что хотите удалить ваш рекорд";
menu "Да",-,"Нет",L_exit;
set empbrk_record, 0;
L_exit:
close;

Lcancel:
mes "Арена";
mes "Хорошо, возвращайся, как захочешь отвести душу";
close;
LError:
mes "Арена";
mes "Извини, на этой арене нет места...";
close;
OnInit:
setmapflag "guild_vs3",mf_nowarp;
setmapflag "guild_vs3",mf_nowarpto;
setmapflag "guild_vs3",mf_noteleport;
setmapflag "guild_vs3",mf_nosave;
setmapflag "guild_vs3",mf_nomemo;
setmapflag "guild_vs3",mf_nobranch;
setmapflag "guild_vs3",mf_nopenalty;
setmapflag "guild_vs3",mf_noreturn;

setmapflag "guild_vs1",mf_nowarp;
setmapflag "guild_vs1",mf_nowarpto;
setmapflag "guild_vs1",mf_noteleport;
setmapflag "guild_vs1",mf_nosave;
setmapflag "guild_vs1",mf_nomemo;
setmapflag "guild_vs1",mf_nobranch;
setmapflag "guild_vs1",mf_nopenalty;
setmapflag "guild_vs1",mf_noreturn;
end;
}

guild_vs3 mapflag pvp_noguild


// Проверка на смерть и автоварп в пронту

- script arena_die -1,{

OnPCDieEvent:
getmapxy .@arena$,.@arena,.@arena,0;
if ( .@arena$ == "guild_vs3") {
sleep2 1;
warp "prontera",150,178;
atcommand "@alive "+ strcharinfo(0);
dispbottom "Вас убили, но неогорчайтесь...соберитесь с силами и покажите на что вы способны!!!!!!";
}
}

- script EmpBrk#1 -1,{

OnTimer3000:
if (.end == 1) { warpchar "prontera",162,174,.charid;
stopnpctimer;
set .end, 0;
}
end;

OnTimer5000:
set .x1,94;
set .y1,128;
set .x2,105;
set .y2,139;
set .xe,100;
set .ye,134;

areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Готовся сломать Emperium",0;
end;

OnTimer7000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0;
end;

OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0;
end;

OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0;
end;

OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0;
end;

OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0;
end;

OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Рубы!!!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#1::OnThisMobDeath";
end;

OnThisMobDeath:
stopnpctimer "EmpBrk#1";
set .time, getnpctimer(0,"EmpBrk#1")/2;
set .time, .time - 12000;
if (.time < empbrk_record || empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новая Собственная Запись!!!",0;
set empbrk_record, .time;

}
if (.time < $empbrk_record || $empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новая официальная запись!!!",0;
set $empbrk_record, .time;
set $empbrk_record$,strcharinfo(0);
}
set .m, .time / 60000;
set .time, .time - (.m * 60000);
set .s, .time /1000;
set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Ваше время "+.m+"m "+.s+"s "+.time+"ms",0;
set .end,1;
set .charid,getcharid(0);
initnpctimer;
end;
}

- script EmpBrk#2 -1,{


OnTimer3000:
if (.end == 1) { warpchar "prontera",162,174,.charid;
stopnpctimer;
set .end, 0;
}
end;

OnTimer5000:
set .x1,60;
set .y1,94;
set .x2,71;
set .y2,105;
set .xe,65;
set .ye,99;

areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Готовся сломать Emperium",0;
end;

OnTimer7000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0;
end;

OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0;
end;

OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0;
end;

OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0;
end;

OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0;
end;

OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Рубы!!!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#2::OnThisMobDeath";
end;

OnThisMobDeath:
stopnpctimer "EmpBrk#2";
set .time, getnpctimer(0,"EmpBrk#2")/2;
set .time, .time - 12000;
if (.time < empbrk_record || empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Ваш новый рекорд!!!",0;
set empbrk_record, .time;

}
if (.time < $empbrk_record || $empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новая официальная запись!!!",0;
set $empbrk_record, .time;
set $empbrk_record$,strcharinfo(0);
}
set .m, .time / 60000;
set .time, .time - (.m * 60000);
set .s, .time /1000;
set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Ваше время "+.m+"m "+.s+"s "+.time+"ms",0;
set .end,1;
set .charid,getcharid(0);
initnpctimer;
end;
}

- script EmpBrk#3 -1,{

OnTimer3000:
if (.end == 1) { warpchar "prontera",162,174,.charid;
stopnpctimer;
set .end, 0;
}
end;

OnTimer5000:
set .x1,94;
set .y1,60;
set .x2,105;
set .y2,71;
set .xe,99;
set .ye,65;

areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Готовся сломать Emperium",0;
end;

OnTimer7000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0;
end;

OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0;
end;

OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0;
end;

OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0;
end;

OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0;
end;

OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Рубы!!!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#3::OnThisMobDeath";
end;

OnThisMobDeath:
stopnpctimer "EmpBrk#3";
set .time, getnpctimer(0,"EmpBrk#3")/2;
set .time, .time - 12000;
if (.time < empbrk_record || empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый ваш рекорд!!!",0;
set empbrk_record, .time;

}
if (.time < $empbrk_record || $empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новая Официальная Запись!!!",0;
set $empbrk_record, .time;
set $empbrk_record$,strcharinfo(0);
}
set .m, .time / 60000;
set .time, .time - (.m * 60000);
set .s, .time /1000;
set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Your time is "+.m+"m "+.s+"s "+.time+"ms",0;
set .end,1;
set .charid,getcharid(0);
initnpctimer;
end;
}


- script EmpBrk#4 -1,{

OnTimer3000:
if (.end == 1) { warpchar "prontera",162,174,.charid;
stopnpctimer;
set .end, 0;
}
end;

OnTimer5000:
set .x1,128;
set .y1,94;
set .x2,139;
set .y2,105;
set .xe,134;
set .ye,99;

areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Готовься сломать Emperium",0;
end;

OnTimer7000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"5",0;
end;

OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"4",0;
end;

OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"3",0;
end;

OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"2",0;
end;

OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"1",0;
end;

OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Рубы!!!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#4::OnThisMobDeath";
end;

OnThisMobDeath:
stopnpctimer "EmpBrk#4";
set .time, getnpctimer(0,"EmpBrk#4")/2;
set .time, .time - 12000;
if (.time < empbrk_record || empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Собственная запись!!!",0;
set empbrk_record, .time;

}
if (.time < $empbrk_record || $empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новая Официальная Запись!!!",0;
set $empbrk_record, .time;
set $empbrk_record$,strcharinfo(0);
}
set .m, .time / 60000;
set .time, .time - (.m * 60000);
set .s, .time /1000;
set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Your time is "+.m+"m "+.s+"s "+.time+"ms",0;
set .end,1;
set .charid,getcharid(0);
initnpctimer;
end;
}


pvp_n_4-5,99,125,0 script EmpBrk#1_touch -1,2,1,{

OnTouch:
killmonster "pvp_n_4-5","EmpBrk#1::OnThisMobDeath";
mes "[EmpBrk]";
mes "Вы не можете выходить из небольшого участка";
close2;
warp @mpempbrk$,@empbrkx,@empbrky;
close;
}

pvp_n_4-5,74,99,0 script EmpBrk#2_touch -1,1,2,{

OnTouch:
killmonster "pvp_n_4-5","EmpBrk#2::OnThisMobDeath";
mes "[EmpBrk]";
mes "Вы неможете выходить за небольшой участок";
close2;
warp @mpempbrk$,@empbrkx,@empbrky;
close;

}

pvp_n_4-5,100,74,0 script EmpBrk#3_touch -1,2,1,{

OnTouch:
killmonster "pvp_n_4-5","EmpBrk#3::OnThisMobDeath";
mes "[EmpBrk]";
mes "Вы неможете выходить за этот маленький участок";
close2;
warp @mpempbrk$,@empbrkx,@empbrky;
close;

}

pvp_n_4-5,125,100,0 script EmpBrk#4_touch -1,1,2,{

OnTouch:
killmonster "pvp_n_4-5","EmpBrk#4::OnThisMobDeath";
mes "[EmpBrk]";
mes "Вы не можете выходить за маленький участок.";
close2;
warp @mpempbrk$,@empbrkx,@empbrky;
close;
}

pvp_n_1-5 mapflag pvp

pvp_n_1-5 mapflag noteleport

pvp_n_1-5 mapflag nosave SavePoint

pvp_n_1-5 mapflag nowarp

pvp_n_1-5 mapflag noreturn

pvp_n_1-5 mapflag nomemo

pvp_n_1-5 mapflag nowarpto

pvp_n_1-5 mapflag restricted 5

Вот моя аренка...эммм....или возьми сразу аренку в , чтобы ошибок было меньше

Автор: San: Дата: 01.23.2011

что пишет мап сервер, после исправления той ошибки?
и замени все **** на табы.

Автор: xDREDDx: Дата: 01.23.2011


prontera,164,172,3 script Арена 708,{

mes "[^0000FFАрена^000000]";
mes "Приветствую Вас, ^FF0000"+strcharinfo(0)+"^000000.";
mes "Выберите пожалуйста одну из арен, куда Вы хотите попасть.";

switch(select("Арена [" + getmapusers("guild_vs3") + " / 50]","Арена ^FF0000(Без Зелий)^000000 [" + getmapusers("pvp_n_1-5") + " / 50]","Арена ^FF0000(Дроп вещей)^000000 [" + getmapusers("guild_vs2") + " / 10]","Выход")){

case 1:
if(getmapusers("guild_vs3")>=50) {
next;
mes "[^0000FFАрена^000000]";
mes "Извините, но Арена полная, попробуйте позже.";
emotion e_sry;
close;
}

if(BaseJob==Job_Novice || BaseLevel<90) {
next;
mes "[^0000FFАрена^000000]";
mes "Извините, но Ваш уровень слишком мал или Вы Novice.";
mes "На Арену можно попасть с ^FF000090+^000000 базового уровня.";
emotion e_sry;
close;
}

sc_start SC_BLESSING,600000,10;
sc_start SC_INCREASEAGI,600000,10;
percentheal 100,100;
warp "guild_vs3",0,0;
close2;
break;

case 2:
if(getmapusers("pvp_n_1-5")>=50) {
next;
mes "[^0000FFАрена^000000]";
mes "Извините, но Арена полная, попробуйте позже.";
emotion e_sry;
close;
}

if(BaseJob==Job_Novice || BaseLevel<90) {
next;
mes "[^0000FFАрена^000000]";
mes "Извините, но Ваш уровень слишком мал или Вы Novice.";
mes "На Арену можно попасть с ^FF000090+^000000 базового уровня.";
emotion e_sry;
close;
}

sc_start SC_BLESSING,600000,10;
sc_start SC_INCREASEAGI,600000,10;
percentheal 100,100;
warp "pvp_n_1-5",0,0;
close2;
break;

case 3:
if(getmapusers("guild_vs2")>=10) {
next;
mes "[^0000FFАрена^000000]";
mes "Извините, но Арена полная, попробуйте позже.";
emotion e_sry;
close;
}

if(BaseJob==Job_Novice || BaseLevel<90) {
next;
mes "[^0000FFАрена^000000]";
mes "Извините, но Ваш уровень слишком мал или Вы Novice.";
mes "На Арену можно попасть с ^FF000090+^000000 базового уровня.";
emotion e_sry;
close;
}

sc_start SC_BLESSING,600000,10;
sc_start SC_INCREASEAGI,600000,10;
percentheal 100,100;
sc_end SC_GOSPEL;
warp "guild_vs2",0,0;
close2;
break;

case 4:
close;
break;
}

OnInit:
waitingroom "[Арена]",0;
end;
}


Вот кусок скрипта, протестил, всё работает...
Видимо ошибка была в неправильном переносе строк, меню лучше в одной строке делать...

Автор: DIMAN08: Дата: 01.24.2011

убрал энтер между 17 и 18 строками,как сказал Gremlin

теперь мап сервер ругается на табы,пытаюсь расставить правильно

Автор: DIMAN08: Дата: 01.24.2011

с табуляцией разобрался)

теперь хочу следующее

сделать чтобы обычной ареной была старая добрая поляна(под пронтой)

чтобы в арене без зелий не было никаких мвп!

и по возможности добавить в эту же арену,арену 1х1

подскажите что нужно поправить для всего этого?

//---Скрипт "Арена" для RUS-eA.---//

//---Скрипт написал aN00B1s с нуля.---//



//---Скрипт Арены---//

prontera,164,175,0 script Арена 801,{

mes "[^0000FFАрена^000000]";

mes "Приветствую Вас, ^FF0000"+strcharinfo(0)+"^000000.";

mes "Выберите пожалуйста одну из арен, куда Вы хотите попасть.";

switch(select("Арена [" + getmapusers("guild_vs3") + " / 50]","Арена ^FF0000(Без Зелий)^000000 [" + getmapusers("pvp_n_1-5") + " / 50]","Арена ^FF0000(Дроп вещей)^000000 [" + getmapusers("guild_vs2") + " / 10]","Выход")){

case 1:

if(getmapusers("guild_vs3")>=50) {

next;

mes "[^0000FFАрена^000000]";

mes "Извините, но Арена полная, попробуйте позже.";

emotion e_sry;

close;

}

if(BaseJob==Job_Novice || BaseLevel<90) {

next;

mes "[^0000FFАрена^000000]";

mes "Извините, но Ваш уровень слишком мал или Вы Novice.";

mes "На Арену можно попасть с ^FF000090+^000000 базового уровня.";

emotion e_sry;

close;

}

sc_start SC_BLESSING,600000,10;

sc_start SC_INCREASEAGI,600000,10;

percentheal 100,100;

warp "guild_vs3",0,0;

close2;

break;



case 2:

if(getmapusers("pvp_n_1-5")>=50) {

next;

mes "[^0000FFАрена^000000]";

mes "Извините, но Арена полная, попробуйте позже.";

emotion e_sry;

close;

}

if(BaseJob==Job_Novice || BaseLevel<90) {

next;

mes "[^0000FFАрена^000000]";

mes "Извините, но Ваш уровень слишком мал или Вы Novice.";

mes "На Арену можно попасть с ^FF000090+^000000 базового уровня.";

emotion e_sry;

close;

}

sc_start SC_BLESSING,600000,10;

sc_start SC_INCREASEAGI,600000,10;

percentheal 100,100;

warp "pvp_n_1-5",0,0;

close2;

break;



case 3:

if(getmapusers("guild_vs2")>=10) {

next;

mes "[^0000FFАрена^000000]";

mes "Извините, но Арена полная, попробуйте позже.";

emotion e_sry;

close;

}

if(BaseJob==Job_Novice || BaseLevel<90) {

next;

mes "[^0000FFАрена^000000]";

mes "Извините, но Ваш уровень слишком мал или Вы Novice.";

mes "На Арену можно попасть с ^FF000090+^000000 базового уровня.";

emotion e_sry;

close;

}

sc_start SC_BLESSING,600000,10;

sc_start SC_INCREASEAGI,600000,10;

percentheal 100,100;

sc_end SC_GOSPEL; // Убераем госпель, чтобы игроки не кричали, арена с дропом же.

warp "guild_vs2",0,0;

close2;

break;



case 4:

close;

break;

}

OnInit:

waitingroom "[Арена]",0;

end;

}







//---Скрипт выхода с Арен---//

guild_vs3,86,51,3 script Выход с Арены 708,{

set @vihod,rand (12345,99999); // Будет выбрано случайное число в диапозоне от 12345 до 99999 (для выхода, чтобы не жульничать).

mes "[^0000FFВыход с Арены^000000]";

mes "Приветствую Вас, ^FF0000"+strcharinfo(0)+"^000000.";

mes "Вы уверены, что хотите выйти с Арены?";

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

case 1:

close;



case 2:

mes "Тогда введите число ^FF0000"+ @vihod +"^000000.";

next;

input @vihod2;

if(@vihod2==@vihod) {

warp "SavePoint",0,0;

end;

}

else {

mes "[^0000FFВыход с Арены^000000]";

mes "Результат не верный.";

mes "Я не могу Вас выпустить.";

close;

}

}

OnInit:

waitingroom "[Выход]",0;

end;

}







//---МапФлаги---//



//---Арена---//

guild_vs3 mapflag nowarpto

guild_vs3 mapflag pvp

guild_vs3 mapflag noteleport

guild_vs3 mapflag nosave SavePoint

guild_vs3 mapflag nowarp

guild_vs3 mapflag noreturn

guild_vs3 mapflag pvp_noguild

guild_vs3 mapflag nomemo



//---Арена без зелий (убрал pvp_noguild, как и просили)---//

pvp_n_1-5 mapflag pvp

pvp_n_1-5 mapflag noteleport

pvp_n_1-5 mapflag nosave SavePoint

pvp_n_1-5 mapflag nowarp

pvp_n_1-5 mapflag noreturn

pvp_n_1-5 mapflag nomemo

pvp_n_1-5 mapflag nowarpto

pvp_n_1-5 mapflag restricted 5



//---Арена с дропом вещей---//

guild_vs2 mapflag pvp

guild_vs2 mapflag noteleport

guild_vs2 mapflag nosave SavePoint

guild_vs2 mapflag nowarp

guild_vs2 mapflag noreturn

guild_vs2 mapflag pvp_noguild

guild_vs2 mapflag nomemo

guild_vs2 mapflag nowarpto

guild_vs2 mapflag pvp_nightmaredrop random,equip,1000







//---Дубликаты---//



//---Арены---//

geffen,125,69,4 duplicate(Арена) Арена#2 708

alberta,187,149,4 duplicate(Арена) Арена#3 708

morocc,160,97,4 duplicate(Арена) Арена#4 708

payon,162,233,4 duplicate(Арена) Арена#5 708

comodo,197,148,4 duplicate(Арена) Арена#6 708

aldebaran,144,123,4 duplicate(Арена) Арена#7 708

izlude,134,114,4 duplicate(Арена) Арена#8 708

xmas,143,134,4 duplicate(Арена) Арена#9 708

yuno,163,50,5 duplicate(Арена) Арена#10 708

amatsu,197,79,4 duplicate(Арена) Арена#11 708

gonryun,155,127,5 duplicate(Арена) Арена#12 708

umbala,86,150,5 duplicate(Арена) Арена#13 708

louyang,220,102,5 duplicate(Арена) Арена#14 708

jawaii,245,128,5 duplicate(Арена) Арена#15 708

ayothaya,157,109,4 duplicate(Арена) Арена#16 708

einbroch,69,198,4 duplicate(Арена) Арена#17 708

lighthalzen,153,86,4 duplicate(Арена) Арена#18 708

hugel,91,150,4 duplicate(Арена) Арена#19 708

rachel,122,111,4 duplicate(Арена) Арена#20 708



//---Выхода---//

pvp_n_1-5,134,100,3 duplicate(Выход с Арены) Выход с Арены#2 708

guild_vs2,92,50,3 duplicate(Выход с Арены) Выход с Арены#3 708





//---ВНИМАНИЕ! ТО, ЧТО НИЖЕ НЕ ДОБАВЛЯТЬ В СКРИПТ!---//

//---Это нужно добавить в db/item_noequip.txt---//

Автор: Jarek: Дата: 01.24.2011

Цитата DIMAN08;31214:
подскажите что нужно поправить для всего этого?

Самое главное: пожалуйста, используйте теги php или codebox для больших скриптов, у меня ролик на мышке так скоро сломается :)

По-порядку:
1. Чтобы поменять простую арену на prt_fild08, нужно просто поменять место назначения при варпе.
warp "guild_vs3",0,0;

Ну тогда наверное придется повозиться в папкой npc/warps, отключая варпы с\на локацию.

Ну еще надо будет в меню заменить локацию
Арена [" + getmapusers("guild_vs3") + " / 50]


2. Судя по скрипту поты можно запретить мапфлагом (если вы, конечно, добавили все необходимое в db/item_noequip.txt)
prt_fild08	mapflag	restricted 5


3. Мвп запрещаем - запретив ломание веток
prt_fild08	mapflag	nobranch

Ах да, еще нужно в item_noequip в "рестриктед 5" добавить карту Хилозоиста, и ножик азот (либо удалить мобов с филда и запретить скиллы, вызывающих монстров.

4. Последние вообще не понял, что вы имели в виду :huh:

Автор: DIMAN08: Дата: 01.25.2011

так..
с 1. разобрался (сменил карту на prt_fild08)
2. ты наверное не так понял,у меня поты там уже и так отключены,это же "арена без зелий" у меня другая проблема..у меня там MVP монстры тусуются почемуто..всякие Incantation Samurai..хотя их никто не вызывал...вот нужно их как то отключить,чтобы их там не было,это ведь пвп арена а не мвп)
3.последнее я имел ввиду,чтобы в мою арену добавить ещё арену "1x1"

тоесть чтобы она имела вид:
Арена
Арена (без зелий)
Арена(дроп вещей)
Арена(1х1)

тоесть мне нужен кусок скрипта на эту самую "1х1" арену,и доходчивое объяснение куда его запихнуть)

Автор: [OneLife]: Дата: 01.25.2011

Тебе же написали:

Цитата Jarek;31232:

3. Мвп запрещаем - запретив ломание веток
prt_fild08	mapflag	nobranch

Ах да, еще нужно в item_noequip в "рестриктед 5" добавить карту Хилозоиста, и ножик азот (либо удалить мобов с филда и запретить скиллы, вызывающих монстров.

А по поводу арены 1х1:

if(getmapusers("карта")==2) {
next;
mes "Извините, но на арене уже сражаются";
close;
}

Что-то вроде этого.

Автор: Jarek: Дата: 01.25.2011

Цитата DIMAN08;31342:

2. ты наверное не так понял,у меня поты там уже и так отключены,это же "арена без зелий" у меня другая проблема..у меня там MVP монстры тусуются почемуто..всякие Incantation Samurai..хотя их никто не вызывал...вот нужно их как то отключить,чтобы их там не было,это ведь пвп арена а не мвп)


Ну да я не так понял, я думал на новой арене сделать эти ограничения...
Отрубите в scipt_custom.conf MVP арену
npc/custom/MVP_arena/
Ну или, если вы её каким-то боком используете, то отрубаем спаун мвп в arena_mvp.txt

Цитата DIMAN08;31342:
3.последнее я имел ввиду,чтобы в мою арену добавить ещё арену "1x1"

Написали бы, чтобы в скрипт добавить еще одну арену, а то я опять понял по другому

Замените ваша_карта (в 3 местах) на название локи, на которой хотите новую арену

//---Скрипт "Арена" для RUS-eA.---//
//---Скрипт написал aN00B1s с нуля.---//

//---Скрипт Арены---//

prontera,164,175,0 script Арена 801,{
mes "[^0000FFАрена^000000]";
mes "Приветствую Вас, ^FF0000"+strcharinfo(0)+"^000000.";
mes "Выберите пожалуйста одну из арен, куда Вы хотите попасть.";
switch(select("Арена [" + getmapusers("prt_fild08") + " / 50]","Арена ^FF0000(Без Зелий)^000000 [" + getmapusers("pvp_n_1-5") + " / 50]","Арена ^FF0000(Дроп вещей)^000000 [" + getmapusers("guild_vs2") + " / 10]","Арена ^FF00001x1^000000 ["+getmapusers("ваша_карта") + " / 2]","Выход")){
case 1:
if(getmapusers("prt_fild08")>49) {
mes "[^0000FFАрена^000000]";
mes "Извините, но Арена полная, попробуйте позже.";
emotion e_sry;
close;
}
if(BaseJob==Job_Novice || BaseLevel<90) {
mes "[^0000FFАрена^000000]";
mes "Извините, но Ваш уровень слишком мал или Вы Novice.";
mes "На Арену можно попасть с ^FF000090+^000000 базового уровня.";
emotion e_sry;
close;
}
sc_start SC_BLESSING,600000,10;
sc_start SC_INCREASEAGI,600000,10;
percentheal 100,100;
close2;
warp "prt_fild08",0,0;
end;
case 2:
if(getmapusers("pvp_n_1-5")>49) {
mes "[^0000FFАрена^000000]";
mes "Извините, но Арена полная, попробуйте позже.";
emotion e_sry;
close;
}
if(BaseJob==Job_Novice || BaseLevel<90) {
mes "[^0000FFАрена^000000]";
mes "Извините, но Ваш уровень слишком мал или Вы Novice.";
mes "На Арену можно попасть с ^FF000090+^000000 базового уровня.";
emotion e_sry;
close;
}
sc_start SC_BLESSING,600000,10;
sc_start SC_INCREASEAGI,600000,10;
percentheal 100,100;
close2;
warp "pvp_n_1-5",0,0;
end;
case 3:
if(getmapusers("guild_vs2")>9) {
mes "[^0000FFАрена^000000]";
mes "Извините, но Арена полная, попробуйте позже.";
emotion e_sry;
close;
}
if(BaseJob==Job_Novice || BaseLevel<90) {
mes "[^0000FFАрена^000000]";
mes "Извините, но Ваш уровень слишком мал или Вы Novice.";
mes "На Арену можно попасть с ^FF000090+^000000 базового уровня.";
emotion e_sry;
close;
}
sc_start SC_BLESSING,600000,10;
sc_start SC_INCREASEAGI,600000,10;
percentheal 100,100;
sc_end SC_GOSPEL; // Убераем госпель, чтобы игроки не кричали, арена с дропом же.
close2;
warp "guild_vs2",0,0;
end;
case 4:
if(getmapusers("ваша_карта")>1) {
mes "[^0000FFАрена^000000]";
mes "Извините, но Арена полная, попробуйте позже.";
emotion e_sry;
close;
}
if(BaseJob==Job_Novice || BaseLevel<90) {
mes "[^0000FFАрена^000000]";
mes "Извините, но Ваш уровень слишком мал или Вы Novice.";
mes "На Арену можно попасть с ^FF000090+^000000 базового уровня.";
emotion e_sry;
close;
}
sc_start SC_BLESSING,600000,10;
sc_start SC_INCREASEAGI,600000,10;
percentheal 100,100;
close2;
warp "ваша_карта",0,0;
end;
case 5:
close;
}

OnInit:
waitingroom "[Арена]",0;
end;
}

//---Скрипт выхода с Арен---//

guild_vs3,86,51,3 script Выход с Арены 708,{
set @vihod,rand (12345,99999); // Будет выбрано случайное число в диапозоне от 12345 до 99999 (для выхода, чтобы не жульничать).
mes "[^0000FFВыход с Арены^000000]";
mes "Приветствую Вас, ^FF0000"+strcharinfo(0)+"^000000.";
mes "Вы уверены, что хотите выйти с Арены?";
switch(select("Нет","Да")){
case 1:
close;
case 2:
mes "Тогда введите число ^FF0000"+ @vihod +"^000000.";
next;
input @vihod2;
if(@vihod2==@vihod) {
warp "SavePoint",0,0;
end;
}
mes "[^0000FFВыход с Арены^000000]";
mes "Результат не верный.";
mes "Я не могу Вас выпустить.";
close;
}

OnInit:
waitingroom "[Выход]",0;
end;

}



//---МапФлаги---//

//---Арена---//

prt_fild08 mapflag nowarpto
prt_fild08 mapflag pvp
prt_fild08 mapflag noteleport
prt_fild08 mapflag nosave SavePoint
prt_fild08 mapflag nowarp
prt_fild08 mapflag noreturn
prt_fild08 mapflag pvp_noguild
prt_fild08 mapflag nomemo

//---Арена без зелий (убрал pvp_noguild, как и просили)---//

pvp_n_1-5 mapflag pvp
pvp_n_1-5 mapflag noteleport
pvp_n_1-5 mapflag nosave SavePoint
pvp_n_1-5 mapflag nowarp
pvp_n_1-5 mapflag noreturn
pvp_n_1-5 mapflag nomemo
pvp_n_1-5 mapflag nowarpto
pvp_n_1-5 mapflag restricted 5

//---Арена с дропом вещей---//

guild_vs2 mapflag pvp
guild_vs2 mapflag noteleport
guild_vs2 mapflag nosave SavePoint
guild_vs2 mapflag nowarp
guild_vs2 mapflag noreturn
guild_vs2 mapflag pvp_noguild
guild_vs2 mapflag nomemo
guild_vs2 mapflag nowarpto
guild_vs2 mapflag pvp_nightmaredrop random,equip,1000



//---Дубликаты---//

//---Арены---//

geffen,125,69,4 duplicate(Арена) Арена#2 708
alberta,187,149,4 duplicate(Арена) Арена#3 708
morocc,160,97,4 duplicate(Арена) Арена#4 708
payon,162,233,4 duplicate(Арена) Арена#5 708
comodo,197,148,4 duplicate(Арена) Арена#6 708
aldebaran,144,123,4 duplicate(Арена) Арена#7 708
izlude,134,114,4 duplicate(Арена) Арена#8 708
xmas,143,134,4 duplicate(Арена) Арена#9 708
yuno,163,50,5 duplicate(Арена) Арена#10 708
amatsu,197,79,4 duplicate(Арена) Арена#11 708
gonryun,155,127,5 duplicate(Арена) Арена#12 708
umbala,86,150,5 duplicate(Арена) Арена#13 708
louyang,220,102,5 duplicate(Арена) Арена#14 708
jawaii,245,128,5 duplicate(Арена) Арена#15 708
ayothaya,157,109,4 duplicate(Арена) Арена#16 708
einbroch,69,198,4 duplicate(Арена) Арена#17 708
lighthalzen,153,86,4 duplicate(Арена) Арена#18 708
hugel,91,150,4 duplicate(Арена) Арена#19 708
rachel,122,111,4 duplicate(Арена) Арена#20 708



//---Выхода---//

pvp_n_1-5,134,100,3 duplicate(Выход с Арены) Выход с Арены#2 708
guild_vs2,92,50,3 duplicate(Выход с Арены) Выход с Арены#3 708

Автор: DIMAN08: Дата: 01.25.2011

//---Скрипт "Арена" для RUS-eA.---//
//---Скрипт написал aN00B1s с нуля.---//

//---Скрипт Арены---//

prontera,164,175,0 script Арена 801,{
mes "[^0000FFАрена^000000]";
mes "Приветствую Вас, ^FF0000"+strcharinfo(0)+"^000000.";
mes "Выберите пожалуйста одну из арен, куда Вы хотите попасть.";
switch(select("Арена [" + getmapusers("prt_fild08") + " / 50]","Арена ^FF0000(Без Зелий)^000000 [" + getmapusers("pvp_n_1-5") + " / 50]","Арена ^FF0000(Дроп вещей)^000000 [" + getmapusers("guild_vs2") + " / 10]","Арена ^FF0000(1x1)^000000 ["+getmapusers("pvp_n_1-5") + " / 2]","Выход")){
case 1:
if(getmapusers("guild_vs3")>=50) {
mes "[^0000FFАрена^000000]";
mes "Извините, но Арена полная, попробуйте позже.";
emotion e_sry;
close;
}
if(BaseJob==Job_Novice || BaseLevel<90) {
mes "[^0000FFАрена^000000]";
mes "Извините, но Ваш уровень слишком мал или Вы Novice.";
mes "На Арену можно попасть с ^FF000090+^000000 базового уровня.";
emotion e_sry;
close;
}
sc_start SC_BLESSING,600000,10;
sc_start SC_INCREASEAGI,600000,10;
percentheal 100,100;
close2;
warp "prt_fild08",170,372;
end;
case 2:
if(getmapusers("pvp_n_1-5")>49) {
mes "[^0000FFАрена^000000]";
mes "Извините, но Арена полная, попробуйте позже.";
emotion e_sry;
close;
}
if(BaseJob==Job_Novice || BaseLevel<90) {
mes "[^0000FFАрена^000000]";
mes "Извините, но Ваш уровень слишком мал или Вы Novice.";
mes "На Арену можно попасть с ^FF000090+^000000 базового уровня.";
emotion e_sry;
close;
}
sc_start SC_BLESSING,600000,10;
sc_start SC_INCREASEAGI,600000,10;
percentheal 100,100;
close2;
warp "pvp_n_1-5",0,0;
end;
case 3:
if(getmapusers("guild_vs2")>9) {
mes "[^0000FFАрена^000000]";
mes "Извините, но Арена полная, попробуйте позже.";
emotion e_sry;
close;
}
if(BaseJob==Job_Novice || BaseLevel<90) {
mes "[^0000FFАрена^000000]";
mes "Извините, но Ваш уровень слишком мал или Вы Novice.";
mes "На Арену можно попасть с ^FF000090+^000000 базового уровня.";
emotion e_sry;
close;
}
sc_start SC_BLESSING,600000,10;
sc_start SC_INCREASEAGI,600000,10;
percentheal 100,100;
sc_end SC_GOSPEL; // Убераем госпель, чтобы игроки не кричали, арена с дропом же.
close2;
warp "guild_vs2",0,0;
end;
case 4:
if(getmapusers("pvp_n_1-5")>1) {
mes "[^0000FFАрена^000000]";
mes "Извините, но Арена полная, попробуйте позже.";
emotion e_sry;
close;
}
if(BaseJob==Job_Novice || BaseLevel<90) {
mes "[^0000FFАрена^000000]";
mes "Извините, но Ваш уровень слишком мал или Вы Novice.";
mes "На Арену можно попасть с ^FF000090+^000000 базового уровня.";
emotion e_sry;
close;
}
sc_start SC_BLESSING,600000,10;
sc_start SC_INCREASEAGI,600000,10;
percentheal 100,100;
close2;
warp "pvp_n_1-5",0,0;
end;
case 5:
close;
}

OnInit:
waitingroom "[Арена]",0;
end;
}

//---Скрипт выхода с Арен---//

guild_vs3,86,51,3 script Выход с Арены 708,{
set @vihod,rand (12345,99999); // Будет выбрано случайное число в диапозоне от 12345 до 99999 (для выхода, чтобы не жульничать).
mes "[^0000FFВыход с Арены^000000]";
mes "Приветствую Вас, ^FF0000"+strcharinfo(0)+"^000000.";
mes "Вы уверены, что хотите выйти с Арены?";
switch(select("Нет","Да")){
case 1:
close;
case 2:
mes "Тогда введите число ^FF0000"+ @vihod +"^000000.";
next;
input @vihod2;
if(@vihod2==@vihod) {
warp "SavePoint",0,0;
end;
}
mes "[^0000FFВыход с Арены^000000]";
mes "Результат не верный.";
mes "Я не могу Вас выпустить.";
close;
}

OnInit:
waitingroom "[Выход]",0;
end;

}



//---МапФлаги---//

//---Арена---//

guild_vs3 mapflag nowarpto
guild_vs3 mapflag pvp
guild_vs3 mapflag noteleport
guild_vs3 mapflag nosave SavePoint
guild_vs3 mapflag nowarp
guild_vs3 mapflag noreturn
guild_vs3 mapflag pvp_noguild
guild_vs3 mapflag nomemo

//---Арена без зелий (убрал pvp_noguild, как и просили)---//

pvp_n_1-5 mapflag pvp
pvp_n_1-5 mapflag noteleport
pvp_n_1-5 mapflag nosave SavePoint
pvp_n_1-5 mapflag nowarp
pvp_n_1-5 mapflag noreturn
pvp_n_1-5 mapflag nomemo
pvp_n_1-5 mapflag nowarpto
pvp_n_1-5 mapflag restricted 5

//---Арена с дропом вещей---//

guild_vs2 mapflag pvp
guild_vs2 mapflag noteleport
guild_vs2 mapflag nosave SavePoint
guild_vs2 mapflag nowarp
guild_vs2 mapflag noreturn
guild_vs2 mapflag pvp_noguild
guild_vs2 mapflag nomemo
guild_vs2 mapflag nowarpto
guild_vs2 mapflag pvp_nightmaredrop random,equip,1000



//---Дубликаты---//

//---Арены---//

geffen,125,69,4 duplicate(Арена) Арена#2 708
alberta,187,149,4 duplicate(Арена) Арена#3 708
morocc,160,97,4 duplicate(Арена) Арена#4 708
payon,162,233,4 duplicate(Арена) Арена#5 708
comodo,197,148,4 duplicate(Арена) Арена#6 708
aldebaran,144,123,4 duplicate(Арена) Арена#7 708
izlude,134,114,4 duplicate(Арена) Арена#8 708
xmas,143,134,4 duplicate(Арена) Арена#9 708
yuno,163,50,5 duplicate(Арена) Арена#10 708
amatsu,197,79,4 duplicate(Арена) Арена#11 708
gonryun,155,127,5 duplicate(Арена) Арена#12 708
umbala,86,150,5 duplicate(Арена) Арена#13 708
louyang,220,102,5 duplicate(Арена) Арена#14 708
jawaii,245,128,5 duplicate(Арена) Арена#15 708
ayothaya,157,109,4 duplicate(Арена) Арена#16 708
einbroch,69,198,4 duplicate(Арена) Арена#17 708
lighthalzen,153,86,4 duplicate(Арена) Арена#18 708
hugel,91,150,4 duplicate(Арена) Арена#19 708
rachel,122,111,4 duplicate(Арена) Арена#20 708



//---Выхода---//

pvp_n_1-5,134,100,3 duplicate(Выход с Арены) Выход с Арены#2 708
guild_vs2,92,50,3 duplicate(Выход с Арены) Выход с Арены#3 708





//---ВНИМАНИЕ! ТО, ЧТО НИЖЕ НЕ ДОБАВЛЯТЬ В СКРИПТ!---//

//---Это нужно добавить в db/item_noequip.txt---//


такс..всё получилось..но теперь осталась последняя проблема,у меня на обычной арене(которая в prt_fild08) не включается пвп почему-то(

на всех остальных аренах включается,а на этой нет(

что подправить?

Автор: Jarek: Дата: 01.25.2011

Я еще раз говорю, не надо использовать quote для больших скриптов, используйте code

Поправил предыдущий мой пост, нужно мапфлаги поставить для филда

Автор: DIMAN08: Дата: 01.25.2011

Цитата Jarek;31363:
Я еще раз говорю, не надо использовать quote для больших скриптов, используйте code
филда


прости..я незнаю как сделать code

Автор: Jarek: Дата: 01.25.2011

В форме быстрого ответа его действительно нет, так что в расширенном режиме, либо ручками

Автор: DIMAN08: Дата: 01.25.2011

ура))) получилось)))

такс..с обычной ареной покончено))

может поможешь заодно и с имп ареной?

она не правильно считает время,как я понял она считает с момента,когда я появился на арене,а не с момента когда появился империум)

prontera,144,174,4	script	Империум Арена	1288,{

set @time, $empbrk_record;
set @m, @time / 60000;
set @time, @time - (@m * 60000);
set @s, @time /1000;
set @time, @time - (@s * 1000);

mes "[Имп Тест]";
mes "Мировой Рекордсмен ^5050A0["+$empbrk_record$+"]^000000";
mes " ^000080"+@m+"^000000м ^000080"+@s+"^000000с ^000080"+@time+"^000000мс";

set @time, empbrk_record;
set @m, @time / 60000;
set @time, @time - (@m * 60000);
set @s, @time /1000;
set @time, @time - (@s * 1000);
mes "Личный рекорд:";
mes " ^000080"+@m+"^000000м ^000080"+@s+"^000000с ^000080"+@time+"^000000мс";

mes "Желаете зайти?";
next;
if (getgmlevel()==99) { menu "Standard Menu",-,"Reset",L_reset,"Reset Rooms",L_emptyrooms,"Exit",L_exit;}
menu "Да",-,"Нет",L_exit,"Обнулить",L_resc;
cleararray .arena$[0],"",4;
mes "[Имп Тест]";
if (getareausers("pvp_n_4-5",94,128,105,139)) mes "Имп ^0000DF1 ^FF0000 Занят^000000";
else{ mes "Имп ^0000DF1 ^00A000 Свободен^000000"; set .arena$[0],"^0000DFEmperium^000000";}
if (getareausers("pvp_n_4-5",60,94,71,105)) mes "Имп ^B05D002 ^FF0000 Занят^000000";
else{ mes "Имп ^B05D002 ^00A000 Свободен^000000"; set .arena$[1],"^B05D00Emperium^000000";}
if (getareausers("pvp_n_4-5",94,60,105,71)) mes "Имп ^B00FB03 ^FF0000 Занят^000000";
else{ mes "Имп ^90AF003 ^00A000 Свободен^000000"; set .arena$[2],"^90AF00Emperium^000000";}
if (getareausers("pvp_n_4-5",128,94,139,105)) mes "Имп ^50AF004 ^FF0000 Занят^000000";
else{ mes "Имп ^500F004 ^00A000 Свободен^000000"; set .arena$[3],"^500F00Emperium^000000";}
next;
getmapxy(@mpempbrk$,@empbrkx,@empbrky,0,strcharinfo(0));
switch (select(.arena$[0],.arena$[1],.arena$[2],.arena$[3],"Отмена")){

case 1:
if (getareausers("pvp_n_4-5",60,94,71,105) == 0){
// if($@someonegotin1 > 0){ mes "Империум Занят"; close;}
set $@someonegotin1, 1;
warp "pvp_n_4-5",99,128;
killmonster "pvp_n_4-5","EmpBrk#1::OnThisMobDeath";
initnpctimer "EmpBrk#1";}
break;

case 2:
if (getareausers("pvp_n_4-5",60,94,71,105) == 0){
// if($@someonegotin2 > 0){ mes "Империум Занят"; close;}
set $@someonegotin2, 1;
warp "pvp_n_4-5",68,99;
killmonster "pvp_n_4-5","EmpBrk#2::OnThisMobDeath";
initnpctimer "EmpBrk#2";}
break;

case 3:
if (getareausers("pvp_n_4-5",94,60,105,71) == 0){
// if($@someonegotin3 > 0){ mes "Империум Занят"; close;}
set $@someonegotin3, 1;
warp "pvp_n_4-5",100,68;
killmonster "pvp_n_4-5","EmpBrk#3::OnThisMobDeath";
initnpctimer "EmpBrk#3";}
break;

case 4:
if (getareausers("pvp_n_4-5",128,94,139,105) == 0){
// if($@someonegotin4 > 0){ mes "Империум Занят"; close;}
set $@someonegotin4, 1;
warp "pvp_n_4-5",130,99;
killmonster "pvp_n_4-5","EmpBrk#4::OnThisMobDeath";
initnpctimer "EmpBrk#4";}
break;

default:
close;

}
sc_end SC_ALL;
close;

L_reset:
mes "[Имп Тест]";
mes "Are you sure to reset official record ?";
menu "Yes",-,"No",L_exit;
set $empbrk_record, 0;
set $empbrk_record$, "";
close;
L_resc:
mes "[Имп Тест]";
mes "Вы уверены, что необходимо обнулить ваш рекорд?";
menu "Да",-,"Нет",L_exit;
set empbrk_record, 0;

L_emptyrooms:
set $@someonegotin1, 0;
set $@someonegotin2, 0;
set $@someonegotin3, 0;
set $@someonegotin4, 0;
close;
L_exit:
close;

}

- script EmpBrk#1 -1,{

OnTimer3000:
if (.end == 1) { warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 0;
}
end;

OnTimer5000:
set .x1,94;
set .y1,128;
set .x2,105;
set .y2,139;
set .xe,100;
set .ye,134;

areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Приготовьтесь к появлению Империума!",0;
set $@someonegotin1, 0;
end;

OnTimer7000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-5-",0;
end;

OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-4-",0;
end;

OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-3-",0;
end;

OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-2-",0;
end;

OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-1-",0;
end;

OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Вперёд!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#1::OnThisMobDeath";
end;

OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;

OnThisMobDeath:
stopnpctimer "EmpBrk#1";
set .time, getnpctimer(0,"EmpBrk#1");
set .time, .time - 12000;
if (.time < empbrk_record || empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый личный рекорд!",0;
set empbrk_record, .time;

}
if (.time < $empbrk_record || $empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый мировой Рекорд!",0;
announce "["+strcharinfo(0)+"] установил новый рекорд разрушения Империума!",0;
set $empbrk_record, .time;
set $empbrk_record$,strcharinfo(0);
}
set .m, .time / 60000;
set .time, .time - (.m * 60000);
set .s, .time /1000;
set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Результат "+.m+"м "+.s+"с "+.time+"мс",0;
set .end,1;
set .charid,getcharid(0);
initnpctimer;
end;
}
pvp_n_4-5,99,125,0 script EmpBrk#1_touch -1,2,1,{

OnTouch:
killmonster "pvp_n_4-5","EmpBrk#1::OnThisMobDeath";
mes "[Имп Тест]";
mes "Нельзя уходить с площадки.";
close2;
set $@someonegotin1, 0;
warp @mpempbrk$,@empbrkx,@empbrky;

close;

}

- script EmpBrk#2 -1,{


OnTimer3000:
if (.end == 1) { warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 0;
}
end;

OnTimer5000:
set .x1,60;
set .y1,94;
set .x2,71;
set .y2,105;
set .xe,65;
set .ye,99;

areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-5-",0;
end;

OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-4-",0;
end;

OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-3-",0;
end;

OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-2-",0;
end;

OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-1-",0;
end;

OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Вперёд!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#2::OnThisMobDeath";
end;

OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;

OnThisMobDeath:
stopnpctimer "EmpBrk#2";
set .time, getnpctimer(0,"EmpBrk#2");
set .time, .time - 12000;
if (.time < empbrk_record || empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый личный рекорд!",0;
set empbrk_record, .time;

}
if (.time < $empbrk_record || $empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый мировой Рекорд!",0;
announce "["+strcharinfo(0)+"] установил новый рекорд разрушения Империума!",0;
set $empbrk_record, .time;
set $empbrk_record$,strcharinfo(0);
}
set .m, .time / 60000;
set .time, .time - (.m * 60000);
set .s, .time /1000;
set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Результат "+.m+"м "+.s+"с "+.time+"мс",0;
set .end,1;
set .charid,getcharid(0);
initnpctimer;
end;
}
pvp_n_4-5,74,99,0 script EmpBrk#2_touch -1,1,2,{

OnTouch:
killmonster "pvp_n_4-5","EmpBrk#2::OnThisMobDeath";
mes "[Имп Тест]";
mes "Нельзя уходить с площадки.";
close2;
set $@someonegotin2, 0;
warp @mpempbrk$,@empbrkx,@empbrky;
close;

}

- script EmpBrk#3 -1,{


OnTimer3000:
if (.end == 1) { warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 0;
}
end;

OnTimer5000:
set .x1,94;
set .y1,60;
set .x2,105;
set .y2,71;
set .xe,99;
set .ye,65;

areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-5-",0;
end;

OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-4-",0;
end;

OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-3-",0;
end;

OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-2-",0;
end;

OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-1-",0;
end;

OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Вперёд!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#3::OnThisMobDeath";
end;

OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;

OnThisMobDeath:
stopnpctimer "EmpBrk#3";
set .time, getnpctimer(0,"EmpBrk#3");
set .time, .time - 12000;
if (.time < empbrk_record || empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый личный рекорд!",0;
set empbrk_record, .time;

}
if (.time < $empbrk_record || $empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый мировой Рекорд!",0;
announce "["+strcharinfo(0)+"] установил новый рекорд разрушения Империума!",0;
set $empbrk_record, .time;
set $empbrk_record$,strcharinfo(0);
}
set .m, .time / 60000;
set .time, .time - (.m * 60000);
set .s, .time /1000;
set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Результат "+.m+"м "+.s+"с "+.time+"мс",0;
set .end,1;
set .charid,getcharid(0);
initnpctimer;
end;
}
pvp_n_4-5,100,74,0 script EmpBrk#3_touch -1,2,1,{

OnTouch:
killmonster "pvp_n_4-5","EmpBrk#3::OnThisMobDeath";
mes "[Имп Тест]";
mes "Нельзя уходить с площадки.";
close2;
set $@someonegotin3, 0;
warp @mpempbrk$,@empbrkx,@empbrky;
close;

}


- script EmpBrk#4 -1,{

OnTimer3000:
if (.end == 1) { warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 0;
}
end;

OnTimer5000:
set .x1,128;
set .y1,94;
set .x2,139;
set .y2,105;
set .xe,134;
set .ye,99;

areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-5-",0;
end;

OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-4-",0;
end;

OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-3-",0;
end;

OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-2-",0;
end;

OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-1-",0;
end;

OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Вперёд!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#4::OnThisMobDeath";
end;

OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;

OnThisMobDeath:
stopnpctimer "EmpBrk#4";
set .time, getnpctimer(0,"EmpBrk#4");
set .time, .time - 12000;
if (.time < empbrk_record || empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый личный рекорд!",0;
set empbrk_record, .time;

}
if (.time < $empbrk_record || $empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый мировой Рекорд!",0;
announce "["+strcharinfo(0)+"] установил новый рекорд разрушения Империума!",0;
set $empbrk_record, .time;
set $empbrk_record$,strcharinfo(0);
}
set .m, .time / 60000;
set .time, .time - (.m * 60000);
set .s, .time /1000;
set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Результат "+.m+"м "+.s+"с "+.time+"мс",0;
set .end,1;
set .charid,getcharid(0);
initnpctimer;
end;
}
pvp_n_4-5,125,100,0 script EmpBrk#4_touch -1,1,2,{

OnTouch:
killmonster "pvp_n_4-5","EmpBrk#4::OnThisMobDeath";
mes "[Имп Тест]";
mes "Нельзя уходить с площадки.";
close2;
set $@someonegotin4, 0;
warp @mpempbrk$,@empbrkx,@empbrky;
close;

}


p.s. так вроде правильно прикрепил скрипт)))

Автор: [OneLife]: Дата: 01.25.2011

Уже выкладывали рабочий скрипт...поиск..

Автор: Jarek: Дата: 01.25.2011

как я понял она считает с момента,когда я появился на арене,а не с момента когда появился империум)

Ну очевидно же, что нужно перенести запуск таймера с момента варпа на момент спауна...

Автор: DIMAN08: Дата: 01.25.2011

Цитата Jarek;31373:
Ну очевидно же, что нужно перенести запуск таймера с момента варпа на момент спауна...


ну да,очевидно) особенно если бы я знал как это сделать)

подскажешЬ?

Автор: Jarek: Дата: 01.25.2011

Берем первую арену, и перемещаем
initnpctimer "EmpBrk#1"; - запуск таймера
в блок, где имп вызывается

OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Вперёд!",0;
initnpctimer "EmpBrk#1";
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#1::OnThisMobDeath";
end;

Также поступаем с остальными 4мя аренами...

Автор: DIMAN08: Дата: 01.25.2011

6лин..я видать тупой((
уже всяко-разно перепробовал,либо вообще отсчёт времени не начинается..
либо также таймер включается с момента как я появляюсь на арене(((

можешь как нибудь поподробней чтоли?
или же если не жалко напиши готовый,как правильно

Автор: Jarek: Дата: 01.26.2011

Цитата [OneLife];31370:
Уже выкладывали рабочий скрипт...поиск..


Судя по поиску ты и выкладывал этот же скрипт

Автор: DIMAN08: Дата: 01.26.2011

Цитата Jarek;31468:
Судя по поиску ты и выкладывал этот же скрипт

2DIMAN08
pvp_n_4-5	mapflag	gvg
pvp_n_4-5 mapflag gvg_castle
//pvp_n_4-5 mapflag noskill
pvp_n_4-5 mapflag restricted 6
prontera,144,177,4 script Империум Арена 768,{

set @time, $empbrk_record;
set @m, @time / 60000;
set @time, @time - (@m * 60000);
set @s, @time /1000;
set @time, @time - (@s * 1000);

mes "[Имп Тест]";
mes "Мировой Рекордсмен ^5050A0["+$empbrk_record$+"]^000000";
mes " ^000080"+@m+"^000000м ^000080"+@s+"^000000с ^000080"+@time+"^000000мс";

set @time, empbrk_record;
set @m, @time / 60000;
set @time, @time - (@m * 60000);
set @s, @time /1000;
set @time, @time - (@s * 1000);
mes "Личный рекорд:";
mes " ^000080"+@m+"^000000м ^000080"+@s+"^000000с ^000080"+@time+"^000000мс";

mes "Желаете зайти?";
next;
if (getgmlevel()==99) { menu "Standard Menu",-,"Reset",L_reset,"Reset Rooms",L_emptyrooms,"Exit",L_exit;}
menu "Да",-,"Нет",L_exit,"Обнулить",L_resc;
cleararray .arena$[0],"",4;
mes "[Имп Тест]";
if (getareausers("pvp_n_4-5",94,128,105,139)) mes "Имп ^0000DF1 ^FF0000 Занят^000000";
else{ mes "Имп ^0000DF1 ^00A000 Свободен^000000"; set .arena$[0],"^0000DFEmperium^000000";}
if (getareausers("pvp_n_4-5",60,94,71,105)) mes "Имп ^B05D002 ^FF0000 Занят^000000";
else{ mes "Имп ^B05D002 ^00A000 Свободен^000000"; set .arena$[1],"^B05D00Emperium^000000";}
if (getareausers("pvp_n_4-5",94,60,105,71)) mes "Имп ^B00FB03 ^FF0000 Занят^000000";
else{ mes "Имп ^90AF003 ^00A000 Свободен^000000"; set .arena$[2],"^90AF00Emperium^000000";}
if (getareausers("pvp_n_4-5",128,94,139,105)) mes "Имп ^50AF004 ^FF0000 Занят^000000";
else{ mes "Имп ^500F004 ^00A000 Свободен^000000"; set .arena$[3],"^500F00Emperium^000000";}
next;
getmapxy(@mpempbrk$,@empbrkx,@empbrky,0,strcharinfo(0));
switch (select(.arena$[0],.arena$[1],.arena$[2],.arena$[3],"Отмена")){

case 1:
if (getareausers("pvp_n_4-5",60,94,71,105) == 0){
//if($@someonegotin1 > 0){ mes "Империум Занят"; close;}
set $@someonegotin1, 1;
warp "pvp_n_4-5",99,128;
killmonster "pvp_n_4-5","EmpBrk#1::OnThisMobDeath";}
break;

case 2:
if (getareausers("pvp_n_4-5",60,94,71,105) == 0){
//if($@someonegotin2 > 0){ mes "Империум Занят"; close;}
set $@someonegotin2, 1;
warp "pvp_n_4-5",68,99;
killmonster "pvp_n_4-5","EmpBrk#2::OnThisMobDeath";}
break;

case 3:
if (getareausers("pvp_n_4-5",94,60,105,71) == 0){
//if($@someonegotin3 > 0){ mes "Империум Занят"; close;}
set $@someonegotin3, 1;
warp "pvp_n_4-5",100,68;
killmonster "pvp_n_4-5","EmpBrk#3::OnThisMobDeath";}
break;

case 4:
if (getareausers("pvp_n_4-5",128,94,139,105) == 0){
//if($@someonegotin4 > 0){ mes "Империум Занят"; close;}
set $@someonegotin4, 1;
warp "pvp_n_4-5",130,99;
killmonster "pvp_n_4-5","EmpBrk#4::OnThisMobDeath";}
break;

default:
close;

}
sc_end SC_ALL;
close;

L_reset:
mes "[Имп Тест]";
mes "Are you sure to reset official record?";
menu "Yes",-,"No",L_exit;
set $empbrk_record, 0;
set $empbrk_record$, "";
close;
L_resc:
mes "[Имп Тест]";
mes "Вы уверены, что необходимо обнулить ваш рекорд?";
menu "Да",-,"Нет",L_exit;
set empbrk_record, 0;

L_emptyrooms:
set $@someonegotin1, 0;
set $@someonegotin2, 0;
set $@someonegotin3, 0;
set $@someonegotin4, 0;
close;
L_exit:
close;

}

- script EmpBrk#1 -1,{

OnTimer3000:
if (.end == 1) {
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 0;
}
end;

OnTimer5000:
set .x1,94;
set .y1,128;
set .x2,105;
set .y2,139;
set .xe,100;
set .ye,134;

areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Приготовьтесь к появлению Империума!",0;
set $@someonegotin1, 0;
end;

OnTimer7000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-5-",0;
end;

OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-4-",0;
end;

OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-3-",0;
end;

OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-2-",0;
end;

OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-1-",0;
end;

OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Вперёд!",0;
initnpctimer "EmpBrk#1";
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#1::OnThisMobDeath";
end;

OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;

OnThisMobDeath:
stopnpctimer "EmpBrk#1";
set .time, getnpctimer(0,"EmpBrk#1");
set .time, .time - 12000;
if (.time < empbrk_record || empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый личный рекорд!",0;
set empbrk_record, .time;
}
if (.time < $empbrk_record || $empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый мировой Рекорд!",0;
announce "["+strcharinfo(0)+"] установил новый рекорд разрушения Империума!",0;
set $empbrk_record, .time;
set $empbrk_record$,strcharinfo(0);
}
set .m, .time / 60000;
set .time, .time - (.m * 60000);
set .s, .time /1000;
set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Результат "+.m+"м "+.s+"с "+.time+"мс",0;
set .end,1;
set .charid,getcharid(0);
initnpctimer;
end;
}
pvp_n_4-5,99,125,0 script EmpBrk#1_touch -1,2,1,{
OnTouch:
killmonster "pvp_n_4-5","EmpBrk#1::OnThisMobDeath";
mes "[Имп Тест]";
mes "Нельзя уходить с площадки.";
close2;
set $@someonegotin1, 0;
warp @mpempbrk$,@empbrkx,@empbrky;
end;
}

- script EmpBrk#2 -1,{


OnTimer3000:
if (.end == 1) {
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 0;
}
end;

OnTimer5000:
set .x1,60;
set .y1,94;
set .x2,71;
set .y2,105;
set .xe,65;
set .ye,99;

areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-5-",0;
end;

OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-4-",0;
end;

OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-3-",0;
end;

OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-2-",0;
end;

OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-1-",0;
end;

OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Вперёд!",0;
initnpctimer "EmpBrk#2";
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#2::OnThisMobDeath";
end;

OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;

OnThisMobDeath:
stopnpctimer "EmpBrk#2";
set .time, getnpctimer(0,"EmpBrk#2");
set .time, .time - 12000;
if (.time < empbrk_record || empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый личный рекорд!",0;
set empbrk_record, .time;
}
if (.time < $empbrk_record || $empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый мировой Рекорд!",0;
announce "["+strcharinfo(0)+"] установил новый рекорд разрушения Империума!",0;
set $empbrk_record, .time;
set $empbrk_record$,strcharinfo(0);
}
set .m, .time / 60000;
set .time, .time - (.m * 60000);
set .s, .time /1000;
set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Результат "+.m+"м "+.s+"с "+.time+"мс",0;
set .end,1;
set .charid,getcharid(0);
initnpctimer;
end;
}
pvp_n_4-5,74,99,0 script EmpBrk#2_touch -1,1,2,{
OnTouch:
killmonster "pvp_n_4-5","EmpBrk#2::OnThisMobDeath";
mes "[Имп Тест]";
mes "Нельзя уходить с площадки.";
close2;
set $@someonegotin2, 0;
warp @mpempbrk$,@empbrkx,@empbrky;
end;
}

- script EmpBrk#3 -1,{


OnTimer3000:
if (.end == 1) {
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 0;
}
end;

OnTimer5000:
set .x1,94;
set .y1,60;
set .x2,105;
set .y2,71;
set .xe,99;
set .ye,65;

areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-5-",0;
end;

OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-4-",0;
end;

OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-3-",0;
end;

OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-2-",0;
end;

OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-1-",0;
end;

OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Вперёд!",0;
initnpctimer "EmpBrk#3";
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#3::OnThisMobDeath";
end;

OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;

OnThisMobDeath:
stopnpctimer "EmpBrk#3";
set .time, getnpctimer(0,"EmpBrk#3");
set .time, .time - 12000;
if (.time < empbrk_record || empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый личный рекорд!",0;
set empbrk_record, .time;
}
if (.time < $empbrk_record || $empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый мировой Рекорд!",0;
announce "["+strcharinfo(0)+"] установил новый рекорд разрушения Империума!",0;
set $empbrk_record, .time;
set $empbrk_record$,strcharinfo(0);
}
set .m, .time / 60000;
set .time, .time - (.m * 60000);
set .s, .time /1000;
set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Результат "+.m+"м "+.s+"с "+.time+"мс",0;
set .end,1;
set .charid,getcharid(0);
initnpctimer;
end;
}
pvp_n_4-5,100,74,0 script EmpBrk#3_touch -1,2,1,{

OnTouch:
killmonster "pvp_n_4-5","EmpBrk#3::OnThisMobDeath";
mes "[Имп Тест]";
mes "Нельзя уходить с площадки.";
close2;
set $@someonegotin3, 0;
warp @mpempbrk$,@empbrkx,@empbrky;
end;
}


- script EmpBrk#4 -1,{

OnTimer3000:
if (.end == 1) {
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 0;
}
end;

OnTimer5000:
set .x1,128;
set .y1,94;
set .x2,139;
set .y2,105;
set .xe,134;
set .ye,99;

areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-5-",0;
end;

OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-4-",0;
end;

OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-3-",0;
end;

OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-2-",0;
end;

OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-1-",0;
end;

OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Вперёд!",0;
initnpctimer "EmpBrk#4";
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#4::OnThisMobDeath";
end;

OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;

OnThisMobDeath:
stopnpctimer "EmpBrk#4";
set .time, getnpctimer(0,"EmpBrk#4");
set .time, .time - 12000;
if (.time < empbrk_record || empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый личный рекорд!",0;
set empbrk_record, .time;
}
if (.time < $empbrk_record || $empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый мировой Рекорд!",0;
announce "["+strcharinfo(0)+"] установил новый рекорд разрушения Империума!",0;
set $empbrk_record, .time;
set $empbrk_record$,strcharinfo(0);
}
set .m, .time / 60000;
set .time, .time - (.m * 60000);
set .s, .time /1000;
set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Результат "+.m+"м "+.s+"с "+.time+"мс",0;
set .end,1;
set .charid,getcharid(0);
initnpctimer;
end;
}
pvp_n_4-5,125,100,0 script EmpBrk#4_touch -1,1,2,{

OnTouch:
killmonster "pvp_n_4-5","EmpBrk#4::OnThisMobDeath";
mes "[Имп Тест]";
mes "Нельзя уходить с площадки.";
close2;
set $@someonegotin4, 0;
warp @mpempbrk$,@empbrkx,@empbrky;
end;
}


зачем ты мне его сюда скопировал? он не рабочий((((

Автор: Jarek: Дата: 01.26.2011

Изначальный скрипт в принципе правильный. Имп вызывается через 12 секунд после начала работы таймера, а из результата потом вычитаются эти 12 секунд.

Автор: [OneLife]: Дата: 01.26.2011

Цитата DIMAN08;31481:
зачем ты мне его сюда скопировал? он не рабочий((((


Табы нэ? у меня все превосходно работало

Автор: DIMAN08: Дата: 01.26.2011

Цитата [OneLife];31522:
Табы нэ?

табы дэ!

не работает он((( имп не появляется вообще(((

Автор: [OneLife]: Дата: 01.26.2011

Только что проверенный и рабочий.


pvp_n_4-5 mapflag gvg
pvp_n_4-5 mapflag gvg_castle
//pvp_n_4-5 mapflag noskill
pvp_n_4-5 mapflag restricted 6
prontera,144,177,4 script Империум Арена 768,{

set @time, $empbrk_record;
set @m, @time / 60000;
set @time, @time - (@m * 60000);
set @s, @time /1000;
set @time, @time - (@s * 1000);

mes "[Имп Тест]";
mes "Мировой Рекордсмен ^5050A0["+$empbrk_record$+"]^000000";
mes " ^000080"+@m+"^000000м ^000080"+@s+"^000000с ^000080"+@time+"^000000мс";

set @time, empbrk_record;
set @m, @time / 60000;
set @time, @time - (@m * 60000);
set @s, @time /1000;
set @time, @time - (@s * 1000);
mes "Личный рекорд:";
mes " ^000080"+@m+"^000000м ^000080"+@s+"^000000с ^000080"+@time+"^000000мс";

mes "Желаете зайти?";
next;
if (getgmlevel()==99) { menu "Standard Menu",-,"Reset",L_reset,"Reset Rooms",L_emptyrooms,"Exit",L_exit;}
menu "Да",-,"Нет",L_exit,"Обнулить",L_resc;
cleararray .arena$[0],"",4;
mes "[Имп Тест]";
if (getareausers("pvp_n_4-5",94,128,105,139)) mes "Имп ^0000DF1 ^FF0000 Занят^000000";
else{ mes "Имп ^0000DF1 ^00A000 Свободен^000000"; set .arena$[0],"^0000DFEmperium^000000";}
if (getareausers("pvp_n_4-5",60,94,71,105)) mes "Имп ^B05D002 ^FF0000 Занят^000000";
else{ mes "Имп ^B05D002 ^00A000 Свободен^000000"; set .arena$[1],"^B05D00Emperium^000000";}
if (getareausers("pvp_n_4-5",94,60,105,71)) mes "Имп ^B00FB03 ^FF0000 Занят^000000";
else{ mes "Имп ^90AF003 ^00A000 Свободен^000000"; set .arena$[2],"^90AF00Emperium^000000";}
if (getareausers("pvp_n_4-5",128,94,139,105)) mes "Имп ^50AF004 ^FF0000 Занят^000000";
else{ mes "Имп ^500F004 ^00A000 Свободен^000000"; set .arena$[3],"^500F00Emperium^000000";}
next;
getmapxy(@mpempbrk$,@empbrkx,@empbrky,0,strcharinfo(0));
switch (select(.arena$[0],.arena$[1],.arena$[2],.arena$[3],"Отмена")){

case 1:
if (getareausers("pvp_n_4-5",60,94,71,105) == 0){
// if($@someonegotin1 > 0){ mes "Империум Занят"; close;}
set $@someonegotin1, 1;
warp "pvp_n_4-5",99,128;
killmonster "pvp_n_4-5","EmpBrk#1::OnThisMobDeath";
initnpctimer "EmpBrk#1";}
break;

case 2:
if (getareausers("pvp_n_4-5",60,94,71,105) == 0){
// if($@someonegotin2 > 0){ mes "Империум Занят"; close;}
set $@someonegotin2, 1;
warp "pvp_n_4-5",68,99;
killmonster "pvp_n_4-5","EmpBrk#2::OnThisMobDeath";
initnpctimer "EmpBrk#2";}
break;

case 3:
if (getareausers("pvp_n_4-5",94,60,105,71) == 0){
// if($@someonegotin3 > 0){ mes "Империум Занят"; close;}
set $@someonegotin3, 1;
warp "pvp_n_4-5",100,68;
killmonster "pvp_n_4-5","EmpBrk#3::OnThisMobDeath";
initnpctimer "EmpBrk#3";}
break;

case 4:
if (getareausers("pvp_n_4-5",128,94,139,105) == 0){
// if($@someonegotin4 > 0){ mes "Империум Занят"; close;}
set $@someonegotin4, 1;
warp "pvp_n_4-5",130,99;
killmonster "pvp_n_4-5","EmpBrk#4::OnThisMobDeath";
initnpctimer "EmpBrk#4";}
break;

default:
close;

}
sc_end SC_ALL;
close;

L_reset:
mes "[Имп Тест]";
mes "Are you sure to reset official record ?";
menu "Yes",-,"No",L_exit;
set $empbrk_record, 0;
set $empbrk_record$, "";
close;
L_resc:
mes "[Имп Тест]";
mes "Вы уверены, что необходимо обнулить ваш рекорд?";
menu "Да",-,"Нет",L_exit;
set empbrk_record, 0;

L_emptyrooms:
set $@someonegotin1, 0;
set $@someonegotin2, 0;
set $@someonegotin3, 0;
set $@someonegotin4, 0;
close;
L_exit:
close;

}

- script EmpBrk#1 -1,{

OnTimer3000:
if (.end == 1) { warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 0;
}
end;

OnTimer5000:
set .x1,94;
set .y1,128;
set .x2,105;
set .y2,139;
set .xe,100;
set .ye,134;

areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Приготовьтесь к появлению Империума!",0;
set $@someonegotin1, 0;
end;

OnTimer7000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-5-",0;
end;

OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-4-",0;
end;

OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-3-",0;
end;

OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-2-",0;
end;

OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-1-",0;
end;

OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Вперёд!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#1::OnThisMobDeath";
end;

OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;

OnThisMobDeath:
stopnpctimer "EmpBrk#1";
set .time, getnpctimer(0,"EmpBrk#1");
set .time, .time - 12000;
if (.time < empbrk_record || empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый личный рекорд!",0;
set empbrk_record, .time;

}
if (.time < $empbrk_record || $empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый мировой Рекорд!",0;
announce "["+strcharinfo(0)+"] установил новый рекорд разрушения Империума!",0;
set $empbrk_record, .time;
set $empbrk_record$,strcharinfo(0);
}
set .m, .time / 60000;
set .time, .time - (.m * 60000);
set .s, .time /1000;
set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Результат "+.m+"м "+.s+"с "+.time+"мс",0;
set .end,1;
set .charid,getcharid(0);
initnpctimer;
end;
}
pvp_n_4-5,99,125,0 script EmpBrk#1_touch -1,2,1,{

OnTouch:
killmonster "pvp_n_4-5","EmpBrk#1::OnThisMobDeath";
mes "[Имп Тест]";
mes "Нельзя уходить с площадки.";
close2;
set $@someonegotin1, 0;
warp @mpempbrk$,@empbrkx,@empbrky;

close;

}

- script EmpBrk#2 -1,{


OnTimer3000:
if (.end == 1) { warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 0;
}
end;

OnTimer5000:
set .x1,60;
set .y1,94;
set .x2,71;
set .y2,105;
set .xe,65;
set .ye,99;

areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-5-",0;
end;

OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-4-",0;
end;

OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-3-",0;
end;

OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-2-",0;
end;

OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-1-",0;
end;

OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Вперёд!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#2::OnThisMobDeath";
end;

OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;

OnThisMobDeath:
stopnpctimer "EmpBrk#2";
set .time, getnpctimer(0,"EmpBrk#2");
set .time, .time - 12000;
if (.time < empbrk_record || empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый личный рекорд!",0;
set empbrk_record, .time;

}
if (.time < $empbrk_record || $empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый мировой Рекорд!",0;
announce "["+strcharinfo(0)+"] установил новый рекорд разрушения Империума!",0;
set $empbrk_record, .time;
set $empbrk_record$,strcharinfo(0);
}
set .m, .time / 60000;
set .time, .time - (.m * 60000);
set .s, .time /1000;
set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Результат "+.m+"м "+.s+"с "+.time+"мс",0;
set .end,1;
set .charid,getcharid(0);
initnpctimer;
end;
}
pvp_n_4-5,74,99,0 script EmpBrk#2_touch -1,1,2,{

OnTouch:
killmonster "pvp_n_4-5","EmpBrk#2::OnThisMobDeath";
mes "[Имп Тест]";
mes "Нельзя уходить с площадки.";
close2;
set $@someonegotin2, 0;
warp @mpempbrk$,@empbrkx,@empbrky;
close;

}

- script EmpBrk#3 -1,{


OnTimer3000:
if (.end == 1) { warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 0;
}
end;

OnTimer5000:
set .x1,94;
set .y1,60;
set .x2,105;
set .y2,71;
set .xe,99;
set .ye,65;

areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-5-",0;
end;

OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-4-",0;
end;

OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-3-",0;
end;

OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-2-",0;
end;

OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-1-",0;
end;

OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Вперёд!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#3::OnThisMobDeath";
end;

OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;

OnThisMobDeath:
stopnpctimer "EmpBrk#3";
set .time, getnpctimer(0,"EmpBrk#3");
set .time, .time - 12000;
if (.time < empbrk_record || empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый личный рекорд!",0;
set empbrk_record, .time;

}
if (.time < $empbrk_record || $empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый мировой Рекорд!",0;
announce "["+strcharinfo(0)+"] установил новый рекорд разрушения Империума!",0;
set $empbrk_record, .time;
set $empbrk_record$,strcharinfo(0);
}
set .m, .time / 60000;
set .time, .time - (.m * 60000);
set .s, .time /1000;
set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Результат "+.m+"м "+.s+"с "+.time+"мс",0;
set .end,1;
set .charid,getcharid(0);
initnpctimer;
end;
}
pvp_n_4-5,100,74,0 script EmpBrk#3_touch -1,2,1,{

OnTouch:
killmonster "pvp_n_4-5","EmpBrk#3::OnThisMobDeath";
mes "[Имп Тест]";
mes "Нельзя уходить с площадки.";
close2;
set $@someonegotin3, 0;
warp @mpempbrk$,@empbrkx,@empbrky;
close;

}


- script EmpBrk#4 -1,{

OnTimer3000:
if (.end == 1) { warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 0;
}
end;

OnTimer5000:
set .x1,128;
set .y1,94;
set .x2,139;
set .y2,105;
set .xe,134;
set .ye,99;

areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-5-",0;
end;

OnTimer8000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-4-",0;
end;

OnTimer9000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-3-",0;
end;

OnTimer10000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-2-",0;
end;

OnTimer11000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"-1-",0;
end;

OnTimer12000:
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Вперёд!",0;
monster "pvp_n_4-5",.xe,.ye,"Emperium",1288,1,"EmpBrk#4::OnThisMobDeath";
end;

OnTimer1200000:
warpchar "prontera",150,172,.charid;
stopnpctimer;
set .end, 1;
end;

OnThisMobDeath:
stopnpctimer "EmpBrk#4";
set .time, getnpctimer(0,"EmpBrk#4");
set .time, .time - 12000;
if (.time < empbrk_record || empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый личный рекорд!",0;
set empbrk_record, .time;

}
if (.time < $empbrk_record || $empbrk_record == 0)
{
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Новый мировой Рекорд!",0;
announce "["+strcharinfo(0)+"] установил новый рекорд разрушения Империума!",0;
set $empbrk_record, .time;
set $empbrk_record$,strcharinfo(0);
}
set .m, .time / 60000;
set .time, .time - (.m * 60000);
set .s, .time /1000;
set .time, .time - (.s * 1000);
areaannounce "pvp_n_4-5",.x1,.y1,.x2,.y2,"Результат "+.m+"м "+.s+"с "+.time+"мс",0;
set .end,1;
set .charid,getcharid(0);
initnpctimer;
end;
}
pvp_n_4-5,125,100,0 script EmpBrk#4_touch -1,1,2,{

OnTouch:
killmonster "pvp_n_4-5","EmpBrk#4::OnThisMobDeath";
mes "[Имп Тест]";
mes "Нельзя уходить с площадки.";
close2;
set $@someonegotin4, 0;
warp @mpempbrk$,@empbrkx,@empbrky;
close;

}

Автор: DIMAN08: Дата: 01.27.2011

рабочий,но время считает не правильно!((

Автор: [OneLife]: Дата: 01.27.2011

У меня все правильно считает

Автор: DIMAN08: Дата: 01.27.2011

ты хочешь сказать что при копировании скрипта он каким то чудесным образом изменяет свои свойта и именно на моём компьютере не правильно работает?

бред

Автор: [OneLife]: Дата: 01.27.2011

Цитата DIMAN08;31575]ты хочешь сказать что при копировании скрипта он каким то чудесным образом изменяет свои свойта и именно на моём компьютере не правильно работает?

бред


Уверен что бред?
[IMG]http://s003.radikal.ru/i204/1101/42/e5e53e9d19bf.png[/IMG:

Автор: DIMAN08: Дата: 01.27.2011

я как ни пробовал,появляюсь на имп арене,сношу имп с 1 удара,а время пишет всегда 12-13 сек