Смена skybox по времени.

Shid0

🦾 Свет даëт мне сил!
Сообщения
1,130
Реакции
1,255
При:

C++:
if(StrEqual(mapname, "awp_lego_2")) // проверяем та ли эта карта
{
  if (time >= 17 || time <= 5) // если время от 17:00 до 5:00, то ночь
  ServerCommand("exec night"); // ночной cfg/night.cfg
  else ServerCommand("exec day"); // дневной cfg/day.cfg
}

Skybox меняется. Я пытался добавить 3 небо. Но почему то запускается первое. В чем может быть ошибка?

C++:
if(StrEqual(mapname, "awp_lego_2")) // проверяем та ли эта карта
{
  if (time >= 6 || time <= 14)
  {
  ServerCommand("exec day");
  }
  else if (time > 14 || time <= 22)
  {
  ServerCommand("exec morning");
  }
  else
  {
  ServerCommand("exec night");
  }
}
 
Последнее редактирование:

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Сделайте код в коде, с языком c++
1586208644026.png
1586208890418.png


Это тема с вопросом или что-то другое?
 

d4Ck

Урегулированный
Сообщения
730
Реакции
562
При:

C-подобный:
if(StrEqual(mapname, "awp_lego_2")) // проверяем та ли эта карта

{

if (time >= 17 || time <= 5) // если время от 17:00 до 5:00, то ночь

ServerCommand("exec night"); // ночной cfg/night.cfg

else ServerCommand("exec day"); // дневной cfg/day.cfg

}

Skybox меняется. Я пытался добавить 3 небо. Но почему то запускается первое. В чем может быть ошибка?

C-подобный:
if(StrEqual(mapname, "awp_lego_2")) // проверяем та ли эта карта

{

  if (time >= 6 || time <= 14)

  {

  ServerCommand("exec day");

  }

  else if (time > 14 || time <= 22)

  {

  ServerCommand("exec morning");

  }

  else

  {

  ServerCommand("exec night");

  }

}
Поменяй везде || на &&
 

Shid0

🦾 Свет даëт мне сил!
Сообщения
1,130
Реакции
1,255
Поменяй везде || на &&
Не помогло, ставится опять первое небо. Может быть что то еще поменять надо?

C++:
public void OnPluginStart() 
{
    HookEvent("round_start", Event_RoundStart, EventHookMode_PostNoCopy);
    MapCycle();
}

public void OnMapStart() 
{
    MapCycle(); 
}

public Action Event_RoundStart(Event event, const char[] name, bool dontBroadcast)
{
    MapCycle();
}
//------Edit parameters after the line---------
public void MapCycle()
{
    char x[4], mapname[64];
    FormatTime(x,sizeof(x),"%H",GetTime());        // получаем часы
    int time = StringToInt(x);            // записываем в переменную time который час
    GetCurrentMap(mapname, sizeof(mapname));        // получаем название карты
    if(StrEqual(mapname, "awp_lego_2"))        // проверяем та ли эта карта
    {       
        if (time >= 6 && time <= 9)
        {
        ServerCommand("exec day");
        }
        else if (time > 9 && time <= 10)
        {
        ServerCommand("exec morning");
        }
        else
        {
        ServerCommand("exec night");
        }
    }
}
 
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
попробуй так
C-подобный:
public void OnPluginStart()
{
    HookEvent("round_start", Event_RoundStart, EventHookMode_PostNoCopy);
    MapCycle();
}

public void OnMapStart()
{
    MapCycle();
}

public Action Event_RoundStart(Event event, const char[] name, bool dontBroadcast)
{
    MapCycle();
}

public void MapCycle()
{
    char buffer[12];
    GetCurrentMap(buffer, sizeof(buffer));    // получаем название карты
    if(strcmp(buffer, "awp_lego_2"))        // проверяем та ли эта карта
        return;

    FormatTime(buffer, sizeof(buffer), "%H", GetTime());// получаем часы
    int time = StringToInt(buffer);                        // записываем в переменную time который час

    if(time > 6 && time < 10)
        ServerCommand("exec morning");
    else if(time > 9 && time < 21)
        ServerCommand("exec day");
    else ServerCommand("exec night");
}
У тебя ошибка в алгоритме проверки времени
 

Shid0

🦾 Свет даëт мне сил!
Сообщения
1,130
Реакции
1,255
Да, работает! Спасибо.
 
Последнее редактирование:
Сверху Снизу