Hi Every one i try to recode or combine the code of fix awake scroll to make easier to everyone, this scroll is work for all item that you equip. my release is base on this release [Only registered and activated users can see links. Click Here To Register...]
and i make a small modification.
first
Source:
DPSrvr.cpp
Search for
Add Below
under the
add this
DPSrvr.h
Look for
add below
WorldServer: VersionCommon.h
Resource:
defineItem.h
propItem.txt
mdlDyna.inc
this small modification are working and tested ingame, i hope that this release help others to my mini release
•Credit to Velmore for the source code
•@Wezzy_Dev or Rjay Bacaya for the release link
•Me for the small changes of the code
and i make a small modification.
first
Source:
DPSrvr.cpp
Search for
PHP Code:
case II_SYS_SYS_SCR_LEVELDOWN01:
case II_SYS_SYS_SCR_LEVELDOWN02:
b = DoUseItemTarget_ItemLevelDown( pUser, pMaterial, pTarget );
break;
PHP Code:
#ifdef __ALLINONEFIX_AWAKE_SCROLL
case II_SYS_AWAKEFIX_STR:
case II_SYS_AWAKEFIX_STA:
case II_SYS_AWAKEFIX_DEX:
case II_SYS_AWAKEFIX_INT:
case II_SYS_AWAKEFIX_CRITICAL:
case II_SYS_AWAKEFIX_ADOCH:
case II_SYS_AWAKEFIX_SPEED:
case II_SYS_AWAKEFIX_SPELL:
b = DoUseItemTarget_AiOFixAwakeningScroll( pUser, pMaterial, pTarget );
break;
#endif // __ALLINONEFIX_AWAKE_SCROLL
PHP Code:
#ifdef __SCROLL_OF_UNBINDING
BOOL CDPSrvr::UnbindScroll( CUser* pUser, CItemElem* pMaterial, CItemElem* pTarget )
{
if( pTarget->IsFlag(CItemElem::binds) && pMaterial->m_dwItemId == II_SYS_SYS_SCR_CANCELLATION )
{
pTarget->ResetFlag(CItemElem::binds);
pUser->UpdateItem( (BYTE)( pTarget->m_dwObjId ), UI_FLAG, MAKELONG( pTarget->m_dwObjIndex, pTarget->m_byFlag ) );
pUser->AddText("The item is no longer bind.");
// log
LogItemInfo log;
log.Action = "r";
log.SendName = pUser->GetName();
log.RecvName = "::binds";
log.WorldId = pUser->GetWorld()->GetID();
log.Gold = pUser->GetGold();
log.Gold2 = pUser->GetGold();
OnLogItem( log, pTarget, 1 );
return TRUE;
}
else
pUser->AddText("Cannot be done");
return FALSE;
}
#endif
PHP Code:
#ifdef __ALLINONEFIX_AWAKE_SCROLL
BOOL CDPSrvr::DoUseItemTarget_AiOFixAwakeningScroll( CUser* pUser, CItemElem* pMaterial, CItemElem* pTarget )
{
#ifdef __SYSSECURITY
try{
#endif
int nRandomOptionKind = g_xRandomOptionProperty->GetRandomOptionKind( pTarget );
if( nRandomOptionKind >= 0 )
{
g_xRandomOptionProperty->InitializeRandomOption( pTarget->GetRandomOptItemIdPtr() ); //Reset awake
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////|Weapons|Armor|Shield|raised pet|looterpet|accessories|fashion/////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if( pTarget->GetProp()->dwItemKind1 == IK1_WEAPON
|| pTarget->GetProp()->dwItemKind2 == IK2_ARMORETC
|| pTarget->GetProp()->dwItemKind2 == IK2_ARMOR
|| pTarget->GetProp()->dwItemKind3 == IK3_SHIELD
|| pTarget->GetProp()->dwItemKind3 == IK3_EGG
|| pTarget->GetProp()->dwItemKind3 == IK3_PET
|| pTarget->GetProp()->dwItemKind2 == IK2_JEWELRY
|| pTarget->GetProp()->dwItemKind2 == IK2_CLOTH
|| pTarget->GetProp()->dwItemKind2 == IK2_CLOTHETC )
{
if( pMaterial->m_dwItemId == II_SYS_AWAKEFIX_STR )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STR, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STR, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STR, 30 );
}
else if( pMaterial->m_dwItemId == II_SYS_AWAKEFIX_STA )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STA, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STA, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_STA, 30 );
}
else if( pMaterial->m_dwItemId == II_SYS_AWAKEFIX_DEX )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_DEX, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_DEX, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_DEX, 30 );
}
else if( pMaterial->m_dwItemId == II_SYS_AWAKEFIX_INT )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_INT, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_INT, 30 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_INT, 30 );
}
else if( pMaterial->m_dwItemId == II_SYS_AWAKEFIX_ADOCH )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CRITICAL_BONUS, 28 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CRITICAL_BONUS, 28 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CRITICAL_BONUS, 28 );
}
else if( pMaterial->m_dwItemId == II_SYS_AWAKEFIX_CRITICAL )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CHR_CHANCECRITICAL, 22 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CHR_CHANCECRITICAL, 22 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_CHR_CHANCECRITICAL, 22 );
}
else if( pMaterial->m_dwItemId == II_SYS_AWAKEFIX_SPEED )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_SPEED, 12 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_SPEED, 12 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_SPEED, 12 );
}
else if( pMaterial->m_dwItemId == II_SYS_AWAKEFIX_SPELL )
{
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_SPELL_RATE, 12 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_SPELL_RATE, 12 );
g_xRandomOptionProperty->SetParam( pTarget->GetRandomOptItemIdPtr(), DST_SPELL_RATE, 12 );
}
}
else
{
pUser->AddText( "Oops! Wrong item!" );
return FALSE;
}
pUser->UpdateItemEx( (BYTE)( pTarget->m_dwObjId ), UI_RANDOMOPTITEMID, pTarget->GetRandomOptItemId() );
return TRUE;
}
return FALSE;
}
#ifdef __SYSSECURITY
}
catch(...)
{
Error("Error on Line %d in %s",__LINE__,__FILE__);
}
#endif
#endif // __ALLINONEFIX_AWAKE_SCROLL
Look for
PHP Code:
#ifdef __PERIN_CONVERTER
void OnGetPerin( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE, u_long );
#endif
PHP Code:
#ifdef __ALLINONEFIX_AWAKE_SCROLL
BOOL DoUseItemTarget_AiOFixAwakeningScroll( CUser* pUser, CItemElem* pMaterial, CItemElem* pTarget );
#endif // __ALLINONEFIX_AWAKE_SCROLL
WorldServer: VersionCommon.h
PHP Code:
#define __ALLINONEFIX_AWAKE_SCROLL
defineItem.h
PHP Code:
#define II_SYS_AWAKEFIX_STR 37857
#define II_SYS_AWAKEFIX_STA 37858
#define II_SYS_AWAKEFIX_DEX 37859
#define II_SYS_AWAKEFIX_INT 37860
#define II_SYS_AWAKEFIX_CRITICAL 37861
#define II_SYS_AWAKEFIX_ADOCH 37862
#define II_SYS_AWAKEFIX_SPEED 37863
#define II_SYS_AWAKEFIX_SPELL 37864
PHP Code:
11 II_SYS_AWAKEFIX_STR "AiO Sofa 30 STR" 1 999 IK1_SYSTEM IK2_SYSTEM IK3_SCROLL = = 1 = 100000 = = = = = = = 0 = = 190 190 1 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = EXT_ITEM WUI_NOW = = = = = = 200 = = 0 0 0 0 0 = = = = = = = = = = = = = = = = = """Itm_SysSysScrAwake.dds""" 0 """""" "You can use this to awake weapon/armor/shield/Raised Pet/looter/Accessories/fashion pet in one scroll"
11 II_SYS_AWAKEFIX_STA "AiO Sofa 30 STA" 1 999 IK1_SYSTEM IK2_SYSTEM IK3_SCROLL = = 1 = 100000 = = = = = = = 0 = = 190 190 1 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = EXT_ITEM WUI_NOW = = = = = = 200 = = 0 0 0 0 0 = = = = = = = = = = = = = = = = = """Itm_SysSysScrAwake.dds""" 0 """""" "You can use this to awake weapon/armor/shield/Raised Pet/looter/Accessories/fashion pet in one scroll"
11 II_SYS_AWAKEFIX_DEX "AiO Sofa 30 DEX" 1 999 IK1_SYSTEM IK2_SYSTEM IK3_SCROLL = = 1 = 100000 = = = = = = = 0 = = 190 190 1 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = EXT_ITEM WUI_NOW = = = = = = 200 = = 0 0 0 0 0 = = = = = = = = = = = = = = = = = """Itm_SysSysScrAwake.dds""" 0 """""" "You can use this to awake weapon/armor/shield/Raised Pet/looter/Accessories/fashion pet in one scroll"
11 II_SYS_AWAKEFIX_INT "AiO Sofa 30 INT" 1 999 IK1_SYSTEM IK2_SYSTEM IK3_SCROLL = = 1 = 100000 = = = = = = = 0 = = 190 190 1 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = EXT_ITEM WUI_NOW = = = = = = 200 = = 0 0 0 0 0 = = = = = = = = = = = = = = = = = """Itm_SysSysScrAwake.dds""" 0 """""" "You can use this to awake weapon/armor/shield/Raised Pet/looter/Accessories/fashion pet in one scroll"
11 II_SYS_AWAKEFIX_CRITICAL "AiO Sofa 22 C-Chance" 1 999 IK1_SYSTEM IK2_SYSTEM IK3_SCROLL = = 1 = 100000 = = = = = = = 0 = = 190 190 1 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = EXT_ITEM WUI_NOW = = = = = = 200 = = 0 0 0 0 0 = = = = = = = = = = = = = = = = = """Itm_SysSysScrAwake.dds""" 0 """""" "You can use this to awake weapon/armor/shield/Raised Pet/looter/Accessories/fashion pet in one scroll"
11 II_SYS_AWAKEFIX_ADOCH "AiO Sofa 28 Adoch" 1 999 IK1_SYSTEM IK2_SYSTEM IK3_SCROLL = = 1 = 100000 = = = = = = = 0 = = 190 190 1 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = EXT_ITEM WUI_NOW = = = = = = 200 = = 0 0 0 0 0 = = = = = = = = = = = = = = = = = """Itm_SysSysScrAwake.dds""" 0 """""" "You can use this to awake weapon/armor/shield/Raised Pet/looter/Accessories/fashion pet in one scroll"
11 II_SYS_AWAKEFIX_SPEED "AiO Sofa 12 Speed " 1 999 IK1_SYSTEM IK2_SYSTEM IK3_SCROLL = = 1 = 100000 = = = = = = = 0 = = 190 190 1 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = EXT_ITEM WUI_NOW = = = = = = 200 = = 0 0 0 0 0 = = = = = = = = = = = = = = = = = """Itm_SysSysScrAwake.dds""" 0 """""" "You can use this to awake weapon/armor/shield/Raised Pet/looter/Accessories/fashion pet in one scroll"
11 II_SYS_AWAKEFIX_SPELL "AiO Sofa 12 DCT " 1 999 IK1_SYSTEM IK2_SYSTEM IK3_SCROLL = = 1 = 100000 = = = = = = = 0 = = 190 190 1 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = EXT_ITEM WUI_NOW = = = = = = 200 = = 0 0 0 0 0 = = = = = = = = = = = = = = = = = """Itm_SysSysScrAwake.dds""" 0 """""" "You can use this to awake weapon/armor/shield/Raised Pet/looter/Accessories/fashion pet in one scroll"
PHP Code:
"SysSysScrBxCom" II_SYS_AWAKEFIX_STR MODELTYPE_MESH "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
"SysSysScrBxCom" II_SYS_AWAKEFIX_STA MODELTYPE_MESH "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
"SysSysScrBxCom" II_SYS_AWAKEFIX_DEX MODELTYPE_MESH "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
"SysSysScrBxCom" II_SYS_AWAKEFIX_INT MODELTYPE_MESH "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
"SysSysScrBxCom" II_SYS_AWAKEFIX_CRITICAL MODELTYPE_MESH "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
"SysSysScrBxCom" II_SYS_AWAKEFIX_ADOCH MODELTYPE_MESH "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
"SysSysScrBxCom" II_SYS_AWAKEFIX_SPEED MODELTYPE_MESH "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
"SysSysScrBxCom" II_SYS_AWAKEFIX_SPELL MODELTYPE_MESH "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
•Credit to Velmore for the source code
•@Wezzy_Dev or Rjay Bacaya for the release link
•Me for the small changes of the code