Вопросы

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 пользователей онлайн

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

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

    • Daf
      От Daf
      Здравствуйте, сливаю вам cef спидометр! 
      Автор: я
       
      pawn код
      CEF. Создайте текстовый файл с любым названием, но добавьте расширение .html. Затем вставьте в него код, который приведен ниже.
      отдельно индикаторы
      cef_execute_js(playerid, browser, "samp.updateIndicators({left: 0, right: 1, highbeam: 0})"); cef_execute_js(playerid, browser, "samp.updateIndicators({left: 0, right: 1, highbeam: 0})");  
    • Arutr
      От Arutr
      Не могу найти объект который на фото, если кто знает на пишите ID этого объекта