Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 3 из 3

Тема: Транспорт

  1. #1
    Аватар для codeo
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.04.2014
    Сообщений
    108
    Репутация:
    9 ±

    Транспорт

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

  2. #2
    Аватар для Hidden
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.11.2013
    Сообщений
    73
    Репутация:
    43 ±
    Создаёте глобальную переменную, в которую будете записывать создание машины, например:
    PHP код:
    new some_vehicle// в начале мода


    some_vehicle AddStaticVehicleEx(403,-59.8639984,-377.4379883,6.0799999,0.5000000,36,1,90000); // в часть мода, где у вас создаются машины, либо в команду 
    Далее в public OnVehicleDeath(vehicleid, killerid)
    PHP код:
    public OnVehicleDeath(vehicleidkillerid)
    {
        if(
    vehicleid == some_vehicleDestroyVehicle(some_vehicle);
        return 
    true;

    Hidden (Kenny Hellwood)

    Темы:
    [Мануал] Система двигателя [for new.pwn] - click.
    [Мануал] Запись нескольких значений в один столбец через запятую [mysql r7] - click.
    [Мануал] Табличка на прицепы - click.
    [Info] Выражения и операторы PAWN - click.

  3. #3
    Аватар для underwoker
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Сообщений
    331
    Репутация:
    47 ±
    Цитата Сообщение от codeo Посмотреть сообщение
    Подскажите как сделать так, чтобы транспорт который я заспавнил исчезал после взрыва
    а то я беру админ кар, он взрывается и появляется на том месте где я его брал..
    Ну я сделал так.
    У меня созданные тачки удалить можно, а серверные - нельзя. Таким образом при спавне машины я просто проверяю машину на то серверная она или нет, и если нет - то удаляем.
    Ко всем new:
    PHP код:
    new bool:SERVERCARID[MAX_VEHICLES]; 
    У вас это уже должно быть, но тут собсна при старте мода(OnGameModeInit), по всем машинам созданным идет цикл, и им присваиваются значения топлива и остальные параметры(У меня, у вас может быть чуть по другому).
    PHP код:
    for(new veh=0veh MAX_VEHICLESveh++)
        {
            
    //FuelCar[veh] = 50;
            
    SetVehicleToRespawn(veh);
            
    SERVERCARID[veh] = true;
        } 
    Как видите в примере выше - идет цикл от первой машины, до той что указана в MAX_VEHICLES, и им всем присваивается значение бензина и их спавнит, а так же им присваивается переменная SERVERCARID(Это дает понять серверу, что машина будет серверная, и удалить ее не получится).

    В команду удаления машины, мы вставим такую вот строчку:
    PHP код:
    if(SERVERCARID[GetPlayerVehicleID(playerid)] == true) return SendClientMessage(playerid, -1"Нельзя"); 
    И так, мы видим что Если(у машины в которой сидит игрок переменная SERVERCARID == true, значит она серверная, и удалить ее нельзя.

    Ну и при создании машины, в конец команды вставьте это:
    PHP код:
    SERVERCARID[tachka] = false
    Это даст понять серверу, что машина не серверная, и удалить ее можно.
    P.S. "tachka" - замените на свою переменную создания машины в команде.

    Теперь идем в самое начало паблика OnVehicleSpawn
    и вставляем туда
    PHP код:
    if(SERVERCARID[vehicleid] == false)
        {
            
    //format(string, sizeof(string), "[ADM]: ID%i созданная машина автоматом удалена(/veh)",vehicleid);
            //AdminMessege(CORANGE,string,1);
            
    DestroyVehicle(vehicleid);
        } 
    OnVehicleSpawn - отвечает за спавн машин в моде, после смерти или старте мода, и еще парочке случаев.
    Так вот, тут мы проверяем, если у машины переменная которая обозначает серверу какая машина серверная, а какая нет - равна false(Значите не серверная), то удаляем ее просто.
    Выше я закомментировал две строчки, если хотите можете раскомментировать, но переделав под свой мод.

    Вот собственно и все.
    "Власть, кровь, няш-мяш, кровь, власть, Крым наш!" - (c) Наталья Поклонская.

    Критик должен быть готов и способен в любой момент и по первому требованию занять место критикуемого им и выполнять его дело продуктивно и компетентно. В противном случае критика превращается в наглую, самодовлеющую силу и становится тормозом на пути прогресса. (с) AXE

  4. Пользователь сказал cпасибо:
    codeo (25.05.2014)
 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •