Статья Как сменить небо на карте, и в определенное время?

Tails

Пользователь
Сообщения
475
Решения
14
Реакции
63
Всем большой привет народ! :)

Это статья поможет тем, кто не хочет заморачиваться с поиском плагина, я заметил что плагин мало кому известен, но большинство людей в поиске его и с хорошими тестурами неба. Тестировал на своих серверах, плагин хорошо работает! Прикрепил плагин к статье.

1.8.3 , 1.9.0 , 1.10.0

Плагин называется Effect DayNight 1.1 - AUTHOR "Destro" - Архив прикрепил Red Foxxx Edition - так как я внёс изменения в плагин!

Данный плагин меняет освещение и небо на карте в зависимости от времени суток.

Важно знать!!!
Изменил текстуры неба, так как они были не красивые, я заменил файлы env, и отключил освещения "amx_dn_lights_on", "0" в исходнике day_night.sma , skys.ini тоже переделал, плагин я предоставлю со своими настройками, так же прикрепил заранее скомпилировал плагин amxx для 1.9.0

Пример настройки:

;sky - Небо (Пример:[sky 1])
Hour - время включения и отключения неба (Пример: hour:0,12)
С 12 ночи будет до 12 дня определенное небо, не забываем использовать "," между числами
sky_name - название текстуры неба (Пример: sky_name:space)
lights_level-отвечает за освещение карты (Пример: lights_level:0)
0 - выключить, a - самое тёмное, Z - самое яркое
Вы можете выставлять несколько текстур небо в разное время


Примеры:
[sky 1]
hour:8,14
sky_name:des
lights_level:0

[sky 2]
hour:15,19
sky_name:des
lights_level:0

[sky 3]
hour:20,4
sky_name:polarnight1
lights_level:0

[sky 4]
hour:5,8
sky_name:polarnight1
lights_level:0

#include <amxmodx>
#include <amxmisc>
#include <engine>

#define PLUGIN "effect day/night"
#define VERSION "1.1"
#define AUTHOR "Destro" // Архив RedFoxxx Edition

new g_skyname[32]
new const g_arg[][] = { "bk", "dn", "ft", "lf", "rt", "up" }

new sky_on, lights_on

new g_lights_level[2]

public plugin_init()
set_effect() //no funciona en plugin precache

public plugin_precache()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
sky_on = register_cvar("amx_dn_sky_on", "1")
lights_on = register_cvar("amx_dn_lights_on", "0")

if(!load_data()) return

new precache[64]
for(new i; i < sizeof g_arg; i++)
{
formatex(precache, 63, "gfx/env/%s%s.tga", g_skyname, g_arg)
precache_generic(precache)
}
}

load_data()
{
new file[64]

get_configsdir(file, 63)
format(file, charsmax(file), "%s/skys.ini", file)

if(!file_exists(file))
{
log_amx("skys.ini not found")
return 0
}

new str_hour[3], hour
format_time(str_hour, charsmax(str_hour), "%H")
hour = str_to_num(str_hour)

new buff[36], key[16], value[16], fo_hour[3], to_hour[3], sky_num
new open=fopen(file,"r")

while(!feof(open))
{
buff[0]='^0'
fgets(open, buff, charsmax(buff))
trim(buff)

if(!buff[0] || buff[0] == ';')
continue

if (buff[0] == '[')
{
sky_num++
continue
}

strtok(buff, key, charsmax(key), value, charsmax(value), ':')

trim(key)
trim(value)

if(sky_num)
{
sky_num = 0
if(check_hour(hour, fo_hour, to_hour) && g_skyname[0] && g_lights_level[0])
{
fclose(open)
return 1
}
}

if(equal(key, "hour"))
strtok(value, fo_hour, 2, to_hour, 2, ',')
else if(equal(key, "sky_name"))
copy(g_skyname, charsmax(g_skyname), value)
else if(equal(key, "lights_level"))
copy(g_lights_level, charsmax(g_lights_level), value)
}
if(check_hour(hour, fo_hour, to_hour) && g_skyname[0] && g_lights_level[0])
{
fclose(open)
return 1
}

log_amx("misconfigured sky.inil")

fclose(open)
return 0
}

stock check_hour(hour, fo_hour[3], to_hour[3]){
if(str_to_num(fo_hour) <= hour <= str_to_num(to_hour))
return 1
return 0
}

set_effect()
{
if(g_skyname[0] && get_pcvar_num(sky_on))
set_cvar_string("sv_skyname", g_skyname)

if(g_lights_level[0] && get_pcvar_num(lights_on))
set_lights(g_lights_level)
else set_lights("#OFF")
}



Скомпилировать .sma или установить уже скомпилированный .amxx

Закинуть в:
addons/amxmodx/plugins - day_night.amxx

addons/amxmodx/configs - skys.ini

gfx/env - polarnight1bk.tga , polarnight1dn.tga , polarnight1ft.tga , polarnight1lf.tga , polarnight1rt.tga , polarnight1up.tga
 

Вложения

  • Effect DayNight 1.3 Red Foxxx Edition.zip
    417.2 KB · Просмотры: 35
Последнее редактирование модератором:
исходник нужно под спойлер класть
архив нужно .zip архивировать
куда класть папку env? инструкции нет
очень длинный заголовок
 
было бы удобнее иерархию файлов в архиве сделать, чтоб в корне была папка addons и gfx
 
@SKAJIbnEJIb, исправил недочёты, и еще версию плагина, короче все исправил
 
@RedFoxxx,привет.Очень интересный плагин,Но!Есть не дочеты.
Код:
;sky - Небо (Пример:[sky 1])
;Hour - время включения и отключения неба (Пример: hour:0,12) 
;С 12 ночи будет до 12    дня определенное небо, не забываем использовать "," между числами
;sky_name - название текстуры неба (Пример: sky_name:space)
;lights_level-отвечает за освещение карты  (Пример: lights_level:0)
;0 - выключить, a - самое тёмное, Z - самое яркое
;Вы можете выставлять несколько текстур небо в разное время


[sky 1]
hour:5,9
sky_name:Desws
lights_level:b

[sky 2]
hour:10,18
sky_name:greens
lights_level:Z

hour:19,4
sky_name:plume
lights_level:c


Почему прогрузка идет сразу не всех файлов ,а прогружает тогда,когда меняется карта только тогда грузит следующий файл [sky 1] [sky 2] [sky 3] и т.д?
И не лучше что бы смена неба была в начале раунда по времени,но не при смене карты.Карту могут одну гонять весь день,те же самые онли дасты
 
Последнее редактирование:
Почему прогрузка идет сразу не всех файлов ,а прогружает тогда,когда меняется карта только тогда грузит следующий файл [sky 1] [sky 2] [sky 3] и т.д?
И не лучше что бы смена неба была в начале раунда по времени,но не при смене карты.Карту могут одну гонять весь день,те же самые онли дасты
Привет, это естественные вещи, как и любой серверо держатель, ты должен знать, любой функционал который вносится в плагин или же запуск другой либо новой функций на сервере, вступает в силу после смены карты или перезапуска сервера
 
Привет, это естественные вещи, как и любой серверо держатель, ты должен знать, любой функционал который вносится в плагин или же запуск другой либо новой функций на сервере, вступает в силу после смены карты или перезапуска сервера
Как серверо держатель повторяю, почему у тебя не прогружает все файлы небо сразу же, а только после каждой смены карты прогружает следующий установленный файл😄
P. S все файлы были загружены и установлены разово.
Объясняю процесс:
После загрузки всех файлов неба и рестарта сервера ,при заходе на сервер грузит первый файл неба.
Далее, после смены карты грузит 2 файл неба и т. д
 
Как серверо держатель повторяю, почему у тебя не прогружает все файлы небо сразу же, а только после каждой смены карты прогружает следующий установленный файл😄
P. S все файлы были загружены и установлены разово.
Объясняю процесс:
После загрузки всех файлов неба и рестарта сервера ,при заходе на сервер грузит первый файл неба.
Далее, после смены карты грузит 2 файл неба и т. д
Плагин тестировался на нескольких серверах, и долгое время, такое слышу впервые, тут проблема не со стороны плагина, а со стороны сервера, если есть "проблемы на сервере", есть специальные разделы на этом форуме или на других форумах. Рекомендую перепроверить настройки сервера, которые отвечают за скачивание со стороны сервера для клиента.
 
@RedFoxxx,ну видимо придется ставить Nordic Warrior плагин) так как с ним такой проблемы нет)
Спасибо за ответы :)
 
@борис,так и с данным плагином проблемы такой нет, плагин работает на серверах нормально
 
@RedFoxxx,хорошо, перепроверю ещё раз на днях.
А если по моим хотелкам? Можно ли смену неба сделать не после смены карты, а именно в начале раунда?
 
А если по моим хотелкам? Можно ли смену неба сделать не после смены карты, а именно в начале раунда?
Возможно даже, если это происходит у тебя одного или пару человек на сервере, то проблемы со стороны твоей кс.

"Если по твоим хотелкам" - на разных форумах есть специальные разделы покупок, думаю за не большую плату, ребята не откажут переделать плагин под твой желания. Хотя я сомневаюсь что это возможно, так как любая новая функция для сервера который мы вносим или меняем значения кваров не важно что именно, все это вступают в силу только после смены карты или перезагрузки сервера, у плагина идет функция смена режима через квары которые запускаются в определенное время, собственно, что бы они работали, нужно менять карту или перезагружать сервера.
 
@RedFoxxx, по поводу раздела покупок к примеру (дев сайта), я в курсе 😅
Но думаю там " не переделывать", а писать с нуля😄
 
Сверху
Назад