System Coins

System Coins 1.3.2a

Нет прав для скачивания
Сообщения
494
Реакции
341
Помог
11 раз(а)
bizon добавил(а) новый ресурс:

System Coins - Дополнительная валюта: монеты

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

Начисления монет происходят по следующим параметрам:
1. Основные.
– убийство игрока;
– победа команды.
2. Дополнительные.
– убийство ножом.
– убийство в голову.
– убийство гранатой.
– имеющийся дополнительный привилегированный флаг, указанный в настройках.

Монеты выпадают с игрока при смерти, имеют визуальную модель, звук при подборе.
Игроки с имеющимся привилегированным флагом имеют возможность притягивать к себе выпавшие монеты...
Узнать больше об этом ресурсе...
 

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
345
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Пора бы отказываться от настройки плагина через макросы(если они не изменяются один раз в жизни). AMXX давно умеет 'из коробки' в конфиг, что облегчает жизнь как разработчику, как и владельцам серверов которые настраивают квары в зависимости от ситуации на сервере: определённая карта, определённое время суток, определённый режим.

Апи, на самом деле, скудное. Добавил бы хоть возможность отловить момент подбора монеты игроком, с этим появится множество возможностей дополнять систему, не внося изменения в твоё 'творение'.
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
RockTheStreet, плагин написан за час, конфиг будет чутка позже.
Замутить хук форварда при таче с разветвлением на пре/пост не проблема, я просто не вижу никакого смысла в этом кроме возможности блокировки в пре и вывода инфы о полученных монетах в пост (серьезно, не представляю).
Если вкратце опишешь, что еще можно добавить в API - я без проблем реализую.
Сам я попросту далёк от нынешней актуальности.
 
Последнее редактирование:
Сообщения
91
Реакции
141
Помог
1 раз(а)
В функции sql_set_db есть создание переменной sData[1] и потом передается в SQL_ThreadQuery. sData у тебя так и так пустое, его передавать нет смысла
PHP:
native SQL_ThreadQuery(Handle:db_tuple, const handler[], const query[], const data[]="", dataSize=0);
так как оно и так передаст пустое значение data по дефолту.
Также в этой функции после операций с UPDATE / INSERT INTO стоит очищать Handle: hQuery, ты же операцию уже выполнил, так?

PHP:
SQL_ThreadQuery(g_hSqlTuple, "@Query_WriteTable_Handler", sQuery, sData, charsmax(sData));
Можно вывести после проверок, один и тот же код как никак.
---
PHP:
if(!pPlayer || pPlayer > MAX_PLAYERS)
А не лучше проверить на валидность?

Также лучше завести переменную для того, чтобы определять, игрок загрузился с БД или нет, так как вдруг произойдет такое, что игрок зашел и сразу же вышел и БД не успела обработать его данные и загрузить их, а как он выйдет, у него произойдет запрос на сохранение данных (Если они уже есть как минимум) и он сохранит ему нулевые значения.
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
В функции sql_set_db есть создание переменной sData[1] и потом передается в SQL_ThreadQuery. sData у тебя так и так пустое, его передавать нет смысла
Поддержка версий амхх < 183, которая попросту там осталась для актуальных версий.

PHP:
SQL_ThreadQuery(g_hSqlTuple, "@Query_WriteTable_Handler", sQuery, sData, charsmax(sData));
Можно вывести после проверок, один и тот же код как никак.
Разная информация. По правилам ООП для нормальных ЯП ты предлагаешь не самые верные вещи.

Также в этой функции после операций с UPDATE / INSERT INTO стоит очищать Handle: hQuery, ты же операцию уже выполнил, так?
Обращение глобальное, не локальное чтобы чистить, просто нет смысла.

PHP:
if(!pPlayer || pPlayer > MAX_PLAYERS)
А не лучше проверить на валидность?
Нет обращения к PDATA_SAFE, не нужно.
9 Мар 2022
Также лучше завести переменную для того, чтобы определять, игрок загрузился с БД или нет, так как вдруг произойдет такое, что игрок зашел и сразу же вышел и БД не успела обработать его данные и загрузить их, а как он выйдет, у него произойдет запрос на сохранение данных (Если они уже есть как минимум) и он сохранит ему нулевые значения.
Единственное толковое замечание. Спасибо, учту.
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
set_user_coins>>add_user_coins. Невнимательность нашё всё.
9 Мар 2022
А никто и не говорит про него, я про is_user_connected
Потенциальной ошибки никогда не будет. Работа с массивом размера 1..MAX_PLAYERS, нет никаких обращений к данным pdata, проверка на валидность/коннект излишняя. К тому же в дисконнекте проверять на коннект? Ты серьёзно?
 
Последнее редактирование:
Сообщения
74
Реакции
61
Помог
1 раз(а)
А зачем юзать синхронный и ассинхронный запрос, если можно обойтись только ассинхронным? Просто, если БД перегружена, будут фризы (выход игрока) сервера. Если будут добавлены квары, то хорошо было бы добавить квар на "проверка подключенния к БД", ибо часто бывает такое, когда у тебя много чего работает с БД, подключение барахлит и ложные Empty_Handle ловишь (сам на себе ощутил). И если есть желание, можно добавить альтернативный синтаксис для запросов, то есть регистрация/сохранение одним запросом, чем проверять есть ли столбец в БД на уровне кода, но это так, идеи, которые сам использую. Кстати, на счет одного запроса на два действия, там тоже квар нужен, ибо на той же Арене старые версии mysql, они их не видят.
Под словом "Перегружена" я имею ввиду сбои: с части сервера кс или самой бд
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
AnonymousAmx, я уже выше написал, что это единственное замечание действительно по факту, которое я поправлю.
 
Сообщения
74
Реакции
61
Помог
1 раз(а)
@bizon,так это не замечание, это дескать вопрос, интересуюсь)
 
Сообщения
91
Реакции
141
Помог
1 раз(а)
Поддержка версий амхх < 183, которая попросту там осталась для актуальных версий.
на счет этого кстати, скачал оригинальный 1.8.2 амхх, там натив точно такой же, так что тут мимо, ну а в случае даже если бы было, то можно проверять версию амх.
PHP:
native SQL_ThreadQuery(Handle:db_tuple, const handler[], const query[], const data[]="", dataSize=0);
А ну и если поддержка старых версий, то почему у тебя есть форвард
PHP:
public client_disconnected(pPlayer)
когда в старых версиях client_disconnect

этот ваш аргумент можно сказать был просто придиркой
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
t3rkecorejz, в амхх <= 182 нельзя указывать явно используемые параметры.
Я взял код, который писал под 182, не подогнав его к актуальной версии, что написал выше, к чему тут придирки насчёт других актуальностей?
 
Последнее редактирование:

R16

Сообщения
11
Реакции
0
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
В этом плагине возможно сделать чтобы из монет номиналом реальных денег выпадало? Например 0,5 копеек и они идут на сайт зарегистрированному пользователь на счёт CMS?
 

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
345
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
R16, С правками плагина - да, возможно.
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
R16, изначальная задумка плагина - дать ядро для использования в других плагинах.
Написать некий обменник монет на реальные деньги, используя API монет и API GameCms достаточно просто, даже не имея особые знания в программировании.
Со следующим апдейтом закину аддон обмена монет на валюту с GameCms и AES, либо настройки для простого начисления.
 
Последнее редактирование:

R16

Сообщения
11
Реакции
0
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
bizon, буду ожидать обновления :)
17 Мар 2022
RockTheStreet, спасибо за ответ вам!
 

RockTheStreet

Саппорт года
Сообщения
1,743
Реакции
345
Помог
40 раз(а)
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Со следующим апдейтом закину аддон обмена монет на валюту с GameCms и AES
Либо тогда в описание приведи пример использования апи, как сделано тут - ТЫК. Либо оформи отдельным ресурсом. Так будет лучше.
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
RockTheStreet, сделаю и пример использования апи, и аддон отдельным ресурсом. Так будет еще лучше.
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу