Вопросы

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})");  
    • снайк
      От снайк
      Приветствую!
       
      Создаю свой сервер CR:MP (карта КР на клиенте SA:MP 0.3.7-R3). Столкнулся с критической проблемой: при въезде в г. Южный игра зависает намертво на одном и том же месте.
       
      Картинка застывает, звук двигателя зацикливается и проигрывается бесконечно. Помогает только жесткая перезагрузка ПК через кнопку питания. Происходит как на скорости, так и при медленной езде.
       
      Что уже установлено и настроено:
      1. Fastman92 Limit Adjuster 7.6 -  Streaming Memory = 1024 (пробовал и 512)
      ColModels = 30000
      Buildings = 30000
      Vehicle Models = 500
      Register global expection handler = 1 (но лог исключения не создается, игра просто виснет).
      2. Silent Patch 1.1 — стоит.
      3. Streamer Plugin на сервере — подключен и работает.
       
      Лог FLA (Последние строки перед фризом):
      Streaming memory available limit set to 1073741824 bytes (1024 MB)
      SPECIAL: Disable CINFO.BIN and MINFO.BIN loading
      Number of memory changes made: 4
       
       
      Понимаю, что Южный — тяжелая локация, но почему даже с расширенными лимитами происходит мертвый фриз без лога ошибки? Может ли это быть связано с кривыми коллизиями, путями (nodes) или конкретными тяжелыми текстурами в этой области? Какие еще лимиты в .ini стоит подкрутить? И как вообще пофиксить это.
       
      Заранее спасибо.