Перейти к содержимому


Фотография

Смена skybox (неба) на картах CS:GO

skybox ылнищч skyname ылнтфьу смена skybox плагин

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 42

#21 Dreizehnt

Dreizehnt

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 632 сообщений

Отправлено 05 Март 2016 - 0:32

Подведу итог обсуждения и можно тему закрывать и пользоваться. Я задавался целью сменить небо на одной карте по времени суток, что собственно получилось благодаря добрым и умным людям на форуме. Но тут много чего обсудили.  :)
 
1. Немного теории. Skybox - текстура для оформления карты за её границами: небо, здания, горизонт, солнце... На всех картах CS:GO есть "скайбокс", это стандартная текстура, изменению не подлежит, но есть карты, где авторы используют свой "скайбокс", но отображается он как один из стандартных, так же на картах помимо неба, есть "светило", которое не зависит от "скайбокса" и чаще всего оно настроено разработчиком так, что бы сочетаться со своим стандартным "скайбоксом", поэтому может желтить свет при выборе сероватого неба, я не разработчик карт, поэтому опустим данные моменты. Мы хотим сменить небо прямо сейчас!  :D Представляет собой текстура куб. Многие названия можете найти здесь (не путайте с CS:S), но это не все, что существуют: https://developer.va...ensive_Sky_List
 
2. Допустим, у Вас карта de_dust, "скайбокс" на этой карте sky_dust (имена не всегда соответствуют названиям карт). Узнать это можно, зайдя на карту и вписав в консоли начало команды sv_skyname - выплывет обычное окно, которое предложит дописать команду (как обычно в консоли при вводе) и там будет видно название, sv_skyname - это серверная команда, на клиенте, не имея сервера, сможете менять "скайбоксы" только на локальном сервере с ботами при включенной переменной sv_cheats 1.
 
3. Команда sv_skyname по принципу работы - это переключатель, дополнительных параметров у неё нет. Для смены "скайбокса" на сервере, пишете в конфиг (server.cfg или gamemodes_ЛЮБОЙрежим_server.cfg) строку sv_skyname sky_cs15_daylight01_hdr (например sky_cs15_daylight01_hdr захотели) - эта команда распространиться на все карты сервера, т.е. у всех карт заменится "скайбокс". Если у Вас одна карта, то вы достигли цели, сменили небо карты, сделали сервер не такой как у всех. Если карт много, то будет где-то красиво, а где-то не в тему. Можете подобрать один такой, который вас устроит на всех картах.
 
4. Для смены "скайбокса" каждой карте сервера Вам нужно будет отредактировать SCRIPT1.sp (есть во вложениях, пользоваться рекомендую редактором Notepad++) и скомпилировать (создать плагин) его здесь: http://www.sourcemod.net/compiler.php, потом положить в папку с плагинами. Если всё сделали верно, то увидите разное небо на картах.
 
5. Я же хотел одной карте поставить два времени суток. Для этого используем SCRIPT2.sp, редактируем, компилируем, кладём в плагины и создаём конфиги day.cfg и night.cfg, в них пишем sv_skyname blablabla (где blablabla - название "скайбокса"), сохраняем и кладём файлы в cfg папку сервера.
 
6. Для нескольких карт поставить два времени суток, думаю, можно, совместив два скрипта в один и также скомпилировав, можно добавить больше конфигов и расписать небо по полной - но я не проверял... Пробуйте, должно работать.
 
Удачи, если захотите попробовать!  B)
 
 
UPD 05.03.16: Подправил exec в "скрипт 2".
 

Прикрепленные файлы

  • Прикрепленный файл  SCRIPT1.sp   599байт   94 Количество загрузок:
  • Прикрепленный файл  SCRIPT2.sp   1,21К   100 Количество загрузок:

Сообщение отредактировал Dreizehnt: 05 Март 2016 - 17:49

  • Temkqa, Venata, DiSonDS и еще 1 это нравится

#22 SHAREN

SHAREN

    Пользователь

  • Пользователь
  • PipPipPip
  • 257 сообщений

Отправлено 05 Март 2016 - 13:22

UPD: Плагин работает, но "спамит" похоже командой, т.к. привязал say, и видно когда конфиг србатывает... Работает главное.

Типа "переменная изменена" спамит? По идее это можно исправить.
есть такие функции GetConVarString SetConVarString
 

5. Я же хотел одной карте поставить два времени суток. Для этого используем SCRIPT2.sp, редактируем, компилируем, кладём в плагины и создаём конфиги day.cfg и night.cfg, в них пишем sv_skyname blablabla (где blablabla - название "скайбокса"), сохраняем и кладём файлы в cfg папку сервера.

только в скрипте не заменена команда sm_exec на exec
 
Ну и ещё чтобы конфиг был на определенную карту вроде как в папку maps/cfg нужно конфиг с названием карты закинуть либо плагином Map configs with prefix support 1.3

Сообщение отредактировал SHAREN: 05 Март 2016 - 13:22

  • Dreizehnt это нравится

#23 Dreizehnt

Dreizehnt

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 632 сообщений

Отправлено 09 Март 2016 - 20:27

Может кто-нибудь знает как скормить серверу "кастомный скайбокс"?

 

Если файлы "скайбокса" закинуть в materials клиента, то работает, а если папку сервера, то артефакты.



#24 SHAREN

SHAREN

    Пользователь

  • Пользователь
  • PipPipPip
  • 257 сообщений

Отправлено 10 Март 2016 - 2:00

Может кто-нибудь знает как скормить серверу "кастомный скайбокс"?
 
Если файлы "скайбокса" закинуть в materials клиента, то работает, а если папку сервера, то артефакты.

Возможно поможет https://forums.allie...ad.php?p=602270
через этот плагин пропиши свои скайбоксы чтобы они качались игрокам.

А вообще лучше по подробнее опиши что за артефакты (скриншоты, ошибки)

#25 Dreizehnt

Dreizehnt

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 632 сообщений

Отправлено 12 Март 2016 - 17:23

Возможно поможет https://forums.allie...ad.php?p=602270
через этот плагин пропиши свои скайбоксы чтобы они качались игрокам.

А вообще лучше по подробнее опиши что за артефакты (скриншоты, ошибки)

Я ошибся с папками вообщем, работает как должно. А артефакт такой был, что если "скайбокс" неправильно загружен, то его нет считай и фоном становятся множащаяся пустота)))

 

8973048.png


Игрокам не скачивается skybox :(, у меня закачан заранее был, поэтому работает.

8957693.png


Сообщение отредактировал Dreizehnt: 12 Март 2016 - 18:01


#26 Nekro

Nekro

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 7 581 сообщений

Отправлено 12 Март 2016 - 20:00

Я ошибся с папками вообщем, работает как должно. А артефакт такой был, что если "скайбокс" неправильно загружен, то его нет считай и фоном становятся множащаяся пустота)))

8973048.png

Игрокам не скачивается skybox :(, у меня закачан заранее был, поэтому работает.
8957693.png

Ну выставить на скачку. А вообще он должен быть по идеи.

#27 Dreizehnt

Dreizehnt

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 632 сообщений

Отправлено 12 Март 2016 - 20:06

Ну выставить на скачку. А вообще он должен быть по идеи.

Как принудительно выставить?



#28 Nekro

Nekro

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 7 581 сообщений

Отправлено 12 Март 2016 - 20:09

Как принудительно выставить?

Ну файлы в загрузчик закинь.
  • Dreizehnt это нравится

#29 segas

segas

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 489 сообщений

Отправлено 12 Март 2016 - 20:13

Как принудительно выставить?

sm_downloader поставь


  • Dreizehnt это нравится

#30 Dreizehnt

Dreizehnt

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 632 сообщений

Отправлено 12 Март 2016 - 21:15

Красота, теперь скачивается и работает, спасибо))



#31 segas

segas

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 489 сообщений

Отправлено 12 Март 2016 - 21:29

Красота, теперь скачивается и работает, спасибо))

Зашел проверил работает, хотя странно, скачивается и карта и скайбокс вместе. Первый раз вижу, чтобы 2 файла скачивались одновременно  :) Это даже +, чем -


Сообщение отредактировал segas: 12 Март 2016 - 21:33


#32 Dreizehnt

Dreizehnt

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 632 сообщений

Отправлено 12 Март 2016 - 21:38

Зашел проверил работает, хотя странно, скачивается и карта и скайбокс вместе. Первый раз вижу, чтобы 2 файла скачивались одновременно  :) Это даже +, чем -

Ты немного раньше зашел, этот "скайбокс" был из стандартных, но он нигде не написан. Я просто планеты на дневное время поставил, такое инфернальное зрелище получилось XD А тёмные на ночь ищу)



#33 Venata

Venata

    Участник

  • Пользователь
  • PipPip
  • 122 сообщений

Отправлено 14 Март 2016 - 19:39

Ты немного раньше зашел, этот "скайбокс" был из стандартных, но он нигде не написан. Я просто планеты на дневное время поставил, такое инфернальное зрелище получилось XD А тёмные на ночь ищу)

А как сделать рандомный скайбокс из имеющихся стандартных (или даже нестандартных)? Не тупо прописывать для каждой карты, а сделать выбор случайным.



#34 Dreizehnt

Dreizehnt

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 632 сообщений

Отправлено 14 Март 2016 - 19:42

А как сделать рандомный скайбокс из имеющихся стандартных (или даже нестандартных)? Не тупо прописывать для каждой карты, а сделать выбор случайным.

Это, наверное, ещё один скрипт писать нужно  :D



#35 Kakoin

Kakoin

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 8 969 сообщений

Отправлено 14 Март 2016 - 19:44

Это, наверное, ещё один скрипт писать нужно  :D

Можно и в этом дописать.

Щас попробую что-то придумать, но результат не гарантирую.

#36 Venata

Venata

    Участник

  • Пользователь
  • PipPip
  • 122 сообщений

Отправлено 14 Март 2016 - 20:09

Можно и в этом дописать.

Щас попробую что-то придумать, но результат не гарантирую.

В 1.6 был очень классный плагин на эту тему, там был список из доступных текстур неба, т.е. можно было вписать свое небо и как-то рандомно в начале карты происходил выбор текстурки.



#37 Kakoin

Kakoin

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 8 969 сообщений

Отправлено 14 Март 2016 - 20:10

Чет я долго тупил над ним  :(
 
 
#pragma semicolon 1
#include <sourcemod>
#include <sdktools_stringtables>
#define PLUGIN_VERSION "1.0.0"
char Skybox[][] = {"blablabla", "tralalala" , "lolololol", "blolololo"};
int sky;
public Plugin:myinfo =
{
name = "Skybox changer",
author = "SHAREN",
version  = PLUGIN_VERSION,
description = "Establishes other skyboxes on server maps.",
};
public void randomsbybox()
{
for(int i = 0; i < sizeof(Skybox); i++)
{
  sky = GetRandomInt(0, i);
}

ServerCommand("sv_skyname %s",Skybox[sky]);
AddFileToDownloadsTable(Skybox[sky]);
PrecacheModel(Skybox[sky]);
}
public void OnMapStart()
{
char mapname[64];
GetCurrentMap(mapname, sizeof(mapname));
if(StrEqual(mapname, "de_dust2"))
{
  randomsbybox();
}
}
Добавил заодно автозагрузку.

Насчет PrecacheModel я вот не знаю нужен он тут или нет.
  • SHAREN, Venata и Dreizehnt это нравится

#38 Venata

Venata

    Участник

  • Пользователь
  • PipPip
  • 122 сообщений

Отправлено 15 Март 2016 - 19:31

Чет я долго тупил над ним  :(
 
 

#pragma semicolon 1
#include <sourcemod>
#include <sdktools_stringtables>
#define PLUGIN_VERSION "1.0.0"
char Skybox[][] = {"blablabla", "tralalala" , "lolololol", "blolololo"};
int sky;
public Plugin:myinfo =
{
name = "Skybox changer",
author = "SHAREN",
version  = PLUGIN_VERSION,
description = "Establishes other skyboxes on server maps.",
};
public void randomsbybox()
{
for(int i = 0; i < sizeof(Skybox); i++)
{
  sky = GetRandomInt(0, i);
}

ServerCommand("sv_skyname %s",Skybox[sky]);
AddFileToDownloadsTable(Skybox[sky]);
PrecacheModel(Skybox[sky]);
}
public void OnMapStart()
{
char mapname[64];
GetCurrentMap(mapname, sizeof(mapname));
if(StrEqual(mapname, "de_dust2"))
{
  randomsbybox();
}
}
Добавил заодно автозагрузку.

Насчет PrecacheModel я вот не знаю нужен он тут или нет.

 

 

А кастомные скайбоксы кидаются просто в папку materials?

И откуда такой интересный скайбокс? На геймбанане что-то для ксго нет боксов, да и вгугле, возможно из ксс подойдут под ксго?



#39 Kakoin

Kakoin

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 8 969 сообщений

Отправлено 15 Март 2016 - 19:49

А кастомные скайбоксы кидаются просто в папку materials?

Вот это хз

И откуда такой интересный скайбокс? На геймбанане что-то для ксго нет боксов, да и вгугле, возможно из ксс подойдут под ксго?


Ты про этот ?

 
8973048.png
 



#40 Dreizehnt

Dreizehnt

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 632 сообщений

Отправлено 15 Март 2016 - 19:51

Он как раз с бананы и есть...





Темы с аналогичным тегами skybox, ылнищч, skyname, ылнтфьу, смена skybox, плагин

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных