
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






