Назад

Не работает defpattern :(

Автор: ValikDRV: Дата: 07.09.2010

Собственно проблема описана в заголовке тему:(


P.S. Мап сервер ошибок непоказывает((((


Сам скрипт:

poring_w01,102,99,2    script    Угадай Монстра        72,{

if (!$guessbegin)
{
mes "[Disguise NPC]";
mes "Евент Начался!";
close;
}
end;

OnStart:
set $guessbegin, 1;
set .DisguiseWon, 0;
if (!$DisguiseRound)
{
npctalk "Хорошо. Начнем евент!";
sleep 4000;
npctalk "Но сначала я расскажу правила";
sleep 6000;
npctalk "Я превращаюсь в любого монстра наугад";
sleep 5000;
npctalk "Вы должны узнать его и выкрикнуть его имя";
sleep 5000;
npctalk "Большие и маленькие буквы не считаются";
sleep 8000;
npctalk "Евент начался!!";
sleep 5000;
}
else if ($DisguiseRound < 6)
{
npctalk "Будьте готовы к следующему раунду.";
setnpctimer 0;
sleep 8000;
}
else
{
npctalk "Последний раунд!";
sleep 2000;
npctalk "Приготовьтесь.";
sleep 6000;
}
do
{
set $monster, rand(1001,1797);
}
while ($monster == 1003 || $monster == 1006 || $monster == 1017 || $monster == 1021 || $monster == 1022 || $monster == 1027 || $monster == 1043 || $monster == 1006 || $monster == 1136 || $monster == 1137 || $monster == 1168 || $monster == 1171 || $monster == 1172 || $monster == 1173 || $monster == 1181 || $monster == 1210 || $monster == 1223 || $monster == 1284 || ($monster >= 1324 && $monster <= 1363) || $monster == 1006 || $monster == 1407 || $monster == 1411 || $monster == 1414 || $monster == 1496 || $monster == 1501);
setnpctimer 0;
initnpctimer;
setnpcdisplay "Угадай Монстра",$monster;
set $MonsterName$, strmobinfo(1,$monster);
defpattern 1, "([^:]+):.*\\s"+$MonsterName$+"(.*)", "OnWin";
activatepset 1;
npctalk "Ну что как зовут монстра?";
sleep 2000;
npcwalkto 107,99;
sleep 1000;
npcwalkto 102,99;
sleep 1000;
npcwalkto 102,103;
sleep 1000;
npcwalkto 102,99;
end;

OnTimer10000:
if (!.DisguiseWon)
{
npctalk "Давайте. Какой я монстер?";
npcwalkto 107,99;
sleep 2000;
npcwalkto 102,99;
sleep 2000;
npcwalkto 102,103;
sleep 2000;
npcwalkto 102,99;
}
end;


OnTimer25000:
if (!.DisguiseWon)
{
npctalk "Никто не знает?";
npcwalkto 107,99;
sleep 2000;
npcwalkto 102,99;
sleep 2000;
npcwalkto 102,103;
sleep 2000;
npcwalkto 102,99;
}
end;

OnTimer35000:
if (!.DisguiseWon)
{
npctalk "У вас есть 10 секунд чтобы назвать имя!!.";
npcwalkto 107,99;
sleep 2000;
npcwalkto 102,99;
sleep 2000;
npcwalkto 102,103;
sleep 2000;
npcwalkto 102,99;
}
end;

OnTimer45000:
if (!.DisguiseWon)
{
npctalk "Раунд окончен.";
set $DisguiseRound, $DisguiseRound + 1;
sleep 3000;
deletepset 1;
npctalk $MonsterName$ + " правильное имя!.";
sleep 5000;
if ($DisguiseRound >= 6)
{
set $DisguiseRound, 0;
sleep 3000;
npctalk "Евент кончился!";
sleep 3500;
npctalk "Увидимся!";
sleep 2000;
emotion 12;
sleep 1000;
mapwarp "poring_w01.gat","gonryun",158,112;
setnpcdisplay "Угадай Монстра",50;
disablenpc "Угадай Монстра";
end;
}
goto OnStart;
}
end;

OnWin:
setnpctimer 0;
deletepset 1;
set .DisguiseWon, 1;
set $DisguiseRound, $DisguiseRound + 1;
sleep2 3000;
npctalk strcharinfo(0) + " дал верное имя!",0;
sleep2 3000;
npctalk $MonsterName$ + " Это правильное имя.";
sleep2 3000;
npctalk "Получай приз Дружище";
set @prize,rand (1,6);
if(@prize == 1) {
getitem 12103,1;
set @prizeid,12103;}
if(@prize == 2) {
getitem 673,1;
set @prizeid,673;}
if(@prize == 3) {
getitem 7539,1;
set @prizeid,7539;}
if(@prize == 4) {
getitem 5136,1;
set @prizeid,5136;}
if(@prize == 5) {
getitem 12997,1;
set @prizeid,12997;}
if(@prize == 6) {
getitem 7539,1;
set @prizeid,7539;}
mapannounce "poring_w01","Приз "+getitemname(@prizeid)+" ",bc_map,0xFFFFFF;
if ($DisguiseRound >= 6)
{
set $DisguiseRound, 0;
sleep 3000;
npctalk "Евент окончен!";
sleep 3500;
npctalk "Увидимся!";
sleep 2000;
emotion 12;
sleep 1000;
mapwarp "poring_w01.gat","gonryun",158,112;
setnpcdisplay "Угадай Монстра",50;
disablenpc "Угадай Монстра";
end;
}
sleep 5000;
goto OnStart;
end;



}

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

- script guessAnnouncer -1,{

OnMinute00:

announce "Мы начинаем евент превращений!",0;
set $guessbegin, 0;
sleep 5000;
announce "Если хотите учавствовать идите в Gonryun И войдите в Варп Портал.",0;
enablenpc "guesswarp";
enablenpc "Угадай Монстра";
sleep 60000;
announce "Портал закроется через минуту",0;
sleep 30000;
announce "Осталось 30 секунд и портал закроется",0;
sleep 20000;
announce "10",0;
sleep 1000;
announce "9",0;
sleep 1000;
announce "8",0;
sleep 1000;
announce "7",0;
sleep 1000;
announce "6",0;
sleep 1000;
announce "5",0;
sleep 1000;
announce "4",0;
sleep 1000;
announce "3",0;
sleep 1000;
announce "2",0;
sleep 1000;
announce "1",0;
sleep 1000;
announce "Портал закрыт",0;
disablenpc "guesswarp";
sleep 5000;
announce "Следующий евент через 60 минут",0;
set $DisguiseRound, 0;
donpcevent "Угадай Монстра::OnStart";
end;

OnInit:
disablenpc "Угадай Монстра";
disablenpc "guesswarp";

}

//-----------------------------------------------------------------------------------
//------------------Warp Portal------------------------------------------------------
gonryun,154,107,0 warp guesswarp 2,2,poring_w01,103,95
//-----------------------------------------------------------------------------------
//------------------Map Flags--------------------------------------------------------
poring_w01 mapflag nowarpto
poring_w01 mapflag noskill
poring_w01 mapflag nowarp
poring_w01 mapflag nosave
poring_w01 mapflag nomemo
poring_w01 mapflag noteleport
poring_w01 mapflag nobranch

Автор: DiS[IP]: Дата: 07.09.2010

[FONT=Lucida Console]Молодец.Тему закрываю.[/FONT]