avatar_MaMoHT

Как написать глобальное сообщение за вещь в MU Online?

Автор MaMoHT, 2012 Янв. 30, 21:52

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ключевые слова [SEO] mu onlineразработки muпроверка на нахождение вещи в инв

MaMoHT

Команда позволяет написать в глобал пост обычным юзерам за указаную вещь :rolleyes:

[code]void ChatGMmsg(int aIndex,char* msg)

{
if(aIndex <= OBJECT_MIN && aIndex >= OBJECT_MAX)
return;
if(aIndex > OBJECT_MAX)
return;
if(gObjGetItemCountInInventory(aIndex,0x1C67,0) < 1)
{
MsgNormal(aIndex,"~[System] You do not have the right stuff!");
return;
}
OBJECTSTRUCT * gObj = (OBJECTSTRUCT*)OBJECT_POINTER(aIndex);
MsgAll("[%s]: %s",gObj->Name,msg);
gObjDeleteItemsCount(aIndex,0x1C67,0,1);
}
[/code]

0x1C67 = вещь которую команда будет требовать и удалять.
512*Index+ID>>конвертировать в HEX

Спойлер
P.S Если будите себя хорошо вести дядя Денис вас будет продолжать радовать (wasntme)
[свернуть]

STINGER

А разве есть такая функция в ГС-е? "gObjGetItemCountInInventory" ??

MaMoHT

#2
Цитата: Scheweppes от 2012 Янв. 30, 22:45  Я один из первых заказчиков данного модуля под ридлан. Думаю ход моей предыдущей мысли ты уже понял  :trollface:
ты единственный заказвший данный модуль и не заплативший за него поэтому тебе возбухать строго запрещено :trollface:

Цитата: STINGER от 2012 Янв. 31, 00:24  А разве есть такая функция в ГС-е? "gObjGetItemCountInInventory" ??
Проверка на нахождение вещи в инв.
выглядит примерно так:
int gObjGetItemCountInInventory(int aIndex, int ItemID,int ItemLevel)
{
if(aIndex >= OBJECT_MAX)
return 0;

OBJECTSTRUCT *gObj = (OBJECTSTRUCT*) OBJECT_POINTER(aIndex);
int Count = 0;
for (int i = 0; i < 76; i++)
{
if (gObj->pInventory[i].m_Type == ItemID && gObj->pInventory[i].m_Level == ItemLevel)
Count++;
}
return Count;
}

InsurgenT

Тема с обсуждением /index.php?topic=14860.0
тут вопросы только по разработке и коду.

Похожие темы (5)

Сообщений: 37
Просмотров: 21768

Сообщений: 127
Просмотров: 38340

Сообщений: 32
Просмотров: 12591