|
You last visited: Today at 06:36
Advertisement
[Src Release] Awake User Befehl Stackfixxed
Discussion on [Src Release] Awake User Befehl Stackfixxed within the Flyff PServer Guides & Releases forum part of the Flyff Private Server category.
01/11/2012, 06:55
|
#16
|
elite*gold: 40
Join Date: Feb 2011
Posts: 1,886
Received Thanks: 582
|
Das Awaken von Baruna Waffen falls diese nicht anderweitig bearbeitet sind führt zu einem World Crash.
kommt später noch in FP hab jetzt keine Zeit mehr.
if( !pItemElem->GetProp()->dwReferStat1 == BARUNA_D )
{
}
else
{
pUser->AddText( "Baruna Waffen kann man nicht awaken." );
}
|
|
|
01/11/2012, 14:43
|
#17
|
ベトナム警察
elite*gold: 0
Join Date: Jan 2012
Posts: 16,497
Received Thanks: 3,524
|
Quote:
Originally Posted by Domina1990
Habe ich immer wenn ich was veränder erstelle ich eine neue solution ist bei mir gang ung gebe. mfg
|
Versuch es mal zu rebuilden.
|
|
|
01/11/2012, 14:49
|
#18
|
elite*gold: 0
Join Date: Jan 2012
Posts: 35
Received Thanks: 4
|
hab ich auch schon  kein erfolg...
|
|
|
01/11/2012, 15:23
|
#19
|
ベトナム警察
elite*gold: 0
Join Date: Jan 2012
Posts: 16,497
Received Thanks: 3,524
|
FuncTextCmd.cpp
Suche:
PHP Code:
ON_TEXTCMDFUNC( TextCmd_shoutrefuse, "shoutrefuse", "hr", "¿ÜÄ¡±âÇØÁ¦", "¿ÜÇØ", TCM_CLIENT, AUTH_GENERAL , "¿ÜÄ¡±â °ÅÀý [/¸í·É] " )
darunter das hier hinzufügen:
PHP Code:
ON_TEXTCMDFUNC( TextCmd_AwakeItem, "AwakeItem", "awake", "°¢¼ºÃູ", "°¢Ãà", TCM_BOTH, AUTH_GENERAL , "" )
In der gleichen Datei..
Suche:
PHP Code:
BOOL TextCmd_shoutrefuse( CScanner & scanner )
dort müsste das hier stehen
PHP Code:
{
g_Option.m_bShout = 0;
g_WndMng.PutString( prj.GetText( TID_GAME_SHOUTREFUSE ), NULL, prj.GetTextColor( TID_GAME_SHOUTREFUSE ) );
return TRUE;
}
darunter das hier hinzufügen:
PHP Code:
BOOL TextCmd_AwakeItem( CScanner & s )
{
#ifdef __WORLDSERVER
CUser* pUser = (CUser*)s.dwValue;
CItemElem* pItemElem = pUser->m_Inventory.GetAt( 0 );
if( pItemElem )
{
int nCost = 150000;
int nRandomOptionKind = g_xRandomOptionProperty->GetRandomOptionKind( pItemElem );
if( 0 < nCost )
{
if ( pItemElem->GetProp()->dwItemKind1 == IK1_WEAPON ||
pItemElem->GetProp()->dwItemKind1 == IK1_ARMOR ||
pItemElem->GetProp()->dwItemKind3 == IK3_PET ||
pItemElem->GetProp()->dwItemKind3 == IK3_EGG )
{
if( !pItemElem->GetProp()->dwID == II_PET_EGG )
{
if( pUser->GetGold() >= nCost )
{
if ( !pUser->HasActivatedEatPet() && !pUser->HasPet() )
{
pUser->AddGold( -( nCost ) );
g_xRandomOptionProperty->InitializeRandomOption( pItemElem->GetRandomOptItemIdPtr() );
g_xRandomOptionProperty->GenRandomOption( pItemElem->GetRandomOptItemIdPtr(), nRandomOptionKind, pItemElem->GetProp()->dwParts );
pUser->UpdateItemEx( (BYTE)( pItemElem->m_dwObjId ), UI_RANDOMOPTITEMID, pItemElem->GetRandomOptItemId() );
}
else
{
pUser->AddText( "Du musst dein Pet zum erwecken einpacken." );
}
}
else
{
pUser->AddText( "Du hast nicht genug Geld um ein Item zu erwecken." );
}
}
else
{
pUser->AddText( "Du kannst das Pet erst erwecken wenn es geschlüpft ist.");
}
}
else
{
pUser->AddText( "Du kannst dieses Item nicht erwecken." );
pUser->AddText( "Lege ein Erweckbares Item in den ersten Slot deines inventars um es zu erwecken!" );
}
}
}
else
{
pUser->AddText( "Das zu erweckende Item muss im ersten Slot deines Inventars liegen!" );
}
#endif //__WORLDSERVER
return TRUE;
}
randomoption.h
Suche:
PHP Code:
BOOL GetParam( __int64 nRandomOptItemId, int i, int* pnDst, int* pnAdj );
darunter:
PHP Code:
BOOL GenAwakeItem( __int64* pnRandomOptItemId, int nRandomOptionKind, int nParts, bool bDecreaseFlag = false );
randomoption.cpp
Suche:
PHP Code:
void CRandomOptionProperty::SetParam( __int64* pnRandomOptItemId, int nDst, int nAdj )
Dort müsste dann das hier stehen
PHP Code:
void CRandomOptionProperty::SetParam( __int64* pnRandomOptItemId, int nDst, int nAdj )
{
int nSize = GetRandomOptionSize( *pnRandomOptItemId );
ASSERT( nSize < MAX_RANDOM_OPTION );
__int64 nRandomOptionItemId = nDst;
nRandomOptionItemId = nRandomOptionItemId << 10; // 2 | 8 | 10 | 8 | 10 | 8 | 10 | 8
// 2 :
// 1 :
// 7 :
// 10 :
// 8 :
if( nAdj < 0 )
{
nRandomOptionItemId |= 0x0200; // À½¼öÀÎ °æ¿ì ÃÖ»óÀ§ ºñÆ® 1
nRandomOptionItemId = nRandomOptionItemId | ( -nAdj );
}
else
nRandomOptionItemId = nRandomOptionItemId | nAdj;
nRandomOptionItemId = nRandomOptionItemId << ( 8 + 18 * nSize ); // ÇØ´ç À§Ä¡·Î ½ÃÇÁÆ®
*pnRandomOptItemId |= nRandomOptionItemId; // °á°ú °ª ÀúÀå
}
int CRandomOptionProperty::GetRandomOptionKind( CItemElem* pItemElem )
{
ItemProp* pProp = pItemElem->GetProp();
switch( pProp->dwParts )
{
case PARTS_UPPER_BODY:
case PARTS_RWEAPON:
case PARTS_SHIELD:
case PARTS_MASK:
case PARTS_BULLET:
#if __VER >= 12 // __J12_0
// °¢¼º °¡´É ÆÄÃ÷ Ãß°¡
case PARTS_HAND: // ¼Õ
case PARTS_FOOT: // ¹ß
case PARTS_CAP: // ¸Ó¸®
#endif // __J12_0
#ifdef __NEW_ITEM_VARUNA
{
if( pItemElem->GetProp()->IsBaruna() )
return -1;
else
return static_cast<int>( eAwakening );
}
#endif // __NEW_ITEM_VARUNA
case PARTS_CLOTH:
case PARTS_CLOAK:
#if __VER >= 12 // __J12_0
case PARTS_HAT: // °Ñ¿Ê ¸Ó¸®
case PARTS_GLOVE: // °Ñ¿Ê ¼Õ
case PARTS_BOOTS: // °Ñ¿Ê ¹ß
#endif // __J12_0
return static_cast<int>( eBlessing );
#if __VER >= 12 // __PET_0519
default:
{
// C±Þ ÀÌ»óÀÇ ½Ã½ºÅÛ ÆêÀΰ¡?
if( pProp->dwItemKind3 == IK3_EGG && pItemElem->m_pPet && pItemElem->m_pPet->GetLevel() >= PL_C )
return static_cast<int>( eSystemPet );
// ¸ÔÆêÀΰ¡?
else if( pProp->dwItemKind3 == IK3_PET )
return static_cast<int>( eEatPet );
break;
}
#endif // __PET_0519
}
return -1;
}
darunter:
PHP Code:
BOOL CRandomOptionProperty::GenAwakeItem( __int64* pnRandomOptItemId, int nRandomOptionKind, int nParts, bool bDecreaseFlag /* = false */ )
{
if( GetRandomOptionSize( *pnRandomOptItemId ) > 0 )
{
return FALSE;
}
int nRandomOptionSize = DetermineRandomOptionSize( nRandomOptionKind );
int nDecreaseNumber = -1;
if( bDecreaseFlag == true )
{
nDecreaseNumber = xRandom( nRandomOptionSize );
}
while( nRandomOptionSize-- > 0 )
{
RANDOM_OPTION* pRandomOption = DetermineRandomOptionDst( nRandomOptionKind, nParts );
ASSERT( pRandomOption );
bool bDecreaseAdj = false;
if( nRandomOptionSize == nDecreaseNumber )
{
bDecreaseAdj = true;
}
else
{
bDecreaseAdj = false;
}
short nAdj = DetermineRandomOptionAdj( pRandomOption, bDecreaseAdj );
SetParam( pnRandomOptItemId, pRandomOption->nDst, nAdj );
}
return TRUE;
}
Das wars auch schon..
|
|
|
01/11/2012, 17:53
|
#20
|
elite*gold: 40
Join Date: Feb 2011
Posts: 1,886
Received Thanks: 582
|
die unstabile Egg abfrage ausgetauscht und Baruna fix.
Nu isses fertig.
@Lumi pack sowas doch zukünftig bitte in einen Spoiler
|
|
|
03/10/2012, 11:53
|
#21
|
elite*gold: 10
Join Date: Sep 2010
Posts: 348
Received Thanks: 298
|
Neuer Crash Bug gefunden,
wenn man eine Brille awaked crashts, weil Brillen nicht Awakebar sind dennach auf IK1_Armor sind. Also neue IK1_MASK adden und jede Brille umändern oder im Source code mal ändern.
|
|
|
03/10/2012, 12:09
|
#22
|
elite*gold: 0
Join Date: Mar 2012
Posts: 23
Received Thanks: 4
|
Gibt es doch schon von Jopsi oder nicht?
Sogar viel besser :P
|
|
|
03/10/2012, 12:44
|
#23
|
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
|
***
|
|
|
04/06/2012, 15:33
|
#24
|
elite*gold: 0
Join Date: Dec 2011
Posts: 166
Received Thanks: 49
|
What does this do? Can you please tell me how it works?
Thanks.
|
|
|
08/06/2012, 09:23
|
#25
|
elite*gold: 4
Join Date: Jul 2012
Posts: 147
Received Thanks: 15
|
wo leigen den die dateien ?
|
|
|
08/06/2012, 09:29
|
#26
|
elite*gold: 255
Join Date: Mar 2008
Posts: 2,184
Received Thanks: 978
|
in der Source einfach im Hauptvereichnis nach den Datein suchen.
|
|
|
08/06/2012, 10:14
|
#27
|
elite*gold: 4
Join Date: Jul 2012
Posts: 147
Received Thanks: 15
|
und wie soll man das genau ändern da stehtn beim ersten 2 codes? eifnachd as drinne löschen und das einfpgen?
|
|
|
08/06/2012, 13:01
|
#28
|
elite*gold: 255
Join Date: Mar 2008
Posts: 2,184
Received Thanks: 978
|
lass es lieber. bevor du hier was falsches machst.
|
|
|
01/05/2013, 10:43
|
#29
|
elite*gold: 0
Join Date: Jan 2013
Posts: 8
Received Thanks: 1
|
ich bin auch schon am machen vieleicht kann mir einer sagen wie ich die Brillen im source addy das man die erwecken kann und das der world server nicht mehr crasht
oder kann man es abstellen so das der world server nicht mehr crasht
danke schonmal im vorraus
|
|
|
01/05/2013, 22:26
|
#30
|
elite*gold: 0
Join Date: Sep 2008
Posts: 158
Received Thanks: 256
|
PHP Code:
CItemElem* pItem = pUser->m_Inventory.GetAtId( nItem ); int nRandomOptionKind = g_xRandomOptionProperty->GetRandomOptionKind( pItem );
if( nRandomOptionKind != CRandomOptionProperty::eAwakening ) //item ist nicht awakable else //item isit awakable
Damit prüfst ob das Item Awakable ist.
Code:
BOOL TextCmd_AwakeItem( CScanner & s )
{
#ifdef __WORLDSERVER
CUser* pUser = (CUser*)s.dwValue;
CItemElem* pItemElem = pUser->m_Inventory.GetAt( 0 );
if( pItemElem )
{
int nCost = 150000;
int nRandomOptionKind = g_xRandomOptionProperty->GetRandomOptionKind( pItemElem );
[COLOR="Red"][B] if( nRandomOptionKind != CRandomOptionProperty::eAwakening )
{
pUser->AddText( "Dieses Item kannst du nicht erwecken!" );
return FALSE;
}[/B][/COLOR]
if( 0 < nCost )
{
if( pItemElem->GetProp()->dwItemKind1 == IK1_WEAPON ||
pItemElem->GetProp()->dwItemKind1 == IK1_ARMOR ||
pItemElem->GetProp()->dwItemKind3 == IK3_PET ||
pItemElem->GetProp()->dwItemKind3 == IK3_EGG )
{
if( !pItemElem->IsEgg( ) )
{
if( !pItemElem->GetProp()->IsBaruna() ) //Baruna
{ //Baruna
if( pUser->GetGold() >= nCost )
{
if ( !pUser->HasActivatedEatPet() && !pUser->HasPet() )
{
pUser->AddGold( -( nCost ) );
g_xRandomOptionProperty->InitializeRandomOption( pItemElem->GetRandomOptItemIdPtr() );
g_xRandomOptionProperty->GenRandomOption( pItemElem->GetRandomOptItemIdPtr(), nRandomOptionKind, pItemElem->GetProp()->dwParts );
pUser->UpdateItemEx( (BYTE)( pItemElem->m_dwObjId ), UI_RANDOMOPTITEMID, pItemElem->GetRandomOptItemId() );
}
else
{
pUser->AddText( "Du musst dein Pet zum erwecken einpacken." );
}
}
else
{
pUser->AddText( "Du hast nicht genug Geld um ein Item zu erwecken." );
}
}
else //Baruna
{ //Baruna
pUser->AddText( "Sorry aber Baruna Waffen kann man zurzeit nicht erwecken." ); //Baruna
} //Baruna
} //Baruna
else
{
pUser->AddText( "Du kannst das Pet erst erwecken wenn es geschlüpft ist." );
}
}
else
{
pUser->AddText( "Du kannst dieses Item nicht erwecken." );
pUser->AddText( "Lege ein Erweckbares Item in den ersten Slot deines Inventars um es zu erwecken!" );
}
}
}
else
{
pUser->AddText( "Das zu erweckende Item muss im ersten Slot deines Inventars liegen!" );
}
#endif //__WORLDSERVER
return TRUE;
}
Das einfach mit dem in der FuncTextCmd.cpp ersetzen und es können keine Brillen mehr awaked werden.
|
|
|
 |
|
Similar Threads
|
[RELEASE] Awake Bot
10/31/2013 - Flyff Hacks, Bots, Cheats, Exploits & Macros - 186 Replies
Leider ist mir ein REUP nicht möglich da ich den Bot nicht mehr habe. Daher bitte closen.
Hab meine Trial version durch den Link von Bleak mit der Vollversion ersetzt.
So, nochmal eine Erklärung:
|
gm befehl für user freischalten
09/13/2011 - Metin2 Private Server - 6 Replies
Ich möchte das /warp auch für user gehn wie geht das, wenn das überhaubt möglich ist.
|
[Release] Flyff Awake Bot von Qeggl unlimited awakes
09/12/2011 - Flyff Hacks, Bots, Cheats, Exploits & Macros - 11 Replies
rausgenommen :) keine anfragen über pm werde ihn nichtmehr rausgeben :)
|
[RELEASE] Unbekannter Befehl
03/06/2010 - Metin2 PServer Guides & Strategies - 26 Replies
Sehr gut für Events oder neuen Gebäuden für eure neuen Karten.
Da benötigt man denke ich keinen Karteneditor mehr, um Gebäude hinzuzufügen.
Das Gebäude heißt "Trainingscamp". Es gibt noch über 70 Gebäude, die müsst ihr jedoch entbuggen.
"M 14033"
http://img443.imageshack.us/img443/7761/94526192. jpg
|
All times are GMT +1. The time now is 06:37.
|
|