Автор: 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
//-----------------------------------------------------------------------------------
Автор: 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
[/FONT]14
Автор: somorganus: Дата: 07.09.2010
Все спасибо) Тему можна закрыть...