You last visited: Today at 02:56
Advertisement
[Collection] Old Systems
Discussion on [Collection] Old Systems within the Flyff PServer Guides & Releases forum part of the Flyff Private Server category.
12/09/2012, 14:49
#1
elite*gold: 0
Join Date: Nov 2010
Posts: 174
Received Thanks: 138
[Collection] Old Systems
Hey Leute,
in diesem Thread möchte ich viele alte Flyff Systeme, wie z.B. das alte Loadlight System oder das alte Monster Collecting System, releasen. Wenn ihr noch ein System habt, welches aus der alten Zeit stammt könnt ihr es gerne hier posten, ich werde es natürlich in den Hauptthread aufnehmen.
Der erste Release wird das alte
Loadlight System sein:
Schritt 1:
Wir gehen in die Datei WndField.cpp und dort in die Funktion void
CWndRevival::OnInitialUpdate() . Dort suchen wir nach der folgenden Stelle:
Code:
#if __VER >= 9 // __S_9_ADD
if( m_pLodeLight )
{
CRect RevivalRect = m_pRevival->GetWindowRect(TRUE);
CRect LodeLightRect = m_pLodeLight->GetWindowRect(TRUE);
m_pRevival->SetWndRect( LodeLightRect, TRUE );
m_pShop->SetWndRect( RevivalRect, TRUE );
m_pLodeLight->EnableWindow( FALSE );
m_pLodeLight->SetVisible( FALSE );
// crect = m_pLodeStar->GetWindowRect(TRUE);
// crect.top += 2;
// crect.bottom += 2;
// m_pLodeStar->SetWndRect( crect, TRUE );
// crect = m_pRevival->GetWindowRect(TRUE);
// crect.top += 8;
// crect.bottom += 8;
// m_pRevival->SetWndRect( crect, TRUE );
// crect = GetWndRect();
// crect.bottom -= 31;
// SetWndRect( crect, TRUE );
}
#endif // __S_9_ADD
Diese kommentieren wir komplett aus !
Nun gehen wir in die Datei DpSrvr.cpp (im WS) und suchen nach der Funktion
CDPSrvr::OnRevivalLodelight . Diese füllen wir mit folgedem Inhalt:
Code:
CWorld* pWorld;
CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
if( IsValidObj( pUser ) && ( pWorld = pUser->GetWorld() ) )
{
pUser->m_Resurrection_Data.bUseing = FALSE;
if( pUser->IsDie() == FALSE )
{
// À̸®·Î µé¾î¿À´Â °æ¿ì°¡ »ý±ä´Ù. »ý°¢¿£ ÀÌ¹Ì Çѹø ¿©±æ µé¾î¿Ô´Ù°¡ ·º °É¸°µ¿¾È
// ·Îµå½ºÅ¸¸¦ ¶Ç ´©¸£¸é µé¾î¿À´Â°Ô ¾Æ´Ñ°¡ ½Í´Ù.
return;
}
CCommonCtrl* pCtrl = CreateExpBox( pUser );
if( pCtrl )
{
pCtrl->AddItToGlobalId();
pWorld->ADDOBJ( pCtrl, FALSE, pUser->GetLayer() );
g_dpDBClient.SendLogExpBox( pUser->m_idPlayer, pCtrl->GetId(), pCtrl->m_nExpBox );
}
BOOL bGuildCombat = FALSE;
g_dpDBClient.SendLogLevelUp( (CMover*)pUser, 9 ); // ·Îµå½ºÅ¸·Î ºÎȰ ·Î±×
pUser->m_nDead = PROCESS_COUNT * 5; // Á×Àº ÈÄ 5Ãʰ£Àº ¹«Àû
float fRate = pUser->SubDieDecExp(); // Á×¾î¼* ºÎȰÇÏ¸é °âÄ¡ ±ðÀÓ,.
pUser->m_pActMover->ClearState();
if( pWorld->GetID() == WI_WORLD_GUILDWAR )
fRate = 1.0f;
#if __VER >= 11 // __GUILD_COMBAT_1TO1
else if( g_GuildCombat1to1Mng.IsPossibleUser( pUser ) )
fRate = 1.0f;
#endif // __GUILD_COMBAT_1TO1
#if __VER >= 9 // __S_9_ADD
else
fRate = 0.2f;
#endif // __S_9_ADD
#if __VER < 9 // __S_9_ADD // ¾Æ·¡¿¡¼* ä¿öÁÖ°í ÆÐŶ±îÁö º¸³»¹ö¸®´Â °ÍÀ¸·Î ¼öÁ¤
pUser->SetHitPoint( (int)(pUser->GetMaxHitPoint() * fRate) ); // hp ȸº¹
int nVal = (int)(pUser->GetMaxManaPoint() * fRate); // mp ȸº¹
if( pUser->GetManaPoint() < nVal )
pUser->SetManaPoint( nVal );
nVal = (int)(pUser->GetMaxFatiguePoint() * fRate); // fp ȸº¹
if( pUser->GetFatiguePoint() < nVal )
pUser->SetFatiguePoint( nVal );
#endif // __S_9_ADD
if( pWorld->GetID() == WI_WORLD_GUILDWAR )
{
g_UserMng.AddHdr( pUser, SNAPSHOTTYPE_REVIVAL );
g_GuildCombatMng.JoinObserver( pUser );
}
else
{
g_UserMng.AddHdr( pUser, SNAPSHOTTYPE_REVIVAL_TO_LODELIGHT );
}
#if __VER >= 9 // __S_9_ADD
pUser->SetPointParam( DST_HP, (int)(pUser->GetMaxHitPoint() * fRate) ); // hp ȸº¹
int nVal = (int)(pUser->GetMaxManaPoint() * fRate); // mp ȸº¹
pUser->SetPointParam( DST_MP, nVal );
nVal = (int)(pUser->GetMaxFatiguePoint() * fRate); // fp ȸº¹
pUser->SetPointParam( DST_FP, nVal );
#endif // __S_9_ADD
if( pWorld->GetID() == WI_WORLD_GUILDWAR )
return;
#ifdef __PK_PRISON
if(pUser->GetPKValue() >= 1 && !pWorld->IsArena())
pUser->REPLACE( g_uIdofMulti, WI_WORLD_PRISON, D3DXVECTOR3( 1266.0f, 114.8f, 1355.8f ), REPLACE_NORMAL, nDefaultLayer );
return;
#endif
#if __VER >= 12 // __SECRET_ROOM
if( CSecretRoomMng::GetInstance()->IsInTheSecretRoom( pUser ) )
{
pUser->REPLACE( g_uIdofMulti, WI_WORLD_MADRIGAL, CSecretRoomMng::GetInstance()->GetRevivalPos( pUser ), REPLACE_NORMAL, nDefaultLayer );
return;
}
#endif // __SECRET_ROOM
// º¸½º¸÷ ¸Ê¿¡¼* Á×¾ú´Ù...
// ±×·¯¸é ºÎȰÀº ¸¶À»¿¡¼*...
if( pWorld->GetID() == WI_DUNGEON_MUSCLE || pWorld->GetID() == WI_DUNGEON_KRRR || pWorld->GetID() == WI_DUNGEON_BEAR )
{
pUser->REPLACE( g_uIdofMulti, WI_WORLD_MADRIGAL, D3DXVECTOR3( 6968.0f, 0.0f, 3328.8f ), REPLACE_NORMAL, nDefaultLayer );
return;
}
PRegionElem pRgnElem = NULL;
if( pUser->IsChaotic()
#ifdef __JEFF_11_4
&& !pWorld->IsArena()
#endif // __JEFF_11_4
)
{
#if __VER >= 8 // __S8_PK
if( pWorld->GetID() != pWorld->m_dwIdWorldRevival && pWorld->m_dwIdWorldRevival != 0 )
pRgnElem = g_WorldMng.GetRevivalPosChao( pWorld->m_dwIdWorldRevival, pWorld->m_szKeyRevival );
if( NULL == pRgnElem )
pRgnElem = g_WorldMng.GetNearRevivalPosChao( pWorld->GetID(), pUser->GetPos() );
#else // __VER >= 8 // __S8_PK
pRgnElem = g_WorldMng.GetNearRevivalPosChao( pWorld->GetID(), pUser->GetPos() );
#endif // __VER >= 8 // __S8_PK
}
else
{
if (pUser->m_idMarkingWorld == 0)
{
if( pWorld->GetID() != pWorld->m_dwIdWorldRevival && pWorld->m_dwIdWorldRevival != 0 )
pRgnElem = g_WorldMng.GetRevivalPos( pWorld->m_dwIdWorldRevival, pWorld->m_szKeyRevival );
if( NULL == pRgnElem )
pRgnElem = g_WorldMng.GetNearRevivalPos( pWorld->GetID(), pUser->GetPos() );
}else{
pRgnElem = new REGIONELEM;
pRgnElem->m_vPos = pUser->m_vMarkingPos;
pRgnElem->m_dwWorldId = pUser->m_idMarkingWorld;
}
}
if( pRgnElem )
pUser->REPLACE( g_uIdofMulti, pRgnElem->m_dwWorldId, pRgnElem->m_vPos, REPLACE_FORCE, nRevivalLayer );
else
pUser->REPLACE( g_uIdofMulti, pWorld->GetID(), pUser->GetPos(), REPLACE_FORCE, pUser->GetLayer() );
}
So nun einfach die Neuz und den WorldServer erstellen.
Als nächstes gehen wir in unseren Beast Editor und spawnen an den gewünschten Stellen die NPC's mit dem Namen: MaFl_LodeLight(für Flaris), MaSa_LodeLight(für SM), MaDa_LodeLight(für Darkon) oder MaDa_LodeLight2( für Darkon2)
So das wars
Da ich die letzte Woche sehr viel Stress habe poste ich einfach mal zwei kleine Systeme:
Day and Night:
Ihr ersetzt die Konstante
static const LIGHTCOLOR gs_kLight[24] mit der hier:
Code:
static const LIGHTCOLOR gs_kLight[24] = // diffuse, ambient
{
#ifdef __DAY_NIGHT
0.03f, 0.03f, 0.05f, 0.03f, 0.03f, 0.1f, // 0 12
0.03f, 0.03f, 0.05f, 0.03f, 0.03f, 0.1f, // 1
0.03f, 0.03f, 0.05f, 0.03f, 0.03f, 0.1f, // 2
0.5f, 0.5f, 0.6f, 0.4f, 0.4f, 0.4f, // 3
0.5f, 0.5f, 0.6f, 0.4f, 0.4f, 0.4f, // 4
0.5f, 0.5f, 0.6f, 0.4f, 0.4f, 0.4f, // 5
0.5f, 0.5f, 0.6f, 0.4f, 0.4f, 0.4f, // 6
0.7f, 0.7f, 0.7f, 0.5f, 0.5f, 0.5f, // 7
0.8f, 0.8f, 0.8f, 0.5f, 0.5f, 0.5f, // 8
0.9f, 0.9f, 0.9f, 0.5f, 0.5f, 0.5f, // 9
1.0f, 1.0f, 1.0f, 0.5f, 0.5f, 0.5f, // 10
1.0f, 1.0f, 1.0f, 0.6f, 0.6f, 0.6f, // 11
1.0f, 1.0f, 1.0f, 0.6f, 0.6f, 0.6f, // 12
1.0f, 1.0f, 1.0f, 0.6f, 0.6f, 0.6f, // 13 1
1.0f, 1.0f, 1.0f, 0.6f, 0.6f, 0.6f, // 14 2
1.0f, 1.0f, 1.0f, 0.5f, 0.5f, 0.5f, // 15 3
0.8f, 0.6f, 0.7f, 0.4f, 0.4f, 0.4f, // 16 5
0.6f, 0.4f, 0.2f, 0.4f, 0.4f, 0.3f, // 17 6
0.2f, 0.2f, 0.2f, 0.3f, 0.3f, 0.3f, // 18 7
0.1f, 0.1f, 0.2f, 0.3f, 0.3f, 0.3f, // 19 8
0.2f, 0.2f, 0.2f, 0.3f, 0.3f, 0.3f, // 20 8
0.2f, 0.2f, 0.2f, 0.3f, 0.3f, 0.3f, // 21 9
0.2f, 0.2f, 0.2f, 0.3f, 0.3f, 0.3f, // 22 10
0.2f, 0.2f, 0.2f, 0.3f, 0.3f, 0.3f, // 23 11
#else
0.4f, 0.4f, 0.5f, 0.3f, 0.3f, 0.4f, // 0 12
0.4f, 0.4f, 0.5f, 0.3f, 0.3f, 0.4f, // 1
0.4f, 0.4f, 0.5f, 0.3f, 0.3f, 0.4f, // 2
0.4f, 0.4f, 0.5f, 0.3f, 0.3f, 0.4f, // 3
0.4f, 0.4f, 0.5f, 0.3f, 0.3f, 0.4f, // 4
0.4f, 0.4f, 0.5f, 0.3f, 0.3f, 0.4f, // 5
0.5f, 0.5f, 0.6f, 0.4f, 0.4f, 0.4f, // 6
0.7f, 0.7f, 0.7f, 0.5f, 0.5f, 0.5f, // 7
0.8f, 0.8f, 0.8f, 0.5f, 0.5f, 0.5f, // 8
0.9f, 0.9f, 0.9f, 0.5f, 0.5f, 0.5f, // 9
1.0f, 1.0f, 1.0f, 0.5f, 0.5f, 0.5f, // 10
1.0f, 1.0f, 1.0f, 0.6f, 0.6f, 0.6f, // 11
1.0f, 1.0f, 1.0f, 0.6f, 0.6f, 0.6f, // 12
1.0f, 1.0f, 1.0f, 0.6f, 0.6f, 0.6f, // 13 1
1.0f, 1.0f, 1.0f, 0.6f, 0.6f, 0.6f, // 14 2
1.0f, 1.0f, 1.0f, 0.5f, 0.5f, 0.5f, // 15 3
0.9f, 0.9f, 0.9f, 0.5f, 0.5f, 0.5f, // 16 5
0.9f, 0.6f, 0.2f, 0.5f, 0.5f, 0.4f, // 17 6
0.6f, 0.6f, 0.4f, 0.4f, 0.4f, 0.4f, // 18 7
0.5f, 0.5f, 0.4f, 0.4f, 0.4f, 0.4f, // 19 8
0.45f, 0.45f, 0.4f, 0.35f, 0.35f, 0.35f, // 20 8
0.43f, 0.43f, 0.5f, 0.33f, 0.33f, 0.3f, // 21 9
0.41f, 0.41f, 0.5f, 0.31f, 0.31f, 0.3f, // 22 10
0.4f, 0.4f, 0.5f, 0.3f, 0.3f, 0.4f // 23 11
#endif
};
Dann definiert ihr
in der VersionCommon.h
Achtung, es ist nicht 100% Offi like aber der Effekt passt
Als nächstes System "veröffentliche" ich das alte
Item Color System :
In der Datei WndManager.cpp einfach die Funktion
DWORD CWndMgr::PutItemName( CItemElem* pItemElem, CEditString* pEdit )
mit der hier austauschen:
Code:
DWORD CWndMgr::PutItemName( CItemElem* pItemElem, CEditString* pEdit )
{
CString str;
CString strTemp;
DWORD dwColorbuf = dwItemColor[g_Option.m_nToolTipText].dwName0;
if( pItemElem->GetProp()->dwReferStat1 == WEAPON_GENERAL )
dwColorbuf = dwItemColor[g_Option.m_nToolTipText].dwName0;
else if( pItemElem->GetProp()->dwReferStat1 == WEAPON_UNIQUE )
dwColorbuf = dwItemColor[g_Option.m_nToolTipText].dwName1;
else if( pItemElem->GetProp()->dwReferStat1 == WEAPON_ULTIMATE )
dwColorbuf = dwItemColor[g_Option.m_nToolTipText].dwName3;
else if( pItemElem->GetProp()->dwReferStat1 == ARMOR_SET )
dwColorbuf = dwItemColor[g_Option.m_nToolTipText].dwName1;
#ifdef __OLD_ITEM_COLOR
if( pItemElem->GetProp()->dwItemRare == 200 )
dwColorbuf = dwItemColor[g_Option.m_nToolTipText].dwName1;
else if( pItemElem->GetProp()->dwItemRare == 300 )
dwColorbuf = dwItemColor[g_Option.m_nToolTipText].dwName2;
#endif
if( pItemElem->IsFlag( CItemElem::binds )
&& (pItemElem->m_dwItemId != II_GEN_MAT_ORICHALCUM01_1 && pItemElem->m_dwItemId != II_GEN_MAT_MOONSTONE_1)
#if __VER >= 14 // __EQUIP_BIND
&& pItemElem->GetProp()->dwFlag != IP_FLAG_EQUIP_BIND
#endif // __EQUIP_BIND
)
strTemp.Format( "%s ", prj.GetText( TID_GAME_TOOLTIP_ITEM_BINDS ) );
// ·£´ý ¿É¼Ç
if( pItemElem->GetProp()->dwParts != (DWORD)-1 )
{
PRANDOMOPTITEM pRandomOptItem = CRandomOptItemGen::GetInstance()->GetRandomOptItem( pItemElem->GetRandomOpt() );
if( pRandomOptItem )
strTemp.Format( "%s ", pRandomOptItem->pszString );
}
BOOL bGuildCombatCloak = FALSE;
if( pItemElem->m_dwItemId == II_ARM_S_CLO_CLO_DRAGON1 || pItemElem->m_dwItemId == II_ARM_S_CLO_CLO_DRAGON2 ||
pItemElem->m_dwItemId == II_ARM_S_CLO_CLO_DRAGON3 || pItemElem->m_dwItemId == II_ARM_S_CLO_CLO_DRAGON4 )
bGuildCombatCloak = TRUE;
if( pItemElem->GetProp()->dwItemKind3 == IK3_CLOAK && pItemElem->m_idGuild ) // ±æµå¹øÈ£°¡ ¹ÚÇôÀÖÀ¸¸é.
{
CGuild *pGuild = g_GuildMng.GetGuild( pItemElem->m_idGuild );
if( pGuild && bGuildCombatCloak == FALSE )
str.Format( prj.GetText( TID_GUILD_CLOAK ), pGuild->m_szGuild );
else
str.Format( "%s", pItemElem->GetProp()->szName );
}
#if __VER >= 9 // __CSC_VER9_1
else
{
str = pItemElem->GetName();
}
CString stredit;
strTemp += str;
if( pItemElem->GetProp()->IsUltimate() ) //Ultimate ¾ÆÀÌÄÜÀÌ µé¾î°¡±â À§ÇÑ ¿©¹é
stredit.Format(" %s", strTemp);
else
stredit.Format("%s", strTemp);
pEdit->AddString( stredit, dwColorbuf, ESSTY_BOLD );
#else // __CSC_VER9_1
else
{
str.Format( "%s", pItemElem->GetProp()->szName );
}
strTemp += str;
pEdit->AddString( strTemp, dwColorbuf, ESSTY_BOLD );
#endif //__CSC_VER9_1
return dwColorbuf;
}
Jetzt definiert ihr noch in der VersionCommon.h das hier:
Bounty System reaktivieren :
Mover.cpp
Code:
int CMover::SubPK( CMover *pAttacker, int nReflect )
{
if( !g_eLocal.GetState( EVE_PK )
#ifdef __JEFF_11_4
|| GetWorld()->IsArena()
#endif // __JEFF_11_4
)
return 1;
#if __VER >= 8 // __S8_PK
if( GetWorld()->GetID() == WI_WORLD_GUILDWAR && g_GuildCombatMng.m_nState != CGuildCombat::CLOSE_STATE )
return 1;
if( pAttacker->GetWorld()->GetID() == WI_WORLD_GUILDWAR && g_GuildCombatMng.m_nState != CGuildCombat::CLOSE_STATE )
return 1;
#if __VER >= 11 // __GUILD_COMBAT_1TO1
if( g_GuildCombat1to1Mng.IsPossibleUser( (CUser*)this ) && g_GuildCombat1to1Mng.IsPossibleUser( (CUser*)pAttacker ) )
return 1;
#endif // __GUILD_COMBAT_1TO1
if( g_eLocal.GetState( EVE_PKCOST )
#ifdef __JEFF_11_4
&& GetWorld()->IsArena() == FALSE
#endif // __JEFF_11_4
)
{
if( IsPlayer() && IsChaotic() )
{
#if !defined(__INTERNALSERVER)
if( m_dwAuthorization < AUTH_HELPER )
#endif
{
// ¾ÆÀÌÅÛ µå·Ó
// - Àκ¥ µå·Ó( ÀåÂøºÎÅÍ µå·ÓÇÏ¸é ¾ÈµÊ - Àκ¥°ø°£ÀÌ ºÎÁ·ÇÏ¿© µå·ÓÇÒ¼ö ¾øÀ½ )
CHAO_PROPENSITY Propensity = prj.GetPropensityPenalty( GetPKPropensity() );
int nInvenDrop = xRandom( Propensity.nInvenDorpMin, Propensity.nInvenDorpMax + 1 );
for( int i=0; i < nInvenDrop; ++i )
{
if( DoDropItemRandom( TRUE, pAttacker ) == 0 )
break;
}
// - ÀåÂø µå·Ó
int nEquipDrop = xRandom( Propensity.nEquipDorpMin, Propensity.nEquipDorpMax + 1 );
for( i=0; i < nEquipDrop; ++i )
{
if( DoDropItemRandom( FALSE, pAttacker, TRUE ) == 0 )
break;
}
}
}
}
if( pAttacker->IsPlayer() )
{
m_idMurderer = pAttacker->m_idPlayer;
CWorld* pWorld = GetWorld();
if( pWorld )
{
char szFormat[256];
strcpy( szFormat, pAttacker->GetName() );
strcat( szFormat, prj.GetText( TID_PK_REWARDNOTICE ) );
g_DPCoreClient.SendWCWantedReward( m_idPlayer, pAttacker->m_idPlayer, szFormat, pWorld->GetID(), GetPos(), GetLayer() );
}
}
if( !pAttacker->IsPlayer() || IsNPC() )
return 1;
BOOL bAdd = FALSE;
if( pAttacker->IsChaotic() ) // Ä«¿À»óÅÂ
{
if( !IsChaotic() )
bAdd = TRUE;
}
else // ÇÎÅ©»óÅÂ, Èù»ö»óÅÂ
{
if( !(IsChaotic() || IsPKPink()) )
bAdd = TRUE;
}
/// Ä«¿À¼öÄ¡, ¼ºÇâÀ» ¿Ã·ÁÁÜ
if( bAdd && nReflect == 0
&& pAttacker != this ) // chipi_081119 Áö¼ÓÇü µ¥¹ÌÁö ½ºÅ³ ¹Þ°í ÀçÁ¢Çϸé ÀÚ»ìµÇ¾î Ä«¿ÀµÇ´Â ¹®Á¦ ¼öÁ¤...
{
if( IsPlayer() && pAttacker->IsPlayer() )
{
if( !pAttacker->IsChaotic() )
((CUser*)pAttacker)->AddPlaySound( SND_PC_CHAOS );
CString szSendMsg;
szSendMsg.Format( prj.GetText(TID_GAME_PK_DEFENDER) , pAttacker->GetName() );
((CUser*)this)->AddText( szSendMsg );
szSendMsg.Format( prj.GetText(TID_GAME_PK_ATTACKER) , GetName() );
((CUser*)pAttacker)->AddText( szSendMsg );
}
pAttacker->SetPKValue( pAttacker->GetPKValue() + 1 );
((CUser*)pAttacker)->AddPKValue();
pAttacker->SetPKPropensity( pAttacker->GetPKPropensity() + NextPKPropensity( pAttacker->GetPKValue() ) );
g_UserMng.AddPKPropensity( pAttacker );
g_dpDBClient.SendLogPkPvp( pAttacker, this, 0, 'P' );
#if __VER >= 13 // __HONORABLE_TITLE // ´ÞÀÎ
#ifndef __MAINSERVER
if(!pAttacker->IsPlayer())
FILEOUT( "..\\HonorError.txt", "subpk()AddHonorListAck()\n" );
#endif // __MAINSERVER
((CUser*)pAttacker)->SetHonorAdd(HS_PK_COUNT,HI_COUNT_CHECK);
#endif // __HONORABLE_TITLE // ´ÞÀÎ
}
#else // __VER >= 8 // __S8_PK
BOOL bChaotic = IsChaotic();
m_idMurderer = pAttacker->m_idPlayer; // ³¯ ¸¶Áö¸·À¸·Î Á×ÀγðÀÇ Ç÷¹ÀÌ¾î¾ÆÀ̵𸦠ÀúÀåÇØµÒ.
pAttacker->m_nNumKill++; // ų¼ö Áõ°¡
(CUser*)this)->AddDefinedText( TID_GAME_PKDEAD, "\"%s\"", pAttacker->m_szName ); // ??¿¡°Ô Á×À½À» ´çÇÏ¿´½À´Ï´Ù.
int nGap = abs( this->GetLevel() - pAttacker->GetLevel() );
if( nGap >= 80 )
ChangeFame( this ); // 80 ÀÌ»óÀÏ Â÷ÀÌ ³¯ °æ¿ì, ¿¹¿ÜÀûÀ¸·Î ¸í¼ºÄ¡ Áõ°¨
// º¸»ó±Ý ¶³±¸±â¸¦ ¿äûÇÑ´Ù.
CWorld* pWorld = GetWorld();
if( pWorld )
{
//"%s´ÔÀÌ Çö»ó¹ü %s¸¦ Àâ¾Æ Çö»ó±Ý %sÆä³Ä¸¦ ¾ò¾ú½À´Ï´Ù."
char szFormat[256];
strcpy( szFormat, pAttacker->GetName() );
strcat( szFormat, prj.GetText( TID_PK_REWARDNOTICE ) );
g_DPCoreClient.SendWCWantedReward( m_idPlayer, pAttacker->m_idPlayer, szFormat, pWorld->GetID(), GetPos() );
}
if( g_eLocal.GetState( EVE_PKCOST )
#ifdef __JEFF_11_4
&& ( pWorld && pWorld->IsArena() == FALSE )
#endif // __JEFF_11_4
)
{
if( bChaotic )
{
#if !defined(__INTERNALSERVER)
if( m_dwAuthorization < AUTH_HELPER )
#endif
{
// Æä³Äµå·Ó
KarmaProp* pProp = prj.GetKarmaProp( m_nSlaughter );
float fRate = pProp->nDropGoldPercent / 100.0f;
int nGold = GetGold() * fRate;
if( nGold > 0 )
DropGold( nGold , GetPos(), TRUE );
// ¾ÆÀÌÅÛ µå·Ó
for( int i=0; i<pProp->nDropItem; ++i )
{
BOOL bExcludeEquip = ( i == 0 ); // 1°³ ÀÌÇÏÀÇ °æ¿ì, ÀåÂø ¾ÆÀÌÅÛÀº ¶³±¸Áö ¾Ê´Â´Ù.
if( xRandom( 100 ) < pProp->nDropPercent )
{
if( DoDropItemRandom( bExcludeEquip, pAttacker ) == 0 )
break;
}
}
}
}
}
//pAttackerÀÇ slaughter°ªÀ» º¯°æ½ÃŲ´Ù.
pAttacker->ChangeSlaughter( CHANGE_SLAUGHTER_KILL, this );
// ÁØÄ«¿À À¯Àú´Â PK·Î »ç¸Á ´çÇÒ °æ¿ì, Ä«¸£¸¶ µî±ÞÀÌ ÇÑ ´Ü°è ¿Ã¶ó°£´Ù.
if( GetSlaughterGrade() == SLAUGHTER_SEMI_CHAOTIC )
UpgradeKarma();
#endif // __VER >= 8 // __S8_PK
return 1;
}
So, nicht wundern, dass ich den Code nicht erkläre oder aber ich habe einfach nicht allzuviel Zeit immoment >.< Und ausserdem ist es ja ned so schwer das ganze zu verstehen
So, ich hoffe ich werde einmal die Woche ein neues System hier posten können
MfG Tex0
12/09/2012, 15:49
#2
elite*gold: 10
Join Date: Feb 2011
Posts: 1,760
Received Thanks: 501
schöne sache nur ich glaube es werden wenige benutzen, da auf pservern eh keiner stirbt
12/09/2012, 16:31
#3
elite*gold: 23
Join Date: Jun 2008
Posts: 949
Received Thanks: 376
Das Ship-Flying System
Soweit ich weiß war dies ja bei euch gefixt.
12/09/2012, 20:43
#4
elite*gold: 6
Join Date: Oct 2011
Posts: 506
Received Thanks: 84
wie währe es damit klingt interessant:
Quote:
Originally Posted by
Sedrika
Sunstone/Oricalkum und Moonstone haben die Power Dice damals ersetzt, war ein etwas anderes Upgrade System, was ich viel cooler find. Die Items kannst du noch in den Einträgen finden, rausgenommen wurden die nicht.
12/09/2012, 22:10
#5
elite*gold: 0
Join Date: Nov 2011
Posts: 395
Received Thanks: 233
Quote:
Originally Posted by
N8Schatten
wie währe es damit klingt interessant:
Hab ich früher mal gecodet, so lustig ist es jetzt auch nicht, das sind nur minimale Unterschiede zu Heute, wie z.B. PowerDice2 für Norm Upgrade, 4 für Sockeln, 6 für Schmuck, 12 für 100% Upgrade Chance und halt die einen Element Cards bis + 5 und die anderen bis 10...
12/09/2012, 22:33
#6
elite*gold: 0
Join Date: Nov 2010
Posts: 174
Received Thanks: 138
Yo mach ich mal morgen :-)
12/09/2012, 22:48
#7
elite*gold: 0
Join Date: Feb 2008
Posts: 97
Received Thanks: 26
Quote:
Originally Posted by
Unleashed!
Hab ich früher mal gecodet, so lustig ist es jetzt auch nicht, das sind nur minimale Unterschiede zu Heute, wie z.B. PowerDice2 für Norm Upgrade, 4 für Sockeln, 6 für Schmuck, 12 für 100% Upgrade Chance und halt die einen Element Cards bis + 5 und die anderen bis 10...
Hab v 5 - v7 gezockt und Power Dice 2 gibt es nicht, und schmuck konnte man nicht uppen
Pd 4: upgrade von 1-5
Pd 6: upgrade 5-10
Pd 8: sockel
Pd 10: höhere sockel chance
Pd 12: höhere upgrade chance von1-10
12/10/2012, 01:13
#8
elite*gold: 0
Join Date: Sep 2008
Posts: 569
Received Thanks: 695
Karten gabs früher von 1~5 und von 6~10.
Da es heute Element bis +20 gibt macht 1~10 & 10~20 eher Sinn.
Wenn du das PD System wieder einfügen willst musst du auch noch die Safe Upgrades abändern.
12/10/2012, 07:17
#9
elite*gold: 0
Join Date: Nov 2010
Posts: 174
Received Thanks: 138
Wer erinnert sich noch an den alten Flugeffekt ?
Wer hätte mal wieder Lust auf ihn ?
12/10/2012, 13:05
#10
elite*gold: 23
Join Date: Jun 2008
Posts: 949
Received Thanks: 376
Rolleffect aktiveren - fertig.
12/10/2012, 13:17
#11
elite*gold: 0
Join Date: Nov 2010
Posts: 174
Received Thanks: 138
Ja aber im neuen Option Window ist der ned mehr enthalten ^^
12/13/2012, 18:03
#12
elite*gold: 0
Join Date: Nov 2010
Posts: 174
Received Thanks: 138
kleines Update
12/13/2012, 18:41
#13
elite*gold: 0
Join Date: Dec 2010
Posts: 164
Received Thanks: 54
Was ist das Item Color System ?
12/13/2012, 18:51
#14
elite*gold: 0
Join Date: Nov 2010
Posts: 174
Received Thanks: 138
Es gab Blue, Brown und Green Items
12/13/2012, 21:40
#15
elite*gold: 0
Join Date: Jan 2009
Posts: 1,741
Received Thanks: 1,674
In deinem Snippet taucht nirgens eine ifdef Abfrage mit __OLD_ITEM_COLOR auf.
Similar Threads
Want to Buy flyff systems
06/16/2012 - Flyff Trading - 0 Replies
As what the title said I am buying flyff systems it can be an item chat link system,automatic pvp event system and many many more if you have.Just send me a private message and I'll reply as soon as possible
via Paypal only
~ Push !
[Sammelthread]S4 League Style Collection/Your Style Collection
05/05/2012 - S4 League - 35 Replies
Hallo Community
Ich wollte mal einen Thread erstellen indem es über S4 League Style Collection geht
Was ist S4 League Style Collection ?
Hier könnt ihr eure eigenen Styles von S4 League Presentieren
Was für Kommentare abgeben ?
[Fun] defence systems
05/08/2008 - RF Online - 1 Replies
I just found out that if you do flying over an hostile defence system, and attack it from long enough distance, you can kill the defencesystems to other races xD
=D
All times are GMT +2. The time now is 02:58 .