Шаг 1.
В cssbWar3ftMod.sma подключаем файлы
Код
#include "war3ft/natives.h"
#include "war3ft/natives.inl"
Шаг 2.
В cssbWar3ftMod.sma находим public plugin_natives() добавляем
Код
register_native("cssb_getIdItemUserSlot", "native_getIdItemUserSlot", 1);
Шаг 3.
В natives.h добавляем код:
Код
// Считывание ID предмета
native cssb_getIdItemUserSlot(idUser,iSlot);
Шаг 4.
В natives.inl добавляем код:
Код
// Считывание ID предмета
public native_getIdItemUserSlot(idUser,iSlot)
{
new iCurrenItem = ITEM_NONE;
if(ITEM_Has( idUser, ITEM_ANKH ) == iSlot && ITEM_HasItem( idUser, ITEM_ANKH ) == ITEM_ANKH )
iCurrenItem = ITEM_ANKH;
if(ITEM_Has( idUser, ITEM_BOOTS ) == iSlot && ITEM_HasItem( idUser, ITEM_BOOTS ) == ITEM_BOOTS )
iCurrenItem = ITEM_BOOTS;
if(ITEM_Has( idUser, ITEM_CLAWS ) == iSlot && ITEM_HasItem( idUser, ITEM_CLAWS ) == ITEM_CLAWS )
iCurrenItem = ITEM_CLAWS;
if(ITEM_Has( idUser, ITEM_CLOAK ) == iSlot && ITEM_HasItem( idUser, ITEM_CLOAK ) == ITEM_CLOAK )
iCurrenItem = ITEM_CLOAK;
if(ITEM_Has( idUser, ITEM_MASK ) == iSlot && ITEM_HasItem( idUser, ITEM_MASK ) == ITEM_MASK )
iCurrenItem = ITEM_MASK;
if(ITEM_Has( idUser, ITEM_NECKLACE ) == iSlot &&
ITEM_HasItem( idUser, ITEM_NECKLACE ) == ITEM_NECKLACE )
iCurrenItem = ITEM_NECKLACE;
if(ITEM_Has( idUser, ITEM_FROST ) == iSlot && ITEM_HasItem( idUser, ITEM_FROST ) == ITEM_FROST )
iCurrenItem = ITEM_FROST;
if(ITEM_Has( idUser, ITEM_HEALTH ) == iSlot && ITEM_HasItem( idUser, ITEM_HEALTH ) == ITEM_HEALTH )
iCurrenItem = ITEM_HEALTH;
if(ITEM_Has( idUser, ITEM_SCROLL ) == iSlot && ITEM_HasItem( idUser, ITEM_SCROLL ) == ITEM_SCROLL )
iCurrenItem = ITEM_SCROLL;
if(ITEM_Has( idUser, ITEM_PROTECTANT ) == iSlot &&
ITEM_HasItem( idUser, ITEM_PROTECTANT ) == ITEM_PROTECTANT )
iCurrenItem = ITEM_PROTECTANT;
if(ITEM_Has( idUser, ITEM_HELM ) == iSlot && ITEM_HasItem( idUser, ITEM_HELM ) == ITEM_HELM )
iCurrenItem = ITEM_HELM;
if(ITEM_Has( idUser, ITEM_AMULET ) == iSlot && ITEM_HasItem( idUser, ITEM_AMULET ) == ITEM_AMULET )
iCurrenItem = ITEM_AMULET;
if(ITEM_Has( idUser, ITEM_SOCK ) == iSlot && ITEM_HasItem( idUser, ITEM_SOCK ) == ITEM_SOCK )
iCurrenItem = ITEM_SOCK;
if(ITEM_Has( idUser, ITEM_GLOVES ) == iSlot && ITEM_HasItem( idUser, ITEM_GLOVES ) == ITEM_GLOVES )
iCurrenItem = ITEM_GLOVES;
if(ITEM_Has( idUser, ITEM_RING ) == iSlot && ITEM_HasItem( idUser, ITEM_RING ) == ITEM_RING )
iCurrenItem = ITEM_RING;
if(ITEM_Has( idUser, ITEM_CHAMELEON ) == iSlot &&
ITEM_HasItem( idUser, ITEM_CHAMELEON ) == ITEM_CHAMELEON )
iCurrenItem = ITEM_CHAMELEON;
if(ITEM_Has( idUser, ITEM_MOLE ) == iSlot && ITEM_HasItem( idUser, ITEM_MOLE ) == ITEM_MOLE )
iCurrenItem = ITEM_MOLE;
return iCurrenItem;
}
Шаг 5.
Если нет функции ITEM_HasItem, добавьте код ниже в файл items.inl
Код
stock ITEM_HasItem( idUser, iItem )
{
if ( g_iShopMenuItems[idUser][ITEM_SLOT_ONE] == iItem )
return iItem;
else if ( g_iShopMenuItems[idUser][ITEM_SLOT_TWO] == iItem )
return iItem;
return ITEM_NONE;
}
Пример использования:
Код
#include <amxmodx>
#include "war3ft/natives.h"
#define PLUGIN "CSSB Get Items"
#define VERSION "1.0"
#define AUTHOR "CSSB"
#define ITEM_SLOT_ONE 0
#define ITEM_SLOT_TWO 1
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_clcmd("cssb_useritems", "cmdIemsWar3ft");
}
public cmdIemsWar3ft(idUser)
{
//Вывод ID в чат
new iIdItemSlot1;
new iIdItemSlot2;
iIdItemSlot1 = cssb_getIdItemUserSlot(idUser,ITEM_SLOT_ONE);
iIdItemSlot2 = cssb_getIdItemUserSlot(idUser,ITEM_SLOT_TWO);
client_print(idUser,print_chat,"Item1 ID: %d | Item2 ID: %d",iIdItemSlot1,iIdItemSlot2);
}