//arat;
inline int CParty::ComputePartyBonusDefenseGrade()
//fonksiyonun altına //include'lerin olduğu bölüme ekle;
#ifdef ENABLE_DICE_SYSTEM
#include "item.h"
struct FPartyDropDiceRoll
{
const LPITEM m_itemDrop;
LPCHARACTER m_itemOwner;
int m_lastNumber;
FPartyDropDiceRoll(const LPITEM itemDrop, LPCHARACTER itemOwner) : m_itemDrop(itemDrop), m_itemOwner(itemOwner), m_lastNumber(0)
"party.h"
#endif
//arat;
ALUA(game_drop_item_with_ownership)
//fonksiyondan sonra ekle;
#ifdef ENABLE_DICE_SYSTEM
ALUA(game_drop_item_with_ownership_and_dice)
{
};\n\n void Process(const LPCHARACTER mobVictim)\n {\n if ((!mobVictim || (mobVictim->GetMobRank() >= MOB_RANK_BOSS && mobVictim->GetMobRank() <= MOB_RANK_KING)) && m_itemOwner->GetParty() && m_itemOwner->GetParty()->GetNearMemberCount() > 1)\n LPITEM item = NULL;
switch (lua_gettop(L))
{
LPPARTY pParty case 1:
item = m_itemOwner->GetParty();
pParty->ChatPacketToAllMember(CHAT_TYPE_DICE_INFO, LC_TEXT("*** Rolling for the following item: %16s ***"), m_itemDrop->GetName());
pParty->ForEachNearMember(*this);
ITEM_MANAGER::instance().CreateItem((DWORD)lua_tonumber(L, 1));
break;
case 2:
case 3:
item = ITEM_MANAGER::instance().CreateItem((DWORD)lua_tonumber(L, 1), (int)lua_tonumber(L, 2));
break;
default:
return 0;
}
if (m_itemOwner)
(item == NULL)
{
return 0;
}
LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
if (ch->GetParty())
{
FPartyDropDiceRoll f(item, ch);
f.Process(NULL);
}
if (lua_isnumber(L, 3))
{
int sec = (int)lua_tonumber(L, 3);
if (sec <= 0)
{
m_itemDrop->SetOwnership(m_itemOwner);
pParty->ChatPacketToAllMember(CHAT_TYPE_DICE_INFO, LC_TEXT("*** Rolling of %s: %16s ***"), m_itemDrop->GetName(), m_itemOwner->GetName());
item->SetOwnership(ch);
}
else
{
item->SetOwnership(ch, sec);
}
}
else
m_itemDrop->SetOwnership(m_itemOwner);
item->SetOwnership(ch);
PIXEL_POSITION pos;
pos.x = ch->GetX() + number(-200, 200);
pos.y = ch->GetY() + number(-200, 200);
item->AddToGround(ch->GetMapIndex(), pos);
item->StartDestroyEvent();
return 0;
}
LPCHARACTER GetItemOwner()\n {\n return m_itemOwner;\n }\n const LPITEM GetItemDrop()\n {\n return m_itemDrop;\n }\n void operator () (LPCHARACTER ch)\n {\n if (!ch)\n return;\n\n LPPARTY pParty = ch->GetParty();\n if (!pParty)\n return;\n\n while (true)\n {\n int pickedNumber = number(10000, 99999);\n if (pickedNumber > m_lastNumber)\n {\n m_lastNumber = pickedNumber;\n m_itemOwner = ch;\n }\n else if (pickedNumber == m_lastNumber)\n {\n continue;\n }\n else // if (pickedNumber < m_lastNumber)\n {\n }\n pParty->ChatPacketToAllMember(CHAT_TYPE_DICE_INFO, LC_TEXT("*** -> %16s - Dice score: %05d ***"), ch->GetName(), pickedNumber);\n break;\n }\n }\n};\n#endif
//tekrar arat;
{ "drop_item_with_ownership", game_drop_item_with_ownership },
//altına ekle;
#ifdef ENABLE_DICE_SYSTEM
{ "drop_item_with_ownership_and_dice", game_drop_item_with_ownership_and_dice },
#endif
Replies to Re: Re: Untitled
{"html5":"htmlmixed","css":"css","javascript":"javascript","php":"php","python":"python","ruby":"ruby","lua":"text\/x-lua","bash":"text\/x-sh","go":"go","c":"text\/x-csrc","cpp":"text\/x-c++src","diff":"diff","latex":"stex","sql":"sql","xml":"xml","apl":"apl","asterisk":"asterisk","c_loadrunner":"text\/x-csrc","c_mac":"text\/x-csrc","coffeescript":"text\/x-coffeescript","csharp":"text\/x-csharp","d":"d","ecmascript":"javascript","erlang":"erlang","groovy":"text\/x-groovy","haskell":"text\/x-haskell","haxe":"text\/x-haxe","html4strict":"htmlmixed","java":"text\/x-java","java5":"text\/x-java","jquery":"javascript","mirc":"mirc","mysql":"sql","ocaml":"text\/x-ocaml","pascal":"text\/x-pascal","perl":"perl","perl6":"perl","plsql":"sql","properties":"text\/x-properties","q":"text\/x-q","scala":"scala","scheme":"text\/x-scheme","tcl":"text\/x-tcl","vb":"text\/x-vb","verilog":"text\/x-verilog","yaml":"text\/x-yaml","z80":"text\/x-z80"}