Сайт восстановлен из веб архива. Сейчас он доступен только для чтения, скачивание материалов также недоступно. Если у вас до сих пор есть какие-то вопросы по разработке серверов CRMP, вы можете перейти на актуальный портал: https://pawno-rus.com

Перейти к содержимому

Уважаемый гость, если у Вас возникли проблемы с регистрацией, просьба обратиться на почту admin@pawno-crmp.ru
Для полного доступа ко всем функциям, Вам необходимо зарегистрироваться и авторизоваться.
На нашем форуме, можно заказать рекламу в виде блока справа.


Фотография

[ /addhouse] - Помогите сделать команду в диалоге.


Лучший Ответ 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;
	}

Впервые пробую делать диалог через запятую. Проверить данный код возможности не было у меня. Надеюсь все хорошо...

Перейти к сообщению »


  • Закрытая тема Тема закрыта
В теме одно сообщение

#1
offline   Skyline

Skyline
  • 9
    • Сообщений: 209
    • Регистрация: 25.09.15

Здравствуйте ув.пользователи PAWNO-CRMP.RU!

 

Помогите переделать команду на диалог, чтобы цену дома вводить в диалоговое окно и уровень тоже, хотя бы цену, уровень сам сделаю.

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

 Буду очень благодарен, если поможете!


  • 0

#2
offline   Elrmrnt-Kritik

Elrmrnt-Kritik
  • 428
    • Сообщений: 1 872
    • Регистрация: 19.07.15
✓  Лучший Ответ

Попробуйте вот так:

 

В OnPlayerCommandText:

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

и в OnDialogResponse:

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

Впервые пробую делать диалог через запятую. Проверить данный код возможности не было у меня. Надеюсь все хорошо...


  • 2


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных


Данную тему посетили 25 пользователей