You last visited: Today at 09:17
Advertisement
[Release] RoC Fixes
Discussion on [Release] RoC Fixes within the Flyff PServer Guides & Releases forum part of the Flyff Private Server category.
12/08/2011, 00:19
#1
elite*gold: 0
Join Date: Nov 2009
Posts: 38
Received Thanks: 30
[Release] RoC Fixes -BarunaTooltip-PetCrash-m_nAttackFirstRange
Baruna Tooltip (Logo Description)
WndManager.cpp
After
PHP Code:
if( pItemProp -> IsUltimate () )
g_toolTip . SetUltimateToolTip ( pItemBase );
Add
PHP Code:
if( pItemProp -> IsBaruna () )
g_toolTip . SetBarunaToolTip ( pItemBase );
In WndManager.cpp
CWndMgr::PutToolTipParts
case 1:
PHP Code:
g_toolTip . SetBarunaToolTip ( pPartsItemBase );
Change to
g_toolTipSub1 . SetBarunaToolTip ( pPartsItemBase );
case 2:
PHP Code:
g_toolTip . SetBarunaToolTip ( pPartsItemBase );
Change to
g_toolTipSub2 . SetBarunaToolTip ( pPartsItemBase );
WndManager.cpp
CWndMgr::PutPiercingOpt (For Piercing over 1)
PHP Code:
}
pEdit -> AddString ( strTemp , dwItemColor [ g_Option . m_nToolTipText ]. dwName4 );
}
else
#endif // __BARUNA_PIERCING
Change to
pEdit -> AddString ( strTemp , dwItemColor [ g_Option . m_nToolTipText ]. dwName4 );
}
}
else
#endif // __BARUNA_PIERCING
Pet Away fix (WorldServer Crash)
AIPet.cpp
PHP Code:
#else // __REACTIVATE_EATPET*/
if( pOwner -> IsDie () )
{
pOwner -> InactivateEatPet ();
return TRUE ;
}
else if( ! pOwner -> IsValidArea ( pEatPet , 32 ) )
{
CItemElem * pItemElem = pOwner -> GetVisPetItem ();
pOwner -> InactivateEatPet ();
pOwner -> ActivateEatPet ( pItemElem );
return TRUE ;
}
//#endif // __REACTIVATE_EATPET
Change to
PHP Code:
#else // __REACTIVATE_EATPET*/
if( pOwner -> IsDie () )
{
pOwner -> InactivateEatPet ();
return TRUE ;
}
else if( ! pOwner -> IsValidArea ( pEatPet , 32 ) )
{
pOwner -> InactivateEatPet ();
return TRUE ;
}
//#endif // __REACTIVATE_EATPET
Pieces of Order Required only 1 Fixed
WndField.cpp
CWndBarunaSeed::OnDropIcon
PHP Code:
if( pItemProp -> dwItemKind3 == IK3_CIDCRYSTAL && pTempElem -> m_nItemNum >= 10 )
change to
if( pItemProp -> dwItemKind3 == IK3_CIDCRYSTAL && ( pTempElem -> m_nItemNum >= 10 || pTempElem -> m_dwItemId == II_GEN_MAT_CIDPIEC01 ))
Change
PHP Code:
m_pItemElem -> SetExtra ( m_pItemElem -> GetExtra ()+ 10 );
TO
if( pTempElem -> m_dwItemId == II_GEN_MAT_CIDPIEC01 )
m_pItemElem -> SetExtra ( m_pItemElem -> GetExtra ()+ 1 );
else
m_pItemElem -> SetExtra ( m_pItemElem -> GetExtra ()+ 10 );
ItemUpgrade.cpp
Change to
PHP Code:
void CItemUpgrade :: CreateBarunaCrystal ( CUser * pUser , CItemElem * pCrystal , CItemElem * pPotion )
{
short remove = 10 ;
if( pCrystal -> GetProp ()-> dwItemKind3 != IK3_CIDCRYSTAL )
return;
if( pPotion -> GetProp ()-> dwItemKind3 != IK3_CIDMIX )
return;
if( pPotion -> GetProp ()-> dwItemLV != pCrystal -> GetProp ()-> dwItemLV )
{
pUser -> AddDefinedText ( TID_MMI_NEWSMELT_CID04 );
return;
}
if( pCrystal -> m_dwItemId == II_GEN_MAT_CIDPIEC01 )
remove = 1 ;
else
if( pCrystal -> m_nItemNum < 10 )
{
pUser -> AddDefinedText ( TID_MMI_NEWSMELT_CID05 );
return;
}
DWORD dwItemID ;
switch( pCrystal -> GetProp ()-> dwID )
{
case II_GEN_MAT_CIDPIECE05 : dwItemID = II_GEN_MAT_CIDPIECE04 ; break;
case II_GEN_MAT_CIDPIECE04 : dwItemID = II_GEN_MAT_CIDPIECE03 ; break;
case II_GEN_MAT_CIDPIECE03 : dwItemID = II_GEN_MAT_CIDPIECE02 ; break;
case II_GEN_MAT_CIDPIECE02 : dwItemID = II_GEN_MAT_CIDPIEC01 ; break;
case II_GEN_MAT_CIDPIEC01 : dwItemID = II_GEN_MAT_CID ; break;
}
CItemElem itemElemTemp ;
itemElemTemp . m_dwItemId = dwItemID ;
ItemProp * pItemprop = itemElemTemp . GetProp ();
if( ! pItemprop )
return;
if( ( DWORD )( 1 ) > pItemprop -> dwPackMax && pUser -> m_Inventory . IsFull ( & itemElemTemp , pItemprop , ( short )( 1 - pItemprop -> dwPackMax ) ) )
{
pUser -> AddDefinedText ( TID_GAME_LACKSPACE );
return;
}
CItemElem itemElem ;
itemElem . m_dwItemId = dwItemID ;
itemElem . m_nItemNum = 1 ;
itemElem . SetSerialNumber ();
itemElem . m_nHitPoint = 0 ;
pUser -> CreateItem ( & itemElem );
pUser -> AddDefinedText ( TID_MMI_NEWSMELT_CID08 );
pUser -> RemoveItem ( ( BYTE )( pCrystal -> m_dwObjId ), remove );
pUser -> RemoveItem ( ( BYTE )( pPotion -> m_dwObjId ), ( short ) 1 );
}
Open Skill Botton (After lv up)
CDPClient::OnSetExperience
PHP Code:
g_WndMng . m_pWndWorld -> GetAdvMgr ()-> AddAdvButton ( APP_SKILL3 );
Change to
g_WndMng . m_pWndWorld -> GetAdvMgr ()-> AddAdvButton ( APP_SKILL4 );
PHP Code:
CWndSkillTreeEx * pSkillTree = ( CWndSkillTreeEx *) g_WndMng . GetWndBase ( APP_SKILL3 );
Change to
CWndSkillTreeEx * pSkillTree = ( CWndSkillTreeEx *) g_WndMng . GetWndBase ( APP_SKILL4 );
Drag Master Hero Skill
resdata.inc
PHP Code:
IDS_RESDATA_INC_007089
}
WTYPE_STATIC WIDC_CUSTOM2 "" 0 414 184 442 212 0x260000 0 0 0 0 46 112 169
{
// Title String
IDS_RESDATA_INC_007090
}
{
// ToolTip
IDS_RESDATA_INC_007091
}
WTYPE_STATIC WIDC_CUSTOM3 "" 0 414 266 442 294 0x260000 0 0 0 0 46 112 169
{
Change to
PHP Code:
IDS_RESDATA_INC_007089
}
WTYPE_CUSTOM WIDC_CUSTOM2 "" 0 414 184 442 212 0x260000 0 0 0 0 46 112 169
{
// Title String
IDS_RESDATA_INC_007090
}
{
// ToolTip
IDS_RESDATA_INC_007091
}
WTYPE_CUSTOM WIDC_CUSTOM3 "" 0 414 266 442 294 0x260000 0 0 0 0 46 112 169
{
m_nAttackFirstRange ÀÌ»ó:0 Error
Delete the "<" in propMoverEx.inc
PHP Code:
< /*
06.04.07 -xuzhu-
MAX_LEGEND_LEVEL 99.99% (Fixed)
MoverParam.cpp
Change
PHP Code:
#endif // __ANGEL_EXPERIENCE
}
else if( IsHero ())
{
#ifdef __3RD_LEGEND16
if( m_nLevel >= MAX_LEGEND_LEVEL )
#else // __3RD_LEGEND16
if( m_nLevel > MAX_LEGEND_LEVEL )
#endif // __3RD_LEGEND16
{
m_nLevel = MAX_LEGEND_LEVEL ;
return TRUE ;
}
#if __VER < 14 // __ANGEL_EXPERIENCE
to
PHP Code:
#endif // __ANGEL_EXPERIENCE
}
else if( IsHero ())
{
if( m_nLevel > MAX_LEGEND_LEVEL )
{
m_nLevel = MAX_LEGEND_LEVEL ;
return TRUE ;
}
#if __VER < 14 // __ANGEL_EXPERIENCE
line +-1395
After
PHP Code:
#ifdef __3RD_LEGEND16
if( IsLegendHero () && ( nNextLevel > MAX_3RD_LEGEND_LEVEL ) )
{
m_nLevel = MAX_3RD_LEGEND_LEVEL ;
m_nExp1 = ( prj . m_aExpCharacter [ nNextLevel ]. nExp1 - 1 );
return FALSE ;
}
ADD
else if( IsHero () && ( nNextLevel > MAX_LEGEND_LEVEL ) )
{
m_nLevel = MAX_LEGEND_LEVEL ;
m_nExp1 = ( prj . m_aExpCharacter [ nNextLevel ]. nExp1 - 1 );
return FALSE ;
}
Change
PHP Code:
#ifdef __3RD_LEGEND16
else if( IsHero () && ( m_nLevel > MAX_LEGEND_LEVEL ) )
{
m_nLevel = MAX_LEGEND_LEVEL ;
bLevelUp = FALSE ;
}
to
#ifdef __3RD_LEGEND16
else if( IsHero () && ( m_nLevel > MAX_LEGEND_LEVEL ) )
{
m_nLevel = MAX_LEGEND_LEVEL ;
bLevelUp = FALSE ;
m_nExp1 = ( prj . m_aExpCharacter [ nNextLevel ]. nExp1 - 1 );
nExptmp = 0 ;
return FALSE ;
}
If you are using
In DPSrvr.cpp
Change
PHP Code:
void CDPSrvr :: OnUpdateJob ( CAr & ar , DPID dpidCache , DPID dpidUser , LPBYTE , u_long )
{
CUser * pUser = g_UserMng . GetUser ( dpidCache , dpidUser );
if( IsValidObj ( pUser ) == TRUE )
{
int nJob , nLevel ;
ar >> nJob ;
if( pUser -> m_nJob >= nJob )
return;
if( nJob < MAX_EXPERT && pUser -> m_nLevel != MAX_JOB_LEVEL )
return;
else if( nJob >= MAX_EXPERT && nJob < MAX_PROFESSIONAL && pUser -> m_nLevel != ( MAX_EXP_LEVEL + MAX_JOB_LEVEL ) )
return;
else if( nJob >= MAX_PROFESSIONAL && nJob < MAX_HERO && pUser -> m_nLevel != MAX_GENERAL_LEVEL && pUser -> GetExpPercent () != 9999 )
return;
else if( nJob >= MAX_HERO && pUser -> m_nLevel != MAX_LEGEND_LEVEL && pUser -> GetExpPercent () != 9999 )
return;
if( nJob < MAX_EXPERT )
nLevel = MAX_JOB_LEVEL ;
else if( nJob < MAX_PROFESSIONAL )
nLevel = MAX_JOB_LEVEL + MAX_EXP_LEVEL ;
else if( nJob < MAX_MASTER )
nLevel = MAX_JOB_LEVEL + MAX_EXP_LEVEL ;
else if( nJob < MAX_HERO )
nLevel = MAX_GENERAL_LEVEL ;
else if( nJob < MAX_JOB )
nLevel = MAX_LEGEND_LEVEL ;
else
return;
pUser -> InitLevelPumbaaa ( nJob , nLevel , TRUE );
}
}
Change to
PHP Code:
void CDPSrvr :: OnUpdateJob ( CAr & ar , DPID dpidCache , DPID dpidUser , LPBYTE , u_long )
{
CUser * pUser = g_UserMng . GetUser ( dpidCache , dpidUser );
if( IsValidObj ( pUser ) == TRUE )
{
int nJob , nLevel ;
ar >> nJob ;
if( pUser -> m_nJob >= nJob )
return;
if( nJob < MAX_EXPERT && pUser -> m_nLevel != MAX_JOB_LEVEL )
return;
else if( nJob >= MAX_EXPERT && nJob < MAX_PROFESSIONAL && pUser -> m_nLevel != ( MAX_EXP_LEVEL + MAX_JOB_LEVEL ) )
return;
else if( nJob >= MAX_PROFESSIONAL && nJob < MAX_HERO && pUser -> m_nLevel != MAX_GENERAL_LEVEL && pUser -> GetExpPercent () != 9999 )
return;
else if( nJob >= MAX_HERO && pUser -> m_nLevel != MAX_LEGEND_LEVEL && pUser -> GetExpPercent () != 9999 )
return;
if( nJob < MAX_EXPERT )
nLevel = MAX_JOB_LEVEL ;
else if( nJob < MAX_PROFESSIONAL )
nLevel = MAX_JOB_LEVEL + MAX_EXP_LEVEL ;
else if( nJob < MAX_MASTER )
nLevel = MAX_JOB_LEVEL + MAX_EXP_LEVEL ;
else if( nJob < MAX_HERO )
nLevel = ( MAX_GENERAL_LEVEL + 1 );
else if( nJob < MAX_JOB )
nLevel = ( MAX_LEGEND_LEVEL + 1 );
else
return;
pUser -> InitLevelPumbaaa ( nJob , nLevel , TRUE );
}
}
HeroSkillUp (Legend)
Worldserver DPSrvr.cpp
CDPSrvr::OnLegendSkillStart
Change
PHP Code:
if( pUser -> IsHero () == FALSE )
return;
to
if(! pUser -> IsHero () && ! pUser -> IsLegendHero ())
return;
Legend Apply for Lord
slord.cpp
namespace election
Change
PHP Code:
if( ! pUser -> IsMaster () && ! pUser -> IsHero () )
return TID_GAME_ELECTION_ADD_DEPOSIT_E001 ;
to
if( ! pUser -> IsMaster () && ! pUser -> IsHero () && ! pUser -> IsLegendHero ())
return TID_GAME_ELECTION_ADD_DEPOSIT_E001 ;
GuildCombatRank
PHP Code:
CWndGuildCombatRank_Class * CWndGuildCombatRank_Person :: __GetJobKindWnd ( int nJob )
{
switch( nJob )
{
case JOB_MERCENARY :
case JOB_KNIGHT :
case JOB_BLADE :
case JOB_KNIGHT_MASTER :
case JOB_BLADE_MASTER :
case JOB_KNIGHT_HERO :
case JOB_BLADE_HERO :
case JOB_LORDTEMPLER_HERO :
case JOB_STORMBLADE_HERO :
return & m_WndGuildCombatTabClass_Mer ;
break;
case JOB_ACROBAT :
case JOB_JESTER :
case JOB_RANGER :
case JOB_JESTER_MASTER :
case JOB_RANGER_MASTER :
case JOB_JESTER_HERO :
case JOB_RANGER_HERO :
case JOB_WINDLURKER_HERO :
case JOB_CRACKSHOOTER_HERO :
return & m_WndGuildCombatTabClass_Acr ;
break;
case JOB_ASSIST :
case JOB_RINGMASTER :
case JOB_BILLPOSTER :
case JOB_RINGMASTER_MASTER :
case JOB_BILLPOSTER_MASTER :
case JOB_RINGMASTER_HERO :
case JOB_BILLPOSTER_HERO :
case JOB_FLORIST_HERO :
case JOB_FORCEMASTER_HERO :
return & m_WndGuildCombatTabClass_Ass ;
break;
case JOB_MAGICIAN :
case JOB_PSYCHIKEEPER :
case JOB_ELEMENTOR :
case JOB_PSYCHIKEEPER_MASTER :
case JOB_ELEMENTOR_MASTER :
case JOB_PSYCHIKEEPER_HERO :
case JOB_ELEMENTOR_HERO :
case JOB_MENTALIST_HERO :
case JOB_ELEMENTORLORD_HERO :
return & m_WndGuildCombatTabClass_Mag ;
break;
default:
break;
}
return NULL ;
}
Credit Pixelfehler
Delete Character
_Database\DbManager.cpp
Change
PHP Code:
DBQryCharacter ( szQuery , "D1" , idPlayer , g_appInfo . dwSys , lpDbOverlappedPlus -> AccountInfo . szAccount , szNo );
to
DBQryCharacter ( szQuery , "D1" , idPlayer , g_appInfo . dwSys , lpDbOverlappedPlus -> AccountInfo . szAccount , lpDbOverlappedPlus -> AccountInfo . szPassword );
WARNING : This ignore the WIDC_EDIT1 in APP_DELETE_CHAR ( Unused in RoC )
If you do not want to put the password in id_no2 change the procedure CHARACTER_STR (should already know where
)
PHP Code:
Search
IF @ iGu = 'D1'
Change
IF EXISTS ( SELECT * FROM ACCOUNT_DBF . dbo . ACCOUNT_TBL WHERE account = @ iaccount AND ( id_no2 = @ im_szName OR member = 'B' ))
to
IF EXISTS ( SELECT * FROM ACCOUNT_DBF . dbo . ACCOUNT_TBL WHERE account = @ iaccount AND ( password = @ im_szName OR member = 'B' ))
Questions comments are welcome
12/08/2011, 00:28
#2
elite*gold: 0
Join Date: Mar 2010
Posts: 107
Received Thanks: 1
hi sir...how can i fix this..
2011/12/ 7 23:36:50 m_nAttackFirstRange ÀÌ»ó:0 White Angel
2011/12/ 7 23:39:19 GameGuard PickupGold - -941816316
2011/12/ 7 23:42:55 ¾ÆÅÛ ¹þ±â´Âµ¥ ½ÇÆÐ:GameGuard
2011/12/ 7 23:42:55 ¾ÆÅÛ ¹þ±â´Âµ¥ ½ÇÆÐ:GameGuard
2011/12/ 7 23:43:23 CWorld:
eleteObj : type=4 idx=26869 4096
its always random crash my world..
12/08/2011, 00:38
#3
elite*gold: 0
Join Date: Nov 2009
Posts: 38
Received Thanks: 30
Quote:
Originally Posted by
clinkz96
hi sir...how can i fix this..
2011/12/ 7 23:36:50 m_nAttackFirstRange ÀÌ»ó:0 White Angel
2011/12/ 7 23:39:19 GameGuard PickupGold - -941816316
2011/12/ 7 23:42:55 ¾ÆÅÛ ¹þ±â´Âµ¥ ½ÇÆÐ:GameGuard
2011/12/ 7 23:42:55 ¾ÆÅÛ ¹þ±â´Âµ¥ ½ÇÆÐ:GameGuard
2011/12/ 7 23:43:23 CWorld:
eleteObj : type=4 idx=26869 4096
its always random crash my world..
Try Compile in NoGameguard
And check propMoverEx.inc
12/08/2011, 00:40
#4
elite*gold: 0
Join Date: Mar 2010
Posts: 107
Received Thanks: 1
Quote:
Originally Posted by
fccfcc
Try Compile in NoGameguard
And check propMoverEx.inc
how about this sir?
2011/12/ 7 23:43:23 CWorld:eleteObj : type=4 idx=26869 4096
12/08/2011, 00:51
#5
elite*gold: 0
Join Date: Nov 2009
Posts: 38
Received Thanks: 30
Quote:
Originally Posted by
clinkz96
how about this sir?
2011/12/ 7 23:43:23 CWorld:eleteObj : type=4 idx=26869 4096
Maybe to many items on map (Client) try changing MAX_DELETEOBJS
12/08/2011, 00:55
#6
elite*gold: 0
Join Date: Mar 2010
Posts: 107
Received Thanks: 1
Quote:
Originally Posted by
fccfcc
Maybe to many items on map (Client) try changing MAX_DELETEOBJS
where should i change that?
12/08/2011, 01:05
#7
elite*gold: 0
Join Date: Nov 2009
Posts: 38
Received Thanks: 30
Quote:
Originally Posted by
clinkz96
where should i change that?
World.h
12/08/2011, 01:12
#8
elite*gold: 0
Join Date: Mar 2010
Posts: 107
Received Thanks: 1
or i just delete the MAX_DELETEOBJS?
12/08/2011, 01:19
#9
elite*gold: 0
Join Date: Nov 2009
Posts: 38
Received Thanks: 30
Quote:
Originally Posted by
clinkz96
or i just delete the MAX_DELETEOBJS?
Increase
Wow u delete 26869 objects xD Onekill Arroundkill command?
12/08/2011, 17:37
#10
elite*gold: 0
Join Date: Apr 2010
Posts: 427
Received Thanks: 86
tested it.
Working fixes!
Thanks
12/08/2011, 19:31
#11
elite*gold: 0
Join Date: Oct 2011
Posts: 363
Received Thanks: 160
Schaut gut aus endlich alles fixxed.
NICE!
Thanks ;>
12/08/2011, 23:12
#12
elite*gold: 380
Join Date: Oct 2008
Posts: 2,262
Received Thanks: 382
kann mir bitte einer sagen wo ich diese CWndMgr datei finde ?
12/08/2011, 23:33
#13
elite*gold: 0
Join Date: Nov 2009
Posts: 38
Received Thanks: 30
CWndMgr::PutToolTipParts
CWndMgr::PutPiercingOpt
are in WndManager.cpp
sind in WndManager.cpp
12/08/2011, 23:36
#14
elite*gold: 18
Join Date: Sep 2009
Posts: 20,174
Received Thanks: 14,477
Quote:
Originally Posted by
™Ep!sch
kann mir bitte einer sagen wo ich diese CWndMgr datei finde ?
Das ist eine funktion, such im ganzen projekt danach, findest du.
12/11/2011, 03:45
#15
elite*gold: 0
Join Date: May 2011
Posts: 101
Received Thanks: 0
3RD jobs cannot acquire the hero skill using the NPC in volcane and 3rd jobs can not apply for Lord pls post the fix for this 2bugs pls
Similar Threads
[Release] mod_potato with minor bug fixes
01/10/2012 - Mabinogi - 21 Replies
I'll release potato each time I fix one of the existing bugs. This version corrects the following issues:
Positional recording, this affects autopickup and a few other functions
Exploration light effects
Showing of Level/skill ups by other people
If you don't know how to make this work, too bad for you.
V4a mod Fixes?
11/11/2011 - Metin2 Private Server - 0 Replies
Hey
any fixes there cuz of kicks when i use the feature hit without animation
only get kicks after 2-3 minutes
us server
no ideas?
[RELEASE]21/9/10 OFFSETS+POINTER+FIXES+FUNKTIONEN
09/24/2010 - Metin2 Hacks, Bots, Cheats, Exploits & Macros - 31 Replies
Hallo Leute,
da ich habe im moment leider sehr viel für die Schule zu tuhen habe daher mache ich jetzt keinen multihack(den ich online stelle) aber ich stell mal die Offiziellen POINTER+OFFSETS+FUNKTIONEN+FIXES vor ;) coder SIE STAMMEN NICHT VON MIR SONDERN VON WuFe!(ungetestet sie sind vom IT clients) ich hab mal alles übersetzt und auch bissel umgeschrieben da WuFe ein italiener is^^....
WER NIX VOM PROGRAMMIEREN VERSTEHT BITTE ZURÜCK DRÜCKEN!
Unter programmieren versteht man nicht die...
[Release] My CoEmu v2 Fixes and Features
11/28/2009 - CO2 PServer Guides & Releases - 10 Replies
K im gonna release some of my work to "those" ppl out that cant do it them selves.
Skills:
Not sure if i should because I recoded the Attack system completely
------------------------------------------------- ------
Items:
Life Fruits
[Release]Fixes & Solutions
05/09/2009 - Cabal Private Server - 1 Replies
If possible, please use rapidshare.com.
Thank You.
.DDS Files:
Rapidshare.com
Megaupload.com
.MCL files
Rapidshare.com
Megaupload.com
All times are GMT +2. The time now is 09:17 .