Quote:
Originally Posted by raventh1984
show your code what you have done.
|
i use this code
FuncTextCmd.cpp
BOOL TextCmd_GenRandomOption( CScanner & s )
{
#ifdef __WORLDSERVER
CUser* pUser = (CUser*)s.dwValue;
CItemElem* pItemElem = pUser->m_Inventory.GetAt(0);
#ifdef __AWA_WITH_PENYACOST
if (pItemElem)
{
int nCost = 10000;
int nRandomOptionKind = g_xRandomOptionProperty->GetRandomOptionKind(pItemElem);
if (0 < nCost)
{
if (nRandomOptionKind >= 0)
{
if (pUser->GetGold() > nCost)
{
if (pUser->HasActivatedSystemPet() && pItemElem->GetProp()->dwItemKind3 == IK3_EGG || pUser->HasActivatedEatPet() && pItemElem->GetProp()->dwItemKind3 == IK3_PET)
{
char chMessage[100];
sprintf(chMessage, "Du musst dein aktives Pet einpacken!");
pUser->AddText(chMessage);
}
else
{
pUser->AddGold(-(nCost));
g_xRandomOptionProperty->InitializeRandomOption(pItemElem->GetRandomOptItemIdPtr());
g_xRandomOptionProperty->GenRandomOption(pItemElem->GetRandomOptItemIdPtr(), nRandomOptionKind, pItemElem->GetProp()->dwParts);
pUser->UpdateItemEx((BYTE)(pItemElem->m_dwObjId), UI_RANDOMOPTITEMID, pItemElem->GetRandomOptItemId());
}
}
else
{
pUser->AddText("Du hast nicht genug Geld!");
}
}
}
}
else
{
pUser->AddText("Lege den Gegenstand an den ersten Slot deines Inventars.");
}
#else
if (pItemElem)
{
int nRandomOptionKind = g_xRandomOptionProperty->GetRandomOptionKind(pItemElem);
if (nRandomOptionKind >= 0)
{
if (pUser->HasActivatedSystemPet() && pItemElem->GetProp()->dwItemKind3 == IK3_EGG || pUser->HasActivatedEatPet() && pItemElem->GetProp()->dwItemKind3 == IK3_PET)
{
char chMessage[100];
sprintf(chMessage, "Du musst dein aktives Pet einpacken!");
pUser->AddText(chMessage);
}
else
{
g_xRandomOptionProperty->InitializeRandomOption(pItemElem->GetRandomOptItemIdPtr());
g_xRandomOptionProperty->GenRandomOption(pItemElem->GetRandomOptItemIdPtr(), nRandomOptionKind, pItemElem->GetProp()->dwParts);
pUser->UpdateItemEx((BYTE)(pItemElem->m_dwObjId), UI_RANDOMOPTITEMID, pItemElem->GetRandomOptItemId());
}
}
}
#endif //__AWA_WITH_PENYACOST
#endif // __WORLDSERVER
return TRUE;
}
credits to @
[Only registered and activated users can see links. Click Here To Register...] :handsdown::handsdown::handsdown: