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

    Статус
    Оффлайн
    Регистрация
    24.12.2014
    Сообщений
    109
    Репутация:
    0 ±

    Действия при погоде (Выброс)

    Я создал систему автоматической смены погоды. Хочу сделать выбросы. Пока она меняется быстро и её всего 2.
    PHP код:
        SetTimer("ChangeWeather",1000*60*5true);//1 раз в 5 минут, будет меняться погода.
        
    ChangeWeather(); 
    PHP код:
    forward ChangeWeather();

    public 
    ChangeWeather()
    {
    new 
    weather ;
    weather random(3) ;
    SetWeather(weather);
    switch(
    weather)
    {
    case 
    0SetWeather(10);
        case 
    1SetWeather(11);
        case 
    2SetWeather(700);
    }
    return 
    1;

    Как сделать следующее:
    PHP код:
    Если погода 700то:
    Через 5 минут все кто не находится в интерьере или не в машине умирают и погода становится ID1 
    Последний раз редактировалось Albert; 29.12.2014 в 17:02.

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

    Статус
    Оффлайн
    Регистрация
    24.12.2014
    Сообщений
    109
    Репутация:
    0 ±
    Добавил новый таймер
    Код:
        SetTimer("Eject",1000*60*5, 1);
    Добавил форвард
    Код:
    forward Eject();
    Добавил ниже его паблик
    Код:
    public Eject()
    {
    if (weatherid == 700) //Если погода = 700, то
    {
    
    
       if(IsPlayerInAnyVehicle(playerid) || GetPlayerInterior(playerid, => 0);) // Если игрок в машине или в интерьере больше нуля, то
        {
    	return; // ничего не происходит
        }
       else // Если игроки не прошли проверку, то
        {
            SetPlayerHealth(playerid, 0); //Погибают игроки не прошедшие проверку на интерьер и транспорт
        }
    
    }
    
    
    
    
    return 1;
    }
    всёравно не выходит. Ошибки. Как грамотно составить этот код?
    Последний раз редактировалось Albert; 29.12.2014 в 23:25.

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    PHP код:
    public SetEject()
    {
        if(
    weatherid == 700)
        {
            for(new 
    GetMaxPlayers() - 1!= -1i--)
            {
                if(!
    IsPlayerConnected(i) || IsPlayerInAnyVehicle(i) || GetPlayerInterior(i) != 0)
                    continue;
                else
                    
    SetPlayerHealth(i0.0);
            }
        }


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

    Статус
    Оффлайн
    Регистрация
    24.12.2014
    Сообщений
    109
    Репутация:
    0 ±
    Изменил
    PHP код:
    public SetEject()

    на

    public Eject() 
    Создал глобальную переменную и присвоение ей значение "700" в том месте где у меня определяются погоды.

    В конец паблика Eject ещё добавлю нормализацию погоды и онулирование значения переменной

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

    PHP код:
    public Eject()
    {
        if(
    weatherid == 700)
        {
            for(new 
    GetMaxPlayers() - 1!= -1i--)
            {
                if(!
    IsPlayerConnected(i) || IsPlayerInAnyVehicle(i) || GetPlayerInterior(i) != 0)
                    continue;
                else
                    
    SetPlayerHealth(i0.0);

            }
        }
       
    SetWeather(19);
       
    SendClientMessageToAll(0xAA3333AA"Выброс закончился!!!");
       
    weatherid 1;

    Проблемма решена! Система Выбросов Завершена!!! Тест окончен. Баги устранены.
    PHP код:
    public Eject()
    {
        if(
    weatherid == 700)
        {
            for(new 
    GetMaxPlayers() - 1!= -1i--)
            {
                if(!
    IsPlayerConnected(i) || IsPlayerInAnyVehicle(i) || GetPlayerInterior(i) != 0)
                    continue;
                else
                    
    SetPlayerHealth(i0.0);
                    
    SetWeather(1);
                    
    SendClientMessageToAll(0xAA3333AA"Выброс закончился!!!");
                    
    weatherid 1;

            }
        }


    Последний раз редактировалось Albert; 30.12.2014 в 00:21.

 

 

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

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

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

Ваши права

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