Назад

В поисках "Угадайки" :D

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

Имеется ли у кого ивент "Угадай Монстра", прямой, без баггов????:(

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

У меня есть скрипт этого нпц, но вот проблемка в чём, он не считывает информацию с чата, название монстра, если выразиться точнее.
Вот сам скрипт:

prontera.gat,174,208,4	script	Disguise NPC	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 "Disguise NPC",$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 "Disguise NPC",50;
disablenpc "Disguise NPC";
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 "Получай приз Дружище";
getitem 23169,1;
if ($DisguiseRound >= 6)
{
set $DisguiseRound, 0;
sleep 3000;
npctalk "Евент окончен!";
sleep 3500;
npctalk "Увидимся!";
sleep 2000;
emotion 12;
sleep 1000;
setnpcdisplay "Disguise NPC",50;
disablenpc "Disguise NPC";
end;
}
sleep 5000;
goto OnStart;
end;



}

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

- script guessAnnouncer -1,{

OnMinute15:
OnMinute30:

announce "Мы начинаем евент превращений!",0;
set $guessbegin, 0;
sleep 5000;
announce "Если хотите учавствовать идите в Пронту,нпц слева от фонтана.",0;
enablenpc "Disguise NPC";
sleep 5000;
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;
sleep 5000;
announce "Следующий евент через 30 минут",0;
set $DisguiseRound, 0;
donpcevent "Disguise NPC::OnStart";
end;

OnInit:
disablenpc "Disguise NPC";

}

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

А сервак скомпилен с поддержкой регулярных выражений?
3rdparty\pcre

*defpattern ,"","";
*activatepset ;
*deactivatepset ;
*deletepset ;

This set of commands is only available if the server is compiled with regular
expressions library enabled. Default compilation and most binary distributions
aren't
, which is probably bad, since these, while complex to use, are quite
fascinating.

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

Цитата Jarek;31365:
А сервак скомпилен с поддержкой регулярных выражений?
3rdparty\pcre

Да)м)

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

есть такая штука. Если поставить пробел перед названием монстра то он засчитает. Проблема в выборе версии в клиентинфо, но я так и не понял как исправить. Смысл в том что в начале сообщения добавляется неизвестный символ который в игре не видно за то в логах чата видно.

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

Цитата Sanasol;31377:
есть такая штука. Если поставить пробел перед названием монстра то он засчитает. Проблема в выборе версии в клиентинфо, но я так и не понял как исправить. Смысл в том что в начале сообщения добавляется неизвестный символ который в игре не видно за то в логах чата видно.

))))
Я вот и не знаю что делать :D

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

Ну вот собственно, у меня стоял когда-то, никто не жаловался...

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","prontera",150,175;
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,20);
if(@prize == 1) {
getitem 7185,1; //Призы 20 рандомных Вписывать свое ID
set @prizeid,7227;}
if(@prize == 2) {
getitem 7185,2;
set @prizeid,7227;}
if(@prize == 3) {
getitem 7185,3;
set @prizeid,7227;}
if(@prize == 4) {
getitem 7185,4;
set @prizeid,7227;}
if(@prize == 5) {
getitem 7185,5;}
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,{

Onclock0630:

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;
set $DisguiseRound, 0;
donpcevent "Угадай Монстра::OnStart";
end;

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

}

//-----------------------------------------------------------------------------------
//------------------Warp Portal------------------------------------------------------
gonryun,154,107,0 warp guesswarp 2,2,poring_c01,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
//-----------------------------------------------------------------------------------


По содержанию:
1).
[COLOR="Red"] getitem 7185,1;
set @prizeid,7227;}
if(@prize == 2) {
getitem 7185,2;
set @prizeid,7227;}
if(@prize == 3) {
getitem 7185,3;
set @prizeid,7227;}
if(@prize == 4) {
getitem 7185,4;
set @prizeid,7227;}
if(@prize == 5) {
getitem 7185,5;}[/COLOR]

Вписывать айди рандомных призов, шанс рандома равен.

2). Onclock0630: Время провождения!

Далее думаю разберёшся сам, если есть вопросы по редактированию под себя, обращяйся в асю 606-580-112, перепишу.

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

Цитата The nepcuk;31382:
))))
Я вот и не знаю что делать :D


Ну может поменять регексп на
defpattern 1, "([^:]+):.*\\s."+$MonsterName$+"(.*)", "OnWin";

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

Спасибо) Проблемку решил)
Спасибо за скрипт)

Автор: SergeiX: Дата: 04.13.2011

ругаеться в скрипте Defo на 142 строчку (проблема в ковычках или чего?):mellow:

Автор: defo: Дата: 04.13.2011

выложи скрин, по скрипту всё верно...

Автор: SergeiX: Дата: 04.17.2011

что за беда всё установлено верно после закрытия варпа эвент не начинаеться нпц тупо молчит ??

Автор: Kill Spirit: Дата: 04.17.2011

Юзай мою, только спасибо поставить не забудь :D


5@tower,82,83,4 script Disguise NPC 811,{

if (!$guessbegin)
{
mes "^3399FF[Disguise NPC]^000000";
mes "Эвент скоро начнется.";
close;
}
end;

OnStart:
set $guessbegin, 1;
set .DisguiseWon, 0;
if (!$DisguiseRound)
{
npctalk "Хорошо";
sleep 1000;
npctalk "Но сначала я объясню Вам, как играть в игру.";
sleep 1000;
npctalk "Я перевоплощаюсь в случайного монстра.";
sleep 1000;
npctalk "Вы должны угадь монстра, и выкрикнуть его название.";
sleep 1000;
npctalk "Не беспокойтесь об использовании маленьких первых букв.";
sleep 1000;
npctalk "Ну что? Начнем?)";
sleep 1000;
}
else if ($DisguiseRound < 10-1)
{
npctalk "Приготовтесь к следующему раунду.";
setnpctimer 0;
sleep 8000;
}
else
{
npctalk "Последний раунд";
sleep 2000;
npctalk "Приготовтесь";
sleep 6000;
}

do
{
set .@guessrepeat, 0;
set $monster, 1000 + rand(1,950);
for (set .@k, 0; .@k {
if ($monster == $Forbidden[.@k])
{
set .@guessrepeat, 1;
break;
}
}
}
while (.@guessrepeat);
setnpctimer 0;
initnpctimer;
setnpcdisplay "Disguise NPC",$monster;
set $MonsterName$, strmobinfo(1,$monster);
defpattern 1, "([^:]+):.*\\s"+$MonsterName$+"(.*)", "winround";
activatepset 1;
npctalk "Как меня зовут?";
sleep 3000;
sleep 2000;
end;

OnTimer10000:
if (!.DisguiseWon)
{
npctalk "Идем дальше. Какой я монстр?";
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
}
end;


OnTimer25000:
if (!.DisguiseWon)
{
npctalk "Никто не знает этого монстра?";
}
end;

OnTimer35000:
if (!.DisguiseWon)
{
npctalk "Осталось 10 секунд.";
}
end;

OnTimer45000:
if (!.DisguiseWon)
{
npctalk "Раунд окончен.";
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
set $DisguiseRound, $DisguiseRound + 1;
sleep 3000;
deletepset 1;
npctalk $MonsterName$ + " был бы правильный ответ.";
sleep 5000;
if ($DisguiseRound >= 10)
{
set $DisguiseRound, 0;
sleep 3000;
npctalk "Эвент окончен!";
sleep 3500;
npctalk "See ya guys";
sleep 2000;
emotion 12;
sleep 1000;
set $guessactive, 0;
mapwarp "5@tower.gat","que_qsch05.gat",252,341;
setnpcdisplay "Disguise NPC",794;
disablenpc "Disguise NPC";
end;
}
goto OnStart;
}
end;

winround:
setnpctimer 0;
deletepset 1;
set .DisguiseWon, 1;
set $DisguiseRound, $DisguiseRound + 1;
npctalk strcharinfo(0) + " Дал правильный ответ";
sleep2 3000;
npctalk $MonsterName$ + " меня зовут";
sleep2 3000;
npctalk "Возьмите это как награду.";
set ##evp,##evp+1;
dispbottom "Вы получили 1 Event Point";
dispbottom "Сейчас у вас "+##evp+" Event Points!";
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
if ($DisguiseRound >= 10)
{
set $DisguiseRound, 0;
set $guessactive, 0;
sleep 3000;
npctalk "Эвент закончился!";
sleep 3500;
npctalk "Удачи!";
sleep 2000;
emotion 12;
sleep 1000;
mapwarp "5@tower.gat","que_qsch05.gat",252,341;
setnpcdisplay "Disguise NPC",794;
disablenpc "Disguise NPC";
end;
}
sleep 5000;
goto OnStart;
end;



}

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

- script guessAnnouncer -1,{


OnGMStart:
if ($guessactive) end;
set $guessactive, 1;
set $devevent,1;
announce "Эвент - Угадай Монстра начнётся через 3 минуты",0;
set $guessbegin, 0;
sleep 3000;
if (!$guessactive) end;
announce "Чтобы войти,подойдите к Эвент варперу",0;
enablenpc "Disguise NPC";
sleep 60000;
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
announce "Вход закроется через 2 минуты.",0;
sleep 60000;
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
announce "Вход закроется через 1 минуту.",0;
sleep 60000;
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
announce "Набор участников завершен. Вход закрыт.",0;
set $devevent,0;
set $DisguiseRound, 0;
sleep 5000;
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
if(getmapusers("5@tower") == 0)
{
disablenpc "Disguise NPC";
set $guessactive, 0;
end;
}

donpcevent "Disguise NPC::OnStart";
end;

OnGMStop:
if ($guessactive)
{
set $guessactive, 0;
announce "GM остановил Эвент.",0;
set $DisguiseRound, 0;
mapwarp "5@tower.gat","que_qsch05.gat",252,341;
setnpcdisplay "Disguise NPC",794;
disablenpc "Disguise NPC";
}
end;


if ($guessactive) end;
set $guessactive, 1;
set $devevent,1;
announce "Угадай монстра начнётся через 3 минуты",0;
set $guessbegin, 0;
sleep 3000;
if (!$guessactive) end;
announce "Чтобы войти,подойдите к Эвент варперу",0;
enablenpc "Disguise NPC";
sleep 60000;
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
announce "Вход закроется через 2 минуты.",0;
sleep 60000;
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
announce "Вход закроется через 1 минуту.",0;
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
announce "Варп закроется через одну минуту.",0;
sleep 60000;
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
announce "Набор участников завершен. Вход закрыт.",0;
set $devevent,0;
set $DisguiseRound, 0;
sleep 1000;
announce "На эвент пришло - "+getmapusers("5@tower")+" - игроков.",0;
if(getmapusers("5@tower") == 0)
{
disablenpc "Disguise NPC";
set $guessactive, 0;
end;
}

donpcevent "Disguise NPC::OnStart";
end;

OnInit:
disablenpc "Disguise NPC";
set $guessactive, 0;
setarray $Forbidden[0],1003,1006,1017,1021,1022,1027,1043,1136,1137,1168,1171,1172,1173,1181,1210,1217,1218,1223,1284,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1407,1411,1414,1496,1501,1900;

}

5@tower mapflag nowarpto
5@tower mapflag noskill
5@tower mapflag nosave
5@tower mapflag nomemo
5@tower mapflag noteleport
//-----------------------------------------------------------------------------------

Автор: SergeiX: Дата: 04.17.2011

спс огромное а вот как изменить например на блуди бранчи а то у тя там эвент поинты стоят =)

Автор: kadze: Дата: 04.17.2011

set ##evp,##evp+1;
заменить на
getitem 12103,3;

Автор: SergeiX: Дата: 04.17.2011

и одну вещь не понял а где нпц стоит через которое туда попасть =)??

Автор: kadze: Дата: 04.17.2011

5@tower судя по этому в эндлесс тауер cтоит сам эвент нпц,а варпер у него имхо отдельно

Автор: Kill Spirit: Дата: 04.17.2011

У меня через эвент варпера.

Можно ещё так:

map,x,y,z[TAB]script[TAB]Вход[TAB]96,{
if(select("Войти:Выйти")==2){close;}
if($devevent==1){mes "эвента нет";close;}
warp "5@tower",82,83;
end;
}

Автор: SergeiX: Дата: 04.17.2011

Kill Spirit и как в твой скрипт вставить чтоб работал варп а то посмотрел удалил не работает

Автор: Kill Spirit: Дата: 04.17.2011

Цитата SergeiX;39053:
Kill Spirit и как в твой скрипт вставить чтоб работал варп а то посмотрел удалил не работает


Это отдельный нпц. Что не работает?

Автор: SergeiX: Дата: 04.17.2011

щас пару сек =)

Автор: SergeiX: Дата: 04.17.2011

Огромное спс Kill а вопросик с какого нпц включать эвент?

Автор: Kill Spirit: Дата: 04.17.2011

map,x,y,z[TAB]script[TAB]Включить эвент[TAB]96,{
if(getgmlevel()<99){mes "вы не гм";close;}
if(select("Включить:Выйти")==2){close;}
donpcevent "guessAnnouncer::OnGMStart";
close;
}


вот

Научись ставить "спасибо"