So fangen wir mal an
als erstes die Items
defineitem.h
Code:
#define II_SYS_LION 23565 #define II_SYS_RABBIT 23566 #define II_SYS_TIGER 23567 #define II_SYS_FOX 23568 #define II_SYS_DRAGON 23569 #define II_SYS_HIPPOGRIPH 23570
2.
propitem.txt
Code:
//raise Pet Scrolls 15 II_SYS_LION IDS_PROPITEM_TXT_013278 1 1 IK1_SYSTEM IK2_SYSTEM IK3_SCROLL = = 1 = 0 = = = = = = = 0 = = 1 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = = = = = """Itm_SysSysScrBxLuck.dds""" 0 """""" IDS_PROPITEM_TXT_013279 15 II_SYS_RABBIT IDS_PROPITEM_TXT_013280 1 1 IK1_SYSTEM IK2_SYSTEM IK3_SCROLL = = 1 = 0 = = = = = = = 0 = = 1 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = = = = = """Itm_SysSysScrBxLuck.dds""" 0 """""" IDS_PROPITEM_TXT_013281 15 II_SYS_FOX IDS_PROPITEM_TXT_013282 1 1 IK1_SYSTEM IK2_SYSTEM IK3_SCROLL = = 1 = 0 = = = = = = = 0 = = 1 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = = = = = """Itm_SysSysScrBxLuck.dds""" 0 """""" IDS_PROPITEM_TXT_013283 15 II_SYS_TIGER IDS_PROPITEM_TXT_013288 1 1 IK1_SYSTEM IK2_SYSTEM IK3_SCROLL = = 1 = 0 = = = = = = = 0 = = 1 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = = = = = """Itm_SysSysScrBxLuck.dds""" 0 """""" IDS_PROPITEM_TXT_013289 15 II_SYS_DRAGON IDS_PROPITEM_TXT_013284 1 1 IK1_SYSTEM IK2_SYSTEM IK3_SCROLL = = 1 = 0 = = = = = = = 0 = = 1 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = = = = = """Itm_SysSysScrBxLuck.dds""" 0 """""" IDS_PROPITEM_TXT_013285 15 II_SYS_HIPPOGRIPH IDS_PROPITEM_TXT_013286 1 1 IK1_SYSTEM IK2_SYSTEM IK3_SCROLL = = 1 = 0 = = = = = = = 0 = = 1 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_EXPAN01 = = = = = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = = = = = """Itm_SysSysScrBxLuck.dds""" 0 """""" IDS_PROPITEM_TXT_013286
Code:
IDS_PROPITEM_TXT_013278 Scroll of Raise Pet(Lion) IDS_PROPITEM_TXT_013279 you get an Perfect Lion IDS_PROPITEM_TXT_013280 Scroll of Raise Pet(Rabbit) IDS_PROPITEM_TXT_013281 you get an Perfect Rabbit IDS_PROPITEM_TXT_013282 Scroll of Raise Pet(Fox) IDS_PROPITEM_TXT_013283 you get an Perfect Fox IDS_PROPITEM_TXT_013284 Scroll of Raise Pet(Dragon) IDS_PROPITEM_TXT_013285 you get an Perfect Dragon IDS_PROPITEM_TXT_013286 Scroll of Raise Pet(Hippogriph) IDS_PROPITEM_TXT_013287 you get an Perfect Hippogriph IDS_PROPITEM_TXT_013288 Scroll of Raise Pet(Tiger) IDS_PROPITEM_TXT_013289 you get an Perfect Tiger
so
nun die source sachen
MoverSkill.Cpp
unter
Code:
BOOL CMover::DoUseItem( DWORD dwData, DWORD dwFocusId, int nPart )
{
#ifdef __WORLDSERVER
if( IsDie() )
return FALSE;
#ifdef __S_SERVER_UNIFY
if( ((CUser*)this)->m_bAllAction == FALSE )
return FALSE;
#endif // __S_SERVER_UNIFY
WORD dwType = LOWORD( dwData );
WORD dwId = HIWORD( dwData );
CItemBase* pItemBase = GetItemId( dwId );
if( IsUsableItem( pItemBase ) == FALSE )
return FALSE;
CItemElem* pItemElem = (CItemElem*)pItemBase;
ItemProp* pItemProp = pItemBase->GetProp();
if( pItemProp->dwItemKind3 == IK3_LINK )
{
pItemProp = prj.GetItemProp( pItemProp->dwActiveSkill );
if( pItemProp == NULL )
return FALSE;
}
DWORD dwItemKind1 = pItemProp->dwItemKind1;
DWORD dwItemKind2 = pItemProp->dwItemKind2;
DWORD dwItemKind3 = pItemProp->dwItemKind3;
Code:
#ifdef __RAISE_PET
#ifdef __WORLDSERVER
BOOL bPet;
BYTE nKind;
CUser *pUser = ((CUser*)this);//Momentan User der die scroll auslöst
CPet* pPet = pUser->GetPet();//Pet hohlen
if( pPet && pUser->GetPet()->GetLevel() != PL_EGG )//IST ES HÖHER ALS EGG?
{
return FALSE;
}
if( pItemProp->dwID == II_SYS_LION )//LÖWE
{
nKind = 1;
bPet = FALSE;
}
else if( pItemProp->dwID == II_SYS_RABBIT )//HASE
{
nKind = 2;
bPet = FALSE;
}
else if( pItemProp->dwID == II_SYS_TIGER )//TIGER
{
nKind = 0;
bPet = TRUE;
}
else if( pItemProp->dwID == II_SYS_HORSE )//PFERD
{
nKind = 6;
bPet = TRUE;
}
else if( pItemProp->dwID == II_SYS_DRAGON )//DRACHE
{
nKind = 4;
bPet = TRUE;
}
else if( pItemProp->dwID == II_SYS_HIPPOGRIPH )//HIPPOGREIF
{
nKind = 5;
bPet = TRUE;
}
else if( pItemProp->dwID == II_SYS_FOX )//FUCHS
{
nKind = 3;
bPet = TRUE;
}
if( bPet == TRUE)//SCROLL OF RAISE PET ?
{
if( IsValidObj( pUser ) == FALSE )//FEHLER ABGFRAGE
return TRUE;
if( pPet == NULL ) //FEHLER ABFRAGE
return TRUE;
// kind
if( nKind >= PK_MAX ) //FEHLER ABFRAGE
return TRUE;
// exp
BYTE nExpRate = 99; //EXP RATE
BYTE nLevel = 5;// S KLASSE
if( nLevel > PL_S ) //FEHLER CODE ABFRAGE
return TRUE;
BYTE nLife; //LIFE
nLife = 99;//LEBEN AUF 99 SETZEN
CItemElem* pItemElem2 = pUser->GetPetItem();
pPet->SetKind( nKind );//ART DES PETS
pPet->SetLevel( nLevel );//LEVEL SETZEN
if( nLevel == PL_EGG )
pPet->SetKind( 0 ); // initialize
pItemElem2->m_dwItemId = pPet->GetItemId();
pPet->SetEnergy( pPet->GetMaxEnergy() );//MAXIMALE ENERGY
DWORD dwExp = pPet->GetMaxExp() * nExpRate / 100;
pPet->SetExp( dwExp );
for( int i = 0; i < 6; i++ )//LEVEL SETZEN
pPet->SetAvailLevel( i, 9 );
pPet->SetLife( nLife );//DIE LEBEN SETZEN
if( pUser->HasPet() )
pUser->RemovePet();//EGG REINHOHLEN
g_dpDBClient.CalluspPetLog( pUser->m_idPlayer, pItemElem2->GetSerialNumber(), 0, PETLOGTYPE_LEVELUP, pPet );
pUser->AddPet( pPet, PF_PET_GET_AVAIL ); // PET EINFÜGEN
g_UserMng.AddPetLevelup( pUser, MAKELONG( (WORD)pPet->GetIndex(), (WORD)pPet->GetLevel() ) ); // öâ
pUser->UpdateItem( (BYTE)pItemElem->m_dwObjId, UI_NUM, 0 );//SCROLL LÖSCHEN
return TRUE;
}
#endif//__WORLDSERVER
#endif//__RAISE_PET
Code:
#define __RAISE_PET






