Quote:
Originally Posted by atherounge3
Enhance chance and specular map
|
I find only solution disable specular with set spec_mode = 0;
I dont know right this or not, but this fixed my problem
I shared fixed Game and Clinet source that can help others
--------------------------------
In Sframe source:
Disable Specular
Code:
void KMeshPrimitive::_SetSpecularBumpTexture(KViewportObject* pViewport, K3DRenderDevice* pDev)
{
int spec_mode = pViewport->GetUseSpecular();
spec_mode = 0;
if (spec_mode==0) // No specular
{
pDev->SetTexture( 1, NULL );
pDev->SetTexture( 2, NULL );
SetSpecular(FALSE);
return;
}
int factor = 1;
int color = 1;
if (spec_mode==1) // Default specular
{
if (m_TexPack.nTextureMode<=1)
{ factor = 1;
color = 1;
} else
{ factor = m_TexPack.nTextureMode/10;
color = m_TexPack.nTextureMode%10;
}
} else
if (spec_mode==2) // Test mode
{ factor = pViewport->m_nSpecularFactor;
color = pViewport->m_nSpecularColor;
} else
if (spec_mode==3) // Default + test mode
{
if (m_TexPack.nTextureMode<=1)
{ factor = pViewport->m_nSpecularFactor;
color = pViewport->m_nSpecularColor;
} else
{ factor = m_TexPack.nTextureMode/10;
color = m_TexPack.nTextureMode%10;
}
}
if (factor==0) pDev->SetTexture( 1, NULL ); else // 0: no texture
if (factor==1) pDev->SetTexture( 1, m_TexPack.spTexture_Specular ); else // 1: @@@_spec texture
if (factor==2) pDev->SetTexture( 1, m_TexPack.spTexture ); else // 2: 1st texture
if (factor>=3 && factor<=5)
{ pDev->SetTexture( 1, _spSpecular[4+factor-3]); // 3,4,5: 30,40,50 specular bank~gradient~highlight
}
if (color==0) pDev->SetTexture( 2, NULL); else // 0: none
if (color>=1 && color<=4)
{ pDev->SetTexture( 2, _spSpecular[color-1]); //m_TexPack.spTexture_Illumin); // 1:metal 2: skin 3:dark_skin 4: rsv
}
SetSpecular(TRUE);
}
--------------------------------
In Sframe source:
To make the client work for you, don't forget to add the following flags:
They must match your game server.
SNetMessage.h
Code:
const unsigned short TM_CS_LOGIN = 1;
const unsigned short TM_SC_LOGIN_RESULT = 4;
const unsigned short TM_CS_MOVE_REQUEST = 5;
const unsigned short TM_SC_MOVE_ACK = 6;
const unsigned short TM_CS_REGION_UPDATE = 7;
---------------------------------
Trade Fix
In Captain source:
Go to OnTrade.cpp
Code:
AR_TIME t = GetArTime(); or search for this word and find OnTrade.cpp
AR_TIME t = GetArTime(); and copy below and write it under this line
if( pClient->IsMoving(t) )
{
pClient->CancelTrade();
return;
}
--------------------------
Skill List Fix in Sframe Source
Search for the word
const int c_nMaxLine
const int c_nMinLine
and replace number 11 with number 7
------------------------------------
Guild Creation Fix, in Sephram source:
Search for this word 길드결성
and replace it with gcreate
without deleting this symbol /
----------------------------
Sitting Issue Fix, in Sframe source
Search for the word
onCheatSitdown
in table
Game massge.cpp
and replace it completely with
Code:
void onCheatSitdown(StructPlayer* pPlayer, std::vector< std::string >& vToken)
{
ARCADIA_LOCK(ArcadiaServer::Instance().LockObjectWithVisibleRange(pPlayer));
if (pPlayer->IsMoving(GetArTime()) ||!pPlayer->IsActable()|| !pPlayer->IsSitdownable()) return; //916frosty
if (pPlayer->IsFormChanged())
{
SendChatMessage(false, CHAT_NOTICE, "@NOTICE", pPlayer, "@440");
return;
}
if (pPlayer->IsAttacking())
{
pPlayer->CancelAttack();
}
pPlayer->SitDown();
BroadcastStatusMessage(pPlayer);
}
--------------------
White Items Not Showing Fix
Sframe source
Delete this word:
enhance_chance
(delete it like deleting any C++ code)
---------------------