Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 5 из 5
  1. #1
    Аватар для Vetalll
    Пользователь

    Статус
    Оффлайн
    Регистрация
    16.08.2014
    Сообщений
    37
    Репутация:
    2 ±

    как сделать штраф за повреждения

    Здравствуйте!
    Я ищу, как можно сделать, что бы при вводе команды /route - закончить работу водителя автобуса, снималось количество денег, в зависимости от повреждений(как на Ыаmp-Яр)

    Вот код команды /route:
    PHP код:
    YCMD:route(playeridparams[], help)
    {
        if(
    PlayerInfo[playerid][pLogin] == 0) return true;
        if(
    PlayerInfo[playerid][pJob] != 1) return SendClientMessage(playeridCOLOR_GREY"Âû íå âîäèòåëü àâòîáóñà!");
        if(
    GetPlayerState(playerid) != 2) return SendClientMessage(playeridCOLOR_GREY"Âû äîëæíû íàõîäèòüñÿ çà ðóëåì àâòîáóñà!");
        new 
    carid GetPlayerVehicleID(playerid);
        if(
    carid >= buscar[0] && carid <= buscar[1])
        {
            if(
    GetPVarInt(playerid"TypeBus") > 0)
            {
                
    format(YCMDstrsizeof(YCMDstr), "Ðàáî÷èé äåíü çàâåðøåí. Âàìè çàðàáîòàíî: %i âèðò"GetPVarInt(playerid"BusMoney"));
                
    SendClientMessage(playerid0x6495EDFFYCMDstr);
                
    SendClientMessage(playeridCOLOR_WHITE"Äåíüãè áóäóò ïåðå÷èñëåíû íà ñ÷åò âî âðåìÿ çàðïëàòû");
                
    DeletePVar(playerid"BusTime");
                
    DeletePVar(playerid"TypeBus");
                
    DeletePVar(playerid"BusStop");
                
    DeletePVar(playerid"BusMoney");
                
    DeletePVar(playerid"RentBus");
                
    pPressed[playerid] = 0;
                
    Delete3DTextLabel(BusText3D[GetPlayerVehicleID(playerid)]);
                
    SetVehicleToRespawn(GetPlayerVehicleID(playerid));
                
    DisablePlayerRaceCheckpoint(playerid);
                return 
    true;
            }
            
    ShowPlayerDialogEx(playerid1632"Ìàðøðóò""Âíóòðè-ãîðîäñêîé LS\nÂíóòðè-ãîðîäñêîé SF\nÂíóòðè-ãîðîäñêîé LV\nÀâòîÂîêçàë LS << >> Àâòîøêîëà SF\nÀâòîÂîêçàë LS << >> ÀâòîÂîêçàë LV\nÀâòîÂîêçàë LS << >> Çàâîäû""Ïðèíÿòü""Îòìåíà");
        }
        else 
    SendClientMessage(playeridCOLOR_GREY"Âû äîëæíû íàõîäèòüñÿ â àâòîáóñå!");
        return 
    true;


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

    Статус
    Оффлайн
    Регистрация
    10.02.2014
    Сообщений
    99
    Репутация:
    18 ±
    Первая переменная при старте маршрута - кол-во первоначального ХП. Вторая переменная - кол-во ХП при завершении. Вычисляем разницу и получаем повреждение. Орудуя данными о повреждениях снимаем сумму у игрока.
    Моя группа по samp: вступаем.
    Блог о сайтах и играх, может оказаться полезным: тыкмы. Основано на личном опыте.

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

    Статус
    Оффлайн
    Регистрация
    27.08.2014
    Адрес
    Санкт-Петербург
    Сообщений
    6
    Репутация:
    0 ±
    Цитата Сообщение от MaZaRHaKeR Посмотреть сообщение
    Первая переменная при старте маршрута - кол-во первоначального ХП. Вторая переменная - кол-во ХП при завершении. Вычисляем разницу и получаем повреждение. Орудуя данными о повреждениях снимаем сумму у игрока.
    Либо можно использовать public OnVehicleDamageStatusUpdate

  4. #4
    Аватар для Vetalll
    Пользователь

    Статус
    Оффлайн
    Регистрация
    16.08.2014
    Сообщений
    37
    Репутация:
    2 ±
    Цитата Сообщение от MaZaRHaKeR Посмотреть сообщение
    Первая переменная при старте маршрута - кол-во первоначального ХП. Вторая переменная - кол-во ХП при завершении. Вычисляем разницу и получаем повреждение. Орудуя данными о повреждениях снимаем сумму у игрока.
    Я суть понимаю, но сделать по такому принципу, я не смогу, ибо знаний не так много. Если и выйдет, то очень примитивно. Вот я и обратился сюда.
    Актуально! Жду помощи!

  5. #5
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Ну если автобусы при старте 100% починены, всё просто
    PHP код:
    new Floatbus_health;
    GetVehicleHealth(GetPlayerVehicleID(playerid)), bus_health);
    GivePlayerMoney(playerid, -((1000-bus_health)*10))); 
    Это в /route как раз. Только формулу самостоятельно придумайте. "1000-bus_health" - это мы узнаём сколько дамага было нанесено транспорту.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  6. Пользователь сказал cпасибо:
    Vetalll (27.08.2014)
 

 

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

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

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

Ваши права

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