Назад

[Баги] Багнутые скрипты

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

[FONT=Lucida Console]В этот раздел постим свои багнутые либо чужие скрипты,будем разбираться. :)
P.S:Буржуйские кривые скрипты в 100500 строк не кидаем[/FONT].

Автор: Мяфк: Дата: 05.25.2010

Во-первых криво засунул в код, во-вторых скрин мап-сервера скинь.

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

.

Автор: XKoriKX: Дата: 05.25.2010

menu "Арена [" + getmapusers("guild_vs3") + " / 50]",1,"Арена ^FF0000(Без Зелий)^000000 здесь ЭНТЕР
[" + getmapusers("pvp_n_1-5") + " / 50]",2,"Арена ^FF0000(Дроп вещей)^000000 [" + getmapusers("guild_vs2") + " / 10]",3,"Выход",4;


Нафиг энтер??? Он считает что это 2-е строки, а не одна)) Должно выглядеть так

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


P.S. Если поможет, опишись.

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

[Error]: Loading NPC file: npc/NimbleRO/PvP.txt
script error on npc/NimbleRO/PvP.txt line 27
parse_syntax: unexpected 'break'
22 : sc_start SC_BLESSING,600000,10;
23 : sc_start SC_INCREASEAGI,600000,10;
24 : percentheal 100,100;
25 : warp "guild_vs3",0,0;
26 : close2;
* 27 : 'b'reak;
28 : 2:
29 : if(getmapusers("pvp_n_1-5")>=50) {
30 : next;
31 : mes "[^0000FFАрена^000000]";
32 : mes "Извините, но Арена полная, попробуйте позже.";
[Error]: npc_parsesrcfile: Unknown syntax in file 'npc/NimbleRO/PvP.txt', line '
77'. Stopping...
* w1=OnInit:
* w2=
* w3=
* w4=

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

[FONT=Lucida Console]Вставь эту строчку(проверил,работает все):

switch(select("Арена ["+getmapusers("guild_vs3")+"/50]:Арена ^FF0000(Без Зелий)^000000["+getmapusers("pvp_n-1-5")+"/50]:Арена ^FF0000(Дроп вещей)^000000 ["+getmapusers("guild_vs2")+"/10]:Выход")){
[/FONT]
P.S:Бл* не пишите вы через меню!

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

[FONT=Lucida Console]

Цитата Kill Spirit;24019][Error:
: Loading NPC file: npc/NimbleRO/PvP.txt
script error on npc/NimbleRO/PvP.txt line 27
parse_syntax: unexpected 'break'
22 : sc_start SC_BLESSING,600000,10;
23 : sc_start SC_INCREASEAGI,600000,10;
24 : percentheal 100,100;
25 : warp "guild_vs3",0,0;
26 : close2;
* 27 : 'b'reak;
28 : 2:
29 : if(getmapusers("pvp_n_1-5")>=50) {
30 : next;
31 : mes "[^0000FFАрена^000000]";
32 : mes "Извините, но Арена полная, попробуйте позже.";
[Error]: npc_parsesrcfile: Unknown syntax in file 'npc/NimbleRO/PvP.txt', line '
77'. Stopping...
* w1=OnInit:
* w2=
* w3=
* w4=

Замени break; на end;
[/FONT]

Автор: XKoriKX: Дата: 05.25.2010

Dis[IP] если через свич делать, то надо писать case 1: и т.д. вроде, или я ошибаюсь???

P.S. Dis[IP] а для чего команда "break;" нужна???))))

Ну так я и думал)) переделать "1:" в "case 1:" и т.д.)

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

[FONT=Lucida Console]Не везде.:)

switch(select("1 меню:2 меню:3 меню")){
case 1:
mes "1 меню";
close;
case 2:
mes "2 меню";
close;
case 3:
mes "3 меню";
close;
}

Ну и так далее ).
P.S:break аналог скриптовой команды end;
[/FONT]

*end;
*break;

This command will stop the execution for this particular script. The two
versions are prefectly equivalent. It is the normal way to end a script which
does not use ''.

if (BaseLevel<=10) goto L_Lvl10;
if (BaseLevel<=20) goto L_Lvl20;
if (BaseLevel<=30) goto L_Lvl30;
if (BaseLevel<=40) goto L_Lvl40;
if (BaseLevel<=50) goto L_Lvl50;
if (BaseLevel<=60) goto L_Lvl60;
if (BaseLevel<=70) goto L_Lvl70;
L_Lvl10:
npctalk "Look at that you are still a n00b";
end;
L_Lvl20:
npctalk "Look at that you are getting better, but still a n00b";
end;
L_Lvl30:
npctalk "Look at that you are getting there, you are almost 2nd profession now right???";
end;
L_Lvl40:
npctalk "Look at that you are almost 2nd profession";
end;

Without the use of '' it would travel through the labels until the end of the
script. If you were lvl 10 or less, you would see all the speech lines, the use of '' stops this, and ends the script.

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

prontera,137,165,4	script	Супер кубик Ивент	71,{ 

if ( $@KUB != 0 ) goto Roman;
mes "[Супер кубик Ивент]";
mes "Привет!Я провожу ивент с названием:";
mes "...................................";
mes "^0000FF Супер кубик Ивент ^000000";
mes "...................................";
next;
mes "[Супер кубик Ивент]";
mes "Ты хочеш попасть на ивент?";
next;
menu "Да",HK_D,"Нет",HK_N;

HK_D:
mes "[Супер кубик Ивент]";
mes "Хорошо!Щас вы будуте телепортированы в комнату ожыдания";
next;
warp "quiz_00",12,110;
close;

HK_N:
mes "[Супер кубик Ивент]";
mes "Тогда увидимся в следущий раз =)";
close;

Roman:
mes "[Супер кубик Ивент]";
mes "Сорь,но ивент уже запущен.";
mes "Приходите когда будет набор людей";
close;
OnInit
disablenpc "Убеги от монстра";
disablenpc "Киса";
end;
}
}


quiz_00,0,0,0 script Event_Kubik -1,{

OnClock2144:
//OnInit:
callfunc "Walk_Off";
disablenpc "Виходимс";
set $@KUB,1;
end;
OnMinute00:
killmonsterall "quiz_00";
set $@KUB,0;
announce "Начался набор людей на Супер кубик Ивент !",0;
sleep 15000;
announce "Продолжается набор людей на Супер кубик Ивент.Через 3 мин начало ивента !",0;
sleep 60000;
announce "Продолжается набор людей на Супер кубик Ивент.Через 2 мин начало ивента !",0;
sleep 60000;
announce "Продолжается набор людей на Супер кубик Ивент.Через 1 мин начало ивента !",0;
sleep 30000;
announce "Набор людей на Супер кубик Ивент закончен !",0;
disablenpc "Супер кубик Ивент";
if ( getareausers("quiz_00",10,131,27,100) == 1 ) goto L_LMF;
set $@KUB,1;
areaannounce "quiz_00",4,131,27,100,"До начала выкидывания кубика осталось 30 секунд.Просим занять места на кубиках с цифрами !",0;
sleep 28000;
areaannounce "quiz_00",4,131,27,100,"Приготовились !!!",0;
sleep 2000;
callfunc "Main_function1";
end;
L_LMF:
announce "Ивент Супер кубик отменяется,ибо на ивент пришел только 1 игрок !",0;
sleep 5000;
areawarp "quiz_00",4,125,27,100,"prontera",155,177;
enablenpc "Супер кубик Ивент";
end;
}

function script Main_function2 {
if (getareausers("quiz_00",10,131,27,100) == 0 ) {
announce "Конец Ивента Супер кубик.Победителей нету !",0;
stopnpctimer "Event_Kubik";
return;
end;
} else
if (getareausers("quiz_00",10,131,27,100) == 1 ) {
areaannounce "quiz_00",4,131,27,100,"Выпало число - "+$@random,0;
announce "Конец Ивента Супер кубик.Победитель "+ strcharinfo(0) +" !",0;
enablenpc "Супер кубик Ивент";
callfunc "Walk_On";
mapannounce "quiz_00","Заберите свой приз, и тогда сможете выйти !",0;
stopnpctimer "Event_Kubik";
enablenpc "Виходимс";
monster "quiz_00",5,108,"Приз в студию",1360,1;
sleep 5000;
areawarp "quiz_00",4,131,8,120,"prontera",155,177;
return;
end;
} else {
if (getareausers("quiz_00",10,131,27,100) >= 2 ) {
areaannounce "quiz_00",4,131,27,100,"Выпало число - "+$@random,0;
sleep 01000;
areaannounce "quiz_00",4,131,27,100,"У вас 15 секунд,чтоб поменять позицию",0;
sleep 15000;
callfunc "Main_function1";
return;

}
}
}

function script Main_function1 {
set $@random,rand(1,6);
callfunc "Enable_k"+$@random;
callfunc "Enable_other";
callfunc "Main_function2";
return;
}

quiz_00,4,106,4 script Виходимс 71,{
mes "[ Ивент Супер кубик ]";
mes "Подравляю с победой !!!";
next;
warp "SavePoint",0,0;
close;
}

function script Enable_other {
//Все,кроме кубиков
areawarp "quiz_00",10,131,11,124,"quiz_00",7,122;
areawarp "quiz_00",12,129,26,126,"quiz_00",7,122;
areawarp "quiz_00",22,121,27,106,"quiz_00",7,122;
areawarp "quiz_00",10,121,17,108,"quiz_00",7,122;
areawarp "quiz_00",10,107,13,100,"quiz_00",7,122;
areawarp "quiz_00",14,105,17,100,"quiz_00",7,122;
areawarp "quiz_00",16,107,17,106,"quiz_00",7,122;
areawarp "quiz_00",18,111,21,102,"quiz_00",7,122;
areawarp "quiz_00",18,101,19,100,"quiz_00",7,122;
areawarp "quiz_00",22,101,25,100,"quiz_00",7,122;
areawarp "quiz_00",24,103,26,102,"quiz_00",7,122;
areawarp "quiz_00",26,105,27,104,"quiz_00",7,122;
areawarp "quiz_00",18,125,21,116,"quiz_00",7,122;
areawarp "quiz_00",20,115,21,114,"quiz_00",7,122;
areawarp "quiz_00",14,123,17,122,"quiz_00",7,122;
areawarp "quiz_00",14,125,15,124,"quiz_00",7,122;
areawarp "quiz_00",22,125,23,122,"quiz_00",7,122;
areawarp "quiz_00",26,125,27,122,"quiz_00",7,122;
return;
}

function script Enable_k1 {
//Кубики - 1
areawarp "quiz_00",12,125,13,124,"quiz_00",7,122;
areawarp "quiz_00",24,125,25,124,"quiz_00",7,122;
return;
}

function script Enable_k2 {
//Кубики - 2
areawarp "quiz_00",24,123,25,122,"quiz_00",7,122;
areawarp "quiz_00",20,101,21,100,"quiz_00",7,122;
return;
}

function script Enable_k3 {
//Кубики - 3
areawarp "quiz_00",22,105,23,104,"quiz_00",7,122;
areawarp "quiz_00",12,123,13,122,"quiz_00",7,122;
return;
}

function script Enable_k4 {
//Кубики - 4
areawarp "quiz_00",10,123,11,122,"quiz_00",7,122;
areawarp "quiz_00",18,113,21,112,"quiz_00",7,122;
return;
}

function script Enable_k5 {
//Кубики - 5
areawarp "quiz_00",18,115,19,114,"quiz_00",7,122;
areawarp "quiz_00",24,105,25,104,"quiz_00",7,122;
return;
}

function script Enable_k6 {
//Кубики - 6
areawarp "quiz_00",22,103,23,102,"quiz_00",7,122;
areawarp "quiz_00",14,107,15,106,"quiz_00",7,122;
areawarp "quiz_00",16,125,17,124,"quiz_00",7,122;
return;
}

function script Walk_Off {
setcell "quiz_00",9,125,9,120,cell_walkable,0;
setcell "quiz_00",9,111,9,106,cell_walkable,0;
return;
}

function script Walk_On {
setcell "quiz_00",9,111,9,106,cell_walkable,1;
return;
}

function script Main_function1 {
set $@random,rand(1,6);
callfunc "Enable_k"+$@random;
callfunc "Enable_other";
callfunc "Main_function2";
return;
}

quiz_00,4,106,4 script Виходимс 71,{
mes "[ Ивент Супер кубик ]";
mes "Подравляю с победой !!!";
next;
warp "SavePoint",0,0;
close;
}


Можно ли, как нибудь подкоректировать его, чтобы он был нормальный =)

И сделать так, чтобы когда:

Ты выйграл тебя варпало сразу в пронту

+ 1 2 3 местам давалось:

1 место 130 Cash Point

2 место 60 Cash Point

3 место 20 Cash Point

Автор: XKoriKX: Дата: 05.25.2010

Пля. Их надо полностью переделывать под 1,2 и 3-е место(((

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

[FONT=Lucida Console]Kill Spirit,пожалуйста не юзай этот говно скрипт от неизвестного говно автора.:lol:Я на этом форуме уже выкладывал нормальные кубики,юзай их.[/FONT]

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

Кинь ссылку, пожалуйста

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

Все спасибо, нашел

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

Тогда твой исправь чтобы было 6 цифр

- script	Dice#announcer	-1,{

OnInit:
disablenpc "prtevent";
hideonnpc "Dice#evnt1";
end;

OnMinute30:
announce "Кубик: Cейчас начнется эвент 'Кубик'!.",0;
sleep2 10000;
announce "Кубик: Все желающие могут зайти в портал,который появится в центре пронтеры.",0;
sleep2 10000;
announce "Кубик: Через минуту после появления портала регистрация заканчивается и портал исчезает",0;
sleep2 10000;
announce "Кубик: Пожалуйста подойдите в центр пронтеры и зайдите в варп портал для принятия участия в эвенте!",0;
enablenpc "prtevent";
initnpctimer;
end;

OnTimer30000:
announce "Кубик: До начала осталось 30 секунд",0;
sleep2 5000;
announce "Кубик: Все желающие принять участие могут пройти в варп портал!",0;
end;

OnTimer50000:
announce "Кубик: До начала осталось 10 секунд!",0;
end;

OnTimer55000:
announce "Кубик: ~5~.",0;
end;

OnTimer56000:
announce "Кубик: ~4~.",0;
end;

OnTimer57000:
announce "Кубик: ~3~.",0;
end;

OnTimer58000:
announce "Кубик: ~2~.",0;
end;

OnTimer59000:
announce "Кубик: ~1~.",0;
end;

OnTimer60000:
announce "Кубик: Время вышло!",0;
end;

OnTimer61000:
disablenpc "prtevent";
donpcevent "Dice#evnt1::OnEnable";
stopnpctimer;
end;

OnTimer62000:
announce "Кубик: Cледующий эвент начнется через 30 минут!",0;
end;
}

// Варп портал на эвент //

prontera,155,182,0 warp prtevent 2,2,quiz_01,204,90

// Получение приза //

quiz_01,204,93,6 script Dice#evnt1 715,{
mes "[Dice]";
mes "Назовите свое имя:";
next;
input .@name$;
if(.@name$ != strcharinfo(0)){
mes "[Dice]";
mes "Вы уверены что это имя вашего персонажа?";
close;
}
mes "[Dice]";
mes "Поздравляю!Вы победили!";
close2;
announce "Кубик: У нас есть победитель!Его имя: "+.@name$+"!",0;
getitem 7227,1;
warp "prontera",155,182;
disablenpc "Dice#evnt1";
end;

OnEnable:
mapannounce "quiz_01","Dice: Сейчас я расскажу правила эвента:",0;
sleep2 10000;
mapannounce "quiz_01","Dice: Я бросаю кубик числом от 1 до 4",0;
sleep2 10000;
mapannounce "quiz_01","Dice: Пример:Я бросил число 4.Игроки стоящие на клетке с номером от 1 до 3 варпуются обратно в город и считаются проигравшыми!",0;
sleep2 10000;
mapannounce "quiz_01","Dice: Игра продолжается до тех пор пока на карте не останется один человек.",0;
sleep2 10000;
mapannounce "quiz_01","Кубик: Вот и все!Начинаем эвент!",0;
sleep2 10000;
goto L_Start;
end;

L_Start:
if(getmapusers("quiz_01") == 1) goto prize;
if(getmapusers("quiz_01") == 0) goto noevent;
if(getmapusers("quiz_01") > 1){
announce "Бросаю кубик!",0;
set $@kubik,rand(1,4);
sleep2 10000;
announce "Кубик: Я бросил кубик!Встаньте пожалуйста на любую клетку с числами!",0;
sleep2 10000;
announce "Кубик: ~5~",0;
sleep2 5000;
announce "Кубик: ~4~",0;
sleep2 4000;
announce "Кубик: ~3~",0;
sleep2 3000;
announce "Кубик: ~2~",0;
sleep2 2000;
announce "Кубик: ~1~",0;
sleep2 1000;
announce "Кубик: Время вышло!.",0;
donpcevent "evnt#1::OnEnable";
announce "Кубик: Выиграшный номер: "+$@number+"!",0;
if(($@number != 1) && ($@number != 2) && ($@number != 3)) goto L_Lose1;
if(($@number != 1) && ($@number != 2) && ($@number != 4)) goto L_Lose2;
if(($@number != 1) && ($@number != 3) && ($@number != 4)) goto L_Lose3;
if(($@number != 2) && ($@number != 3) && ($@number != 4)) goto L_Lose4;
end;
}

L_Lose1:
areawarp "quiz_01",183,81,191,60,"prontera",155,182;
areawarp "quiz_01",195,81,203,60,"prontera",155,182;
areawarp "quiz_01",207,81,215,60,"prontera",155,182;
goto L_Start;
end;

L_Lose2:
areawarp "quiz_01",183,81,191,60,"prontera",155,182;
areawarp "quiz_01",195,81,203,60,"prontera",155,182;
areawarp "quiz_01",219,81,227,60,"prontera",155,182;;
goto L_Start;
end;

L_Lose3:
areawarp "quiz_01",183,81,191,60,"prontera",155,182;
areawarp "quiz_01",207,81,215,60,"prontera",155,182;
areawarp "quiz_01",219,81,227,60,"prontera",155,182;
goto L_Start;
end;

L_Lose4:
areawarp "quiz_01",195,81,203,60,"prontera",155,182;
areawarp "quiz_01",207,81,215,60,"prontera",155,182;
areawarp "quiz_01",219,81,227,60,"prontera",155,182;
goto L_Start;
end;

L_Champ:
mapannounce "quiz_01","Кубик: Подойдите к НПС и назовите свое имя.",0;
hideoffnpc "Dice#evnt1";
end;

L_None:
disablenpc "Dice#evnt1";
end;
}

- script evnt#1 -1,{

OnEnable:
areawarp "quiz_01",185,87,188,82,"prontera",155,182;
areawarp "quiz_01",197,87,200,82,"prontera",155,182;
areawarp "quiz_01",209,87,212,82,"prontera",155,182;
areawarp "quiz_01",221,87,224,82,"prontera",155,182;
end;
}

Автор: Мяфк: Дата: 05.25.2010

А если говорить русским языком и коротко, break выход из функции.

Автор: XKoriKX: Дата: 05.25.2010

Kill Spirit посмотри на принцип его написания и добавь) это достаточно легко))

Мне лень, так как надо лететь, и смотрить на координаты всех кубиков.
Если никто не вызовется помочь, напишу и выложу ближе к 9

P.S. В скрипте введена карта с числами от 1 до 4. Надо будет искать с кубиками другими)))

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

quiz_01 тут 6 цифр

Автор: XKoriKX: Дата: 05.25.2010

а вот и нет))) quiz_00,12,125
тут 6 цифр))

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

Castle: Kriemhild
Date: 25.05.2010
342 x

Автор: XKoriKX: Дата: 05.25.2010

- script Dice#announcer -1,{

OnInit:
disablenpc "prtevent";
hideonnpc "Dice#evnt1";
end;

OnMinute21:
announce "Кубик: Cейчас начнется эвент 'Кубик'!.",0;
sleep2 10000;
announce "Кубик: Все желающие могут зайти в портал,который появится в центре пронтеры.",0;
sleep2 10000;
announce "Кубик: Через минуту после появления портала регистрация заканчивается и портал исчезает",0;
sleep2 10000;
announce "Кубик: Пожалуйста подойдите в центр пронтеры и зайдите в варп портал для принятия участия в эвенте!",0;
enablenpc "prtevent";
initnpctimer;
end;

OnTimer30000:
announce "Кубик: До начала осталось 30 секунд",0;
sleep2 5000;
announce "Кубик: Все желающие принять участие могут пройти в варп портал!",0;
end;

OnTimer50000:
announce "Кубик: До начала осталось 10 секунд!",0;
end;

OnTimer55000:
announce "Кубик: ~5~.",0;
end;

OnTimer56000:
announce "Кубик: ~4~.",0;
end;

OnTimer57000:
announce "Кубик: ~3~.",0;
end;

OnTimer58000:
announce "Кубик: ~2~.",0;
end;

OnTimer59000:
announce "Кубик: ~1~.",0;
end;

OnTimer60000:
announce "Кубик: Время вышло!",0;
end;

OnTimer61000:
disablenpc "prtevent";
donpcevent "Dice#evnt1::OnEnable";
stopnpctimer;
end;

OnTimer62000:
announce "Кубик: Cледующий эвент начнется через 30 минут!",0;
end;
}

// Варп портал на эвент //

prontera,155,182,0 warp prtevent 2,2,quiz_00,12,127

// Получение приза //

quiz_00,12,129,6 script Dice#evnt1 715,{
mes "[Dice]";
mes "Назовите свое имя:";
next;
input .@name$;
if(.@name$ != strcharinfo(0)){
mes "[Dice]";
mes "Вы уверены что это имя вашего персонажа?";
close;
}
mes "[Dice]";
mes "Поздравляю!Вы победили!";
close2;
announce "Кубик: У нас есть победитель!Его имя: "+.@name$+"!",0;
getitem 7227,1;
warp "prontera",155,182;
disablenpc "Dice#evnt1";
end;

OnEnable:
mapannounce "quiz_00","Dice: Сейчас я расскажу правила эвента:",0;
sleep 10000;
mapannounce "quiz_00","Dice: Я бросаю кубик числом от 1 до 6",0;
sleep 10000;
mapannounce "quiz_00","Dice: Пример:Я бросил число 4.Игроки стоящие на клетке с номером от 1 до 6 варпуются обратно в город и считаются проигравшыми!",0;
sleep 10000;
mapannounce "quiz_00","Dice: Игра продолжается до тех пор пока на карте не останется один человек.",0;
sleep 10000;
mapannounce "quiz_00","Кубик: Вот и все!Начинаем эвент!",0;
sleep 10000;
goto L_Start;
end;

L_Start:
if(getmapusers("quiz_00") == 1) goto L_prize;
if(getmapusers("quiz_00") == 0) goto L_noevent;
if(getmapusers("quiz_00") > 1){
announce "Бросаю кубик!",0;
set $@kubik,rand(1,6);
sleep 10000;
announce "Кубик: Я бросил кубик!Встаньте пожалуйста на любую клетку с числами!",0;
sleep 10000;
announce "Кубик: ~5~",0;
sleep 5000;
announce "Кубик: ~4~",0;
sleep 4000;
announce "Кубик: ~3~",0;
sleep 3000;
announce "Кубик: ~2~",0;
sleep 2000;
announce "Кубик: ~1~",0;
sleep 1000;
announce "Кубик: Время вышло!.",0;
donpcevent "evnt#1::OnEnable";
announce "Кубик: Выиграшный номер: "+$@kubik+"!",0;
If ($@kubik == 1) {
if (checkcell(quiz_00,12,125,cell_chkpass) && checkcell(quiz_00,13,125,cell_chkpass) && checkcell(quiz_00,12,124,cell_chkpass) && checkcell(quiz_00,13,124,cell_chkpass) && checkcell(quiz_00,24,125,cell_chkpass) && checkcell(quiz_00,25,125,cell_chkpass) && checkcell(quiz_00,24,124,cell_chkpass) && checkcell(quiz_00,25,124,cell_chkpass)) {
areawarp "quiz_01",1,1,360,360,"prontera",155,182;
}}
If ($@kubik == 2) {
if (checkcell(quiz_00,24,123,cell_chkpass) && checkcell(quiz_00,25,123,cell_chkpass) && checkcell(quiz_00,24,122,cell_chkpass) && checkcell(quiz_00,25,122,cell_chkpass) && checkcell(quiz_00,20,101,cell_chkpass) && checkcell(quiz_00,20,101,cell_chkpass) && checkcell(quiz_00,21,100,cell_chkpass) && checkcell(quiz_00,21,100,cell_chkpass)) {
areawarp "quiz_01",1,1,360,360,"prontera",155,182;
}}
If ($@kubik == 3) {
if (checkcell(quiz_00,22,105,cell_chkpass) && checkcell(quiz_00,23,105,cell_chkpass) && checkcell(quiz_00,22,104,cell_chkpass) && checkcell(quiz_00,23,104,cell_chkpass) && checkcell(quiz_00,12,122,cell_chkpass) && checkcell(quiz_00,13,122,cell_chkpass) && checkcell(quiz_00,12,123,cell_chkpass) && checkcell(quiz_00,13,123,cell_chkpass)) {
areawarp "quiz_01",1,1,360,360,"prontera",155,182;
}}
If ($@kubik == 4) {
if (checkcell(quiz_00,10,123,cell_chkpass) && checkcell(quiz_00,11,123,cell_chkpass) && checkcell(quiz_00,10,122,cell_chkpass) && checkcell(quiz_00,11,122,cell_chkpass) && checkcell(quiz_00,18,113,cell_chkpass) && checkcell(quiz_00,19,113,cell_chkpass) && checkcell(quiz_00,20,113,cell_chkpass) && checkcell(quiz_00,21,113,cell_chkpass) && checkcell(quiz_00,18,112,cell_chkpass) && checkcell(quiz_00,19,112,cell_chkpass) && checkcell(quiz_00,20,112,cell_chkpass) && checkcell(quiz_00,21,112,cell_chkpass)) {
areawarp "quiz_01",1,1,360,360,"prontera",155,182;
}}
If ($@kubik == 5) {
if (checkcell(quiz_00,18,115,cell_chkpass) && checkcell(quiz_00,19,115,cell_chkpass) && checkcell(quiz_00,18,114,cell_chkpass) && checkcell(quiz_00,19,114,cell_chkpass) && checkcell(quiz_00,24,105,cell_chkpass) && checkcell(quiz_00,25,105,cell_chkpass) && checkcell(quiz_00,24,104,cell_chkpass) && checkcell(quiz_00,25,104,cell_chkpass)) {
areawarp "quiz_01",1,1,360,360,"prontera",155,182;
}}
If ($@kubik == 6) {
if (checkcell(quiz_00,14,107,cell_chkpass) && checkcell(quiz_00,15,107,cell_chkpass) && checkcell(quiz_00,14,106,cell_chkpass) && checkcell(quiz_00,15,106,cell_chkpass) && checkcell(quiz_00,22,103,cell_chkpass) && checkcell(quiz_00,23,103,cell_chkpass) && checkcell(quiz_00,22,102,cell_chkpass) && checkcell(quiz_00,23,102,cell_chkpass)) {
areawarp "quiz_01",1,1,360,360,"prontera",155,182;
}}
end;
}

L_prize:
mapannounce "quiz_01","Кубик: Подойдите к НПС и назовите свое имя.",0;
hideoffnpc "Dice#evnt1";
end;

L_noevent:
mapannounce "quiz_00","Грат тупицу)",0;
disablenpc "Dice#evnt1";
end;
}

- script evnt#1 -1,{

OnEnable:
areawarp "quiz_00",185,87,188,82,"prontera",155,182;
areawarp "quiz_00",197,87,200,82,"prontera",155,182;
areawarp "quiz_00",209,87,212,82,"prontera",155,182;
areawarp "quiz_00",221,87,224,82,"prontera",155,182;
end;
}


Вот то что у мя получилось) Но он не работает(((((

Автор: Мяфк: Дата: 05.25.2010

Что именно не работает, если мап ругается, скинь логи...

Автор: Renegade: Дата: 05.25.2010

 npc_parsesrcfile: Unknown syntax in file 'npc/custom/annonce.txt', line '1'. Stopping...
* w1=script rand_announce -1,{
* w2=
* w3=
* w4=


    script    rand_announce    -1,{
OnInit:
/////////////////////////////////////////////////////////////////////////////////////
// Не изменяем (!!!)
setarray .@rand,1;
// Тут устанавливаем время, в которое будет происходить наши аннонсы
setarray .@time[0],30;
// Текст, который будет употребляться в наших аннонсах
setarray .@text$[0],
"Добро пожаловать на наш сервер!",
"Не забывайте посещать наш форум",
"Не говорите никому свой логин и пароль, администрации он не нужен",
"Относитесь доброжелательно и уважительно к другим игрокам",
"Сообщайте о багах на наш форум!",
"Все ваши пожелания, критику,вопросы можно написать на форум",
"Не забывайте голосовать за наш сервер, это поможет поднять онлайн!";
/////////////////////////////////////////////////////////////////////////////////////
for(set .@i,0; .@i<=getarraysize(.@time);
set .@i,.@i+1) set .@time[.@i],.@time[.@i]*60000;
set .@rand,.@rand*1000;
sleep .@time[rand(0,getarraysize(.@time))];
for(set .@i,getarraysize(.@text$); .@i>=0; set .@i,.@i-1){
announce .@text$[.@i],0; sleep .@rand;}
goto OnInit;
}


######################################################


 npc_parsesrcfile: Unknown syntax in file 'npc/custom/events/Away.txt', line '6'. Stopping...
* w1=script announce_rfyl -1,{
* w2=
* w3=
* w4=


//---Авто-Эвент RFYL.---//
//---Скрипт написал aN00B1s (ICQ: 722-45-30)---//

//---Объявление об эвенте.---//

script announce_rfyl -1,{

//---Время, когда эвент будет начинаться.---//

OnClock1030:
OnClock1530:
OnClock1715:
OnClock2030:



//---Аннонс Эвента + проверки.---//

announce "Эвент 'Убеги от монстра' начнётся через 3 минуты!",0;
killmonsterall "quiz_01";
sleep 50000;
announce "В Пронтере появился НПС 'Убеги от монстра'!",0;
enablenpc "Убеги от монстра";
sleep 10000;
announce "Эвент 'РФУЛ' начнётся через 2 минуты!",0;
sleep 60000;
announce "Эвент 'РФУЛ' начнётся через 1 минуту!",0;
sleep 30000;
mapannounce "quiz_01","Через 30 секунд будет запущен монстр!",0;
sleep 25000;
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,0x00FF00;
monster "quiz_01",42,369,"Убийца",1640,1;
disablenpc "Убеги от монстра";
initnpctimer;
end;

OnTimer5000: // Каждые 5 секунд проверка на количество игроков + аннонс.
if ( getmapusers("quiz_01") == 0 )
{
killmonsterall "quiz_01"; // Если всех убили - эвент заканчивается.
announce "Эвент 'РФУЛ' закончился, так как игроков на Эвенте нет.",0;
disablenpc "Киса";
stopnpctimer;
end;
}
else if ( getmapusers("quiz_01") > 1 )
{
mapannounce "quiz_01",getmapusers("quiz_01") +" игрока(ов) всё ещё находятся на Эвенте.",0,0x00FF00; // Если 2+ игроков на эвенте - аннонс.
initnpctimer;
end;
}
initnpctimer;
end;



//---Выкидывание игрока с Эвента после смерти и проверка на победителя.---//

OnPCDieEvent:
getmapxy .@maprfyl$,.@xrfyl,.@yrfyl,0;
if ( .@maprfyl$ == "quiz_01") {
sleep2 1;
warp "prontera",156,223;
atcommand "@alive "+ strcharinfo(0);
dispbottom "К сожалению, Вы проиграли...";
}
sleep2 1000;
if ( .@maprfyl$ == "quiz_01" && getmapusers("quiz_01") == 1 ) {
killmonsterall "quiz_01";
mapannounce "quiz_01","Поздравляю, Вы выиграли, подойдите пожалуйста к Кисе.",0;
enablenpc "Киса";
stopnpctimer;
end;
}
end;
}



//---Выигрыш.---//

quiz_01,42,369,3 script Киса 876,{
if (sex == 1) { // Мальчик.
announce "В 'РФУЛе' победил "+ strcharinfo(0) +"! Поздравляем его!",0;
}
else { // Остальные (девочка).
announce "В 'РФУЛе' победила "+ strcharinfo(0) +"! Поздравляем её!",0;
};
getitem 7227,1; // Можно поставить свой приз.
warp "prontera",156,223;
sleep2 250;
disablenpc "Киса";
end;
}



//---Регистрация на Эвент.---//

prontera,147,147,3 script Убеги от монстра 736,{
mes "[^0000FFУбеги от монстра^000000]";
mes "Вы хотите попасть на Эвент '^FF0000Убеги от монстра^000000'?";
next;
switch(select("Да","Нет")) {
case 1:
if (checkriding()) { // Проверка на Пеко-Пеко.
mes "[^0000FFУбеги от монстра^000000]";
mes "Пожалуйста, снемите Пеко Пеко.";
close;
}
sc_end SC_ALL;
percentheal 100,100;
warp "quiz_01",42,369;
end;
break;

case 2:
mes "[^0000FFУбеги от монстра^000000]";
mes "Хорошо, приходите, когда захотите.";
close;
break;
}
OnInit: // При запуске сервера убераем НПС.
disablenpc "Убеги от монстра";
disablenpc "Киса";
end;
}



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

quiz_01 mapflag pvp off
quiz_01 mapflag noteleport
quiz_01 mapflag nosave SavePoint
quiz_01 mapflag nowarp
quiz_01 mapflag noreturn
quiz_01 mapflag nomemo
quiz_01 mapflag nowarpto
quiz_01 mapflag noskill
quiz_01 mapflag pvp noparty
quiz_01 mapflag restricted 5 // Не забывайте добавить зелья, которые нельзя кушать и спид потионы в db/item_noequip.txt





Честно говоря уже всю голову сломал, но ошибки не вижу.

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

Renegade: табы ;)


- script rand_announce -1,{
OnInit:
/////////////////////////////////////////////////////////////////////////////////////
// Не изменяем (!!!)
setarray .@rand,1;
// Тут устанавливаем время, в которое будет происходить наши аннонсы
setarray .@time[0],30;
// Текст, который будет употребляться в наших аннонсах
setarray .@text$[0],
"Добро пожаловать на наш сервер!",
"Не забывайте посещать наш форум",
"Не говорите никому свой логин и пароль, администрации он не нужен",
"Относитесь доброжелательно и уважительно к другим игрокам",
"Сообщайте о багах на наш форум!",
"Все ваши пожелания, критику,вопросы можно написать на форум",
"Не забывайте голосовать за наш сервер, это поможет поднять онлайн!";
/////////////////////////////////////////////////////////////////////////////////////
for(set .@i,0; .@i<=getarraysize(.@time);
set .@i,.@i+1) set .@time[.@i],.@time[.@i]*60000;
set .@rand,.@rand*1000;
sleep .@time[rand(0,getarraysize(.@time))];
for(set .@i,getarraysize(.@text$); .@i>=0; set .@i,.@i-1){
announce .@text$[.@i],0; sleep .@rand;}
goto OnInit;
}

---------------------------------------------------------

//---Авто-Эвент RFYL.---//
//---Скрипт написал aN00B1s (ICQ: 722-45-30)---//

//---Объявление об эвенте.---//

- script announce_rfyl -1,{

//---Время, когда эвент будет начинаться.---//

OnClock1030:
OnClock1530:
OnClock1715:
OnClock2030:



//---Аннонс Эвента + проверки.---//

announce "Эвент 'Убеги от монстра' начнётся через 3 минуты!",0;
killmonsterall "quiz_01";
sleep 50000;
announce "В Пронтере появился НПС 'Убеги от монстра'!",0;
enablenpc "Убеги от монстра";
sleep 10000;
announce "Эвент 'РФУЛ' начнётся через 2 минуты!",0;
sleep 60000;
announce "Эвент 'РФУЛ' начнётся через 1 минуту!",0;
sleep 30000;
mapannounce "quiz_01","Через 30 секунд будет запущен монстр!",0;
sleep 25000;
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,0x00FF00;
monster "quiz_01",42,369,"Убийца",1640,1;
disablenpc "Убеги от монстра";
initnpctimer;
end;

OnTimer5000: // Каждые 5 секунд проверка на количество игроков + аннонс.
if ( getmapusers("quiz_01") == 0 )
{
killmonsterall "quiz_01"; // Если всех убили - эвент заканчивается.
announce "Эвент 'РФУЛ' закончился, так как игроков на Эвенте нет.",0;
disablenpc "Киса";
stopnpctimer;
end;
}
else if ( getmapusers("quiz_01") > 1 )
{
mapannounce "quiz_01",getmapusers("quiz_01") +" игрока(ов) всё ещё находятся на Эвенте.",0,0x00FF00; // Если 2+ игроков на эвенте - аннонс.
initnpctimer;
end;
}
initnpctimer;
end;



//---Выкидывание игрока с Эвента после смерти и проверка на победителя.---//

OnPCDieEvent:
getmapxy .@maprfyl$,.@xrfyl,.@yrfyl,0;
if ( .@maprfyl$ == "quiz_01") {
sleep2 1;
warp "prontera",156,223;
atcommand "@alive "+ strcharinfo(0);
dispbottom "К сожалению, Вы проиграли...";
}
sleep2 1000;
if ( .@maprfyl$ == "quiz_01" && getmapusers("quiz_01") == 1 ) {
killmonsterall "quiz_01";
mapannounce "quiz_01","Поздравляю, Вы выиграли, подойдите пожалуйста к Кисе.",0;
enablenpc "Киса";
stopnpctimer;
end;
}
end;
}



//---Выигрыш.---//

quiz_01,42,369,3 script Киса 876,{
if (sex == 1) { // Мальчик.
announce "В 'РФУЛе' победил "+ strcharinfo(0) +"! Поздравляем его!",0;
}
else { // Остальные (девочка).
announce "В 'РФУЛе' победила "+ strcharinfo(0) +"! Поздравляем её!",0;
};
getitem 7227,1; // Можно поставить свой приз.
warp "prontera",156,223;
sleep2 250;
disablenpc "Киса";
end;
}



//---Регистрация на Эвент.---//

prontera,147,147,3 script Убеги от монстра 736,{
mes "[^0000FFУбеги от монстра^000000]";
mes "Вы хотите попасть на Эвент '^FF0000Убеги от монстра^000000'?";
next;
switch(select("Да","Нет")) {
case 1:
if (checkriding()) { // Проверка на Пеко-Пеко.
mes "[^0000FFУбеги от монстра^000000]";
mes "Пожалуйста, снемите Пеко Пеко.";
close;
}
sc_end SC_ALL;
percentheal 100,100;
warp "quiz_01",42,369;
end;
break;

case 2:
mes "[^0000FFУбеги от монстра^000000]";
mes "Хорошо, приходите, когда захотите.";
close;
break;
}
OnInit: // При запуске сервера убераем НПС.
disablenpc "Убеги от монстра";
disablenpc "Киса";
end;
}



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

quiz_01 mapflag pvp off
quiz_01 mapflag noteleport
quiz_01 mapflag nosave SavePoint
quiz_01 mapflag nowarp
quiz_01 mapflag noreturn
quiz_01 mapflag nomemo
quiz_01 mapflag nowarpto
quiz_01 mapflag noskill
quiz_01 mapflag pvp noparty
quiz_01 mapflag restricted 5 // Не забывайте добавить зелья, которые нельзя кушать и спид потионы в db/item_noequip.txt

Автор: Мяфк: Дата: 05.26.2010

Омг, Renegade, не ожидал от тебя, что ты не знаешь, что такое табы)

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

[FONT=Lucida Console]Мда,бывает и такое..:lol:[/FONT]

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

Может кто исправить, чтобы приз команде давало (не у нпц) , а как только Н Команда выйграла

bat_b01	mapflag	pvp
bat_b01 mapflag nomemo
bat_b01 mapflag noreturn
bat_b01 mapflag nowarp
bat_b01 mapflag nowarpto
bat_b01 mapflag noicewall


bat_b01,0,0,0 script ctf_sys -1,{
end;

OnPCLogoutEvent:
If(BlueTeam == 1){
//If PC has the red flag, drops on logout
if( RedFlagTaken == 1 ){
mapannounce "bat_b01","Красный флаг упал",bc_map,0xFF0000;
getmapxy (mapname$,.@mapx,.@mapy,0,strcharinfo(0));
movenpc "Red_Flag_1",.@mapx,.@mapy;
}
setlook 7,"normallook"+strcharinfo(0);//Clearing all variables, restoring original look, and saving in prontera
set BlueTeam, 0;
set RedTeam, 0;
set RedFlagTaken, 0;
set BlueFlagTaken, 0;
savepoint "prontera",156,191;
set Blue_Flag_Carrier$,0;
set Red_Flag_Carrier$,0;
}
if(RedTeam == 1){
//If PC has the blue flag, drops on logout
if( BlueFlagTaken == 1 ){
mapannounce "bat_b01","Cиний флаг упал",bc_map,0x0000FF;
getmapxy (mapname$,.@mapx,.@mapy,0,strcharinfo(0));
movenpc "Blue_Flag_1",.@mapx,.@mapy;
}
setlook 7,"normallook"+strcharinfo(0);//Clearing all variables, restoring original look, and saving in prontera
set BlueTeam, 0;
set RedTeam, 0;
set RedFlagTaken, 0;
set BlueFlagTaken, 0;
savepoint "prontera",156,191;
set Blue_Flag_Carrier$,0;
set Red_Flag_Carrier$,0;
}
end;

OnPCDieEvent:
if( BlueFlagTaken == 1 ){
mapannounce "bat_b01", "Cиний флаг упал",bc_map,0x0000FF;
setlook 7,15;
getmapxy (mapname$,.@mapx,.@mapy,0,strcharinfo(0));
movenpc "Blue_Flag_1",.@mapx,.@mapy;
set BlueFlagTaken, 0;
set Blue_Flag_Carrier$,0;
end;
}

if( RedFlagTaken == 1 ){
mapannounce "bat_b01", "Красный флаг упал",bc_map,0xFF0000;
setlook 7,122;
getmapxy (mapname$,.@mapx,.@mapy,0,strcharinfo(0));
movenpc "Red_Flag_1",.@mapx,.@mapy;
set RedFlagTaken, 0;
set Red_Flag_Carrier$,0;
end;
}
end;

OnCTFEndGame:
atcommand "@pvpoff"; //Pvp off, ressurects everyone, and disables the flags
atcommand "@raisemap";
movenpc "Prontera Warper#1",72,148;
movenpc "Prontera Warper#2",321,151;
movenpc "Prontera Warper#3",311,229;
movenpc "Prontera Warper#4",87,79;
movenpc "Red_Flag",391,15; //Incase flags come back, move them to a remote location [Safety Precaution]
movenpc "Blue_Flag",391,14;
movenpc "Red_Flag_1",392,15;
movenpc "Blue_Flag_1",392,14;
enablenpc "Wall#1";
enablenpc "Wall#2";
enablenpc "Wall#3";
enablenpc "Wall#4";
set $Blue_Password$,"alsdf984lkf";
set $Red_Password$,"aslkjdfjk493";
set Blue_Flag_Carrier$,0;
set Red_Flag_Carrier$,0;
end;
}

// This is the NPC players will use to join the game. GMS can start CTF, join, or kill a player.
// Also duplicated on the map [bat_b01 389 8]
zenia,220,139,5 script Capture The Flag 874,{
if(getgmlevel() == 99){
mes "[CTF]";
mes "Что вы хотите сделать?";
menu "Начать CTF",start_ctf,"Присоединитесь к борьбе",jtf,"Убить кого-то",k1,"Настройки CTF",CTFConfig;

CTFConfig:
mes "[CTF]";
mes "Что вы хотите изменить?";
menu "Пароль команды",STpass,"Максимальный Предел Захватов",CTFcapL,"Установить минимальный лвл для входа",SBlvl,"Отключите/Допустите Рассмотрение Носителя",DEview;

STpass:
mes "Для какой команды Вы хотите установить пароль?";
menu "Синяя команда",SBpass,"Красная команда",SRpass;

SBpass:
mes "Какой пароль будет для синей команды?";
input $Blue_Password$;
announce "Capture The Flag Event",0;
announce "Пароль для синей команды изменил GM",0;
next;
mes "Обязательно сообщите новый пароль лидеру синей команды...";
close;

SRpass:
mes "Какой пароль будет для красной команды?";
input $Red_Password$;
announce "Capture The Flag Event:",0;
announce "Пароль для синей команды изменил GM",0;
next;
mes "Обязательно сообщите новый пароль лидеру синей команды...";
close;

CTFcapL:
mes "Сколько захватов флажка? (3 рекомедуется и значение по умолчанию, не может перейти 10)";
input $Cap_Limit;
if($Cap_Limit > 10){
mes "Жаль, у Вас могут только быть диапазон или 1-10 кадров";
close;
}
if($Cap_Limit <= 0){
mes "Жаль, у Вас могут только быть диапазон или 1-10 кадров";
close;
}
mes "Предел Начальной буквы теперь "+$Cap_Limit;
close;

SBlvl:
if($FBlvl_Set == 0){
mes "Вы не конфигурировали эту установку прежде, каков максимум baselevel для Вашего сервера?";
input $Blvl_Max;
mes "Ваш максимальный основной уровень"+$Blvl_Max;
next;
}
mes "Вы хотите конфигурировать новый Максимальный Основной Уровень на своем сервере, или установить Минимальный Основной Уровень, к которому игроки должны присоединиться?";
menu "Минимальный уровень",SminBL,"Максимальный уровень",SmaxBL;

SminBL:
mes "Каково будет требование уровня минимум, чтобы присоединиться к захвату Флажков?";
input $Blvl_Min;
if($Blvl_Min <= 0){
mes "Минимум baselevel должен быть между 1-"+$Blvl_Max;
close;
}
if($Blvl_Min > $Blvl_Max){
mes "Минимальный baselevel не может быть больше чем максимальный baselevel ("+ $Blvl_Max +")!!! Тогда никто не сможет присоединиться!";
close;
}
next;
mes "Минимум baselevel требование "+$Blvl_Min;
close;

SmaxBL:
mes "Каков максимум baselevel для Вашего сервера?";
input $Blvl_Max;
mes "Ваш максимальный основной уровень "+$Blvl_Max;
close;

DEview:
mes "Вы желаете отключить/допустить индикаторы на миникарте для главных перевозчиков? (Значение по умолчанию включено)";
menu "Включить",Eview,"Выключить",Dview;

Eview:
enablenpc "Flag_Indicator";
mes "индикаторы на миникарте включены";
close;

Dview:
disablenpc "Flag_Indicator";
mes "индикаторы на миникарте выключены";
close;

k1:
mes "Введите название игрока [Чувствительное к регистру]";
input player$;
atcommand strcharinfo(0)+":nuke "+player$;
close;

start_ctf:
if($Cap_Limit == 0){
set $Cap_Limit,3;
}
OnClock1030:
OnClock1300:
OnClock1500:
OnClock1900:
enablenpc "Capture The Flag";
announce "Начался набор людей на Capture The Flag !",0;
sleep 15000;
announce "Продолжается набор людей на Capture The Flag.Через 3 мин начало ивента !",0;
sleep 60000;
announce "Продолжается набор людей на Capture The Flag.Через 2 мин начало ивента !",0;
sleep 60000;
announce "Продолжается набор людей на Capture The Flag.Через 1 мин начало ивента !",0;
sleep 30000;
announce "Набор людей на Capture The Flag закончен !",0;
disablenpc "Capture The Flag";
disablenpc "Wall#1";
disablenpc "Wall#2";
disablenpc "Wall#3";
disablenpc "Wall#4";
movenpc "Prontera Warper",396,9;
movenpc "Prontera Warper#1",396,8;
movenpc "Blue_Flag",329,149; //Moving flags to original startpoint just incase
movenpc "Red_Flag",62,149;
movenpc "Red_Flag_1",319,14;
movenpc "Blue_Flag#2",319,15;
mapannounce "bat_b01","Вы должны забрать флаг у другой команды и принести к своему флагу.",0;
sleep2 4000;
mapannounce "bat_b01","Если вас убили,флаг падает на землю.",0;
sleep2 4000;
mapannounce "bat_b01","Первая команда которое наберет "+$Cap_Limit+" очков,выйграет! Готовы?...НАЧАЛИ!!",0;
close;
}

jtf:
mes "[CTF]";
if(BaseLevel < $Blvl_Min){
mes "Ваш уровень ниже,чем полагается...";
close;
}
mes "К какой команде Вы хотите присоединиться?";
menu "Синяя команда",joinblueteam,"Красная команда",joinredteam;

joinblueteam:
mes "Каков пароль для Синей команды?";
input .@Gpass$;
if(.@Gpass$ != $Blue_Password$){
mes "Извините,неправильно...";
close;
}
set normallook,(getlook(7));
setlook 7, 15;
set BlueTeam, 1;
set RedTeam, 0;
set RedFlagTaken, 0;
set BlueFlagTaken, 0;
savepoint "bat_b01",312,223;
warp "bat_b01",312,223;
close;

joinredteam:
input .@Gpass$;
if(.@Gpass$ != $Red_Password$){
mes "Извините,неправильно...";
close;
}
set normallook,(getlook(7));
setlook 7, 122;
set RedTeam, 1;
set BlueTeam, 0;
set RedFlagTaken, 0;
set BlueFlagTaken, 0;
savepoint "bat_b01",87,74;
warp "bat_b01",87,74;
close;
}

bat_b01,389,8,5 duplicate(Capture The Flag) Capture The Flag#1 874

// Base Flags
bat_b01,62,149,5 script Red_Flag 722,2,2,{
end;
OnTouch:
if( BlueTeam == 1 ){ //Blue Team takes the Red Flag and disables and moves the flag
set RedFlagTaken, 1;
set Red_Flag_Carrier$,strcharinfo(0);
mapannounce "bat_b01", strcharinfo(0) + " захватил Красный Флаг",bc_map,0x0000FF;
announce "Возвратите флаг к Вашей команде!",3,0x0000FF;
setlook 7, 129;
movenpc "Red_Flag",391,15;
disablenpc "Red_Flag";
}

if( BlueFlagTaken == 1 ){ //Red Team scores if PC has the variable "BlueFlagTaken"
percentheal 100,100;
mapannounce "bat_b01", "Счет красной команды!",bc_map,0xFF0000;
set BlueFlagTaken, 0;
set Blue_Flag_Carrier$,0;
setlook 7, 122;
enablenpc "Blue_Flag";
movenpc "Blue_Flag",329,149;
setd "$@redscore"+strcharinfo(1), getd("$@redscore"+strcharinfo(1))+1;
if(getd("$@redscore"+strcharinfo(1)) >= $Cap_Limit){
mapannounce "bat_b01","Red team has won the match!",bc_map,0xFF0000;
setd "CTF_Winner"+strcharinfo(1),1;
donpcevent "ctf_sys::OnCTFEndGame";
}
mapannounce "bat_b01","Счет красной команды:" + getd("$@redscore"+strcharinfo(1)),bc_map,0xFF0000;
}
end;
}


bat_b01,329,149,5 script Blue_Flag 722,2,2,{
end;
OnTouch:
if( RedTeam == 1 ){ //Red Team takes the Blue Flag and disables and moves the flag
mapannounce "bat_b01", strcharinfo(0) + " захватил Синий Флаг",bc_map,0xFF0000;
announce "Возвратите флаг к Вашей команде!",3,0xFF0000;
set BlueFlagTaken, 1;
set Blue_Flag_Carrier$,strcharinfo(0);
setlook 7, 15;
movenpc "Blue_Flag",391,14;
disablenpc "Blue_Flag";
}

if( RedFlagTaken == 1){ //Blue Team scores if PC has the variable "RedFlagTaken"
percentheal 100,100;
mapannounce "bat_b01", "Счет синей команды!",bc_map,0x0000FF;
set RedFlagTaken, 0;
set Red_Flag_Carrier$,0;
setlook 7, 15;
enablenpc "Red_Flag";
movenpc "Red_Flag",62,149;
setd "$@bluescore"+strcharinfo(1), getd("$@bluescore"+strcharinfo(1))+1;
if(getd("$@bluescore"+strcharinfo(1)) >= $Cap_Limit){
mapannounce "bat_b01","Синяя команда выиграла состязание!",bc_map,0x0000FF;
setd "CTF_Winner"+strcharinfo(1),1;
donpcevent "ctf_sys::OnCTFEndGame";
}
mapannounce "bat_b01","Счет синей команды:" + getd("$@bluescore"+strcharinfo(1)),bc_map,0x0000FF;
}
end;
}

//Non-Base Flags. Flags that appear when the Flag is dropped
bat_b01,390,13,5 script Blue_Flag_1 722,2,2,{
end;
OnTouch:
if( RedTeam == 1 ){
mapannounce "bat_b01",strcharinfo(0)+" захватил Синий флаг",bc_map,0xFF0000;
set BlueFlagTaken, 1;
set Blue_Flag_Carrier$,strcharinfo(0);
setlook 7, 15;
movenpc "Blue_Flag_1",390,13;
disablenpc "Blue_Flag";
end;
}
if( BlueTeam == 1 ){
mapannounce "bat_b01", strcharinfo(0)+" возвратил Синий флаг",bc_map,0x0000FF;
enablenpc "Blue_Flag";
movenpc "Blue_Flag",329,149;
movenpc "Blue_Flag_1",390,13;
end;
}
end;
}


bat_b01,390,14,5 script Red_Flag_1 722,2,2,{
end;
OnTouch:
if( BlueTeam == 1 ){
mapannounce "bat_b01", strcharinfo(0) + " поднял Красный Флаг",bc_map,0x0000FF;
set RedFlagTaken, 1;
set Red_Flag_Carrier$,strcharinfo(0);
setlook 7, 129;
movenpc "Red_Flag_1",390,13;
disablenpc "Red_Flag";
end;
}
if( RedTeam == 1 ){
mapannounce "bat_b01",strcharinfo(0)+" возвратил Красный Флаг",bc_map,0xFF0000;
enablenpc "Red_Flag";
movenpc "Red_Flag",62,149;
movenpc "Red_Flag_1",390,14;
end;
}
end;
}


//Incase Players try to get out of the starting box before CTF actually starts
bat_b01,292,225,5 script Wall#1 -111,7,7,{
end;
OnTouch:
warp "bat_b01",311,224;
end;
}

bat_b01,331,224,5 script Wall#2 -111,7,7,{
end;
OnTouch:
warp "bat_b01",311,224;
end;
}
bat_b01,107,74,5 script Wall#3 -111,7,7,{
end;
OnTouch:
warp "bat_b01",88,74;
end;
}
bat_b01,70,74,5 script Wall#4 -111,5,5,{
end;
OnTouch:
warp "bat_b01",88,74;
end;
}

//Precaution incase team variables reset upon respawn
bat_b01,312,223,5 script Spawn#blue -111,7,7,{
end;
OnTouch:
if( RedTeam == 1){
end;
}
if( BlueFlagTaken == 1 ){
end;
}
if( RedFlagTaken == 1 ){
end;
}
if( BlueTeam <= 0 ){
set BlueTeam, 1;
end;
}
}

bat_b01,87,74,5 script Spawn#red -111,7,7,{
end;
OnTouch:
if( BlueTeam == 1 ){
end;
}
if( RedFlagTaken == 1 ){
end;
}
if( BlueFlagTaken == 1 ){
end;
}
if( RedTeam <= 1 ){
set RedTeam, 1;
end;
}
}

//= Prontera/Prize Warpers
bat_b01,396,9,5 script Prontera Warper#1 405,{
mes "[Prontera Warper]";
mes "Кажется, что состязание закончено, хотели бы Вы вернутся в Prontera? Если Вы - группа победителей, Вы можете забрать свою награду.";
menu "Да",Wpront,"Нет",Wno,"Взять награду",Crew;
Wpront:
warp "prontera",156,178;
savepoint "prontera",158,189;
setlook 7,"normallook"+strcharinfo(0);
set BlueTeam, 0;
set RedTeam, 0;
set RedFlagTaken, 0;
set BlueFlagTaken, 0;
set Blue_Flag_Carrier$,0;
set Red_Flag_Carrier$,0;
close;
Wno:
close;

Crew:
if(getd("CTF_Winner"+strcharinfo(1)) == 1){
warp "bat_b01",6,290;
close;
}
mes "Жаль, Вы не побеждали..";
close;

}

bat_b01,396,8,5 duplicate(Prontera Warper#1) Prontera Warper#2 405
bat_b01,397,9,5 duplicate(Prontera Warper#1) Prontera Warper#3 405
bat_b01,397,8,5 duplicate(Prontera Warper#1) Prontera Warper#4 405

//= Invisible Flag Carrier NPC
//- If NPC is turned ON, flag carriers will be shown with dots on the mini-map
//- Indicator still in testing!
//bat_b01,150,150,5 script Flag_Indicator -1,500,500,{
//end;
//OnTouch:
// getmapxy (mapname$,.@mapx,.@mapy,0,(Red_Flag_Carrier$);
// viewpoint 1,.@mapx,.@mapy,1,0xFF0000;
// getmapxy (mapname$,.@mapx,.@mapy,0,(Blue_Flag_Carrier$);
// viewpoint 1,.@mapx,.@mapy,1,0x0000FF;
// end;
//}

bat_b01,9,290,5 script CTF Prize Giver 407,{
if(getd("CTF_Winner"+strcharinfo(0)) != 1){
mes "Что Вы делаете здесь?? Ваша группа проиграла!";
warp "prontera",158,189;
savepoint "prontera",158,189;
close;
}
mes "[CTF Prize Giver]";
mes "Поздравления, Ваша группа победила! Вы желаете забрать свой приз и пройти в Prontera?";
menu "Да",Cprize,"Нет",leave;

Cprize:
mes "Держите ваш приз";
if($Item_Prize == 0){
set $Item_Prize,7227;
set $Item_Prize_Ammount,50;
}
getitem $Item_Prize,$Item_Prize_Ammount;
set Zeny,Zeny + $Zeny_Prize;
setd "CTF_Winner"+strcharinfo(0),0;
warp "prontera",158,189;
savepoint "prontera",158,189;
setlook 7,"normallook"+strcharinfo(0);
set BlueTeam, 0;
set RedTeam, 0;
set RedFlagTaken, 0;
set BlueFlagTaken, 0;
close;

leave:
close;
}

//CTF NPC's

//Blue Team Ressurector
bat_b01,306,232,5 script Ressurector#1 811,{
mes "[Ангел]";
mes "Вернись и убей их ВСЕХ!!!";
close;
}

//Red Team Ressurector
bat_b01,81,83,5 script Ressurector#2 792,{
mes "[Ангел]";
mes "Вернись и убей их ВСЕХ!!!";
close;
}

//Soldiers
bat_b01,194,116,5 script Soldier#1 708,{
}
bat_b01,205,116,5 script Soldier#2 708,{
}
bat_b01,222,140,7 script Soldier#3 708,{
}
bat_b01,222,148,7 script Soldier#4 708,{
}
bat_b01,209,181,9 script Soldier#5 708,{
}
bat_b01,190,180,9 script Soldier#6 708,{
}
bat_b01,177,154,3 script Soldier#7 708,{
}
bat_b01,177,145,3 script Soldier#8 708,{
}

//Red Heavy Soldiers
bat_b01,91,158,5 script Red Heavy Soldier#1 733,{
}
bat_b01,91,140,5 script Red Heavy Soldier#2 733,{
}

//Blue Heavy Soldiers
bat_b01,306,159,5 script Blue Heavy Soldier#1 734,{
}
bat_b01,306,140,5 script Blue Heavy Soldier#2 734,{
}

//Dead Soldiers
bat_b01,241,129,5 script Dead Soldier#1 849,{
}
bat_b01,220,105,7 script Dead Soldier#2 849,{
}
bat_b01,177,103,3 script Dead Soldier#3 849,{
}
bat_b01,155,132,9 script Dead Soldier#4 849,{
}
bat_b01,156,178,5 script Dead Soldier#5 849,{
}
bat_b01,193,198,9 script Dead Soldier#6 849,{
}
bat_b01,223,191,7 script Dead Soldier#7 849,{
}

//Wounded Soldiers
bat_b01,284,277,9 script Wounded Soldier#1 107,{
}
bat_b01,291,219,3 script Wounded Soldier#2 107,{
}
bat_b01,281,221,7 script Wounded Soldier#3 107,{
}
bat_b01,276,219,5 script Wounded Soldier#4 107,{
}
bat_b01,277,206,9 script Wounded Soldier#5 107,{
}
bat_b01,109,85,5 script Wounded Soldier#6 107,{
}
bat_b01,108,82,7 script Wounded Soldier#7 107,{
}
bat_b01,118,78,9 script Wounded Soldier#8 107,{
}
bat_b01,123,80,3 script Wounded Soldier#9 107,{
}
bat_b01,116,90,5 script Wounded Soldier#10 107,{
}

//Guard Soldiers
bat_b01,275,159,5 script Blue Soldier#1 852,{
}
bat_b01,272,159,5 script Blue Soldier#2 852,{
}
bat_b01,269,159,5 script Blue Soldier#3 852,{
}
bat_b01,266,159,5 script Blue Soldier#4 852,{
}
bat_b01,263,159,5 script Blue Soldier#5 852,{
}
bat_b01,260,159,5 script Blue Soldier#6 852,{
}
bat_b01,257,159,5 script Blue Soldier#7 852,{
}
bat_b01,257,140,9 script Blue Soldier#8 852,{
}
bat_b01,260,140,9 script Blue Soldier#9 852,{
}
bat_b01,263,140,9 script Blue Soldier#10 852,{
}
bat_b01,266,140,9 script Blue Soldier#11 852,{
}
bat_b01,269,140,9 script Blue Soldier#12 852,{
}
bat_b01,272,140,9 script Blue Soldier#14 852,{
}
bat_b01,275,140,9 script Blue Soldier#15 852,{
}
bat_b01,142,159,5 script Red Soldier#1 868,{
}
bat_b01,139,159,5 script Red Soldier#2 868,{
}
bat_b01,136,159,5 script Red Soldier#3 868,{
}
bat_b01,133,159,5 script Red Soldier#4 868,{
}
bat_b01,130,159,5 script Red Soldier#5 868,{
}
bat_b01,127,159,5 script Red Soldier#6 868,{
}
bat_b01,124,159,5 script Red Soldier#7 868,{
}
bat_b01,121,159,5 script Red Soldier#8 868,{
}
bat_b01,127,140,9 script Red Soldier#9 868,{
}
bat_b01,130,140,9 script Red Soldier#10 868,{
}
bat_b01,133,140,9 script Red Soldier#11 868,{
}
bat_b01,136,140,9 script Red Soldier#12 868,{
}
bat_b01,139,140,9 script Red Soldier#13 868,{
}
bat_b01,142,140,9 script Red Soldier#14 868,{
}
bat_b01,121,140,9 script Red Soldier#15 868,{
}
bat_b01,124,140,9 script Red Soldier#16 868,{
}


//Caretakers

//Red Caretaker
bat_b01,120,79,5 script Caretaker#1 920,{
mes "[Caretaker]";
mes "мммм.....";
close;
}

//Blue Caretaker
bat_b01,278,219,5 script Caretaker#2 936,{
mes "[Caretaker]";
mes "ммммммм......";
close;
}

//Healers

//Red Healer
bat_b01,93,82,5 script Red Healer 935,{
if(RedTeam == 1){
mes "[Red Healer]";
mes "You look weak..want a heal?";
mes "You look like a person who needs it";
mes "Want it?";
next;
menu "Heal",-,"No thanks",CANCEL;
percentheal 100,100;
mes "[Healer]";
mes "Ok, Here you go.";
mes "Now get out there and kill!!";
close;
CANCEL:
mes "[Red Healer]";
mes "Allright, come back if you need a heal.";
close;
}
end;
}

//Blue Healer
bat_b01,316,232,5 script Blue Healer 932,{
if(BlueTeam == 1){
mes "[Blue Healer]";
mes "You look weak..want a heal?";
mes "You look like a person who needs it";
mes "Want it?";
next;
menu "Heal",-,"No thanks",CANCEL;
percentheal 100,100;
mes "[Healer]";
mes "Ok, here you go.";
mes "Now get out there and kill!!";
close;
CANCEL:
mes "[Healer]";
mes "Allright, come back if you need a heal.";
close;
}
end;
}



+ Все с карты варпались в пронту

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

[FONT=Lucida Console]Держи.

 if(getd("CTF_Winner"+strcharinfo(1))==1){
if($Item_Prize == 0){
set $Item_Prize,7227;
set $Item_Prize_Ammount,50;
}
getitem $Item_Prize,$Item_Prize_Ammount;
set Zeny,Zeny + $Zeny_Prize;
setd "CTF_Winner"+strcharinfo(0),0;
warp "prontera",158,189;
setlook 7,"normallook"+strcharinfo(0);
set BlueTeam,0;
set RedTeam,0;
set RedFlagTaken,0;
set BlueFlagTaken,0;
close;
} else {
mes "Жаль,Вы не побеждали..";
close;
}
НПС'а с выдачей приза удаляй и у НПС'а,который варпает в пронту и в призовую комнату уберай в меню строку 'Награда'.Куда вставить этот кусок думаю догадааешься.
[/FONT]

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

Недогадаюсь T_T

Автор: Ordos: Дата: 05.26.2010

Не видно нпц в пронте, хотя он говорит "Голосуйте за сервер и т.п"


prontera,160,181,3	script	Доктор	1003,7,7,{
if ((hp==maxhp && sp==maxsp) || !hp && !sp) end;
getmapxy(@mapname$,@mapx,@mapy,0,strcharinfo(0));
npcskilleffect 28,1,@mapx,@mapy;
specialeffect2 312;
percentheal 100,100;
end;

OnInit:
L_SAYWORLD:
OnTimer1:
npctalk "Голосуйте за наш сервер!";
sleep 7000;
npctalk "Это значительно повысит онлайн!";
sleep 7000;
npcwalkto 150+rand(12),173+rand(12);
sleep 10000;
goto L_SAYWORLD;
end;
}

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

Если хочешь то держи 2 разных

1. анонсы

2. хилер

сек..

Автор: Renegade: Дата: 05.26.2010

Цитата Мяфк;24111:
Омг, Renegade, не ожидал от тебя, что ты не знаешь, что такое табы)


так табы же расставлены х_х

Или в первой строке нужно втулить минус? "-"?

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

2.

prontera,155,183,4	script	Хилер	795,2,2,{
set number1, rand (1,9);
set number2, rand (0,80);
OnInit:
initnpctimer;
end;
OnTimer4000: //15 seconds
npcwalkto 117+rand(20),117+rand(6);
stopnpctimer;
initnpctimer;
end;
OnTouch:
skilleffect 34,0; sc_start SC_BLESSING,360000,10;
skilleffect 29,0; sc_start SC_INCREASEAGI,360000,10;
percentheal 100,100;
npctalk "ХИЛ!КАСТ!";
end;
}



1.

-	script	rand_announce	-1,{
OnInit:
/////////////////////////////////////////////////////////////////////////////////////
// Не изменяем (!!!)
setarray .@rand,1;
// Тут устанавливаем время, в которое будет происходить наши аннонсы
setarray .@time[0],30;
// Текст, который будет употребляться в наших аннонсах
setarray .@text$[0],
"Добро пожаловать на наш сервер!",
"Не забывайте посещать наш форум",
"Не говорите никому свой логин и пароль, администрации он не нужен",
"Относитесь доброжелательно и уважительно к другим игрокам",
"Сообщайте о багах на наш форум!",
"Все ваши пожелания, критику,вопросы можно написать на форум",
"Не забывайте голосовать за наш сервер, это поможет поднять онлайн!";
/////////////////////////////////////////////////////////////////////////////////////
for(set .@i,0; .@i<=getarraysize(.@time);
set .@i,.@i+1) set .@time[.@i],.@time[.@i]*60000;
set .@rand,.@rand*1000;
sleep .@time[rand(0,getarraysize(.@time))];
for(set .@i,getarraysize(.@text$); .@i>=0; set .@i,.@i-1){
announce .@text$[.@i],0; sleep .@rand;}
goto OnInit;
}

Автор: Ordos: Дата: 05.26.2010

Спасибки!=)

Автор: Мяфк: Дата: 05.26.2010

Цитата Renegade;24133:
так табы же расставлены х_х

Или в первой строке нужно втулить минус? "-"?

А, да ещё и минуса не хватает, не заметил)

Автор: Jake: Дата: 05.26.2010

Вот мой первый скриптиг, прошу сильно не гноить и не орать что Афтор нуп наделал кучу ошибок.А нормально пояснить что и где^_^

sec_pri,23,59,5	script	Poring	909,{
mes "[^0000FFPoring^000000]";
mes "Привет!"+strcharinfo(0)+"Я могу сделать для тебя шапочку.";
mes "Всё говорят что эти шапочки делают из нас..";
mes "Но это не так..";
next;
mes "[^0000FFPoring^000000]";
mes "Хочешь шапочку Поринга?";
mes "[^0000FFPoring^000000]";
mes " ну да..";
next;
mes "[^0000FFPoring^000000]";
mes "Тебе понадобится: 1 Poring Card,1 Angel Wing,1 Poring Doll";
next;
mes "[^0000FFPoring^000000]";
mes "Приступим"?;
if(countitem(4001) < 1 || countitem(2254) < 1 || countitem(741) < 1);
delitem 4001,1;
delitem 2254,1;
delitem 741,1;
getitem 5035,1;
mes "[^0000FFPoring^000000]";
mes "Оляля Вот и Шапочка";
mes "Спасибо!Удачи!";
close;
}

Мб табуляция? Он просто не говорит со мной.:mellow:

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

sec_pri,23,59,5	script	Poring	909,{
mes "[^0000FFPoring^000000]";
mes "Привет!"+strcharinfo(0)+"Я могу сделать для тебя шапочку.";
mes "Всё говорят что эти шапочки делают из нас..";
mes "Но это не так..";
next;
mes "[^0000FFPoring^000000]";
mes "Хочешь шапочку Поринга?";
[COLOR="Red"] switch(select("Да":"Нет")){
case 1;[/COLOR]
mes "[^0000FFPoring^000000]";
mes "Тебе понадобится: 1 Poring Card,1 Angel Wing,1 Poring Doll";
next;
mes "[^0000FFPoring^000000]";
mes "Приступим"?;
[COLOR="Red"] switch(select("Да":"Нет")){
case 1;
if (countitem(4001) < 1) goto noItems;
if (countitem(2254) < 1) goto noItems;
if (countitem(741) < 1) goto noItems;
delitem 4001,1;
delitem 2254,1;
delitem 741,1;
getitem 5035,1;
mes "[^0000FFPoring^000000]";
mes "Оляля Вот и Шапочка";
mes "Спасибо!Удачи!";
close;
case 2;
mes "[^0000FFPoring^000000]";
mes "Как хочешь...";
close;
noItems;
mes "[^0000FFPoring^000000]";
mes "Нету вещей";
close;[/COLOR]
}

Автор: Jake: Дата: 05.26.2010

Оу оу оу, мне не нужен готовый, мне нужно объяснить, что не так... Если можно

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

Подкрасил

Автор: Skllip: Дата: 05.26.2010

Команда mes это просто диалог нпс.
Вот здесь у тебя должна открываться менюшка, а не mes

mes " ну да..";

Вот так:
switch(select("Да":"Нет")){

case 1:(Если игрок выбрал "Да")

case 2:(Если игрок выбрал "Нет")


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

Разницы нету...

Автор: Jake: Дата: 05.26.2010

Переделал на свой лад, ну вроде всё уж проверил что знаю. он не говорит...:mad:

sec_pri,23,59,5	script	Poring	909,{
mes "[Poring]";
mes "Привет!"+strcharinfo(0)+"Я могу сделать для тебя шапочку.";
mes "Всё говорят что эти шапочки делают из нас..";
mes "Но это не так..";
next;
mes "[Poring]";
mes "Хочешь шапочку Поринга?";
switch(select("Хочу!:Неа,уйти")){
next;
case 1;
mes "[Poring]";
mes "Тебе понадобится: 1 Poring Card,1 Angel Wing,1 Poring Doll";
next;
mes "[Poring]";
mes "Приступим"?;
switch(select("Ага:Не,ненад")){
if (countitem(4001) < 1) goto noItems;
if (countitem(2254) < 1) goto noItems;
if (countitem(741) < 1) goto noItems;
delitem 4001,1;
delitem 2254,1;
delitem 741,1;
getitem 5035,1;
mes "[Poring]";
mes "Оляля Вот и Шапочка";
next;
mes "Спасибо!Удачи!";
close;
}
case 2;
mes "[Poring]";
mes "Как хочешь...";
close;
}
noItems;
mes "[Poring]";
mes "Чего-то не хватает";
close;
}

}

Мне кажется что в кейсах проблема..:P

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

noItems;

нужно так:
noItems:

Автор: Jake: Дата: 05.26.2010

а Вместо Case; не надо Case: ?

Автор: Skllip: Дата: 05.26.2010

Да

Автор: Jake: Дата: 05.26.2010

Там где If (count...) goto noItems надо : или ;? или ток внизу?

sec_pri,23,59,5	script	Poring	909,{
mes "[Poring]";
mes "Привет!"+strcharinfo(0)+"Я могу сделать для тебя шапочку.";
mes "Всё говорят что эти шапочки делают из нас..";
mes "Но это не так..";
next;
mes "[Poring]";
mes "Хочешь шапочку Поринга?";
switch(select("Хочу!:Неа,уйти")){
next;
case 1:
mes "[Poring]";
mes "Тебе понадобится: 1 Poring Card,1 Angel Wing,1 Poring Doll";
next;
mes "[Poring]";
mes "Приступим"?;
switch(select("Ага:Не,ненад")){
case 1:
if (countitem(4001) < 1) goto noItems;
if (countitem(2254) < 1) goto noItems;
if (countitem(741) < 1) goto noItems;
delitem 4001,1;
delitem 2254,1;
delitem 741,1;
getitem 5035,1;
mes "[Poring]";
mes "Оляля Вот и Шапочка";
next;
mes "Спасибо!Удачи!";
close;
}
case 2:
mes "[Poring]";
mes "Как хочешь...";
close;
}
noItems:
mes "[Poring]";
mes "Чего-то не хватает";
close;
}

}

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

[FONT=Lucida Console]Лейбл NoItems сотри и также сотри 3 проверки на предметы и замени их на:

if(countitem(4001)<1 || countitem(2254)<1 || countitem(741)<1){ mes "А где предметы то?"; close; }
[/FONT]

Автор: Jake: Дата: 05.26.2010

Извините, мб я полный идиот, поменял, но он всёравно не говорит!)))

sec_pri,23,59,5	script	Poring	909,{
mes "[Poring]";
mes "Привет!"+strcharinfo(0)+"Я могу сделать для тебя шапочку.";
mes "Всё говорят что эти шапочки делают из нас..";
mes "Но это не так..";
next;
mes "[Poring]";
mes "Хочешь шапочку Поринга?";
switch(select("Хочу!:Неа,уйти")){
next;
case 1:
mes "[Poring]";
mes "Тебе понадобится: 1 Poring Card,1 Angel Wing,1 Poring Doll";
next;
mes "[Poring]";
mes "Приступим"?;
switch(select("Ага:Не,ненад")){
case 1:
if(countitem(4001)<1 || countitem(2254)<1 || countitem(741)<1){ mes "А где предметы то?"; close; }
delitem 4001,1;
delitem 2254,1;
delitem 741,1;
getitem 5035,1;
mes "[Poring]";
mes "Оляля Вот и Шапочка";
next;
mes "Спасибо!Удачи!";
close;
}
case 2:
mes "[Poring]";
mes "Как хочешь...";
close;
}

}

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

[FONT=Lucida Console]Пробуй:

sec_pri,23,59,5    script    Poring    909,{
mes "[Poring]";
mes "Привет!"+strcharinfo(0)+"Я могу сделать для тебя шапочку.";
mes "Всё говорят что эти шапочки делают из нас..";
mes "Но это не так..";
next;
mes "[Poring]";
mes "Хочешь шапочку Поринга?";
if(select("Хочу!:Неа,уйти")==2){ close; }
next;
mes "[Poring]";
mes "Тебе понадобится: 1 Poring Card,1 Angel Wing,1 Poring Doll";
next;
mes "[Poring]";
mes "Приступим"?;
if(select("Ага:Не,ненад")==2){ close; }
if(countitem(4001)<1 || countitem(2254)<1 || countitem(741)<1){ mes "А где предметы то?"; close; }
delitem 4001,1;
delitem 2254,1;
delitem 741,1;
getitem 5035,1;
mes "[Poring]";
mes "Оляля Вот и Шапочка";
next;
mes "Спасибо!Удачи!";
close;
}
[/FONT]

Автор: Jake: Дата: 05.26.2010

Этот даже не появляется... А не появился.. но не болтает(

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

[FONT=Lucida Console]Да бл* тут нет телепатов,пиши что выдает мап сервер.И вообще ты табы ставил?[/FONT]

Автор: Jake: Дата: 05.26.2010

Ток сверху..Я мапу не тестил.. Табы ток вверху

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

[FONT=Lucida Console]Трололо,Jake ни риально жгет :lol:
Находим 25 строку и видем это:
[/FONT][FONT=Lucida Console]

mes "Приступим"?;

Заменяем на это и радуемся:
[FONT=Lucida Console]
mes "Приступим?";
[/FONT]
[/FONT]

Автор: Jake: Дата: 05.26.2010

Слава тебе Великий ДисИп сколько я искал этот знак

Автор: Мяфк: Дата: 05.27.2010

if(countitem(4001)<1 && countitem(2254)<1 && countitem(741)<1)
Разве не так?

Автор: Ordos: Дата: 05.30.2010

Скрипт автоэвента.. Ругается на строку 47..

- script treasure -1,{

OnInit:
setarray $towns$,"prontera","alberta","aldebaran","amatsu", "comodo","geffen","izlude", // вносим города в массив
"hugel","lighthalzen","louyang","morocc","payon"," umbala","ayothaya",
"rachel","einbech","einbroch","xmas","yuno";
end;

OnClock0900: // время проведения эвента
OnClock1100:
OnClock1300:
OnClock1500:
OnClock1700:
OnClock1900:
OnClock2100:
OnClock2300:
OnClock0100:
set .@t0wn$,$towns$[rand(getarraysize($towns$))]; // рандомный выбор города
if(.@t0wn$ == "prontera"){ set .@t0wn2$,"Prontera"; }
if(.@t0wn$ == "alberta"){ set .@t0wn2$,"Alberta"; }
if(.@t0wn$ == "aldebaran"){ set .@t0wn2$,"Aldebaran"; }
if(.@t0wn$ == "amatsu"){ set .@t0wn2$,"Amatsu"; }
if(.@t0wn$ == "comodo"){ set .@town2$,"Comodo"; }
if(.@t0wn$ == "geffen"){ set .@t0wn2$,"Geffen"; }
if(.@t0wn$ == "izlude"){ set .@t0wn2$,"Izlude"; }
if(.@t0wn$ == "hugel"){ set .@t0wn2$,"Hugel"; }
if(.@t0wn$ == "lighthalzen"){ set .@t0wn2$,"Lighthalzen"; }
if(.@t0wn$ == "louyang"){ set .@t0wn2$,"Louyang"; }
if(.@t0wn$ == "morocc"){ set .@t0wn2$,"Morocc"; }
if(.@t0wn$ == "payon"){ set .@t0wn2$,"Payon"; }
if(.@t0wn$ == "umbala"){ set .@t0wn2$,"Umbala"; }
if(.@t0wn$ == "xmas"){ set .@t0wn2$,"Lutie"; }
if(.@t0wn$ == "yuno"){ set .@t0wn2$,"Yuno"; }
if(.@t0wn$ == "rachel"){ set .@t0wn2$,"Rachel"; }
if(.@t0wn$ == "einbech"){ set .@t0wn2$,"Einbech"; }
if(.@t0wn$ == "einbroch"){ set .@t0wn2$,"Eibroch"; }
if(.@t0wn$ == "ayothaya"){ set .@t0wn2$,"Ayothaya"; }
monster ""+.@t0wn$+"",0,0,"Неизвестная коробка",1324,1,"treasure::OnTreasureDeath"; // спавн коробки
announce "Внимание!В городе: "+.@t0wn2$+" появилась коробка!Поторопитесь!",bc_all|bc_yellow; //аннонс
end;

OnTreasureDeath:
announce "Вау!"+strcharinfo(0)+" только что уничтожил коробку!",bc_all|bc_yellow;
getitem 7227,1; close;
end;
}
}

Автор: Мяфк: Дата: 05.31.2010

Убери последнюю
}

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

Помогите, пожалуйста.

Ошибка:



Сам скрипт:


prontera,155,181,4 script Heal#01::healer 977,{
sc_end SC_Poison;
sc_end SC_Silence;
sc_end SC_Blind;
sc_end SC_Confusion;
sc_end SC_Curse;
sc_end SC_Hallucination;
percentheal 100,100;
sc_start SC_BLESSING,300000,10;
sc_start SC_INCREASEAGI,300000,10;
specialeffect2 313;

OnInit:
defpattern 1, "([^:]+):.*\\sхил(.*)", "heal";
defpattern 1, "([^:]+):.*\\sХил(.*)", "heal";
defpattern 1, "([^:]+):.*\\shil(.*)", "heal";
defpattern 1, "([^:]+):.*\\sheal(.*)", "heal";
defpattern 1, "([^:]+):.*\\sаги(.*)", "agi";
defpattern 1, "([^:]+):.*\\sagi(.*)", "agi";
defpattern 1, "([^:]+):.*\\sbless(.*)", "bless";
defpattern 1, "([^:]+):.*\\sbles(.*)", "bless";
defpattern 1, "([^:]+):.*\\sблес(.*)", "bless";
defpattern 1, "([^:]+):.*\\sблесс(.*)", "bless";
activatepset 1;

heal:
percentheal 100,100;
sc_end SC_Poison;
sc_end SC_Silence;
sc_end SC_Blind;
sc_end SC_Confusion;
sc_end SC_Curse;
sc_end SC_Hallucination;
end;

agi:
sc_start 32,240000,10;//Increase AGI
sc_end SC_Poison;
sc_end SC_Silence;
sc_end SC_Blind;
sc_end SC_Confusion;
sc_end SC_Curse;
sc_end SC_Hallucination;
end;

bless:
sc_start 30,240000,10;//Blessing
sc_end SC_Poison;
sc_end SC_Silence;
sc_end SC_Blind;
sc_end SC_Confusion;
sc_end SC_Curse;
sc_end SC_Hallucination;
end;
}