Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Проблема со sscanf2

Статус
В этой теме нельзя размещать новые ответы.

Red6ull

Умник
Проблема заключается в том что ssanf не правильно заносит строку(одно слово) в параметр.
У меня есть команда:
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 1 . Вот что выдает

ввожу /asell house 20 . Вот что выдает

То что число уменьшается на 1 это мне так и надо, а вот почему текст неправильно записывается непонятно. Помогите плиз.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу