Вопросы

Gaiduk
Свой человек
Спойлер

CMD:lock(playerid, params[])
{
    if(GetPVarInt(playerid, "logged") == 0) return 1;
    extract params -> new type; else return Send(playerid, COLOR_GREY, "Используйте: /lock [Тип] (1 - Личный транспорт, 2 - Рабочий транспорт)");
    new vehicleid = -1;

    if(type == 1)
    {
        return LockOwnableCar(playerid);
    }
    else if(type == 2)
    {
        if(player_job_vehicle_created[playerid] == -1) return Send(playerid, COLOR_GREY, "У Вас нет рабочего транспорта");

        vehicleid = player_job_vehicle_created[playerid];
        PlayerPlaySound(playerid, 24600, 0.0, 0.0, 0.0);
    }
    else
        return Send(playerid, COLOR_GREY, "Используйте: /lock [Тип] (1 - Личный транспорт, 2 - Рабочий транспорт)");

    if(vehicleid == -1) return 1;

    new Float:x, Float:y, Float:z;
    GetVehiclePos(vehicleid, x, y, z);
    if(!IsPlayerInRangeOfPoint(playerid, 20.0, x, y, z)) return Send(playerid, 0x999999FF, "Вы не у своего авто");

    return 1;


}

 

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


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

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

  • 0

@Gaiduk поищите в моде еще, что связано с lock_status или похожем словосочетании. Нужно найти идентичную структуру ownable_cars, только для рабочих машин. 

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


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

Это потому, что в коде команды никакого действия по открытию / закрытию дверей нет. Если с личным транспортом работает нормально, то посмотрите в функции LockOwnableCar как там сделано, или сбросьте его сюда, если сами не разберетесь. 

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


Ссылка на сообщение
  • 0
Gaiduk
Свой человек
17 часов назад, DEST сказал:

Это потому, что в коде команды никакого действия по открытию / закрытию дверей нет. Если с личным транспортом работает нормально, то посмотрите в функции LockOwnableCar как там сделано, или сбросьте его сюда, если сами не разберетесь. 

Спойлер

stock LockOwnableCar(playerid)
{
	new vehicleid = player_ownable_car[playerid];

	new Float:x, Float:y, Float:z;
	GetVehiclePos(vehicleid, x, y, z);

	if(!IsPlayerInRangeOfPoint(playerid, 10.0, x, y, z)) return Send(playerid, 0x999999FF, "Вы должны стоять рядом с транспортом");

	if(!IsAOwnableCar(vehicleid)) return 1;

	new index = vehicleid - ownable_car_id[0];

	new set_doors;
	if(ownable_car[index][oc_lock_status])
	{
		set_doors = 0;
		ownable_car[index][oc_lock_status] = false;
		GameTextForPlayer(playerid, "~g~OPEN", 2000, 3);
		PlayerPlaySound(playerid, 24600, 0.0, 0.0, 0.0);
	}
	else
	{
		set_doors = 1;
		ownable_car[index][oc_lock_status] = true;
		GameTextForPlayer(playerid, "~r~LOCK", 2000, 3);
		PlayerPlaySound(playerid, 24600, 0.0, 0.0, 0.0);
	}
	new engine, lights, alarm, doors, bonnet, boot, objective;
	GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
	SetVehicleParamsEx(vehicleid, engine, lights, alarm, set_doors, bonnet, boot, objective);
	return 1;
}

 

 

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


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   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 стоит подкрутить? И как вообще пофиксить это.
       
      Заранее спасибо.