Косой_Карлик
Умник
Всем привет, у меня стоит проверка на то что у игрока превышен лимит на вещи в инвентаре, например я покупаю в донате скин и тут текст появляется "Ошибка: У Вас полный инвентарь" но снимается донат, появляется текст "Вам был добавлен скин '%s'. Чтобы открыть инвентарь используйте клавишу 'Y' или /invent" то есть попросту не выдается скин а остальное работает
Код чтобы понять о чем я:
Этот инвентарь был взят отсюда с этого форума вот тема: https://pawno-info.ru/threads/sistema-inventarja-na-textdraw.328534/ только он изменен
Пробовал взять проверку оттуда но там вообще не работает лол
Код чтобы понять о чем я:
C++:
AddInventoryItem(playerid, itemid, amount) {
new item_id = GetInventoryItemID(itemid);
if(gInventoryItem[item_id][iItemID] == INVALID_INVENTORY_ITEM_ID)
return -1;
new slot_itemid = -1;
for(new slot; slot < INVENTORY_MAX_SLOTS; slot++) {
if(GetPlayerInventoryItem(playerid, slot) == itemid && !(_ACCS_HEADS <= gInventoryItem[item_id][iType] <= _ACCS_MODIFI)) {
slot_itemid = slot;
break;
}
if(GetPlayerInventoryItem(playerid, slot) == 0 && slot_itemid == -1) {
slot_itemid = slot;
}
}
if(slot_itemid == -1) {
SendClientMessage(playerid, -1, !"Ошибка: У Вас полный инвентарь");
return 0;
}
SetPlayerInventoryItem(playerid, slot_itemid, itemid);
if((_ACCS_HEADS <= gInventoryItem[item_id][iType] <= _ACCS_MODIFI) && amount > 1) {
SetPlayerInventoryAmount(playerid, slot_itemid, 1);
AddInventoryItem(playerid, itemid, amount - 1);
}
else {
AddPlayerInventoryAmount(playerid, slot_itemid, amount);
}
return 1;
}
C++:
case 2023:
{
if(!response) return true;
if(pInfo[playerid][pRub] < 150) return SendClientMessage(playerid,COLOR_FLOD,!">>>>"WH_C" У Вас недостаточно Рублей. Вы можете пополнить свой баланс [/donate]");
new idskin;
if(sscanf(inputtext, "d", idskin)) return ShowPlayerDialog(playerid, 2023, DIALOG_STYLE_INPUT, !"Покупка скина", !"Стоимость покупки скина: 150 руб.\nВведите ID скина, который хотите купить.", !"Далее", !"Отмена");
if(idskin < 1 || idskin > 299) return SendClientMessage(playerid, -1, "Введите ID скина от 1 до 299!");
switch(idskin)
{
case 74:
{
SendClientMessage(playerid, -1, "Данный скин нельзя купить.");
return ShowPlayerDialog(playerid, 2023, DIALOG_STYLE_INPUT, !"Покупка скина", !"Стоимость покупки скина: 150 рублей:\nВведите ID скина, который хотите купить.", !"Далее", !"Отмена");
}
default:
{
SendMes(playerid, -1, "{DFCFCF}[Информация]{FF6347} Вы успешно приобрели скин ID %d за 150 руб.", idskin);
SetRub(playerid,-150);
AddInventoryItem(playerid, idskin, 1);
new item_id = GetInventoryItemID(idskin);
SendMes(playerid, COLOR_AMBER, "Вам был добавлен скин '%s'. Чтобы открыть инвентарь используйте клавишу 'Y' или /invent", gInventoryItem[item_id][iName]);
format(stringer1,sizeof(stringer1),"RUB | Игрок %s[%d] купил скин %s за 150 руб.", pInfo[playerid][p_name],playerid,gInventoryItem[item_id][iName]);
DonateLogs(playerid, stringer1);
}
}
return 1;
}
Пробовал взять проверку оттуда но там вообще не работает лол
Последнее редактирование модератором:
