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

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Ну если автобусы при старте 100% починены, всё просто
    PHP код:
    new Floatbus_health;
    GetVehicleHealth(GetPlayerVehicleID(playerid)), bus_health);
    GivePlayerMoney(playerid, -((1000-bus_health)*10))); 
    Это в /route как раз. Только формулу самостоятельно придумайте. "1000-bus_health" - это мы узнаём сколько дамага было нанесено транспорту.
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

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

 

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

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

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

Ваши права

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