Появилось у меня желание допилить плагин.
В планах:
- Сделать возможность сортировки категорий
- Сделать рабочим параметр level. Либо встрою его в ядро либо сделаю отдельным модулем.
Описание: Изменяет уровень игрока в зависимости от времени проведенного на сервере. Если у предмета будет указан параметр level то его сможет купить только игрок с уровнем выше или равно. Тоесть позволяет тем кто дольше играет на сервере покупать больше предметов.- Начал работу над модулем скинов оружия для шопа
- Модуль скидок, на который не было времени и желания.
Вин Дизель, не совсем понял.
имеешь ввиду чтобы все модули шопа были в одной папке?
Еще возможно сделаю чтобы предметы на которые не хватает кредитов были в меню не активными
Вин Дизель, просто создай папку и перекинь их туда. Всё будет работать
Вин Дизель, так они и так в отдельных папках
И нафига оно нужно?cfg, info, modules
В чем проблема может быть? С хостером все норм внешний доступ к БД открыт[shop.smx] DB_Connect 1: [2013]: Lost connection to MySQL server at 'reading initial communication packet', system error: 110
Вин Дизель, посмотри в кфг увидишь
#include <shop>
#include <basecomm>
#define CATEGORY "sourcecomms"
public OnPluginStart() if(Shop_IsStarted()) Shop_Started();
public OnPluginEnd() Shop_UnregisterMe();
public Shop_Started()
{
new CategoryId:category_id = Shop_RegisterCategory(CATEGORY, "Разблокировка чата/микрофона", "");
if (Shop_StartItem(category_id, "sm_unmute"))
{
Shop_SetInfo("Разблокировать микрофон", "", 60, -1, Item_BuyOnly);
Shop_SetCallbacks(_, _, _, _, _, _, OnItemBuy);
Shop_EndItem();
}
if (Shop_StartItem(category_id, "sm_ungag"))
{
Shop_SetInfo("Разблокировать чат", "", 60, -1, Item_BuyOnly);
Shop_SetCallbacks(_, _, _, _, _, _, OnItemBuy);
Shop_EndItem();
}
if (Shop_StartItem(category_id, "sm_unsilence"))
{
Shop_SetInfo("Разблокировать чат и микрофон", "", 100, -1, Item_BuyOnly);
Shop_SetCallbacks(_, _, _, _, _, _, OnItemBuy);
Shop_EndItem();
}
}
public bool:OnItemBuy(client, CategoryId:category_id, const String:category[], ItemId:item_id, const String:item[], ItemType:type, price, sell_price, value);
{
if(BaseComm_IsClientGagged(client) || BaseComm_IsClientMuted(client))
{
ServerCommand("%s #%d !shop", item, GetClientUserId(client));
return true;
}
return false;
}
А нужно использовать саму функцию с уровнем доступа public. (в общем да, ; лишняя).public bool:OnItemBuy(client, CategoryId:category_id, const String:category[], ItemId:item_id, const String:item[], ItemType:type, price, sell_price, value);