Вопросы

DreamHarakiri
React разработчик

Здравствуйте, не работает починка по пикапу, наступаю на пикап высвечивается диалог и дальше ничего не происходит.

 

Спойлер

case dialog_REPAIR:
		{
            {
                if(!response) return true;
  		        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;
            }
        }

 

 

Спойлер

if(pickupid == pick_repair)
    {
        ShowPlayerDialogFix(playerid, dialog_REPAIR, DIALOG_STYLE_MSGBOX,"Починка","Не желаете ли вы починить свой автомобиль за 100$?","Починится","Выход");
  		return true;
    }

 

 

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


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

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

  • 0
Гость stibs
Новичок

@Remmi_Feedвообще ноль реакций или диалог появляется но в нем ничего не выбирается? Да и как ты будешь активировать пикап находясь в машине? Он разве так активируется?

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


Ссылка на сообщение
  • 0
DreamHarakiri
React разработчик

@stibs после того как я наступаю на пикап высвечивается диалог, после выбираю любую конпку и все. На этом кино заканчивается

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


Ссылка на сообщение
  • 0
Skiffi
Активный

@stibs ,@DEST , есть такой тип пикапа как 14 - "Берется, но только в машине. Падает сквозь объекты, созданные по CreateObject, и т.п."
Но, опять же, вроде как, сам не тестил, для того чтобы его взять необходимо наехать на пикап игроком, т.е. физической его моделью.



Могу предложить вариант реализации через динамическую зону.

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


Ссылка на сообщение
  • 0
Skiffi
Активный
new
	RepairZone;

public OnGameModeInit() {
	RepairZone = CreateDynamicSphere(/*X,Y,Z*/,5.0); //X,Y,Z координаты, выставите самостоятельно
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
	switch(listitem) {
		case dialog_REPAIR: {
			if(!response)
				return 1;
			if(!IsPlayerInAnyVehicle(playerid))
				return SendClientMessage(playerid,-1,!"Вы должны находиться в транспорте!");

			new
				vID = GetPlayerVehicleID(playerid);

			SetVehicleHealth(vID, 1000.0);
			RepairVehicle(vID);

			return GivePlayerMoney(playerid,-100);
			/*Сохранение, сделаете сами*/
		}
	}
}

public OnPlayerEnterDynamicArea(playerid, areaid) {
	if(areaid == RepairZone)
		return ShowPlayerDialogFix(playerid, dialog_REPAIR, DIALOG_STYLE_MSGBOX,"Починка","Не желаете ли вы починить свой автомобиль за 100$?","Починится","Выход");
	return 1;
}

 

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


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

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

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

    • Badr
      От Badr
      дратуте , решил сделать лаунчер самп на node.js , все норм сделал дизайн/стиль , но когда захожу абсолютно на любой сервер (заходил на онух рп ,и на свой сервер ) и пишет вронг сервер пароль ( мне лень на англиском писать )  скрин прикрепил 

      исходник https://disk.yandex.ru/d/D_104GFgrFO16A ( сам делал , то-есть дипсик  )
      я знаю все будут писать что (Слово удалено системой) ии-шное