Server Bank

☠ ÄйӃи ☠

Добрая душа
Сообщения
220
Реакции
86
  • Автор ресурса
  • #1
☠ ÄйӃи ☠ добавил(а) новый ресурс:

[SHOP] Server Bank - Это модуль плагина SHOP и ядро для своих модулей, которое добавит на сервер систему банка кредитов.

Представляю вашему вниманию плагин который идёт как модуль для системы SHOP и является ядром для своих модулей.
Возможно объединить и с Spawn Random Bonus

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

Rimmer

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

[SHOP] Server Bank - Это модуль плагина SHOP и ядро для своих модулей, которое добавит на сервер систему банка кредитов.



Узнать больше об этом ресурсе...
Я тупой или тупой, что в итоге то делает плагин????
То что он модуль шопа оно видно.
Этот плагин типа добавляет сервера в SHOP или Соединяет сервера и в итоге у игроков там и там одинаковые кол-во кредов????
 

☠ ÄйӃи ☠

Добрая душа
Сообщения
220
Реакции
86
  • Автор ресурса
  • #3
Я тупой или тупой, что в итоге то делает плагин????
То что он модуль шопа оно видно.
Этот плагин типа добавляет сервера в SHOP или Соединяет сервера и в итоге у игроков там и там одинаковые кол-во кредов????
Моя невнимательность, я не добавил подробного объяснения.
 

Faya™

Жуестер
Сообщения
867
Реакции
457
Использовать в ядре свои же нативы не есть хорошо.

Ты проверял плагин?
Потому что запросы к бд асинхронные, а в нативе у тебя идет запрос в бд, и возврат значение кредитов в банке. Хотя запрос установит значение после того как натив ретернет значение.
1642580342390.png
 

☠ ÄйӃи ☠

Добрая душа
Сообщения
220
Реакции
86
  • Автор ресурса
  • #5
Использовать в ядре свои же нативы не есть хорошо.

Ты проверял плагин?
Потому что запросы к бд асинхронные, а в нативе у тебя идет запрос в бд, и возврат значение кредитов в банке. Хотя запрос установит значение после того как натив ретернет значение.
Спасибо за внимательность. Учту и исправлю.
Да проверял, работает правильно. (Визуально и по логам без ошибок)
Буду исправлять.
 

☠ ÄйӃи ☠

Добрая душа
Сообщения
220
Реакции
86
  • Автор ресурса
  • #10
☠ ÄйӃи ☠ обновил(а) ресурс [SHOP] Server Bank новой записью:

Оптимизация и исправления

Оптимизировано
Добавлена настройка имени банка в таблицы базы данных (Для нескольких серверов в одной таблице для разделения банков на проекте)
Исправлена работа таймера отображения в чат сообщения о наличии средств банка.
Исправлена работа нативов плагина.
Учтены некоторые замечания и исправлены.

Узнать больше об этом обновлении...
 

☠ ÄйӃи ☠

Добрая душа
Сообщения
220
Реакции
86
  • Автор ресурса
  • #11
☠ ÄйӃи ☠ обновил(а) ресурс [SHOP] Server Bank новой записью:

Фикс и добавление форварда

Добавлен Forward Bank_loaded()
Убрана зависимость ядра от плагина SHOP т.е можно запустить ядро банка без плагина SHOP.
Исправлен натив Shop_BankGetConfigSettings, спасибо R1KO

Узнать больше об этом обновлении...
 

PCH3LK1N

Участник
Сообщения
82
Реакции
14
Какая команда, чтобы меню банка открыть?
 

☠ ÄйӃи ☠

Добрая душа
Сообщения
220
Реакции
86
  • Автор ресурса
  • #14
☠ ÄйӃи ☠ обновил(а) ресурс Server Bank новой записью:

Тотальное обновление

Добавлены нативы
  1. Get_BankDataBase - вернёт подключение к базе данных для модулей.
  2. BanPlayerBank - Позволит дать мут+гаг или забанить игрока а так-же можно использовать для добавления в ЧС (На определённое время) банка вместо банов и мутов. Поддержка Material Admin и SourceBans++
  3. IsClientBlackList - Вернет true если игрок в ЧС банка или false нет нет в ЧС банка
  4. DeleteClientBlackList - Удалит из ЧС банка.

Исправлена работа первоначальных нативов
BankGetCredits &...

Узнать больше об этом обновлении...
 

☠ ÄйӃи ☠

Добрая душа
Сообщения
220
Реакции
86
  • Автор ресурса
  • #16
ПМните, когда ядро и модули будут полностью работоспособны и без ошибок!
В данный момент это уже случилось. Извиняюсь за частые обновления, это из за того что я тестировал на доступных мне играх и всё работало без ошибок. Но! В Go полезли ошибки и надо было их исправлять.
С чего я сделал вывод что ядро надо переписывать и дополнять функциями для модулей.
Больше обновлений не планируется в ближайшее время. (Минимум на месяца 1.5-2) уезжаю в командировку и не смогу тут быть в этот период времени.
 

hyperpublic

Участник
Сообщения
21
Реакции
1
В данный момент это уже случилось. Извиняюсь за частые обновления, это из за того что я тестировал на доступных мне играх и всё работало без ошибок. Но! В Go полезли ошибки и надо было их исправлять.
С чего я сделал вывод что ядро надо переписывать и дополнять функциями для модулей.
Больше обновлений не планируется в ближайшее время. (Минимум на месяца 1.5-2) уезжаю в командировку и не смогу тут быть в этот период времени.
Раз уезжаете, тогда тем более не планирую ставить ядро и модули)
Сообщения автоматически склеены:

Кто ставил обновлённое Ядро и модули на CSGO, как Вы там, ошибки имеются?
 

☠ ÄйӃи ☠

Добрая душа
Сообщения
220
Реакции
86
  • Автор ресурса
  • #18
@hyperpublic, Дело каждого =)
Ядро и модули протестированы в L4d и l4d2 в Cs:Go и Source OB ошибок в работе не обнаружено.
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #19
@☠ ÄйӃи ☠, inc ужасен:
1. Что в нем делает это ?
C-подобный:
native bool SBPP_BanPlayer(int client, int target, int time, char[] reason);
native bool MABanPlayer(int client, int target, int type, int time, char[] reason);
native bool SourceComms_SetClientMute(int client, bool muteState, int muteLength = -1, bool saveToDB = false, const char[] reason = "Muted through Server Bank");
native bool MASetClientMuteType(int iClient, int iTarget, char[] sReason, int iType, int iTime = 0);
2. Советую все нативы привести в один вид и с одинаковым префиксом, потому что такие общие имена могут конфликтовать:

C-подобный:
native bool IsClientBlackList(int client);
native void DeleteClientBlackList(int client);
->

C-подобный:
native Database Bank_GetDataBase();
forward void Bank_OnLoaded();

native bool Bank_IsClientInBlackList(int client);
native void Bank_DeleteClientFromBlackList(int client);
3. Не очень понимаю почему в нем фигурирует понятие "Credits" вроде ни слова про шоп, а в банках обычно с деньгами работают
4. Не хватает натива загружено ли уже ядро банка

По самому кору:
1. `nik` шта? Мб лучше nick/name/nickname/player
2. `steamid` VARCHAR(64) NOT NULL - 64 много. 32 с головой
3. `unixtime` INT NOT NULL - название столбца вообще не отображает его назначения
4. `bank_name` VARCHAR(64) NOT NULL, `bank_credit` INT NOT NULL - зачем тут префикс bank_ если по имени таблицы и так ясно
5. GetBank_MYSQL почему тут появился суффикс _MYSQL ? для других баз я не увидел тут спец. логики в этом запросе
6.
C-подобный:
public int N_Bank_GetCredits(Handle plugin, int numParams)
{
    GetCredit();
    return g_iBankCredits;
}
Это как так? Получается отправляем асинхронный запрос, возвращаем текущее значение, получается ответ на запрос - обновляем значение. Получается мы возвращаем не актуальное значение.
Нативы, которые используют асинхронные запросы - тоже должны быть асинхронными
7.
C-подобный:
else if(GetTime() >= iTime)
        {
            ResetUser(client);
            DeleteBL_DB(client);
        }
Зачем тут делать ResetUser если он должен делаться еще при входе игрока до отправки запроса
 

☠ ÄйӃи ☠

Добрая душа
Сообщения
220
Реакции
86
  • Автор ресурса
  • #20
@☠ ÄйӃи ☠, inc ужасен:
1. Что в нем делает это ?
C-подобный:
native bool SBPP_BanPlayer(int client, int target, int time, char[] reason);
native bool MABanPlayer(int client, int target, int type, int time, char[] reason);
native bool SourceComms_SetClientMute(int client, bool muteState, int muteLength = -1, bool saveToDB = false, const char[] reason = "Muted through Server Bank");
native bool MASetClientMuteType(int iClient, int iTarget, char[] sReason, int iType, int iTime = 0);
2. Советую все нативы привести в один вид и с одинаковым префиксом, потому что такие общие имена могут конфликтовать:

C-подобный:
native bool IsClientBlackList(int client);
native void DeleteClientBlackList(int client);
->

C-подобный:
native Database Bank_GetDataBase();
forward void Bank_OnLoaded();

native bool Bank_IsClientInBlackList(int client);
native void Bank_DeleteClientFromBlackList(int client);
3. Не очень понимаю почему в нем фигурирует понятие "Credits" вроде ни слова про шоп, а в банках обычно с деньгами работают
4. Не хватает натива загружено ли уже ядро банка

По самому кору:
1. `nik` шта? Мб лучше nick/name/nickname/player
2. `steamid` VARCHAR(64) NOT NULL - 64 много. 32 с головой
3. `unixtime` INT NOT NULL - название столбца вообще не отображает его назначения
4. `bank_name` VARCHAR(64) NOT NULL, `bank_credit` INT NOT NULL - зачем тут префикс bank_ если по имени таблицы и так ясно
5. GetBank_MYSQL почему тут появился суффикс _MYSQL ? для других баз я не увидел тут спец. логики в этом запросе
6.
C-подобный:
public int N_Bank_GetCredits(Handle plugin, int numParams)
{
    GetCredit();
    return g_iBankCredits;
}
Это как так? Получается отправляем асинхронный запрос, возвращаем текущее значение, получается ответ на запрос - обновляем значение. Получается мы возвращаем не актуальное значение.
Нативы, которые используют асинхронные запросы - тоже должны быть асинхронными
7.
C-подобный:
else if(GetTime() >= iTime)
        {
            ResetUser(client);
            DeleteBL_DB(client);
        }
Зачем тут делать ResetUser если он должен делаться еще при входе игрока до отправки запроса
1) Присутствует для N_BanPlayerBank
3) Вы о чём ?
 
Сверху Снизу