Назад

Помогите с ивентом.

Автор: somorganus: Дата: 07.08.2010

Помогите пожалуйста с ивентом!!!
нашел на eAthena ивент, я его видел на зениро. Суть ивента, чтобы отгадать моба. Карта, небольшая в центре появляется моб и люди должны угадать название моба, методом выкрикивания в чат. Я думаю вы поняли...

Я перевел ивент, но у меня он не ставиться выдает ошибку при загрузке ивента(((
Вот:

/*//----------------------------------------------------------------//
//----------------Scripted by Spera---------------------------------//
//------------------FinalStrikeRO-----------------------------------//
//--------------------Disguise Event NPC v2-------------------------//
/-------------------------------------------------------------------//*/


yuno_pre,33,95,2 script Disguise CP 968,{

if (getgmlevel()<50)
{
mes "^3399FF[Disguise CP]^000000";
mes "Извините, вы не GM";
close;
}

mes "^3399FF[Disguise CP]^000000";
mes "Привет GameMaster!";
mes "Что Вы хотите сделать?";
switch(select("Start Event:Stop Event:Set number of rounds[^E50000"+$guessrounds+"^000000]:Set prize^E50000 ["+getitemname($guessprize)+"]^000000 ^E50000 ["+ $guessprizecount + "]^000000:Nothing"))
{
case 1:
{
next;
mes "^3399FF[Disguise CP]^000000";
mes "Пожалуйста подтвердите, напечатая START.";
input .@confirm$;
if (.@confirm$ == "START")
{
donpcevent "guessAnnouncer::OnGMStart";
close;
}
mes "Подтверждение потерпело неудачу.";
close;
break;
}
case 2:
{
next;
mes "^3399FF[Disguise CP]^000000";
mes "Пожалуйста подтвердите, напечатая STOP.";
input .@confirm$;
if (.@confirm$ == "STOP")
{
donpcevent "guessAnnouncer::OnGMStop";
close;
}
mes "Подтверждение потерпело неудачу.";
close;
break;

}

case 3:
{
next; mes "^3399FF[Disguise CP]^000000";
mes "Пожалуйста напечатайте в новом числе.";
input $guessrounds;
if ($guessrounds > 30) set $guessrounds, 30;
else if ($guessrounds < 1) set $guessrounds, 1;
close;
}

case 4:
{
next; mes "^3399FF[Disguise CP]^000000";
mes "Пожалуйста напечатайте в новом призе id";
input .@guessprizeid;
if (getitemname(.@guessprizeid) == "null" || getitemname(.@guessprizeid) == "") {next; mes "^3399FF[Disguise CP]^000000"; mes "Error"; mes "This item does not exist in the database..."; close;}
set $guessprize, .@guessprizeid;
next; mes "^3399FF[Disguise CP]^000000";
mes "Пожалуйста напечатайте в количестве.";
input .@guessprizeamount;
if (!.@guessprizeamount) set .@guessprizeamount,1 ;
set $guessprizecount,.@guessprizeamount;
next; mes "^3399FF[Disguise CP]^000000";
mes "Prize has been set to ^E50000 "+ getitemname($guessprize)+ "^000000 and the amount to ^E50000 " +$guessprizecount+"^000000";
close;
}


case 5:
{
next; mes "^3399FF[Disguise CP]^000000";
mes "Пока.";
close;
}

}


}








poring_c01,102,99,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 4000;
npctalk "Но сначала я объясню Вам, как играть в игру.";
sleep 6000;
npctalk "Я перевоплощаюсь в случайного монстра.";
sleep 5000;
npctalk "Вы должны угадь монстра, и выкрикнуть его название.";
sleep 5000;
npctalk "Не беспокойтесь об использовании маленьких первых букв.";
sleep 8000;
npctalk "Ну что? Начнем?)";
sleep 5000;
}
else if ($DisguiseRound < $guessrounds-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;
npcwalkto 102,103;
sleep 2000;
npcwalkto 102,99;
end;

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


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

OnTimer35000:
if (!.DisguiseWon)
{
npctalk "ВЫ можете еще 10 секунд угадывать мое имя.";
sleep 3000;
npcwalkto 102,103;
sleep 2000;
npcwalkto 102,99;
}
end;

OnTimer45000:
if (!.DisguiseWon)
{
npctalk "Раунд окончен.";
if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
set $DisguiseRound, $DisguiseRound + 1;
sleep 3000;
deletepset 1;
npctalk $MonsterName$ + " был бы правильный ответ.";
sleep 5000;
if ($DisguiseRound >= $guessrounds)
{
set $DisguiseRound, 0;
sleep 3000;
npctalk "Ивент окончен!";
sleep 3500;
npctalk "See ya guys";
sleep 2000;
emotion 12;
sleep 1000;
set $guessactive, 0;
mapwarp "poring_c01.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) + " got my right name!",0;
sleep2 3000;
npctalk $MonsterName$ + " правильный ответ.";
sleep2 3000;
npctalk "Возьмите это как награду.";
getitem $guessprize, $guessprizecount;
if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
if ($DisguiseRound >= $guessrounds)
{
set $DisguiseRound, 0;
set $guessactive, 0;
sleep 3000;
npctalk "Ивент закончился!";
sleep 3500;
npctalk "See ya guys";
sleep 2000;
emotion 12;
sleep 1000;
mapwarp "poring_c01.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;
announce "GameMaster начал ивент "Угадай монстра".",0;
set $guessbegin, 0;
sleep 3000;
if (!$guessactive) end;
announce "Для входа в ивент подойдите к Ангелу в главном городе.",0;
enablenpc "guesswarp";
enablenpc "Disguise NPC";
sleep 3000;
announce "Число Раундов: "+$guessrounds,0;
sleep 2000;
announce "Приз: "+ getitemname($guessprize) + " x " + $guessprizecount,0;
sleep 2000;
if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
announce "Варп закроется через одну минуту.",0;
sleep 60000;
if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
announce "Набор участников завершен. Варпер закрыт.",0;
disablenpc "guesswarp";
set $DisguiseRound, 0;
sleep 5000;
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
if(getmapusers("poring_c01") == 0)
{
disablenpc "Disguise NPC";
set $guessactive, 0;
end;
}

donpcevent "Disguise NPC::OnStart";
end;

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


OnClock0200:
OnClock0400:
OnClock0600:
OnClock0800:
OnClock1000:
OnClock1200:
OnClock1400:
OnClock1600:
OnClock1800:
OnClock2000:
OnClock2200:
OnClock0000:
if ($guessactive) end;
set $guessactive, 1;
announce "Сервер запускает ивент "Угадай монстра".",0;
set $guessbegin, 0;
sleep 3000;
if (!$guessactive) end;
announce "Для входа в ивент подойдите к Ангелу в главном городе.",0;
enablenpc "guesswarp";
enablenpc "Disguise NPC";
sleep 2000;
announce "Приз: "+ getitemname($guessprize) + " x " + $guessprizecount,0;
sleep 2000;
if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
announce "Варп закроется через одну минуту.",0;
sleep 60000;
if (!$guessactive) {disablenpc "guesswarp"; disablenpc "Disguise NPC"; end;}
announce "Набор участников завершен. Варп закрыт.",0;
disablenpc "guesswarp";
sleep 5000;
if (!$guessactive) {disablenpc "Disguise NPC"; end;}
announce "Следующий ивент начнется через 2 часа.",0;
set $DisguiseRound, 0;
if(getmapusers("poring_c01") == 0)
{
disablenpc "Disguise NPC";
set $guessactive, 0;
end;
}

donpcevent "Disguise NPC::OnStart";
end;

OnInit:
disablenpc "Disguise NPC";
disablenpc "guesswarp";
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;

}

//-----------------------------------------------------------------------------------
//------------------Warp Portal------------------------------------------------------
que_qsch05,253,320,0 warp guesswarp 2,2,poring_c01,103,95
//-----------------------------------------------------------------------------------
//------------------Map Flags--------------------------------------------------------
poring_c01 mapflag nowarpto
poring_c01 mapflag noskill
poring_c01 mapflag nosave
poring_c01 mapflag nomemo
poring_c01 mapflag noteleport
//-----------------------------------------------------------------------------------

Автор: somorganus: Дата: 07.08.2010



Завтра допишу, если что.)

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

Ковычки убери.

(где не скажу)

Автор: Infarkt: Дата: 07.08.2010

[FONT="Courier New"]Sanasol - плохой, удалил мой пост :D:D

По теме: посмотри там прям видна ошибка на 280 строке[/FONT]

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

Та не правильно написал.

Автор: Infarkt: Дата: 07.08.2010

[FONT="Courier New"]от чёрт xD[/FONT]

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

[FONT=Lucida Console]Замени эту строчку:

announce "GameMaster начал ивент "Угадай монстра".",0;

На эту:
announce "GameMaster начал ивент 'Угадай монстра'.",0;
[/FONT]

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

Спасибо большое! Можно еще вопрос не по теме? Просто давно ищу, и ни как не могу сформулировать свой вопрос в поисковике...
Кароче, как сделать чтобы в игре русские символы отображались?

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

[FONT="Courier New"]sclientinfo.xml

14
[/FONT]

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

Все спасибо) Тему можна закрыть...