[SHOP+VIP] SkyBox

[SHOP+VIP] SkyBox 1.3.0

Rimmer

Помогаю новичкам / Переводчик / Тестер / Заказчик
Сообщения
1,368
Реакции
753
  • Автор ресурса
  • #1
Rimmer добавил(а) новый ресурс:

[SHOP+VIP] SkyBox - Покупка SkyBox, а так же показывает чужие SkyBox`ы 😱

Описание:
Данный плагин позволяет покупать SkyBox в !shop, а так же показывает поставленные SkyBox`ы других игроков с возможностью отключения.

Возможности:
➞ Покупка доступа только для Shop Core
ㅤ↳ Покупка SkyBox`ов в Shop Core (В...

Узнать больше об этом ресурсе...
 

CraZzy

Участник
Сообщения
60
Реакции
14
У меня баг. После того как я продал доступ в шопе я все равно могу использовать комманду и выбирать небо.
VIP-ки нету.
Возможно из-за того что у меня K1-LK Shop от Кинга. У кого как?
// Использовать ядро Shop.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_skybox_shop_use "1"

// Использовать ядро VIP.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_skybox_vip_use "1"
 

Rimmer

Помогаю новичкам / Переводчик / Тестер / Заказчик
Сообщения
1,368
Реакции
753
  • Автор ресурса
  • #5
У меня баг. После того как я продал доступ в шопе я все равно могу использовать комманду и выбирать небо.
VIP-ки нету.
Возможно из-за того что у меня K1-LK Shop от Кинга. У кого как?
// Использовать ядро Shop.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_skybox_shop_use "1"

// Использовать ядро VIP.
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
sm_skybox_vip_use "1"
Уже известно, исправлю...
 

MaZa

Участник
Сообщения
1,732
Реакции
980
У меня чуть глаза не вырвались наружу когда я открыл код, особенно с 130 строки Skybox/skybox.sp at main · NickFox007/Skybox
По сути должен быть простой плагин, но код написан ужасно.
Более чем кажется что код местами вырван откуда то, зачем не понятно.

А более забавная ситуация, это когда ты наезжал на мой анти-чит и такую интригу наводил что ты там свою крутую суперпурескую систему анти-чита разрабатываешь (в итоге только слова).

Предупреждение: Плагин вызывает лишнюю нагрузку и бессмысленную нагрузку, решать ставить вам или нет.
 
Последнее редактирование:

Rimmer

Помогаю новичкам / Переводчик / Тестер / Заказчик
Сообщения
1,368
Реакции
753
  • Автор ресурса
  • #7
У меня чуть глаза не вырвались наружу когда я открыл код, особенно с 130 строки Skybox/skybox.sp at main · NickFox007/Skybox
По сути должен быть простой плагин, но код написан ужасно.
Более чем кажется что код местами вырван откуда то, зачем не понятно.

А более забавная ситуация, это когда ты наезжал на мой анти-чит и такую интригу наводил что ты там свою крутую суперпурескую систему анти-чита разрабатываешь (в итоге только слова).

Предупреждение: Плагин вызывает лишнюю нагрузку и бессмысленную нагрузку, решать ставить вам или нет.
Не знаю какие у вас там личные конфликты, но он самый первый кто откликнулся на мою идею, насчет нагрузки я не разбираюсь но вроде никто не жалуется из игроков.

Осталось лишь ДОДЕЛАТЬ плагин и все, а сейчас это грубо говоря прототип.
 

NickFox

Обычный лисюк
Сообщения
138
Реакции
148
У меня чуть глаза не вырвались наружу когда я открыл код, особенно с 130 строки Skybox/skybox.sp at main · NickFox007/Skybox
По сути должен быть простой плагин, но код написан ужасно.
Более чем кажется что код местами вырван откуда то, зачем не понятно.

А более забавная ситуация, это когда ты наезжал на мой анти-чит и такую интригу наводил что ты там свою крутую суперпурескую систему анти-чита разрабатываешь (в итоге только слова).

Предупреждение: Плагин вызывает лишнюю нагрузку и бессмысленную нагрузку, решать ставить вам или нет.
Оффтоп
Насчет того, что "код местами вырван откуда-то" - потому что он изначально базируется на старом плагине VIP Skybox, в котором столько моментов непонятных (в том плане, что почему тот или иной фрагмент написан именно так, а не по другому, уже с @Muinez обсуждали даже). По сути, это лишь начальная надстройка над тем плагином, которая впоследствии будет перерабатываться полностью
Насчёт 130 строки в коде не понял претензии. Ну кроме того, что каждый кадр проверяется, за кем следит тот или иной игрок. Именно игрок, а не все игроки сразу. Могу понять лишь из-за использования ArrayList, который действительно медленнее, но и это позднее будет исправлено
 
  • Фэйспалм
Реакции: MaZa

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
никто не жалуется из игроков.
Ага, игроки будут жаловаться на нагрузку, которая грузит сервак

Кстати по ссылке говнокод из-за которого будут задержки при переключении скайбокса до целой секунды (чем больше людей на сервере тем больше вероятность задержки и её длительность).

Я со смарта код глянул бегло: говнокода много.
Сейчас м/б ещё с ПК нормально просмотрю и ещё найду.
 

Rimmer

Помогаю новичкам / Переводчик / Тестер / Заказчик
Сообщения
1,368
Реакции
753
  • Автор ресурса
  • #10
Ага, игроки будут жаловаться на нагрузку, которая грузит сервак

Кстати по ссылке говнокод из-за которого будут задержки при переключении скайбокса до целой секунды (чем больше людей на сервере тем больше вероятность задержки и её длительность).

Я со смарта код глянул бегло: говнокода много.
Сейчас м/б ещё с ПК нормально просмотрю и ещё найду.
Хорошо, теперь понял, будем исправляться...
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
Ну вот хотя бы размер ячеек в массивах:
C-подобный:
    g_sSelSB = new ArrayList(ByteCountToCells(MAXPLAYERS+1));
    g_sSelected = new ArrayList(ByteCountToCells(MAXPLAYERS+1));
При том, что
C-подобный:
ByteCountToCells Function
    Given a maximum string size (including the null terminator), returns the number of cells required to fit that string.
При чём тут максимальное количество игроков на сервере?
Сообщения автоматически склеены:

if(cInfo[0] != NULL_STRING[0])
ШТА?! 🤨
Сообщения автоматически склеены:

Классная у тебя функция DisplayMainMenu().
Привет утечки памяти: меню каждый раз создаётся, но никогда старое не убивается.

Ещё хороша функция LoadSkybox().
При каждой смене карты у тебя идёт чтение из конфига в KeyValues, которые чистятся только перед SetFailState() (т.е. когда смысла в этом уже нет никакого, т.к. плагин и так выгружается со всеми своими хэндлами).

C-подобный:
bool IsValidClient(int client){
    if(client>1&&client<65
ШТА?! 🤨
С чего это ты вдруг решил, что индекс игрока больше 1 является в данный момент валидным, а игрок с индексом 1 - не валидный?


И, bljad, оформляй код плагина везде одинаково: что за прикол ставить открывающиеся фигурные скобки то в конце строки, то в начале?
Натырил код из разных плагинов практически без понимания где, что и для чего нужно.
 
Последнее редактирование:

NickFox

Обычный лисюк
Сообщения
138
Реакции
148
Ага, игроки будут жаловаться на нагрузку, которая грузит сервак

Кстати по ссылке говнокод из-за которого будут задержки при переключении скайбокса до целой секунды (чем больше людей на сервере тем больше вероятность задержки и её длительность).

Я со смарта код глянул бегло: говнокода много.
Сейчас м/б ещё с ПК нормально просмотрю и ещё найду.
Оптимизация впоследствии будет получше, чем имеется, но насчёт переключения скайбоксов уточню:
1. Показ чужого неба не просто так можно отключить при необходимости
2. Именно из-за далеко не столь быстрой смены неба в коде введена отдельная проверка, показывающая, совпадает ли тот скайбокс, который хотим поставить, с тем, который ему уже установлен. Без проверки фризы дичайшие, что можно проверить легко, просто закомментировав\поправив пару строк
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,980
@NickFox,ещё посмотрел код.
За GetClientCookie() в MenuAction_DisplayItem уже нужно грабли повыдёргивать: ты дёргаешь куки (т.е. БД, фиг с ним, что кэшированную) при каждом обновлении меню, для каждого пункта меню (а их у тебя не менее 7 на страницу).
 

NickFox

Обычный лисюк
Сообщения
138
Реакции
148
@NickFox,ещё посмотрел код.
За GetClientCookie() в MenuAction_DisplayItem уже нужно грабли повыдёргивать: ты дёргаешь куки (т.е. БД, фиг с ним, что кэшированную) при каждом обновлении меню, для каждого пункта меню (а их у тебя не менее 7 на страницу).
Поэтому и будет переработка. Косяк здесь признаю, торопился

Ну вот хотя бы размер ячеек в массивах:
C-подобный:
    g_sSelSB = new ArrayList(ByteCountToCells(MAXPLAYERS+1));
    g_sSelected = new ArrayList(ByteCountToCells(MAXPLAYERS+1));
При том, что
C-подобный:
ByteCountToCells Function
    Given a maximum string size (including the null terminator), returns the number of cells required to fit that string.
При чём тут максимальное количество игроков на сервере?
Сообщения автоматически склеены:

if(cInfo[0] != NULL_STRING[0])
ШТА?! 🤨
Сообщения автоматически склеены:

Классная у тебя функция DisplayMainMenu().
Привет утечки памяти: меню каждый раз создаётся, но никогда старое не убивается.

Ещё хороша функция LoadSkybox().
При каждой смене карты у тебя идёт чтение из конфига в KeyValues, которые чистятся только перед SetFailState() (т.е. когда смысла в этом уже нет никакого, т.к. плагин и так выгружается со всеми своими хэндлами).

C-подобный:
bool IsValidClient(int client){
    if(client>1&&client<65
ШТА?! 🤨
С чего это ты вдруг решил, что индекс игрока больше 1 является в данный момент валидным, а игрок с индексом 1 - не валидный?
Про ArrayList я уже упоминал, что от него откажусь, как и про то, что очень много кода осталось с оригинала. LoadSkyBox тоже относится сюда. Его я пока не перерабатывал. Но за указание на косяк в IsValidClient благодарю. По невнимательности ошибку допустил
 
  • Фэйспалм
Реакции: MaZa

WodiX

Участник
Сообщения
202
Реакции
29
Почему-то когда я ставлю skybox то он ставиться на 1 сек а потом возвращается к старому skybox от карты!
 

Tyosensya

Участник
Сообщения
65
Реакции
5
Как отключить shop
[SM] Unable to load plugin "skybox.smx": Could not find required plugin "shop"
И не создается файл /cfg/sourcemod/skybox.cfg
 
Последнее редактирование:
Сообщения
368
Реакции
114
В каком смысле отключить shop ?

Для чего вам этот плагин ? Плагин ставит и в вип и в шоп скайбоксы , если вам нужен отдельный плагин для vip skybox , то вот ОН .

Если вы хотите сделать возможность ставить skybox всем игрокам , то вот плагин , который вам поможет - Плагин .

Если вам просто надо сменить skybox на карте , то ОНО , вам поможет .
Сообщения автоматически склеены:

Как отключить shop
[SM] Unable to load plugin "skybox.smx": Could not find required plugin "shop"
И не создается файл /cfg/sourcemod/skybox.cfg
Чтобы решить данную проблему , установите SHOP .
 

Rimmer

Помогаю новичкам / Переводчик / Тестер / Заказчик
Сообщения
1,368
Реакции
753
  • Автор ресурса
  • #18
Плагин сейчас не стабилен, возможно лаги при подключении игроков.
Поставил версию плагина Beta, работает над устранением...
В каком смысле отключить shop ?

Для чего вам этот плагин ? Плагин ставит и в вип и в шоп скайбоксы , если вам нужен отдельный плагин для vip skybox , то вот ОН .

Если вы хотите сделать возможность ставить skybox всем игрокам , то вот плагин , который вам поможет - Плагин .

Если вам просто надо сменить skybox на карте , то ОНО , вам поможет .
Сообщения автоматически склеены:


Чтобы решить данную проблему , установите SHOP .
Ему скорее всего нужно новая фишка которая позволяет видеть чужой SkyBox.
Как отключить shop
[SM] Unable to load plugin "skybox.smx": Could not find required plugin "shop"
И не создается файл /cfg/sourcemod/skybox.cfg
Мы работает над этим...
А точнее что бы требовала или VIP или SHOP или То и То.
 

Tyosensya

Участник
Сообщения
65
Реакции
5
Мне он нужен чтоб другие видели какой скайбокс стоит у игрока, это единственное что отличает этот от других
 

Tavian

Участник
Сообщения
1,184
Реакции
119
Мне он нужен чтоб другие видели какой скайбокс стоит у игрока, это единственное что отличает этот от других
Тоже интересует только это, что-бы другие игроки видели какой скайбокс стоит у вип игрока за которым они наблюдают. Вот было бы ништяк.
 
Сверху Снизу