You last visited: Today at 13:32
Advertisement
[Source] Torch in v19 Navigator
Discussion on [Source] Torch in v19 Navigator within the Flyff PServer Guides & Releases forum part of the Flyff Private Server category.
03/23/2014, 14:21
#1
elite*gold: 115
Join Date: Jan 2012
Posts: 1,156
Received Thanks: 894
[Source] Torch in v19 Navigator
this one work with virtuos navigator and wurst navigator
Source:
In this function:
BOOL CWndNavigator::OnEraseBkgnd(C2DRender* p2DRender)
replace:
Code:
if( pLand )
{
pLand->m_texMiniMap.m_size = m_size;
if( clipRect.RectLapRect( rectCur ) )
{
if( pLand->m_texMiniMap.m_pTexture )
{
pLand->m_texMiniMap.m_size = m_size;
p2DRender->RenderTexture(point,&pLand->m_texMiniMap);
if( bDrawGuildWarNum )
{
m_GuildCombatTextureMask.m_size = pLand->m_texMiniMap.m_size;
p2DRender->RenderTexture(point, &m_GuildCombatTextureMask);
}
}
}
}
}
}
//p2DRender->RenderMiniMap( &m_ALPHACIRCLE );
AccuFrame(); // 간단한 프레임 계산을 해준다.
if( pWorld->m_bIsIndoor == FALSE
#if __VER >= 15 // __15TH_INSTANCE_DUNGEON
&& !pWorld->IsWorldInstanceDungeon()
#endif // __15TH_INSTANCE_DUNGEON
)
{
// 객체 출력을 위한 설정
TEXTUREVERTEX vertex[ 1000 * 6 ];
TEXTUREVERTEX* pVertices = vertex;
int nCount = 0;
int xu = 0, yv = 0;
CRect aRcArray[ 100 ];
int nRcCount = 0;
////////////////////////////////////////////////////
// 오브젝트 출력
////////////////////////////////////////////////////
CObj* pObj;
int nIndex = 0;
int nPartyMap[ MAX_PTMEMBER_SIZE ];
CMover* apQuest[ 100 ];
int nQuestNum = 0;
ZeroMemory( nPartyMap, sizeof(nPartyMap) );
int nPartyMapCount = 0;
float fDistMap = rect.Width() / 2 / fx;
FOR_LAND( pWorld, pLand, pWorld->m_nVisibilityLand, FALSE )
{
FOR_OBJ( pLand, pObj, OT_MOVER )
{
// BOOL bPartyMap = FALSE;
if( pObj != g_pPlayer )
{
CMover* pMover = (CMover*)pObj;
if( g_pPlayer->m_idMurderer != pMover->m_idPlayer ) // 찍을 타겟이 날 죽인넘이면 조건없이 무조건 찍는다.
{
// 플레이어필터가 아닌데, 플레이어라면
if( m_bObjFilterPlayer == FALSE && pMover->IsPlayer() == TRUE )
{
// 게다가 파티필터도 아니라면 스킵
if( m_bObjFilterParty == FALSE )
continue;
if( g_Party.IsMember( pMover->m_idPlayer ) == FALSE )
continue;
}
if( m_bObjFilterMonster == FALSE && ( pMover->IsPlayer() == FALSE && pMover->IsPeaceful() == FALSE /*&& pMover->IsSummon()*/ == FALSE ) )
continue;
if( m_bObjFilterNPC == FALSE && ( pMover->IsPlayer() == FALSE && pMover->IsPeaceful() == TRUE ) )
{
// 상점이 아니라면 컨티뉴.
LPCHARACTER lpCharacter = pMover->GetCharacter();
if( lpCharacter == NULL || lpCharacter->m_nStructure == -1 )
continue;
}
if( pMover->IsMode( TRANSPARENT_MODE ) || pMover->IsAuthHigher( AUTH_GAMEMASTER ) ) // 대상이 투명모드이거나 GM일경우 타겟 안됨.
continue;
}
vPos = pObj->GetPos();
vPos.x *= fx;
vPos.z *= fy;
point.x = (LONG)( ( rect.Width() / 2 ) + vPos.x );
point.y = (LONG)( ( rect.Height() / 2 ) - vPos.z );
point.x -= xCenter;
point.y -= yCenter;
CRect rectHittest( point.x, point.y, point.x + 5, point.y + 5);
//rectHittest.InflateRect( 4, 4 );
CPoint ptMouse = GetMousePoint();
if( rectHittest.PtInRect( ptMouse ) )
{
ClientToScreen( &ptMouse );
ClientToScreen( &rectHittest );
g_toolTip.PutToolTip( 10000 + ((CMover*)pObj)->GetId(), ((CMover*)pObj)->GetName( TRUE ), rectHittest, ptMouse, 0 );
}
// 퀘스트 이모티콘
if( pMover->IsNPC() && pMover->m_nQuestEmoticonIndex != -1 )
{
apQuest[ nQuestNum++ ] = pMover;
}
else
if( g_pPlayer->m_idMurderer && g_pPlayer->m_idMurderer == pMover->m_idPlayer ) // 찍을 타겟이 날 죽인넘이면 빨갛게 표시
nIndex = 5;
else
if( pMover->IsNPC() && pMover->IsPeaceful() )
{
nIndex = 1;
}
else
if( g_pPlayer->m_idGuild && g_pPlayer->m_idGuild == pMover->m_idGuild )
nIndex = 3;
else
if( pMover->IsNPC() && pMover->IsPeaceful() == FALSE )
nIndex = 2;
//xu = 10, yv = 0;
else
if( pMover->IsPlayer() )
{
nPartyMap[nPartyMapCount] = g_Party.FindMember( pMover->m_idPlayer );
if( nPartyMap[nPartyMapCount] != -1 )
{
g_Party.m_aMember[ nPartyMap[nPartyMapCount] ].m_vPos = pMover->GetPos();
++nPartyMapCount;
nIndex = 4;
}
else
nIndex = 0;
}
if( nCount < 1000 )
{
nCount++;
LPCHARACTER lpCharacter = pMover->GetCharacter();
if( lpCharacter && lpCharacter->m_nStructure != -1 )
m_texNavObjs.MakeVertex( p2DRender, CPoint( point.x - 8, point.y - 8 ), 6 + lpCharacter->m_nStructure, &pVertices );
else
{
// 퀘스트가 없는 것만 출력
if( pMover->m_nQuestEmoticonIndex == -1 )
m_texNavObjs.MakeVertex( p2DRender, CPoint( point.x - 2, point.y - 2 ), nIndex, &pVertices );
}
}
}
}
END_OBJ
}
END_LAND
to:
Code:
if( pLand )
{
if( g_pPlayer->HasBuffByIk3( IK3_MAPOPEN_DUNGEON ) ||
( pWorld->m_bIsIndoor == FALSE && !pWorld->IsWorldInstanceDungeon() ) )
{
pLand->m_texMiniMap.m_size = m_size;
if( clipRect.RectLapRect( rectCur ) )
{
if( pLand->m_texMiniMap.m_pTexture )
{
pLand->m_texMiniMap.Render( p2DRender, point, 200 );
if( bDrawGuildWarNum )
{
m_GuildCombatTextureMask.m_size = pLand->m_texMiniMap.m_size;
m_GuildCombatTextureMask.Render( p2DRender, point, 200 );
}
}
}
}
else
{
m_texDunFog.m_size = CSize( rect.Width(), rect.Height() );
p2DRender->RenderTexture( CPoint( 0, 0 ), &m_texDunFog, 255 );
}
}
}
}
AccuFrame();
if( g_pPlayer->HasBuffByIk3( IK3_MAPOPEN_DUNGEON ) ||
( pWorld->m_bIsIndoor == FALSE && !pWorld->IsWorldInstanceDungeon() ) )
{
TEXTUREVERTEX vertex[ 1000 * 6 ];
TEXTUREVERTEX* pVertices = vertex;
int nCount = 0;
int xu = 0, yv = 0;
CRect aRcArray[ 100 ];
int nRcCount = 0;
CObj* pObj;
int nIndex = 0;
int nPartyMap[ MAX_PTMEMBER_SIZE ];
CMover* apQuest[ 100 ];
int nQuestNum = 0;
ZeroMemory( nPartyMap, sizeof(nPartyMap) );
int nPartyMapCount = 0;
float fDistMap = rect.Width() / 2 / fx;
FOR_LAND( pWorld, pLand, pWorld->m_nVisibilityLand, FALSE )
{
FOR_OBJ( pLand, pObj, OT_MOVER )
{
if( pObj != g_pPlayer )
{
CMover* pMover = (CMover*)pObj;
if( g_pPlayer->m_idMurderer != pMover->m_idPlayer )
{
if( m_bObjFilterPlayer == FALSE && pMover->IsPlayer() == TRUE )
{
if( m_bObjFilterParty == FALSE )
continue;
if( g_Party.IsMember( pMover->m_idPlayer ) == FALSE )
continue;
}
if( m_bObjFilterMonster == FALSE && ( pMover->IsPlayer() == FALSE && pMover->IsPeaceful() == FALSE ) )
continue;
if( m_bObjFilterNPC == FALSE && ( pMover->IsPlayer() == FALSE && pMover->IsPeaceful() == TRUE ) )
{
LPCHARACTER lpCharacter = pMover->GetCharacter();
if( lpCharacter == NULL || lpCharacter->m_nStructure == -1 )
continue;
}
if( pMover->IsMode( TRANSPARENT_MODE ) || pMover->IsAuthHigher( AUTH_GAMEMASTER ) )
continue;
}
vPos = pObj->GetPos();
vPos.x *= fx;
vPos.z *= fy;
point.x = (LONG)( ( rect.Width() / 2 ) + vPos.x );
point.y = (LONG)( ( rect.Height() / 2 ) - vPos.z );
point.x -= xCenter;
point.y -= yCenter;
CRect rectHittest( point.x, point.y, point.x + 5, point.y + 5);
//rectHittest.InflateRect( 4, 4 );
CPoint ptMouse = GetMousePoint();
if( rectHittest.PtInRect( ptMouse ) )
{
ClientToScreen( &ptMouse );
ClientToScreen( &rectHittest );
g_toolTip.PutToolTip( 10000 + ((CMover*)pObj)->GetId(), ((CMover*)pObj)->GetName( TRUE ), rectHittest, ptMouse, 0 );
}
if( pMover->IsNPC() && pMover->m_nQuestEmoticonIndex != -1 )
{
apQuest[ nQuestNum++ ] = pMover;
}
else
if( g_pPlayer->m_idMurderer && g_pPlayer->m_idMurderer == pMover->m_idPlayer )
nIndex = 5;
else
if( pMover->IsNPC() && pMover->IsPeaceful() )
{
nIndex = 1;
}
else
if( g_pPlayer->m_idGuild && g_pPlayer->m_idGuild == pMover->m_idGuild )
nIndex = 3;
else
if( pMover->IsNPC() && pMover->IsPeaceful() == FALSE )
nIndex = 2;
else
if( pMover->IsPlayer() )
{
nPartyMap[nPartyMapCount] = g_Party.FindMember( pMover->m_idPlayer );
if( nPartyMap[nPartyMapCount] != -1 )
{
g_Party.m_aMember[ nPartyMap[nPartyMapCount] ].m_vPos = pMover->GetPos();
++nPartyMapCount;
nIndex = 4;
}
else
nIndex = 0;
}
if( nCount < 1000 )
{
nCount++;
LPCHARACTER lpCharacter = pMover->GetCharacter();
if( lpCharacter && lpCharacter->m_nStructure != -1 )
m_texNavObjs.MakeVertex( p2DRender, CPoint( point.x - 8, point.y - 8 ), 6 + lpCharacter->m_nStructure, &pVertices );
else
{
if( pMover->m_nQuestEmoticonIndex == -1 )
m_texNavObjs.MakeVertex( p2DRender, CPoint( point.x - 2, point.y - 2 ), nIndex, &pVertices );
}
}
}
}
END_OBJ
}
END_LAND
moverskill.cpp
this function:
int CMover: oUseItemKeep( ItemProp* pItemProp, CItemElem* pItemElem, int nPart)
from:
Code:
{
#ifdef __WORLDSERVER
#ifdef __NEW_STACKABLE_AMPS
// First Check how many Amps are currently active.
int nAmount = 0;
for( MAPBUFF::iterator i = m_buffs.m_mapBuffs.begin(); i != m_buffs.m_mapBuffs.end(); ++i )
{
ItemProp* pItemProp = prj.GetItemProp( i->second->GetId());
if( pItemProp )
{
if( pItemProp->dwItemKind3 == IK3_EXP_RATE )
{
nAmount++;
}
}
}
// Cant hold more Amps
if( nAmount >= MAX_AMP_STACK_COUNT )
{
return 2;
}
// Check Level
if( GetLevel() < pItemProp->nMinLimitLevel || GetLevel() > pItemProp->nMaxLimitLevel )
{
return 1;
}
// Can hold more Amps. Try activating scroll
if( HasBuff( BUFF_ITEM, (WORD) ( pItemProp->dwID )))
{
MAPAMPSTORE::iterator i = prj.m_mapAmpStore.find( pItemProp->dwID );
if( i != prj.m_mapAmpStore.end() )
{
AMP_STORE_INFO* info = i->second;
if( HasBuff( BUFF_ITEM, (WORD)(info->dwIDSecond)))
{
if( HasBuff( BUFF_ITEM, (WORD)(info->dwIDThird)))
{
if( HasBuff( BUFF_ITEM, (WORD) (info->dwIDFourth)))
{
if( HasBuff( BUFF_ITEM, (WORD) (info->dwIDFifth)))
{
return 2;
}
else
{
if( pItemProp->nMaxDuplication >= 5 )
{
ItemProp* pAmpProp = prj.GetItemProp( info->dwIDFifth );
DoApplySkill( (CCtrl*)this, pAmpProp, NULL );
return 4;
}
}
}
else
{
if( pItemProp->nMaxDuplication >= 4 )
{
ItemProp* pAmpProp = prj.GetItemProp( info->dwIDFourth );
DoApplySkill( (CCtrl*)this, pAmpProp, NULL );
return 4;
}
}
}
else
{
if( pItemProp->nMaxDuplication >= 3 )
{
ItemProp* pAmpProp = prj.GetItemProp( info->dwIDThird );
DoApplySkill( (CCtrl*)this, pAmpProp, NULL );
return 4;
}
}
}
else
{
if( pItemProp->nMaxDuplication >= 2 )
{
ItemProp* pAmpProp = prj.GetItemProp( info->dwIDSecond );
DoApplySkill( (CCtrl*)this, pAmpProp, NULL );
return 4;
}
}
}
}
else
{
// DoApplySkill( (CCtrl*)this, pItemProp, NULL );
Error( "%d", (DWORD)pItemProp->dwSkillTime );
AddBuff( BUFF_ITEM, (WORD)(pItemProp->dwID), 0, pItemProp->dwSkillTime, GetId() );
return 4;
}
case IK3_MAPOPEN_DUNGEON:
{
if( HasBuffByIk3( pItemProp->dwItemKind3 ))
return 2;
DoApplySkill( (CCtrl*)this, pItemProp, NULL );
return 0;
}
default:
{
if( HasBuff( BUFF_ITEM, (WORD) ( pItemProp->dwID )))
return 2;
AddBuff( BUFF_ITEM, (WORD)(pItemProp->dwID), 0, pItemProp->dwSkillTime, GetId() );
Error( "DoUseItemKeep IK3_ELSE pItemProp->dwId = %d, pItemProp->dwSkillTime = %d", pItemProp->dwID, pItemProp->dwSkillTime );
return 0;
}
#endif // __NEW_STACKABLE_AMPS
#endif // __WORLDSERVER
return 3;
}
to:
Code:
{
#ifdef __WORLDSERVER
// Check Level
if( GetLevel() < pItemProp->nMinLimitLevel || GetLevel() > pItemProp->nMaxLimitLevel )
{
return 1;
}
switch( pItemProp->dwItemKind3 )
{
#ifdef __NEW_STACKABLE_AMPS
case IK3_EXP_RATE:
{
// First Check how many Amps are currently active.
int nAmount = 0;
for( MAPBUFF::iterator i = m_buffs.m_mapBuffs.begin(); i != m_buffs.m_mapBuffs.end(); ++i )
{
ItemProp* pItemProp = prj.GetItemProp( i->second->GetId());
if( pItemProp )
{
if( pItemProp->dwItemKind3 == IK3_EXP_RATE )
{
nAmount++;
}
}
}
// Cant hold more Amps
if( nAmount >= MAX_AMP_STACK_COUNT )
{
return 2;
}
// Can hold more Amps. Try activating scroll
if( HasBuff( BUFF_ITEM, (WORD) ( pItemProp->dwID )))
{
MAPAMPSTORE::iterator i = prj.m_mapAmpStore.find( pItemProp->dwID );
if( i != prj.m_mapAmpStore.end() )
{
AMP_STORE_INFO* info = i->second;
if( HasBuff( BUFF_ITEM, (WORD)(info->dwIDSecond)))
{
if( HasBuff( BUFF_ITEM, (WORD)(info->dwIDThird)))
{
if( HasBuff( BUFF_ITEM, (WORD) (info->dwIDFourth)))
{
if( HasBuff( BUFF_ITEM, (WORD) (info->dwIDFifth)))
{
return 2;
}
else
{
if( pItemProp->nMaxDuplication >= 5 )
{
ItemProp* pAmpProp = prj.GetItemProp( info->dwIDFifth );
DoApplySkill( (CCtrl*)this, pAmpProp, NULL );
return 4;
}
}
}
else
{
if( pItemProp->nMaxDuplication >= 4 )
{
ItemProp* pAmpProp = prj.GetItemProp( info->dwIDFourth );
DoApplySkill( (CCtrl*)this, pAmpProp, NULL );
return 4;
}
}
}
else
{
if( pItemProp->nMaxDuplication >= 3 )
{
ItemProp* pAmpProp = prj.GetItemProp( info->dwIDThird );
DoApplySkill( (CCtrl*)this, pAmpProp, NULL );
return 4;
}
}
}
else
{
if( pItemProp->nMaxDuplication >= 2 )
{
ItemProp* pAmpProp = prj.GetItemProp( info->dwIDSecond );
DoApplySkill( (CCtrl*)this, pAmpProp, NULL );
return 4;
}
}
}
}
else
{
DoApplySkill( (CCtrl*)this, pItemProp, NULL );
return 4;
}
}
break;
case IK3_SCROLL:
case IK3_LOOKRESTOREITEM:
case IK3_MADRIGALBLESS:
{
if( HasBuff( BUFF_ITEM, (WORD) ( pItemProp->dwID )))
return 2;
DoApplySkill( (CCtrl*)this, pItemProp, NULL );
return 0;
}
break;
case IK3_MOREGETITEMSCROLL:
case IK3_PARTYPOINTFREE:
case IK3_PKPENALTYSCROLL_C:
case IK3_TRADEREGISTERITEM:
case IK3_MAPOPEN_DUNGEON:
{
if( HasBuffByIk3( pItemProp->dwItemKind3 ))
return 2;
DoApplySkill( (CCtrl*)this, pItemProp, NULL );
return 0;
}
default:
{
if( HasBuff( BUFF_ITEM, (WORD) ( pItemProp->dwID )))
return 2;
AddBuff( BUFF_ITEM, (WORD)(pItemProp->dwID), 0, pItemProp->dwSkillTime, GetId() );
Error( "DoUseItemKeep IK3_ELSE pItemProp->dwId = %d, pItemProp->dwSkillTime = %d", pItemProp->dwID, pItemProp->dwSkillTime );
return 0;
}
#endif // __NEW_STACKABLE_AMPS
}
#endif // __WORLDSERVER
return 3;
}
Resource:
v19 Reading Parameter(ONLY):
defineitem.h
Code:
#define II_SYS_SYS_SCR_MAPOPENAREA 23268
#define II_SYS_SYS_SCR_MAPOPENDUNGEON 23269
spec_item.txt
Code:
//RHYDER TORCH
17 II_SYS_SYS_SCR_MAPOPENAREA IDS_PROPITEM_TXT_014200 1 99 IK1_EFFECT IK2_KEEP IK3_MAPOPEN_DUNGEON = 0 1 = 0 = = = = = = = 0 = = 1 = = 1 1 = = 1440 = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_RELEASE01 = = = = 86400000 = WUI_NOW = = = = = = = = = 0 0 0 0 0 1 = = = = = = = = = = = = 1 = = = """Itm_WorldTorchArea-32.dds""" 0 """""" IDS_PROPITEM_TXT_014201 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 1 ITEM_GRADE_NORMAL 1 TYPE1_CONSUME TYPE2_CONSUME_SCROLL 1 0 0 0
17 II_SYS_SYS_SCR_MAPOPENDUNGEON IDS_PROPITEM_TXT_014202 1 99 IK1_EFFECT IK2_KEEP IK3_MAPOPEN_DUNGEON = 0 1 = 0 = = = = = = = 0 = = 1 = = 1 1 = = 10080 = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_RELEASE01 = = = = 604800000 = WUI_NOW = = = = = = = = = 0 0 0 0 0 1 = = = = = = = = = = = = 1 = = = """Itm_WorldTorchArea-32.dds""" 0 """""" IDS_PROPITEM_TXT_014203 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 1 ITEM_GRADE_NORMAL 1 TYPE1_CONSUME TYPE2_CONSUME_SCROLL 1 0 0 0
mdldyna.inc
Code:
"SysSysScrBxCom" II_SYS_SYS_SCR_MAPOPENAREA MODELTYPE_MESH "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
"SysSysScrBxCom" II_SYS_SYS_SCR_MAPOPENDUNGEON MODELTYPE_MESH "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
Propitem.txt.txt
Code:
IDS_PROPITEM_TXT_014200 Torch of Raon
IDS_PROPITEM_TXT_014201 When activated, allows you to view the map of all Premium EXP Areas and dungeons (Including instanced dungeons) for 1 day.
IDS_PROPITEM_TXT_014202 Torch of Isilrute
IDS_PROPITEM_TXT_014203 When activated, allows you to view the map of all Premium EXP Areas and dungeons (Including instanced dungeons) for 7 days.
Screens:
From:
when i use the scroll should be look like this:
Additional for Timer:
Quote:
at WndManager.cpp
Below:
Code:
if( dwSkillTimeTmp == 0
|| g_pPlayer->HasBuff( BUFF_ITEM2, II_SYS_SYS_SCR_PARTYSKILLUP01 )
|| g_pPlayer->HasBuff( BUFF_ITEM2, II_SYS_SYS_SCR_PARTYSKILLUP02 )
|| g_pPlayer->HasBuff( BUFF_ITEM2, II_SYS_SYS_SCR_PARTYSKILLUP01_01 )
Add:
Code:
/*************************TORCH RHYDER******************/
|| g_pPlayer->HasBuff( BUFF_ITEM2, II_SYS_SYS_SCR_MAPOPENAREA )
|| g_pPlayer->HasBuff( BUFF_ITEM2, II_SYS_SYS_SCR_MAPOPENDUNGEON )
=======================
Below:
Code:
if( dwSkillTimeTmp == 0
|| g_pPlayer->m_SkillState.HasSkill( BUFF_ITEM2, II_SYS_SYS_SCR_PARTYSKILLUP01 )
|| g_pPlayer->m_SkillState.HasSkill( BUFF_ITEM2, II_SYS_SYS_SCR_PARTYSKILLUP02 )
|| g_pPlayer->m_SkillState.HasSkill( BUFF_ITEM2, II_SYS_SYS_SCR_PARTYSKILLUP01_01 )
Add:
Code:
/***************************TORCH RHYDER****************/
|| g_pPlayer->m_SkillState.HasSkill( BUFF_ITEM2, II_SYS_SYS_SCR_MAPOPENAREA )
|| g_pPlayer->m_SkillState.HasSkill( BUFF_ITEM2, II_SYS_SYS_SCR_MAPOPENDUNGEON )
at MoverSkill.cpp
Below:
Code:
else if( pItemProp->dwID == II_SYS_SYS_SCR_PARTYSKILLUP01
|| pItemProp->dwID == II_SYS_SYS_SCR_PARTYSKILLUP02
|| pItemProp->dwID == II_SYS_SYS_SCR_PARTYSKILLUP01_01
Add:
Code:
/*************************TORCH RHYDER******************/
|| pItemProp->dwID == II_SYS_SYS_SCR_MAPOPENAREA
|| pItemProp->dwID == II_SYS_SYS_SCR_MAPOPENDUNGEON
/*************************TORCH RHYDER******************/
Below:
Code:
if( HasBuff( BUFF_ITEM2, II_SYS_SYS_SCR_PARTYSKILLUP01 )
|| HasBuff( BUFF_ITEM2, II_SYS_SYS_SCR_PARTYSKILLUP02 )
|| HasBuff( BUFF_ITEM2, II_SYS_SYS_SCR_PARTYSKILLUP01_01 )
Add:
Code:
/*********************TORCH**********************/
|| HasBuff( BUFF_ITEM2, II_SYS_SYS_SCR_MAPOPENAREA )
|| HasBuff( BUFF_ITEM2, II_SYS_SYS_SCR_MAPOPENDUNGEON )
/*********************TORCH**********************/
at CmnHdr.h:
Below:
Code:
SM_SHOUT001, SM_BANK001,
Add:
Code:
/**********TORCH*************/
SM_TORCH,
Below:
Code:
dwSMItemID[SM_ESCAPE] = II_CHR_SYS_SCR_ESCAPEBLINKWING;
Add:
Code:
dwSMItemID [SM_TORCH] = II_SYS_SYS_SCR_MAPOPENAREA;
dwSMItemID [SM_TORCH] = II_SYS_SYS_SCR_MAPOPENDUNGEON;
NOTE: USE THE Spec_Item.txt for us to get the right timer.
Quote:
at WndField.cpp
Replace:
Code:
m_wndPlace.EnableWindow( !pWorld->m_bIsIndoor );
to this:
Code:
m_wndPlace.EnableWindow( pWorld->m_bIsIndoor );
for the navigator menu.
Credits goes to:
Rhyder'
03/23/2014, 15:20
#2
elite*gold: 5
Join Date: Oct 2012
Posts: 1,335
Received Thanks: 505
Danke f�rs releasen.
Dir ist klar das Virtuos seine Navigator Wurst seine ist nur das da Virtuos steht oder xD?
03/23/2014, 15:57
#3
elite*gold: 115
Join Date: Jan 2012
Posts: 1,156
Received Thanks: 894
Quote:
Originally Posted by
Crowley�
Danke f�rs releasen.
Dir ist klar das Virtuos seine Navigator Wurst seine ist nur das da Virtuos steht oder xD?
its just only for those who uses the following that comes either virtuos navigator and wurst but actually virtuos navigator one is from wurst. so the main navigator must be from wurst.
03/24/2014, 22:41
#4
elite*gold: 80
Join Date: May 2013
Posts: 146
Received Thanks: 23
Duration Torch is 1 seg :P
#Fix , User in Spec_Item :
17 II_SYS_SYS_SCR_MAPOPENAREA IDS_PROPITEM_TXT_014200 1 99 IK1_EFFECT IK2_KEEP IK3_MAPOPEN_DUNGEON = 0 1 = 0 = = = = = = = 0 = = 1 = = 1 1 = = 1440 = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_RELEASE01 = = = = 999999999 = WUI_NOW = = = = = = = = = 0 0 0 0 0 1 = = = = = = = = = = = = 1 = = = """Itm_WorldTorchArea-32.dds""" 0 """""" IDS_PROPITEM_TXT_014201 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 1 ITEM_GRADE_NORMAL 1 TYPE1_CONSUME TYPE2_CONSUME_SCROLL 1 0 0 0
17 II_SYS_SYS_SCR_MAPOPENDUNGEON IDS_PROPITEM_TXT_014202 1 99 IK1_EFFECT IK2_KEEP IK3_MAPOPEN_DUNGEON = 0 1 = 0 = = = = = = = 0 = = 1 = = 1 1 = = 10080 = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_RELEASE01 = = = = 999999999 = WUI_NOW = = = = = = = = = 0 0 0 0 0 1 = = = = = = = = = = = = 1 = = = """Itm_WorldTorchArea-32.dds""" 0 """""" IDS_PROPITEM_TXT_014203 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 1 ITEM_GRADE_NORMAL 1 TYPE1_CONSUME TYPE2_CONSUME_SCROLL 1 0 0 0
03/25/2014, 06:51
#5
elite*gold: 115
Join Date: Jan 2012
Posts: 1,156
Received Thanks: 894
Quote:
Originally Posted by
Supr3matt
Duration Torch is 1 seg :P
#Fix , User in Spec_Item :
17 II_SYS_SYS_SCR_MAPOPENAREA IDS_PROPITEM_TXT_014200 1 99 IK1_EFFECT IK2_KEEP IK3_MAPOPEN_DUNGEON = 0 1 = 0 = = = = = = = 0 = = 1 = = 1 1 = = 1440 = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_RELEASE01 = = = = 999999999 = WUI_NOW = = = = = = = = = 0 0 0 0 0 1 = = = = = = = = = = = = 1 = = = """Itm_WorldTorchArea-32.dds""" 0 """""" IDS_PROPITEM_TXT_014201 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 1 ITEM_GRADE_NORMAL 1 TYPE1_CONSUME TYPE2_CONSUME_SCROLL 1 0 0 0
17 II_SYS_SYS_SCR_MAPOPENDUNGEON IDS_PROPITEM_TXT_014202 1 99 IK1_EFFECT IK2_KEEP IK3_MAPOPEN_DUNGEON = 0 1 = 0 = = = = = = = 0 = = 1 = = 1 1 = = 10080 = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_RELEASE01 = = = = 999999999 = WUI_NOW = = = = = = = = = 0 0 0 0 0 1 = = = = = = = = = = = = 1 = = = """Itm_WorldTorchArea-32.dds""" 0 """""" IDS_PROPITEM_TXT_014203 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 1 ITEM_GRADE_NORMAL 1 TYPE1_CONSUME TYPE2_CONSUME_SCROLL 1 0 0 0
for the official must be read by this column:
Quote:
17 II_SYS_SYS_SCR_MAPOPENAREA IDS_PROPITEM_TXT_014200 1 99 IK1_EFFECT IK2_KEEP IK3_MAPOPEN_DUNGEON = 0 1 = 0 = = = = = = = 0 = = 1 = = 1 1 = = 1440 = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_RELEASE01 = = = = 999999999 = WUI_NOW = = = = = = = = = 0 0 0 0 0 1 = = = = = = = = = = = = 1 = = = """Itm_WorldTorchArea-32.dds""" 0 """""" IDS_PROPITEM_TXT_014201 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 1 ITEM_GRADE_NORMAL 1 TYPE1_CONSUME TYPE2_CONSUME_SCROLL 1 0 0 0
17 II_SYS_SYS_SCR_MAPOPENDUNGEON IDS_PROPITEM_TXT_014202 1 99 IK1_EFFECT IK2_KEEP IK3_MAPOPEN_DUNGEON = 0 1 = 0 = = = = = = = 0 = = 1 = = 1 1 = = 10080 = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_RELEASE01 = = = = 999999999 = WUI_NOW = = = = = = = = = 0 0 0 0 0 1 = = = = = = = = = = = = 1 = = = """Itm_WorldTorchArea-32.dds""" 0 """""" IDS_PROPITEM_TXT_014203 1 300 0 0 1 0 0 0 0 0 2 = = = = = = = = = = 1 1 1 1 1 1 ITEM_GRADE_NORMAL 1 TYPE1_CONSUME TYPE2_CONSUME_SCROLL 1 0 0 0
04/17/2014, 21:25
#6
elite*gold: 115
Join Date: Jan 2012
Posts: 1,156
Received Thanks: 894
#Additional Things for the timer for us to make it works well.
Similar Threads
[Help] v19 Navigator
12/20/2013 - Flyff Private Server - 1 Replies
How to Fix may v19 ?
how to put alphamask ?
Screenshot by Lightshot
help me to fix it
thankyou
v19 navigator
06/03/2013 - Flyff Private Server - 5 Replies
Anyone know how to fix my v19 navigator..i use adeil. v19 navigator
http://s15.postimg.org/v3699bdej/Mp8_Sby4.png
i think need an alphamask but i don't have a code of it and idk how to do it.. :)
Thanks for those who help me :)
Navigator
05/24/2013 - Flyff Private Server - 2 Replies
what is the name of the navigator on resdata.inc ,
bec. want to change it to v19 navigator like on this photo
unid torch / soso torch
04/04/2010 - Diablo 2 - 0 Replies
hat jemand billig undi oder soso t abzugeben
o fg
sry hab den trade thread net gesehen
/closed
All times are GMT +2. The time now is 13:32 .