Red6ull
Умник
Проблема заключается в том что ssanf не правильно заносит строку(одно слово) в параметр.
У меня есть команда:
ввожу /asell house 1 . Вот что выдает
ввожу /asell house 20 . Вот что выдает
То что число уменьшается на 1 это мне так и надо, а вот почему текст неправильно записывается непонятно. Помогите плиз.
У меня есть команда:
PHP:
CMD:asell(playerid, params[])
{
if(Logged[playerid] == false) return SendClientMessage(playerid, COLOR_RED, "[Ошибка]: {FFFFFF}Вы не авторизовались.");
if(PlayerInfo[playerid][pAdmin] != 13) return SendClientMessage(playerid, COLOR_RED, "[Ошибка]: {FFFFFF}У вас недостаточно прав для использования этой команды.");
if(sscanf(params,"s[10]i", params[0], params[1]))
{
SendClientMessage(playerid, COLOR_ORANGE, "[Подсказка]:{FFFFFF} /asell [название] [id]");
SendClientMessage(playerid, COLOR_ORANGE, "[Подсказка]:{FFFFFF} biz; house; car;");
return true;
}
new string[64];
params[1] -= 1;//надо уменьшить на 1
format(string, sizeof(string), "/asell %s %d",params[0] ,params[1]);//это проверял что заносит в параметры
SendClientMessage(playerid, COLOR_RED, string);//и вывел на экран
if(!strcmp(params[0],"biz",true))
{
foreach(new i: Player)
{
if(!strcmp(BiznesInfo[params[1]][bOwner],Name(i),true))
{
PlayerInfo[i][pPbiskey] = -1;
SavePlayer(playerid);
}
}
BiznesInfo[params[1]][bOwned] = -1;
strmid(BiznesInfo[params[1]][bOwner], "The State", 0, strlen("The State"), 25);
strmid(BiznesInfo[params[1]][bAsistent], "No-one", 0, strlen("No-one"), 25);
BiznesInfo[params[1]][bProfit] = 0;
BiznesInfo[params[1]][bMafia] = -1;
format(string, sizeof(string), "ПРОДАЁТСЯ\n[Название: %s]\n[Стоимость: %d]",BiznesInfo[params[1]][bName],BiznesInfo[params[1]][bPrice]);
Update3DTextLabelText(BiznesInfo[params[1]][bLabel], COLOR_GREEN,string);
format(string, sizeof(string), "Бизнес %s выставлен на рынок.",BiznesInfo[params[1]][bName]);
SendClientMessage(playerid, COLOR_RED, string);
SaveBiznes(params[1]);
return true;
}
if(!strcmp(params[0],"house",true))
{
foreach(new i: Player)
{
if(!strcmp(HouseInfo[params[1]][hOwner],Name(i),true))
{
PlayerInfo[i][pPbiskey] = -1;
SavePlayer(playerid);
}
}
HouseInfo[params[1]][hLock] = 1;
HouseInfo[params[1]][hOwned] = -1;
strmid(HouseInfo[params[1]][hOwner], "The State", 0, strlen("The State"), 25);
UpdateHouse(params[1]);
format(string, sizeof(string), "Дом №%d выставлен на рынок.",HouseInfo[params[1]][hID]);
SendClientMessage(playerid, COLOR_RED, string);
SaveHouse(params[1]);
return true;
}
return SendClientMessage(playerid, COLOR_RED, "[Ошибка]: {FFFFFF}Не удалось выполнить команду.");
}
ввожу /asell house 20 . Вот что выдает
То что число уменьшается на 1 это мне так и надо, а вот почему текст неправильно записывается непонятно. Помогите плиз.
