Назад

[Help]Statseller

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

Как сделать, чтобы нельзя было купить статов больше, чем максимальный параметр на сервере? вот я чтото пытался сделать, но не получается:

prontera,144,206,4	script	Продавец статов	906,{
mes "[Продавец статов]";
mes "Привет! Я могу продать тебе статус поинты!";
mes "1 стат поинт = ^339225 20.000 зени^000000";
next;
if(select("Купить:Выход") == 2) close;
mes "[Продавец статов]";
mes "Что из статов ты хочешь купить?";
next;
switch(select("Str(^9A6C1FСила^000000):Agi(^9A6C1FЛовкость^000000):Vit(^9A6C1FЖивучесть^000000):Int(^9A6C1FИнтелект^000000):Dex(^9A6C1FСноровка^000000):Luck(^9A6C1FУдача^000000):Ничего"))
{
case 1: set @st,readparam(bStr); set @st_s$,"str"; break;
case 2: set @st,readparam(bAgi); set @st_s$,"agi"; break;
case 3: set @st,readparam(bVit); set @st_s$,"vit"; break;
case 4: set @st,readparam(bInt); set @st_s$,"int"; break;
case 5: set @st,readparam(bDex); set @st_s$,"dex"; break;
case 6: set @st,readparam(bLuk); set @st_s$,"luk"; break;
default: close;
}
mes "[Продавец статов]";
mes "Сколько ты хочешь купить?";
input @s;
set @prices,20000 * @s;
set @max,getBattleFlag("max_parameter");
set @max_kol,@max - readparam("+b"+@st_s$+"+");
if(@max > @s+readparam("+b"+@st_s$+"+")){
mes "Вы не можете взять столько статов";
mes "Максимальное количество, которое вы можете взять "+@max_kol+"";
close;
}
if(Zeny < @prices){
mes "Извините,но у вас недостаточно денег.";
close;
}
atcommand "@"+@st_s$+" "+@s;
set zeny,zeny - @prices;
close;
}

:(

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

ето я смотрел

Автор: 879546: Дата: 02.11.2010

Так в чем проблема?
было

case 1: set @st,readparam(bStr); set @st_s$,"str"; break; 

делаешь
case 1: if(readparam(bStr)<=99) { set @st,readparam(bStr); set @st_s$,"str"; break; } 
else { mes "Извините,но у вас уже 99 Str. Нельзя превышать максимальное значение!";
close; }

И так со всеми статами.

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

просто ппц.


Прошу прощения за откровенность.