hero skill

04/28/2014 09:30 pppp10#1
character level 130+ can't quest hero skill.

where how to edit npc quest hero?
04/28/2014 10:32 Sedrika#2
Worlddialog.dll
04/28/2014 11:15 pppp10#3
Quote:
Originally Posted by Sedrika View Post
Worlddialog.dll
้how to program edit?
04/28/2014 13:54 Sedrika#4
Use the source.
04/28/2014 15:06 Lumi#5
Quote:
Originally Posted by pppp10 View Post
้how to program edit?
Use visual studio.
04/28/2014 16:03 pppp10#6
Quote:
Originally Posted by ​Lumi View Post
Use visual studio.
I not understand.how to edit WorldDialog.dll.

help me please.
04/28/2014 16:29 Sedrika#7
You have to use visual studio to edit the source code of the dialog file...
04/29/2014 03:36 pppp10#8
Quote:
Originally Posted by Sedrika View Post
You have to use visual studio to edit the source code of the dialog file...
I want hero skill but character level 130+ not quest.can't click ok.
04/29/2014 05:10 Avalion#9
CDPSvr::OnLegendSkillStart

dpsrvr.cpp
04/29/2014 08:14 pppp10#10
Quote:
Originally Posted by Avalion View Post
CDPSvr::OnLegendSkillStart

dpsrvr.cpp
void CDPSrvr::OnLegendSkillStart( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
{
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );

if( IsValidObj( pUser ) == FALSE )
return;

OBJID objItemId[5];

for( int i=0; i<5; ++i )
ar >> objItemId[i];

if(pUser->IsHero() == FALSE)
return;

for( i = 0; i < MAX_SKILL_JOB; i++ )
{
LPSKILL lpSkill = &(pUser->m_aJobSkill[i]);
if( lpSkill && lpSkill->dwSkill != NULL_ID )
{
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
if( pSkillProp == NULL )
continue;
if( pSkillProp->dwItemKind1 != JTYPE_HERO)
continue;
if( lpSkill->dwLevel > 4 )
{
pUser->AddLegendSkillResult(-1);
return;
}
}
}

CItemElem* pItemElem[5];
// ภฯฤกวฯดยม๖ ฐหป็ (ภฮบฅลไธฎฟกผญ ฐหป็)
for( i=0; i<5; i++ )
{
pItemElem[i] = (CItemElem*)pUser->m_Inventory.GetAtId( objItemId[i] );
if( IsUsableItem( pItemElem[i] ) == FALSE )
return ;
}

if( pItemElem[0]->m_dwItemId != II_GEN_MAT_DIAMOND ||
pItemElem[1]->m_dwItemId != II_GEN_MAT_EMERALD ||
pItemElem[2]->m_dwItemId != II_GEN_MAT_SAPPHIRE ||
pItemElem[3]->m_dwItemId != II_GEN_MAT_RUBY ||
pItemElem[4]->m_dwItemId != II_GEN_MAT_TOPAZ )
return;

// ธ๐ตฮ ภฯฤกวฯธ้ บธผฎ พฦภฬล ป่มฆ
for( i=0; i<5 ; i++ )
{
LogItemInfo aLogItem;
aLogItem.Action = "+";
aLogItem.SendName = pUser->GetName();
aLogItem.RecvName = "LEGENDSKILL_USE";
aLogItem.WorldId = pUser->GetWorld()->GetID();
OnLogItem( aLogItem, pItemElem[i], 1 );
pUser->RemoveItem( (BYTE)( objItemId[i] ), (short)1 );
}


if( xRandom(1000) > 766 )
{
for( i = 0; i < MAX_SKILL_JOB; i++ )
{
LPSKILL lpSkill = &(pUser->m_aJobSkill[i]);
if( lpSkill && lpSkill->dwSkill != NULL_ID )
{
ItemProp* pSkillProp = prj.GetSkillProp( lpSkill->dwSkill );
if( pSkillProp == NULL )
continue;
if( pSkillProp->dwItemKind1 != JTYPE_HERO)
continue;
lpSkill->dwLevel++;

g_dpDBClient.SendLogSkillPoint( LOG_SKILLPOINT_USE, 1, (CMover*)pUser, &(pUser->m_aJobSkill[i]) );
}
}
g_UserMng.AddCreateSfxObj((CMover *)pUser, XI_SYS_EXCHAN01, pUser->GetPos().x, pUser->GetPos().y, pUser->GetPos().z);
pUser->AddDoUseSkillPoint( &(pUser->m_aJobSkill[0]), pUser->m_nSkillPoint );
#ifdef __S_NEW_SKILL_2
g_dpDBClient.SaveSkill( pUser );
#endif // __S_NEW_SKILL_2
pUser->AddLegendSkillResult(TRUE);
}
else
{
pUser->AddLegendSkillResult(FALSE);
}
}
#endif //__LEGEND // 9ย๗ ภฝยฝรฝบล Neuz, World, Trans

where edit?
04/29/2014 08:52 Mognakor#11
if(pUser->IsHero() == FALSE)
return;

either to

if(pUser->IsHero() == FALSE || pUser->IsLegend()) //or IsLegendHero() not sure how the exact name is

or check if the legendlevel is greater than or equal to 'Hero'
return;
04/29/2014 08:57 Sedrika#12
Er will die Quest Zeit ändern und ihr sagt ihm was falsches, Ouch...
04/29/2014 10:10 Mognakor#13
Quote:
Originally Posted by Sedrika View Post
Er will die Quest Zeit ändern und ihr sagt ihm was falsches, Ouch...
Quote:
Originally Posted by pppp10 View Post
I want hero skill but character level 130+ not quest.can't click ok.

Hört sich für mich stark danach an dass er als Legend keinen Hero Skill mehr skillen kann. Besonders wenn man den Screenshot bedenkt und den Codeausschnitt.
04/29/2014 11:21 pppp10#14
Quote:
Originally Posted by Mognakor View Post
if(pUser->IsHero() == FALSE)
return;

either to

if(pUser->IsHero() == FALSE || pUser->IsLegend()) //or IsLegendHero() not sure how the exact name is

or check if the legendlevel is greater than or equal to 'Hero'
return;
eror.how to fix.
04/29/2014 11:35 Mognakor#15
Quote:
Originally Posted by pppp10 View Post
eror.how to fix.
...

Do you even try to think yourself?
Since my code had i minor mistake in it try this one


Code:
if( (pUser->IsHero() || pUser->IsLegend()) == FALSE)
Unless you are unable to do anything except copy/paste, hinting you the function or lines should have been enough.