|
You last visited: Today at 20:58
Advertisement
[Source TuT] /gro mit kosten 'ala' Scroll of Awakening
Discussion on [Source TuT] /gro mit kosten 'ala' Scroll of Awakening within the Flyff Private Server forum part of the Flyff category.
01/07/2012, 17:31
|
#1
|
elite*gold: 40
Join Date: Feb 2011
Posts: 1,886
Received Thanks: 582
|
[Source TuT] /gro mit kosten 'ala' Scroll of Awakening
Damit der /gro Befehl genau wie die Scroll of Awakening einen Betrag für die Erweckung verlangt muss lediglich die Funktion
PHP Code:
BOOL TextCmd_GenRandomOption( CScanner & s )
in der FuncTextCmd
wie folgt umgeschrieben/ausgetauscht werden werden:
PHP Code:
BOOL TextCmd_GenRandomOption( 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( nRandomOptionKind >= 0 ) { if( pUser->GetGold() > nCost ) { if(pUser->HasActivatedSystemPet() && pItemElem->GetProp()->dwItemKind3 == IK3_EGG || pUser->HasActivatedEatPet() && pItemElem->GetProp()->dwItemKind3 == IK3_PET ) { pUser->AddText( "Du kannst dein Pet nicht erwecken während es draußen ist." ); } else { 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 hast nicht genug Geld." ); } } } } else { pUser->AddText( "Das zu erweckende Item muss im ersten Slot deines Inventars liegen!" ); } #endif //__WORLDSERVER return TRUE; }
Damit der Code für Normale User brauchbar ist muss natürlich noch die Access Stufe des Befehls auf AUTH_GENERAL gesetzt werden.
PHP Code:
ON_TEXTCMDFUNC( TextCmd_GenRandomOption, "GenRandomOption", "gro", "°¢¼ºÃູ", "°¢Ãà", TCM_BOTH, AUTH_GENERAL, "" )
|
|
|
01/07/2012, 17:35
|
#2
|
elite*gold: 0
Join Date: Dec 2011
Posts: 206
Received Thanks: 224
|
if( 0 < nCost )
Was soll dieseo abfrage bewirken lol.
|
|
|
01/07/2012, 17:35
|
#3
|
elite*gold: 0
Join Date: Oct 2010
Posts: 271
Received Thanks: 206
|
Dann fixx bitte den Stack Bugg noch in dem Release. So wird es eh keiner benutzen.
Mal davon abgesehn, das es totaler Mist ist.
Quote:
Originally Posted by yannickFlyff
if( 0 < nCost )
Was soll dieseo abfrage bewirken lol.
|
.. xd
PHP Code:
BOOL TextCmd_GenRandomOption( CScanner & s )
{
#ifdef __WORLDSERVER
CUser* pUser = (CUser*)s.dwValue; //kaka
// int i = s.GetNumber();
CItemElem* pItemElem = pUser->m_Inventory.GetAt( 0 );
if( pItemElem )
{
int nRandomOptionKind = g_xRandomOptionProperty->GetRandomOptionKind( pItemElem );
if( nRandomOptionKind >= 0 ) // ¾ÆÀÌÅÛ °¢¼º, ¿©½ÅÀÇ ÃູÀÌ °¡´ÉÇÑ ´ë»ó
{
if( pUser->GetGold() >= 150000)
{
if(pUser->HasActivatedSystemPet() && pItemElem->GetProp()->dwItemKind3 == IK3_EGG || pUser->HasActivatedEatPet() && pItemElem->GetProp()->dwItemKind3 == IK3_PET )
{
pUser->AddText( "Hol dein Pet rein! Sonst kannst du es nicht erwecken!" );
}
else
{
pUser->AddGold( -150000);
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 brachst mehr Geld zum erwecken ");
}
}
}
#endif // __WORLDSERVER
return TRUE;
}
|
|
|
01/07/2012, 17:43
|
#4
|
elite*gold: 40
Join Date: Feb 2011
Posts: 1,886
Received Thanks: 582
|
if( 0 < nCost )
bewirkt bei den einstellungen nichts.
Sollte jedoch jmd es schaffen für einen Überlauf zu sorgen wird die ganze funktion nicht mehr arbeiten anstatt das sonst was passiert, der Server abschmiert oder ähnliches.
.. xD
|
|
|
01/07/2012, 17:44
|
#5
|
elite*gold: 0
Join Date: Dec 2011
Posts: 206
Received Thanks: 224
|
Wieso generiert er denn schon eine Option für das Item wenn er überhaupt nichtmal weis ob er genug geld hat oder nicht? O_O
|
|
|
01/07/2012, 18:33
|
#6
|
elite*gold: 40
Join Date: Feb 2011
Posts: 1,886
Received Thanks: 582
|
hmm danke fürs Feedback habe meinen Code nochmal etwas überarbeitet.
@Incestus Ich würde den Preis immer nur an einer Stelle definieren das wird sonst ziemlich schnell zu einer Fehlerquelle wenn man das nochmal bearbeitet.
|
|
|
01/07/2012, 18:45
|
#7
|
elite*gold: 0
Join Date: Dec 2011
Posts: 206
Received Thanks: 224
|
Mach das if( 0 nCost ) endlich weg O_O Wenn einer einen Overflow hat meinmst du der gibt sich damit zufrieden Penyas zu erstellen? Ich würdfe da einfach ein Root benutzer erstellen und die kiste Hops nehmen.
Wenn man das nicht kann einfach die Rechte auf Z überschrieben und dann via /gg penyas erstellen.
zu dieser abfrage:
if(pUser->HasActivatedSystemPet() && pItemElem->GetProp()->dwItemKind3 == IK3_EGG || pUser->HasActivatedEatPet() && pItemElem->GetProp()->dwItemKind3 == IK3_PET )
die ist unübersichtlich und schlecht zu warten!
|
|
|
01/07/2012, 19:41
|
#8
|
ベトナム警察
elite*gold: 0
Join Date: Jan 2012
Posts: 16,496
Received Thanks: 3,518
|
Quote:
Originally Posted by yannickFlyff
Mach das if( 0 nCost ) endlich weg O_O Wenn einer einen Overflow hat meinmst du der gibt sich damit zufrieden Penyas zu erstellen? Ich würdfe da einfach ein Root benutzer erstellen und die kiste Hops nehmen.
Wenn man das nicht kann einfach die Rechte auf Z überschrieben und dann via /gg penyas erstellen.
zu dieser abfrage:
if(pUser->HasActivatedSystemPet() && pItemElem->GetProp()->dwItemKind3 == IK3_EGG || pUser->HasActivatedEatPet() && pItemElem->GetProp()->dwItemKind3 == IK3_PET )
die ist unübersichtlich und schlecht zu warten!
|
Anstatt ihn schlechte vorwürfe zu machen, verbessere lieber seine Fehlern.
@TE
Hast du es schonmal ausprobiert ? Funktioniert das auch ?
|
|
|
01/07/2012, 20:04
|
#9
|
elite*gold: 0
Join Date: Dec 2011
Posts: 206
Received Thanks: 224
|
Quote:
Originally Posted by Lumi'
Anstatt ihn schlechte vorwürfe zu machen, verbessere lieber seine Fehlern.
@TE
Hast du es schonmal ausprobiert ? Funktioniert das auch ?
|
Was soll man da verbessern wenn er die if abfrage komplett raushauen soll? Ich hab sogar gründe genannt wieso diese unnötig ist also pscht kleiner junge.
|
|
|
01/07/2012, 20:30
|
#10
|
ベトナム警察
elite*gold: 0
Join Date: Jan 2012
Posts: 16,496
Received Thanks: 3,518
|
Quote:
Originally Posted by yannickFlyff
Was soll man da verbessern wenn er die if abfrage komplett raushauen soll? Ich hab sogar gründe genannt wieso diese unnötig ist also pscht kleiner junge.
|
Werd mal nicht so frech, Dude.
@.Crash..
Funktioniert das nun ? x_x
|
|
|
01/07/2012, 20:46
|
#11
|
elite*gold: 455
Join Date: Jun 2009
Posts: 1,601
Received Thanks: 1,103
|
Das hier ist um einiges ausgebauter. (Fragt beispielsweise ab, ob das Item auch im ersten Slot liegt, damit die User nicht immer fragen "Wie funktioniert das denn?")
Code:
BOOL TextCmd_GenRandomOption( CScanner & s )
{
#ifdef __WORLDSERVER
CUser* pUser = (CUser*)s.dwValue;
CItemElem* pItemElem = pUser->m_Inventory.GetAt( 0 );
if( pItemElem ){
int nRandomOptionKind = g_xRandomOptionProperty->GetRandomOptionKind( pItemElem );
if( nRandomOptionKind >= 0 ){
if(pUser->HasActivatedSystemPet() && pItemElem->GetProp()->dwItemKind3 == IK3_EGG || pUser->HasActivatedEatPet() && pItemElem->GetProp()->dwItemKind3 == IK3_PET ){
pUser->AddText( "Bitte deaktiviere dein Pet." );
}else{
if( pUser->GetGold() >= 100000 ){
g_xRandomOptionProperty->InitializeRandomOption( pItemElem->GetRandomOptItemIdPtr() );
g_xRandomOptionProperty->GenRandomOption( pItemElem->GetRandomOptItemIdPtr(), nRandomOptionKind, pItemElem->GetProp()->dwParts );
pUser->UpdateItemEx( (BYTE)( pItemElem->m_dwObjId ), UI_RANDOMOPTITEMID, pItemElem->GetRandomOptItemId() );
pUser->AddGold( -100000 );
pUser->AddText( "Dir wurden 100.000 Penya für das Erwecken abgezogen." );
}else{
pUser->AddText( "Du musst mindestens 100.000 Penya haben um erwecken zu können." );
}
}
}else{
pUser->AddText ( "Das zu erweckende Item muss im ersten Slot sein." );
}
}
#endif // __WORLDSERVER
return TRUE;
}
.. von Sedrika (Knutschaaa  )
|
|
|
01/07/2012, 21:02
|
#12
|
elite*gold: 0
Join Date: Dec 2011
Posts: 206
Received Thanks: 224
|
pUser->AddText ( "Das zu erweckende Item muss im ersten Slot sein." );
Das failt mal extrem. Das prüft nur was für eine Option das hat (Awakeable oder wie ich das nennen soll) und nicht ob es im ersten slot ist.
Außerdem wird alles geprüft und natürlich fragt man erst am ende ab ob er Geld hat.
Ich mach das auch immer so. Ich verkauf was auf Amazon.de und erst bevor ich kurz vorm absenden des Packets bin frag ich den käufer ob er genug geld hat. Wenn nicht war alles umsonst.
Egal ob der Code vom @TE scheise ist. Ich muss ehrlcih sagen das seiner den von Sedrika um längen in den schatten stellt.
|
|
|
01/07/2012, 22:27
|
#13
|
elite*gold: 40
Join Date: Feb 2011
Posts: 1,886
Received Thanks: 582
|
@Lumi ja es funktioniert
Quote:
Originally Posted by Marvin!
Das hier ist um einiges ausgebauter. (Fragt beispielsweise ab, ob das Item auch im ersten Slot liegt, damit die User nicht immer fragen "Wie funktioniert das denn?")
Code:
BOOL TextCmd_GenRandomOption( CScanner & s )
{
#ifdef __WORLDSERVER
CUser* pUser = (CUser*)s.dwValue;
CItemElem* pItemElem = pUser->m_Inventory.GetAt( 0 );
if( pItemElem ){
int nRandomOptionKind = g_xRandomOptionProperty->GetRandomOptionKind( pItemElem );
if( nRandomOptionKind >= 0 ){
if(pUser->HasActivatedSystemPet() && pItemElem->GetProp()->dwItemKind3 == IK3_EGG || pUser->HasActivatedEatPet() && pItemElem->GetProp()->dwItemKind3 == IK3_PET ){
pUser->AddText( "Bitte deaktiviere dein Pet." );
}else{
if( pUser->GetGold() >= 100000 ){
g_xRandomOptionProperty->InitializeRandomOption( pItemElem->GetRandomOptItemIdPtr() );
g_xRandomOptionProperty->GenRandomOption( pItemElem->GetRandomOptItemIdPtr(), nRandomOptionKind, pItemElem->GetProp()->dwParts );
pUser->UpdateItemEx( (BYTE)( pItemElem->m_dwObjId ), UI_RANDOMOPTITEMID, pItemElem->GetRandomOptItemId() );
pUser->AddGold( -100000 );
pUser->AddText( "Dir wurden 100.000 Penya für das Erwecken abgezogen." );
}else{
pUser->AddText( "Du musst mindestens 100.000 Penya haben um erwecken zu können." );
}
}
}else{
pUser->AddText ( "Das zu erweckende Item muss im ersten Slot sein." );
}
}
#endif // __WORLDSERVER
return TRUE;
}
.. von Sedrika (Knutschaaa  )
|
Das funktioniert so nicht die else Abfrage ist dafür an der falschen Position. Das solltest du vlt mal selber testen
Die Idee ist aber gut habe sowas mal in meinen code eingebaut, müsste aber im entefeckt auch noch weiter ausgeschrieben werden und auf die awakebarkeit statt nur überhaupt nach einem Item zu schauen.
|
|
|
 |
Similar Threads
|
Awakening bot
08/17/2012 - Flyff Trading - 17 Replies
Verkaufe hier einen awakening bot von Qeggl.
Wenn sie diesen bot kaufen bekommen sie einen 1a flyff awakening bot mit folgenden funktionen:
- Unlimited awakes.
- Zu erreichende Mindestawake.
- Ein anrecht darauf die neuen versionen zu bekommen sobald sie released werden.
- support meinerseits.
- optimal in jeder fenstergröße zu benutzen.
|
Awakening Bot!?
05/22/2012 - Flyff Private Server - 27 Replies
Hey liebe E*PvPers
ich wollte mal nachfragen, ob es inzwichen wieder ein Awakening Bot gibt?^^
Wenn ja, kann jemand den Namen bzw. link Posten???
Hab jetzt schon google benutzt... aber leider nix gefunden, was noch funktioniert, bzw zu langsam ist...^^
Falls es etwas gibt, lasst es mich bitte wissen, am besten per PN oder Answer hier im Forum ;)
|
(ALB) WTS Effect Scroll - Megadolon Drop Scroll
01/09/2012 - Trading - 1 Replies
Im looking for plats just serious offers please
|
WTT 3X Scroll for Shuta( Come with ur Scroll)(Evengarda)
06/16/2010 - Archlord Trading - 1 Replies
İ want to change 4x Scroll for shuta ... u need to come with ur scroll
|
[LONGJUYT2] Steine kosten und Perlen kosten !
07/27/2009 - Metin2 Private Server - 96 Replies
SçhµЛkLeЯ (22:38):
pearls free... stones free ?
亮 (22:39):
no
white pearl 5.000.000 blue 10.000.000 red 15.000.000 all stones 5.000.000
SçhµЛkLeЯ (22:42):
what for a npc ?
亮 (22:42):
weapontrader
|
All times are GMT +1. The time now is 21:02.
|
|