Рекомендованные сообщения



25 posts in this topic

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

Share this post


Link to post
Share on other sites
Только что, Remmi_Feed сказал:

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

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

Share this post


Link to post
Share on other sites
Только что, Remmi_Feed сказал:

@Покемон dc_cmd

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
2 минуты назад, Remmi_Feed сказал:

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

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

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

Спойлер

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

 

Share this post


Link to post
Share on other sites

@Покемон

Спойлер

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;
}

 

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

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

Share this post


Link to post
Share on other sites
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:
}

 

Share this post


Link to post
Share on other sites
Спойлер

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. Пример диалогов.

Edited by Remmi_Feed

Share this post


Link to post
Share on other sites
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 заменить сам номер диалога. 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
5 минут назад, Remmi_Feed сказал:

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

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

Share this post


Link to post
Share on other sites

@Покемон

переменную ко всем 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;
		}

 

Share this post


Link to post
Share on other sites
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$?","Починится","Выход");
    }

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Только что, Remmi_Feed сказал:

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

Спойлер

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

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
3 минуты назад, Remmi_Feed сказал:

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

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

Edited by Покемон

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
1 минуту назад, Remmi_Feed сказал:

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Только что, 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;
}

 

Share this post


Link to post
Share on other sites

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

Спойлер

 

 

Edited by Skiffi

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • sawe123
      By sawe123
      Есть ли какая то система видел в моде что можно настраивать вес авто ищу такую систему.