Назад

"Обмена шапок" - проблема

Автор: ll Daggerfall ll: Дата: 02.22.2011

Без последних двух {} нпц работает, но при отсутствии ТЦГ/предмета диалог зависает. С последними двумя {} он вообще не работае. ПОмогите понять в чем проблема :)



prontera,164,169,4 script Обменщик 405,{

mes "[Обменщик]";
mes "Добрый день.";
mes "Я могу обменять ваш Chullos на Chullos другого цвета за 1 TCG Card!";
next;

switch(select("Chullos на Black Chullos","Chullos на Cyan Chullos","Chullos на Gold Chullos","Chullos на Green Chullos","Chullos на Pink Chullos","Chullos на White Chullos"))
{
case 1:
mes "[Обменщик]";
mes "Chullos";
mes "меняю на";
mes "Black Chullos";
if(countitem(20076)<1) goto L_no_item;
if(countitem(7227)<1) goto L_no_tcg;
next;
delitem 20076,1;
delitem 7227,1;
getitem 20249,1;
mes "[Обменщик]";
mes "Я обменял твои вещи!";
close;
break;
case 2:
mes "[Обменщик]";
mes "Chullos";
mes "меняю на";
mes "Cyan Chullos";
if(countitem(20076)<1) goto L_no_item;
if(countitem(7227)<1) goto L_no_tcg;
next;
delitem 20076,1;
delitem 7227,1;
getitem 20250,1;
mes "[Обменщик]";
mes "Я обменял твои вещи!";
close;
break;
case 3:
mes "[Обменщик]";
mes "Chullos";
mes "меняю на";
mes "Gold Chullos";
if(countitem(20076)<1) goto L_no_item;
if(countitem(7227)<1) goto L_no_tcg;
next;
delitem 20076,1;
delitem 7227,1;
getitem 20251,1;
mes "[Обменщик]";
mes "Я обменял твои вещи!";
close;
break;
case 4:
mes "[Обменщик]";
mes "Chullos";
mes "меняю на";
mes "Green Chullos";
if(countitem(20076)<1) goto L_no_item;
if(countitem(7227)<1) goto L_no_tcg;
next;
delitem 20076,1;
delitem 7227,1;
getitem 20252,1;
mes "[Обменщик]";
mes "Я обменял твои вещи!";
close;
break;
case 6:
mes "[Обменщик]";
mes "Chullos";
mes "меняю на";
mes "Pink Chullos";
if(countitem(20076)<1) goto L_no_item;
if(countitem(7227)<1) goto L_no_tcg;
next;
delitem 20076,1;
delitem 7227,1;
getitem 20253,1;
mes "[Обменщик]";
mes "Я обменял твои вещи!";
close;
break;
case 7:
mes "[Обменщик]";
mes "Chullos";
mes "меняю на";
mes "White Chullos";
if(countitem(20076)<1) goto L_no_item;
if(countitem(7227)<1) goto L_no_tcg;
next;
delitem 20076,1;
delitem 7227,1;
getitem 20254,1;
mes "[Обменщик]";
mes "Я обменял твои вещи!";
close;
break;
}

}
L_no_tcg:
next;
mes "[Обменщик]";
mes "Нехватает TCG!!";
close;
}

}
L_no_item:
next;
mes "[Обменщик]";
mes "У тебя нету Chullos!!";
close;
}

}

function script it {

set @TCG, getarg(0);
set @numTCG, getarg(1);
set @getIt, getarg(2);

if (countitem(@TCG) < @numTCG){
next;
mes "[GodLike]";
mes "Нехватает TCG!!";
close;}

getnameditem @getIt,strcharinfo(0);
delitem @TCG,@numTCG;
close;
end;
}

}

function script it {

set @Chullos, getarg(0);
set @numChullos, getarg(1);
set @getIt, getarg(2);

if (countitem(@Chullos) < @numChullos){
next;
mes "[GodLike]";
mes "У тебя нету Chullos!!";
close;}

getnameditem @getIt,strcharinfo(0);
delitem @TCG,@numTCG;
close;
end;
}

Автор: ll Daggerfall ll: Дата: 02.22.2011

Пашет, но вопрос:


function script it {

set @Chullos, getarg(0);
set @numChullos, getarg(1);
set @getIt, getarg(2);

if (countitem(@Chullos) < @numChullos){
next;
mes "[GodLike]";
mes "У тебя нету Chullos!!";
close;}

getnameditem @getIt,strcharinfo(0);
delitem @TCG,@numTCG;
close;
end;
}


Отличие зеленого и красного ни на что не влияет?



Кстати, в чем у меня ошибка была?

Автор: San: Дата: 02.23.2011

Цитата ll Daggerfall ll;34553]
Отличие зеленого и красного ни на что не влияет?


эти 2 функции можешь вообще удалить, они у тебя в скрипте не используются.

Кстати, в чем у меня ошибка была?
[quote=Gremlin;34552:
открытых фигурных скобок насчитал 6, а закрытых 11 :D