Вопросы

Как сделать чтобы команда сработывала на пикапе? Наступаешь и пишет диалогом: "Предлагаем починиться за $$$$", "Принять", "Отмена"

Поделиться сообщением


Ссылка на сообщение

24 ответа на этот вопрос

  • 0

Зачем создавать паблик для стандартных пикапов, если уже создан стримерский?..
Давай начнем все заново, пробуй так.

Спойлер

 

 

Отредактировано пользователем Skiffi

Поделиться сообщением


Ссылка на сообщение
  • 0
Только что, Remmi_Feed сказал:

Как сделать чтобы команда сработывала на пикапе? Наступаешь и пишет диалогом: "Предлагаем починиться за $$$$", "Принять", "Отмена"

Смотря какой у тебя командный оборот? 

Поделиться сообщением


Ссылка на сообщение
  • 0

Поделиться сообщением


Ссылка на сообщение
  • 0
Только что, Remmi_Feed сказал:

@Покемон dc_cmd

так по пробуй, cmd::name(playerid,"");
За место name веди свою команду. 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Покемон и что это даст кроме показа ида игрока?

мод namalsk rp или же +rp

Поделиться сообщением


Ссылка на сообщение
  • 0
2 минуты назад, Remmi_Feed сказал:

@Покемон и что это даст кроме показа ида игрока?

мод namalsk rp или же +rp

Чуть не понял тебя. Если же ты говоришь про открытие диалога на пикапе то вот так:
 

Спойлер

ShowPlayerDialog(playerid,ид диалога,DIALOG_STYLE_INPUT,"Тут название","Тут ваш текст","Кнопка1","Кнопка2");

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Покемон

Спойлер

CMD:healcar(playerid, params[])
{
    if(antiflood[playerid] > 0) return SendClientMessage(playerid, COLOR_WARNING,"Не флуди!");
    antiflood[playerid]++;
    if(PLAYER_DATA[playerid][data_LOGGED] == false) return SendClientMessage(playerid,COLOR_WARNING,"Вы не авторизованы на сервере!");
    if(PLAYER_DATA[playerid][data_ZAPCHASTI] == 0) return SendClientMessage(playerid, COLOR_WARNING, "У Вас нет инструментов. Купить их можно на любом АЗС области!");
	new carid = GetPlayerVehicleID(playerid);
	new Float:hpc;
	if(carid == INVALID_VEHICLE_ID) return SendClientMessage(playerid, COLOR_WARNING, "Нужно находиться в автомобиле!");
    GetVehicleHealth(carid,hpc);
    if(hpc == 1000.0) return SendClientMessage(playerid, COLOR_WARNING, "Ваш автомобиль находиться в идеальном состоянии!");
	SetVehicleHealth(carid,1000.0);
	RepairVehicle(carid);
	SendClientMessage(playerid, 0x66CC00FF, "Вы починили свой автомобиль");
	for(new c; c < 3; c++)
	{
	    if(PLAYER_DATA[playerid][data_CAR][c] != GetVehicleModel(carid)) continue;
	    PLAYER_DATA[playerid][data_REPAIRS][c] += 1;
	    break;
	}
	PLAYER_DATA[playerid][data_ZAPCHASTI] = 0;
	return true;
}

 

Мне надо ее на пикап переделать но как

самих диалог в команде нету

Поделиться сообщением


Ссылка на сообщение
  • 0
6 минут назад, Remmi_Feed сказал:

@Покемон

  команда (закрыть спойлер)


CMD:healcar(playerid, params[])
{
    if(antiflood[playerid] > 0) return SendClientMessage(playerid, COLOR_WARNING,"Не флуди!");
    antiflood[playerid]++;
    if(PLAYER_DATA[playerid][data_LOGGED] == false) return SendClientMessage(playerid,COLOR_WARNING,"Вы не авторизованы на сервере!");
    if(PLAYER_DATA[playerid][data_ZAPCHASTI] == 0) return SendClientMessage(playerid, COLOR_WARNING, "У Вас нет инструментов. Купить их можно на любом АЗС области!");
	new carid = GetPlayerVehicleID(playerid);
	new Float:hpc;
	if(carid == INVALID_VEHICLE_ID) return SendClientMessage(playerid, COLOR_WARNING, "Нужно находиться в автомобиле!");
    GetVehicleHealth(carid,hpc);
    if(hpc == 1000.0) return SendClientMessage(playerid, COLOR_WARNING, "Ваш автомобиль находиться в идеальном состоянии!");
	SetVehicleHealth(carid,1000.0);
	RepairVehicle(carid);
	SendClientMessage(playerid, 0x66CC00FF, "Вы починили свой автомобиль");
	for(new c; c < 3; c++)
	{
	    if(PLAYER_DATA[playerid][data_CAR][c] != GetVehicleModel(carid)) continue;
	    PLAYER_DATA[playerid][data_REPAIRS][c] += 1;
	    break;
	}
	PLAYER_DATA[playerid][data_ZAPCHASTI] = 0;
	return true;
}

 

Мне надо ее на пикап переделать но как

Ко всем new:
 

Спойлер

new RepairCar;

В OnGameModeInit:
 

Спойлер

RepairCar = CreatePickup(id пикапа, 2, x,y,z, -1);

В OnPlayerPickUpPickup

Спойлер

    if(pickupid == RepairCar)
    {
        ShowPlayerDialog(playerid,83,DIALOG_STYLE_INPUT,"Починка","Не желаете ли вы починить свой автомобиль за 100$?","Починится","Выход");
    }

В OnDialogResponse:
 

Спойлер

case 83:
{
    if(response)
    {
        new carid = GetPlayerVehicleID(playerid);
        new Float:hpc;
        if(carid == INVALID_VEHICLE_ID) return SendClientMessage(playerid, COLOR_WARNING, "Нужно находиться в автомобиле!");
        GetVehicleHealth(carid,hpc);
        if(hpc == 1000.0) return SendClientMessage(playerid, COLOR_WARNING, "Ваш автомобиль находиться в идеальном состоянии!");
        SetVehicleHealth(carid,1000.0);
        RepairVehicle(carid);
        SendClientMessage(playerid, 0x66CC00FF, "Вы починили свой автомобиль");
    }
    else
    {

    }
    return 1:
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0
Спойлер

C:\Users\Александр\Desktop\VirtualTech RP\gamemodes\new.pwn(5301) : error 014: invalid statement; not in switch
C:\Users\Александр\Desktop\VirtualTech RP\gamemodes\new.pwn(5301) : warning 215: expression has no effect
C:\Users\Александр\Desktop\VirtualTech RP\gamemodes\new.pwn(5301) : error 001: expected token: ";", but found ":"
C:\Users\Александр\Desktop\VirtualTech RP\gamemodes\new.pwn(5301) : error 029: invalid expression, assumed zero
C:\Users\Александр\Desktop\VirtualTech RP\gamemodes\new.pwn(5301) : fatal error 107: too many error messages on one line

 

Спойлер

case dialog_REGISTER:
	    {
			if(response || !response)
			{
			    if(strlen(inputtext) == 0) return Dialog_PLAYER_REGISTER(playerid);
				if(strlen(inputtext) < 6 || strlen(inputtext) > 30) return SendClientMessage(playerid, 0x33CC33AA,"Длина пароля должна быть от 6 до 30 символов"),Dialog_PLAYER_REGISTER(playerid);
        		for(new i = strlen(inputtext); i != 0; --i)
				switch(inputtext[i])
				{
					case 'А'..'Я', 'а'..'я', ',', '`', '=': return SendClientMessage(playerid, 0x33CC33AA, "Разрешено использовать только латинские буквы и цифры"),Dialog_PLAYER_REGISTER(playerid);
				}
				getdate(PLAYER_DATA[playerid][data_REGDATE_YEAR], PLAYER_DATA[playerid][data_REGDATE_MONTH], PLAYER_DATA[playerid][data_REGDATE_DAY]);
				GetPlayerIp(playerid,PLAYER_DATA[playerid][data_REGISTER_IP],32);
				strmid(PLAYER_DATA[playerid][data_PASSWORD], inputtext, 0, strlen(inputtext), 30);
				ShowPlayerDialogFix(playerid, dialog_EMAIL, DIALOG_STYLE_INPUT, "{66CCFF}Email", "{FFFFFF}Введите адрес Вашей электронной почты\nИспользуя его, Вы сможете восстановить доступ к аккаунту\nв случае его взлома или если забудете пароль\n\nУбедитесь в правильности ввода и нажмите 'Далее'", "Далее", "");
			}
		}

 

1. Ошибки

2. Пример диалогов.

Отредактировано пользователем Remmi_Feed

Поделиться сообщением


Ссылка на сообщение
  • 0
7 минут назад, Remmi_Feed сказал:
  ошибки (закрыть спойлер)


C:\Users\Александр\Desktop\VirtualTech RP\gamemodes\new.pwn(5301) : error 014: invalid statement; not in switch
C:\Users\Александр\Desktop\VirtualTech RP\gamemodes\new.pwn(5301) : warning 215: expression has no effect
C:\Users\Александр\Desktop\VirtualTech RP\gamemodes\new.pwn(5301) : error 001: expected token: ";", but found ":"
C:\Users\Александр\Desktop\VirtualTech RP\gamemodes\new.pwn(5301) : error 029: invalid expression, assumed zero
C:\Users\Александр\Desktop\VirtualTech RP\gamemodes\new.pwn(5301) : fatal error 107: too many error messages on one line

 

  диалог (закрыть спойлер)


case dialog_REGISTER:
	    {
			if(response || !response)
			{
			    if(strlen(inputtext) == 0) return Dialog_PLAYER_REGISTER(playerid);
				if(strlen(inputtext) < 6 || strlen(inputtext) > 30) return SendClientMessage(playerid, 0x33CC33AA,"Длина пароля должна быть от 6 до 30 символов"),Dialog_PLAYER_REGISTER(playerid);
        		for(new i = strlen(inputtext); i != 0; --i)
				switch(inputtext[i])
				{
					case 'А'..'Я', 'а'..'я', ',', '`', '=': return SendClientMessage(playerid, 0x33CC33AA, "Разрешено использовать только латинские буквы и цифры"),Dialog_PLAYER_REGISTER(playerid);
				}
				getdate(PLAYER_DATA[playerid][data_REGDATE_YEAR], PLAYER_DATA[playerid][data_REGDATE_MONTH], PLAYER_DATA[playerid][data_REGDATE_DAY]);
				GetPlayerIp(playerid,PLAYER_DATA[playerid][data_REGISTER_IP],32);
				strmid(PLAYER_DATA[playerid][data_PASSWORD], inputtext, 0, strlen(inputtext), 30);
				ShowPlayerDialogFix(playerid, dialog_EMAIL, DIALOG_STYLE_INPUT, "{66CCFF}Email", "{FFFFFF}Введите адрес Вашей электронной почты\nИспользуя его, Вы сможете восстановить доступ к аккаунту\nв случае его взлома или если забудете пароль\n\nУбедитесь в правильности ввода и нажмите 'Далее'", "Далее", "");
			}
		}

 

1. Ошибки

2. Пример диалогов.

Я не знаю где тут ошибка не понимаю что какая строка, просто по пробуй в диалоге 83 заменить сам номер диалога. 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Покемон наступаю на пикап и ничего не происходит

Поделиться сообщением


Ссылка на сообщение
  • 0
5 минут назад, Remmi_Feed сказал:

@Покемон наступаю на пикап и ничего не происходит

Покажи пожалуйста как ты все вставил ) 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Покемон

переменную ко всем new далее

Спойлер

 RepairCar = CreatePickup(1352, 2, 2470.31, -2160.43, 21.48, -1);

 

Далее в 

Спойлер

if(pickupid == RepairCar)
    {
        ShowPlayerDialog(playerid,830,DIALOG_STYLE_INPUT,"Починка","Не желаете ли вы починить свой автомобиль за 100$?","Починится","Выход");
    }

 

Спойлер

case 830:
		{
		    if(response)
		    {
		        new carid = GetPlayerVehicleID(playerid);
		        new Float:hpc;
		        if(carid == INVALID_VEHICLE_ID) return SendClientMessage(playerid, COLOR_WARNING, "Нужно находиться в автомобиле!");
		        GetVehicleHealth(carid,hpc);
		        if(hpc == 1000.0) return SendClientMessage(playerid, COLOR_WARNING, "Ваш автомобиль находиться в идеальном состоянии!");
		        SetVehicleHealth(carid,1000.0);
		        RepairVehicle(carid);
		        SendClientMessage(playerid, 0x66CC00FF, "Вы починили свой автомобиль");
		    }
		    else
		    {
		    }
		    return 1;
		}

 

Поделиться сообщением


Ссылка на сообщение
  • 0
3 минуты назад, Remmi_Feed сказал:

@Покемон

переменную ко всем new далее

  OnGamemodeInit (закрыть спойлер)


 RepairCar = CreatePickup(1352, 2, 2470.31, -2160.43, 21.48, -1);

 

Далее в 

  public OnPlayerPickUpDynamicPickup (открыть спойлер)
  OnDialogResponse (закрыть спойлер)


case 830:
		{
		    if(response)
		    {
		        new carid = GetPlayerVehicleID(playerid);
		        new Float:hpc;
		        if(carid == INVALID_VEHICLE_ID) return SendClientMessage(playerid, COLOR_WARNING, "Нужно находиться в автомобиле!");
		        GetVehicleHealth(carid,hpc);
		        if(hpc == 1000.0) return SendClientMessage(playerid, COLOR_WARNING, "Ваш автомобиль находиться в идеальном состоянии!");
		        SetVehicleHealth(carid,1000.0);
		        RepairVehicle(carid);
		        SendClientMessage(playerid, 0x66CC00FF, "Вы починили свой автомобиль");
		    }
		    else
		    {
		    }
		    return 1;
		}

 

В паблик OnPlayerPickUpPickup
 

Спойлер

if(pickupid == RepairCar)
    {
        ShowPlayerDialog(playerid,830,DIALOG_STYLE_INPUT,"Починка","Не желаете ли вы починить свой автомобиль за 100$?","Починится","Выход");
    }

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Покемон такого нету

Поделиться сообщением


Ссылка на сообщение
  • 0
Только что, Remmi_Feed сказал:

@Покемон такого нету

Спойлер

public OnPlayerPickUpPickup(playerid, pickupid)
{
    if(pickupid == RepairCar)
    {
        ShowPlayerDialog(playerid,830,DIALOG_STYLE_INPUT,"Починка","Не желаете ли вы починить свой автомобиль за 100$?","Починится","Выход");
    }
    return 1;
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Покемон заработало но вид диалога не тот. Там есть еще строка для ввода (как при авторизации)

Поделиться сообщением


Ссылка на сообщение
  • 0
3 минуты назад, Remmi_Feed сказал:

@Покемон заработало но вид диалога не тот. Там есть еще строка для ввода (как при авторизации)

Спутал чуть диалоги упс)
ShowPlayerDialog(playerid,830,DIALOG_STYLE_MSGBOX,"Починка","Вы хотите починить\nавтомобиль за 100$?","Выход");
Чуть текст изменил, если нравиться такой оставь

Отредактировано пользователем Покемон

Поделиться сообщением


Ссылка на сообщение
  • 0

@Покемон warning 202: number of arguments does not match definition

Поделиться сообщением


Ссылка на сообщение
  • 0
1 минуту назад, Remmi_Feed сказал:

@Покемон warning 202: number of arguments does not match definition

ShowPlayerDialog(playerid,830,DIALOG_STYLE_MSGBOX,"Починка","Вы хотите починить\nавтомобиль за 100$?","Починится","Выход");

Поделиться сообщением


Ссылка на сообщение
  • 0

@Покемон заработало но не чиниться и ничего не пишет после нажатия кнопки "Починиться"

Поделиться сообщением


Ссылка на сообщение
  • 0
Только что, Remmi_Feed сказал:

@Покемон заработало но не чиниться и ничего не пишет после нажатия кнопки "Починиться"

Пробуй:
 

Спойлер

case 830:
{
    if(response)
    {
        new carid = GetPlayerVehicleID(playerid);
        new Float:hpc;
        if(carid == INVALID_VEHICLE_ID) return SendClientMessage(playerid, COLOR_WARNING, "Нужно находиться в автомобиле!");
        GetVehicleHealth(carid,hpc);
        if(hpc == 1000.0) return SendClientMessage(playerid, COLOR_WARNING, "Ваш автомобиль находиться в идеальном состоянии!");
        SetVehicleHealth(carid,1000.0);
        RepairVehicle(carid);
        SendClientMessage(playerid, 0x66CC00FF, "Вы починили свой автомобиль");
    }
    return 1;
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Покемон все равно

Поделиться сообщением


Ссылка на сообщение
  • 0

@Skiffi решил 5 минут назад задачу, забыл закрыть)

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Mister Odin
      От Mister Odin
       
      new
       g_teleport_list[39][E_TELEPORT_LIST] = {  {"Спавн пгт.Батырево", 1802.3612, 2508.4824, 15.8887},  {"Спавн г.Арзамас", -113.5887, 977.7222, 12.0346},     {"Спавн г.Южный", 2744.2770, -2446.7246, 21.8988},     {"Центральный банк", 1852.020385,2040.791381,15.892713},  {"Рублёвка", -837.7783, 888.6161, 12.7232},  {"Казино", 1332.4252, 2358.7014, 17.6641},  {"Битва за контейнеры", 614.5167, 1722.3566, 12.0709},  {"Автосалон низкого класса", 2493.9616, -722.9544, 12.3315},  {"Автосалон среднего класса", 1407.7449, 455.4801, 13.1630},  {"Автосалон высокого класса", -14.0637, 2614.5664, 10.9892},   {"Мотосалон Harley Davidson", 785.720153, 750.465087, 12.000024},  {"Автошкола", 1909.174438,2227.679687,15.708162},  {"Военкомат", 1916.778564,2302.411376,15.574637},  {"Правительство области", -139.140975,593.789611,12.145712},  {"Отдел полиции №1 (ГИБДД)", 1906.805786,-2234.382812,11.257631},  {"Отдел полиции №2 (УМВД)", 2581.309326,-2416.139892,21.960090},  {"Отдел ФСБ", 1823.904663,2095.636718,15.848405},  {"Городская больница г.Арзамас", -285.797210,581.851562,12.120290},   {"СМИ", -317.708038,821.221679,13.051450},  {"Воинская часть", 1703.197265,1678.025878,15.279437},  {"Арзамасская ОПГ", 438.705322,1046.505126,12.002637},  {"Батыревская ОПГ", 1941.203857,2161.006591,15.705187},  {"Лыткаринская ОПГ", -2346.002441,75.257041,21.002962},  {"Шахта", 2381.5727, 1726.4451, -2.1506},  {"Завод", -1062.6697, 2204.1894, 38.0964},  {"Инкосация", 1864.1374, 2011.7136, 15.8546},  {"Транспортная Компания", 2362.1115, 1972.5627, 15.5530},  {"База механиков", 1840.918090,-118.025146,15.695312},  {"Курьерская служба доставки", 2764.509765,-2396.882568,21.890625},  {"Аренда автобуса(Южный)", 2771.041992,-2454.780761,21.845964},  {"Аренда автобуса(Арзамас)", -127.487670,943.652648,12.142824},   {"Аренда автобуса(Батырево)", 1798.986328,2529.591552,15.664262},  {"Гоночная трасса", -1568.7784, 1611.8305, 36.3971},  {"Дом на горе", -789.5397, -456.7479, 741.1422},  {"СТО и тюнинг-ателье", 1856.1375, -122.3266, 15.6888},  {"Аренда транспорта пгт.Батырево", 1763.641723,2255.673339,15.865348},  {"Аренда транспорта г.Арзамас", -36.923530,1360.673583,12.002090},  {"Аренда транспорта г.Южный", 1966.599975,-2603.943603,10.820312},  {"Тайный интерьер в Лыткарино", -2424.5818, 2846.3291, 40.7908} };