Здравствуйте ув.пользователи PAWNO-CRMP.RU!
Помогите переделать команду на диалог, чтобы цену дома вводить в диалоговое окно и уровень тоже, хотя бы цену, уровень сам сделаю.
Буду очень благодарен, если поможете!
Лучший Ответ Elrmrnt-Kritik , 15 Июль 2016 - 18:13
Попробуйте вот так:
В OnPlayerCommandText:
if(strcmp(cmd, "/addhouse", true) == 0)
{
if(PlayerInfo[playerid][pAdministrator] < 10) return SendClientMessage(playerid, 0xAFAFAFFF, "У вас нет прав на использование этой команды!");
if(AdminDuty[playerid]==0) return SCM(playerid, 0xFF0000FFF, "Пожалуйста, выйдите на дежурство.");
ShowPlayerDialog(playerid,6000,DIALOG_STYLE_INPUT,"Создание дома", "Введите цену дома, через запятую его класс, уровень", "Готово", "Закрыть");
return true;
}
и в OnDialogResponse:
if(dialogid == 6000)
{
if(!strlen(inputtext))//Проверка на то, есть ли в поле вообще значение - текст.
{
ShowPlayerDialog(playerid,6000,DIALOG_STYLE_INPUT,"Создание дома", "Введите цену дома, через запятую его уровень", "Готово", "Закрыть");
return 1;
}
for(new i = strlen(inputtext); i != 0; --i)//Проверка на вводимые знаки (сделано так, чтобы не было ничего, кроме цифр)
{
switch(inputtext[i])
{
case 'А'..'Я', 'а'..'я','A'..'Z', 'a'..'z': return ShowPlayerDialog(playerid,6000,DIALOG_STYLE_INPUT,"Создание дома", "Введите цену дома, через запятую его уровень", "Готово", "Закрыть");
default: continue;
}
}
new price;
new level;
if(sscanf(inputtext,"p<,>ii",price,level)) return ShowPlayerDialog(playerid,6000,DIALOG_STYLE_INPUT,"Создание дома", "Введите цену дома, через запятую его уровень", "Готово", "Закрыть");
if(price < 0 || level < 0) return SendClientMessage(playerid, 0xFF0000FF, "Цена и уровень дома не должны быть меньше нуля");
AllHouse++;
GetPlayerPos(playerid, House[AllHouse][hvX],House[AllHouse][hvY],House[AllHouse][hvZ]);
format(House[AllHouse][hOwner],24,"Nones");
House[AllHouse][hDate] = gettime();
House[AllHouse][hiX] = 1107.58; // x
House[AllHouse][hiY] = 1717.35; // y
House[AllHouse][hiZ] = -99.76; // z
House[AllHouse][hPrice] = price;
House[AllHouse][hInt] = 4; // int
House[AllHouse][hLock] = 0;
House[AllHouse][hLevel] = level;
House[AllHouse][hvWorld] = GetPlayerVirtualWorld(playerid);
House[AllHouse][hvInt] = GetPlayerInterior(playerid);
format(House[AllHouse][hNick1],24,"Nones");
House[AllHouse][hRent] = 0;
House[AllHouse][hRoom] = 0;
new iniOpen = ini_openFile("house.cfg");
ini_setInteger(iniOpen, "AllHouse", AllHouse);
ini_closeFile(iniOpen);
SaveHouse(AllHouse);
House[AllHouse][hPic] = CreateDynamicPickup(1273, 1, House[AllHouse][hvX], House[AllHouse][hvY], House[AllHouse][hvZ],House[AllHouse][hvWorld],House[AllHouse][hvInt]);
House[AllHouse][hMap] = CreateDynamicMapIcon(House[AllHouse][hvX], House[AllHouse][hvY], House[AllHouse][hvZ], 31, -1,House[AllHouse][hvWorld],House[AllHouse][hvInt]);
House[AllHouse][hPic2] = CreateDynamicPickup(1318, 1, House[AllHouse][hiX], House[AllHouse][hiY], House[AllHouse][hiZ], AllHouse, House[AllHouse][hInt]);
SendClientMessage(playerid, COLOR_GRAD2, "Дом успешно создан!");
return true;
}
Впервые пробую делать диалог через запятую. Проверить данный код возможности не было у меня. Надеюсь все хорошо...
Перейти к сообщению »
offline
Здравствуйте ув.пользователи PAWNO-CRMP.RU!
Помогите переделать команду на диалог, чтобы цену дома вводить в диалоговое окно и уровень тоже, хотя бы цену, уровень сам сделаю.
Буду очень благодарен, если поможете!
offline
Попробуйте вот так:
В OnPlayerCommandText:
и в OnDialogResponse:
Впервые пробую делать диалог через запятую. Проверить данный код возможности не было у меня. Надеюсь все хорошо...
0 пользователей, 0 гостей, 0 анонимных