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

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 5 из 5
  1. #1
    Аватар для Vetalll
    Пользователь

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

    таймера для автобуса

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

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

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Сообщений
    333
    Репутация:
    47 ±
    Эм, что то типо
    При начале работы
    PHP код:
    SetPVarInt(playerid"NaRabote"1); 
    В OnPlayerStateChange
    PHP код:
    if(GetPVarInt(playerid,"NaRabote") == 1)//(Если есть уже у вас переменная отвечающая за то работает ли игрок, замените проверку на свою)Если игрок работает автобусником, вышел на дежурство, то 
            
    {
                
    SetPVarInt(playerid,"TimeForPiss"16);//Задаем пвару значение 16. 
                
    SendClientMessage(playerid, -1"У вас есть 15 секунд, чтобы вернуться в транспорт! Иначе маршрут будет закончен!");
            } 
    В секундный таймер с циклом на игроков
    PHP код:
    if(GetPVarInt(i"TimeForPiss") > 0)
                {
                    
    SetPVarInt(i"TimeForPiss"GetPVarInt(i"TimeForPiss") - 1);
                    
    format(string,32,"~r~%d",GetPVarInt(i"TimeForPiss"));
                    
    GameTextForPlayer(istring20006);
                    if(
    GetPVarInt(i"TimeForPiss") == 0)
                    {
                        
    //Тут удаляем пвар с временем и о, даем ему деньги за работу спавним автобус и т.д.
                    
    }
                } 
    "Власть, кровь, няш-мяш, кровь, власть, Крым наш!" - (c) Наталья Поклонская.

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

  3. Пользователь сказал cпасибо:
    Vetalll (27.08.2014)
  4. #3
    Аватар для codeo
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.04.2014
    Сообщений
    108
    Репутация:
    9 ±
    PHP код:
    new TimerCar[MAX_PLAYERS];
    new 
    RespawnTimer[MAX_PLAYERS];
    new 
    vehicle[MAX_PLAYERS]; 
    PHP код:
    public OnPlayerExitVehicle(playeridvehicleid)
    {
        
    vehicle[playerid] = GetPlayerVehicleID(playerid);
        if(
    GetVehicleModel(vehicle[playerid]) == id автобуса)
        {
            
    /*if(RespawnTimer[playerid] > 0) KillTimer(TimerCar[playerid]);*/
            
    TimerCar[playerid] = SetTimerEx("Respawn_",1000,true,"i",playerid);
            
    RespawnTimer[playerid] = 60;
        }
        return 
    1;

    PHP код:
    public Respawn_(playerid)
    {
        if(--
    RespawnTimer[playerid] == 0)
        {
            
    SetVehicleToRespawn(vehicle[playerid]);
            
    KillTimer(TimerCar[playerid]);
        }
        return 
    1;


    Вроде бы так

    - - - Добавлено - - -

    PHP код:
    public Respawn_(playerid)
    {
        if(--
    RespawnTimer[playerid] == 0)
        {
            
    SetVehicleToRespawn(vehicle[playerid]);
            
    KillTimer(TimerCar[playerid]);
        }
        else
        {
            new 
    string[4];
            
    valstr(stringRespawnTimer[playerid]);
            
    GameTextForPlayer(playeridstring10004);
        }
        return 
    1;


  5. Пользователь сказал cпасибо:
    Vetalll (27.08.2014)
  6. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Зачем тут KillTimer и запись ID таймера? Для кого придуман третий параметр в SetTimerEx?

    А вообще проще сделать как-то так:
    PHP код:
    public OnPlayerExitVehicle(playeridvehicleid)
    {
        if(
    GetVehicleModel(vehicleid) == /*id модели автобуса*/)
        {
            
    SetTimerEx("RespawnBus"1000false"iii"playeridvehicleidgettime()+30);
            
    SendClientMessage(playerid, -1"У вас есть 30 секунд для того, чтоб вернуться в автобус");
        }
        return 
    1;
    }


    forward RespawnBus(playeridvehicleidtime);
    public 
    RespawnBus(playeridvehicleidtime)
    {
        if(
    GetPlayerVehicleID(playerid) == vehicleid) return 1;
        new 
    get_time gettime();
        if(
    time get_time)
        {
            new 
    string[56];
            
    format(stringsizeof(string), "У вас есть %d секунд для того, чтоб вернуться в автобус"time-get_time);
            
    SendClientMessage(playerid, -1string);
            
    SetTimerEx("RespawnBus"1000false"iii"playeridvehicleidtime-1);
            return 
    1;
        }
        else return 
    SetVehicleToRespawn(vehicleid);

    Получится замкнутая система, которая не требует каких-либо левых переменных. Правда код не тестировал. Авось допустил где ошибку
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

  7. Пользователь сказал cпасибо:
    Vetalll (27.08.2014)
  8. #5
    Аватар для Vetalll
    Пользователь

    Статус
    Оффлайн
    Регистрация
    16.08.2014
    Сообщений
    37
    Репутация:
    2 ±
    Вопрос решен! Большое спасибо, всем! Тема закрыта!

 

 

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

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

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

Ваши права

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