SMaster | Дата: Воскресенье, 06.01.2013, 14:57 | Сообщение # 1 |
- Сообщения: 2189
- Награды: 46
- Замечания:
|
Шаг 1. В cssbWar3ftMod.sma подключаем файлы Код #include "war3ft/natives.h" #include "war3ft/natives.inl"
Шаг 2. В cssbWar3ftMod.sma находим public plugin_natives() добавляем Код register_native("cssb_getNameItemUserSlot", "native_getNameItemUserSlot", 1);
Шаг 3. В natives.h добавляем код: Код // Считывание названия предмета native cssb_getNameItemUserSlot(idUser,iSlot,szItemNameShort[32]);
Шаг 4. В natives.inl добавляем код: Код // Считывание названия предмета public native_getNameItemUserSlot(idUser,iSlot,szItemNameShort[32]) { param_convert(3);
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; if(iCurrenItem != ITEM_NONE) { LANG_GetItemName(iCurrenItem,idUser, szItemNameShort, 31, true ); } else { //Текст когда предмета нет (необязательно добавлять) formatex(szItemNameShort, charsmax(szItemNameShort),"NO ITEMS!"); }
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_useritems2", "cmdIemsWar3ft"); }
public cmdIemsWar3ft(idUser) { //Вывод названий в чат new szCurrentItemSlot1[32]; new szCurrentItemSlot2[32]; cssb_getNameItemUserSlot(idUser,ITEM_SLOT_ONE,szCurrentItemSlot1); cssb_getNameItemUserSlot(idUser,ITEM_SLOT_TWO,szCurrentItemSlot2);
client_print(idUser,print_chat,"Item1: %s | Item2: %s",szCurrentItemSlot1,szCurrentItemSlot2); }
Наша группа вконтакте http://vk.com/nano_world_cs
Контакты: ICQ 607786179 Skype xonahead
|
|
| |
cs-contra | Дата: Понедельник, 18.03.2013, 06:17 | Сообщение # 2 |
- Сообщения: 28
- Награды: 0
- Замечания:
|
А скриншот можно!
|
|
| |
Ацелот | Дата: Четверг, 04.04.2013, 09:12 | Сообщение # 3 |
- Сообщения: 52
- Награды: 0
- Замечания:
|
А можете пояснить что этот код делает?
|
|
| |
Asmoone | Дата: Четверг, 04.04.2013, 15:18 | Сообщение # 4 |
- Сообщения: 165
- Награды: 0
- Замечания:
|
Ацелот,Получение названия предмета через native
|
|
| |