GODNIK

🚚 ПеревоЗЧИК 🚛
Сообщения
269
Реакции
73
Всем ку, мой игрок сервера нашел БАГ с УДАЧЕЙ
Что делать?
После продажи предмета в шопе, и потом попытаться сыграть в удачу, и если вы выиграете то выиграете тот предмет который продали ранее.
Сообщения автоматически склеены:



Незнаю старая или новая эта версия ШОПА
Проверте ПЖ на новой, если все норм то скажите ПЖ.
 
Последнее редактирование:

White Wolf

🍉
Сообщения
2,382
Реакции
2,187
  • Команда форума
  • Автор ресурса
  • #742
Всем ку, мой игрок сервера нашел БАГ с УДАЧЕЙ
Что делать?
После продажи предмета в шопе, и потом попытаться сыграть в удачу, и если вы выиграете то выиграете тот предмет который продали ранее.
Сообщения автоматически склеены:



Незнаю старая или новая эта версия ШОПА
Проверте ПЖ на новой, если все норм то скажите ПЖ.
ну так логично если у человека есть все кроме одной вещи, она ему и выпадет. Это относится к Toggleable items
 

Madness aka null138

Участник
Сообщения
713
Реакции
734
Может кто подсказать, как это фикситься?
Я бы с радостью, но геймдаты у меня нет. Щас попробую как то сделать свой и скину сюда.
Сообщения автоматически склеены:

Вроде должно работать. Компилируй, поставь текстовый файл в папку геймдаты и проверяй. Команда !fullupdate.
Автор не я
 

Вложения

  • fullupdate.rar
    2.1 КБ · Просмотры: 9
Последнее редактирование:

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Как получить статус вещи игрока, включана ли она не имея доступ в плагину? То-есть есть модуль к шопу, у меня есть доступ к исходникам, этот модуль соеденяется с ядром шопа и с другим ядром, который управляет некоторыми фичами, вот во втором ядре требуется знать статус вещи игрока из модуля для шопа, как это узнать?

Без использования метода с куки!
 
Последнее редактирование:

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
Как получить статус вещи игрока, включана ли она не имея доступ в плагину?
include/shop/players.inc:
/**
 *    Whether a player has toggled on an item
 *    -
 *    @param client            Client index to check to
 *    @param item_id        Item id to check
 *    -
 *    @return true if player has item toggled on and false otherwise
*/
native bool Shop_IsClientItemToggled(int client, ItemId item_id);

во втором ядре требуется знать статус вещи игрока из модуля для шопа, как это узнать?
Для этого нужно иметь идентификатор предмета.
Если он есть - вообще без проблем; используете натив, который я выше продемонстрировал.
Если его нет - придётся его достать. Можете воспользоваться таким нативом для получения полного перечня предметов, которые зареганы в Шопе:
include/shop/items.inc:
/**
 *    Fills an adt_array by the item ids. Note that array is cleared before being filled
 *    -
 *    @param array            ADT array to use
 *    -
 *    @return Number of bytes that written to ArrayList
*/
native int Shop_FillArrayByItems(ArrayList array);

И такой, чтобы, зная строковый идентификатор предмета, найти нужный в массиве:
include/shop/items.inc:
/**
 *    Gets the item unique name by its id
 *    -
 *    @param item_id                Item id to get for
 *    @param buffer                Buffer to store the unique name
 *    @param maxlength            Max length of the buffer
 *    -
 *    @return Number of bytes written
*/
native int Shop_GetItemById(ItemId item_id, char[] buffer, int maxlength);
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
include/shop/players.inc:
/**
*    Whether a player has toggled on an item
*    -
*    @param client            Client index to check to
*    @param item_id        Item id to check
*    -
*    @return true if player has item toggled on and false otherwise
*/
native bool Shop_IsClientItemToggled(int client, ItemId item_id);


Для этого нужно иметь идентификатор предмета.
Если он есть - вообще без проблем; используете натив, который я выше продемонстрировал.
Если его нет - придётся его достать. Можете воспользоваться таким нативом для получения полного перечня предметов, которые зареганы в Шопе:
include/shop/items.inc:
/**
*    Fills an adt_array by the item ids. Note that array is cleared before being filled
*    -
*    @param array            ADT array to use
*    -
*    @return Number of bytes that written to ArrayList
*/
native int Shop_FillArrayByItems(ArrayList array);

И такой, чтобы, зная строковый идентификатор предмета, найти нужный в массиве:
include/shop/items.inc:
/**
*    Gets the item unique name by its id
*    -
*    @param item_id                Item id to get for
*    @param buffer                Buffer to store the unique name
*    @param maxlength            Max length of the buffer
*    -
*    @return Number of bytes written
*/
native int Shop_GetItemById(ItemId item_id, char[] buffer, int maxlength);
Случай если его нет:
Можно же получить ид через:
include\shop\items.inc:
/**
*    Gets item id of the item unique name
*    -
*    @param category_id                Category id where the item is registered
*    @param item                        Item unique name to get for
*    -
*    @return Item id of the item
*/
native ItemId Shop_GetItemId(CategoryId category_id, const char[] item);
и после проверять его статус через
include/shop/players.inc:
/**
*    Whether a player has toggled on an item
*    -
*    @param client            Client index to check to
*    @param item_id        Item id to check
*    -
*    @return true if player has item toggled on and false otherwise
*/

native bool Shop_IsClientItemToggled(int client, ItemId item_id);

не прибегая к array листам и тд?
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
Можно и так, кстати, да.
 

Livis

Участник
Сообщения
82
Реакции
28
цвет не работает, а просто пишеться код в ксго

Проблема была в том что не совсем так установил colore архив
 
Последнее редактирование:

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
Самое время призывать бабку Вангу, чтобы узнать, какая игра.
Особенно учитывая тот момент, что в разных играх чат красится по разному.
 

iLoco

Пишу плагины за печеньки 🍪🍪🍪
Сообщения
2,265
Реакции
1,323
Добавлю ещё, меню невозможно сделать цветным, будут писатся код типо {RED}.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
А что, были попытки красить меню ещё (кроме этой)?
 

Zorich

Участник
Сообщения
3
Реакции
0
Подскажите, как и где создавать эвенты, чтобы, к примеру, за убийство, разминирование начислялись кредиты, а за суицид отнимались? Есть какой-то урок, что ли?
Если есть какая-то разница, речь про CS GO
 

Z-RAY-Z

Участник
Сообщения
775
Реакции
243
Подскажите, как и где создавать эвенты,
Всё уже создано за вас - Counter-Strike: Global Offensive Events - AlliedModders Wiki
разминирование начислялись кредиты, а за суицид отнимались?
 

Zorich

Участник
Сообщения
3
Реакции
0
Всё уже создано за вас - Counter-Strike: Global Offensive Events - AlliedModders Wiki

Большое спасибо. На форуме недавно, поэтому ориентируюсь с трудом)
 

novichek

Участник
Сообщения
631
Реакции
21
Всеи привет. На сервере дм ffa начали долго жагружатся данные. Т.е заходишь на сервер жмешь шоп, и пишет ваши данные загружается. Могут и по 5 мин загружать. Помогите.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
Плагинов, взаимодействующих с БД, много?
Дело в том, что SourceMod держит одну общую очередь для всех плагинов, и два разных запроса, независимо от плагина, создавшего запрос, никогда не выполняются одновременно.
Судя по всему, при подключении игрока к серверу, либо выполняются очень тяжёлые запросы, либо много мелких.
 

DarkEssence

Участник
Сообщения
206
Реакции
3
Плагинов, взаимодействующих с БД, много?
Дело в том, что SourceMod держит одну общую очередь для всех плагинов, и два разных запроса, независимо от плагина, создавшего запрос, никогда не выполняются одновременно.
Судя по всему, при подключении игрока к серверу, либо выполняются очень тяжёлые запросы, либо много мелких.
+++ давно такая проблема, было пару плагинов с mysql , когда заходит новый игрок - пишет ваши данные загружаются, пока не сменится карата вроде, если игрок зашел первый раз на серв и сразу перезайдет , то будет все ок , проверено 1000+ раз
 

Palonez

бб братки
Сообщения
3,035
Реакции
1,837
+++ давно такая проблема, было пару плагинов с mysql , когда заходит новый игрок - пишет ваши данные загружаются, пока не сменится карата вроде, если игрок зашел первый раз на серв и сразу перезайдет , то будет все ок , проверено 1000+ раз
+
 
Сверху Снизу