You last visited: Today at 14:46
Advertisement
[Source TUT]Rebirth via Command
Discussion on [Source TUT]Rebirth via Command within the Flyff PServer Guides & Releases forum part of the Flyff Private Server category.
10/18/2011, 21:17
#1
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
[Source TUT]Rebirth via Command
Da seit dem V15 Source und File Release keiner mehr Rebirth benutzt das es via HP nicht mehr geht zeig ich euch wie ihr es per Source machen könnt mit einem Chat befehel
geht in Mover.h und added
PHP Code:
unter : void InitLevel ( int nJob , LONG nLevel , BOOL bGamma = TRUE ); // °´Ã¼¸¦ nLevel·Î ¹Ù²ãÁÜ das : void InitLevelPumbaaa ( int nJob , LONG nLevel , BOOL bGamma = TRUE ) ;
dann geht ihr und mover.cpp und added
PHP Code:
void CMover :: InitLevelPumbaaa ( int nJob , LONG nLevel , BOOL bGamma ) { #ifdef __WORLDSERVER // ¿î¿µÀÚ ¸í·ÉÀ¸·Î ·¹º§¾÷ Çϴ°÷ÀÓ MoverProp * pProp = GetProp (); if( pProp ) { if( nJob > 0 && nJob < MAX_LEGEND_HERO ) { AddChangeJob ( nJob ); }else{ return; } int nPoint = 0 ; if( m_nJob == JOB_MERCENARY ) nPoint += 40 ; else if( m_nJob == JOB_ACROBAT ) nPoint += 50 ; else if( m_nJob == JOB_ASSIST ) nPoint += 60 ; else if( m_nJob == JOB_MAGICIAN ) nPoint += 90 ; else if( m_nJob == JOB_KNIGHT || m_nJob == JOB_BLADE ) nPoint += 120 ; else if( m_nJob == JOB_JESTER || m_nJob == JOB_RANGER ) nPoint += 150 ; else if( m_nJob == JOB_RINGMASTER ) nPoint += 160 ; else if( m_nJob == JOB_BILLPOSTER || m_nJob == JOB_PSYCHIKEEPER ) nPoint += 180 ; else if( m_nJob == JOB_ELEMENTOR ) nPoint += 390 ; else if( nJob == JOB_LORDTEMPLER_HERO || nJob == JOB_STORMBLADE_HERO ) nPoint += 120 ; else if( nJob == JOB_WINDLURKER_HERO || nJob == JOB_CRACKSHOOTER_HERO ) nPoint += 150 ; else if( nJob == JOB_FLORIST_HERO ) nPoint += 160 ; else if( nJob == JOB_FORCEMASTER_HERO || nJob == JOB_MENTALIST_HERO ) nPoint += 180 ; else if( nJob == JOB_ELEMENTORLORD_HERO ) nPoint += 390 ; AddSkillPoint ( nPoint ); m_nLevel = nLevel ; SetJobLevel ( nLevel , nJob ); m_nDeathLevel = nLevel ; #if __VER >= 10 // __LEGEND // 10Â÷ Àü½Â½Ã½ºÅÛ Neuz, World, Trans if( IsMaster ()) { int dwTmpSkLevel = 1 ; //60, 72, 84, 96, 108 if( nLevel > 59 && nLevel < 72 ) dwTmpSkLevel = 1 ; else if( nLevel > 71 && nLevel < 84 ) dwTmpSkLevel = 2 ; else if( nLevel > 83 && nLevel < 96 ) dwTmpSkLevel = 3 ; else if( nLevel > 95 && nLevel < 108 ) dwTmpSkLevel = 4 ; else if( nLevel > 107 && nLevel < 120 ) dwTmpSkLevel = 5 ; for( int i = 0 ; i < MAX_SKILL_JOB ; i ++ ) { LPSKILL lpSkill = &( m_aJobSkill [ i ]); if( lpSkill && lpSkill -> dwSkill != NULL_ID ) { ItemProp * pSkillProp = prj . GetSkillProp ( lpSkill -> dwSkill ); if( pSkillProp == NULL ) continue; if( pSkillProp -> dwItemKind1 != JTYPE_MASTER ) continue; lpSkill -> dwLevel = dwTmpSkLevel ; } } } else if( IsHero ()) { for( int i = 0 ; i < MAX_SKILL_JOB ; i ++ ) { LPSKILL lpSkill = &( m_aJobSkill [ i ]); if( lpSkill && lpSkill -> dwSkill != NULL_ID ) { ItemProp * pSkillProp = prj . GetSkillProp ( lpSkill -> dwSkill ); if( pSkillProp == NULL ) continue; if( pSkillProp -> dwItemKind1 != JTYPE_MASTER ) continue; lpSkill -> dwLevel = 5 ; } } } else if( IsLegendHero ()) { for( int i = 0 ; i < MAX_SKILL_JOB ; i ++ ) { LPSKILL lpSkill = &( m_aJobSkill [ i ]); if( lpSkill && lpSkill -> dwSkill != NULL_ID ) { ItemProp * pSkillProp = prj . GetSkillProp ( lpSkill -> dwSkill ); if( pSkillProp == NULL ) continue; if( pSkillProp -> dwItemKind1 != JTYPE_MASTER ) continue; lpSkill -> dwLevel = 5 ; } } } #endif // __LEGEND // 10Â÷ Àü½Â½Ã½ºÅÛ Neuz, World, Trans if( bGamma ) { m_nExp1 = 0 ; } ( ( CUser *) this )-> AddSetChangeJob ( nJob ); g_UserMng . AddNearSetChangeJob ( this , nJob , &(( CUser *) this )-> m_aJobSkill [ MAX_JOB_SKILL ] ); #if __VER >= 11 // __SYS_PLAYER_DATA g_dpDBClient . SendUpdatePlayerData ( ( CUser *) this ); #else // __SYS_PLAYER_DATA g_DPCoreClient . SendPartyMemberJob ( ( CUser *) this ); g_DPCoreClient . SendFriendChangeJob ( ( CUser *) this ); if( m_idGuild != 0 ) g_DPCoreClient . SendGuildChangeJobLevel ( ( CUser *) this ); #endif // __SYS_PLAYER_DATA SetHitPoint ( GetMaxHitPoint () ); SetManaPoint ( GetMaxManaPoint () ); SetFatiguePoint ( GetMaxFatiguePoint () ); if( nJob >= 1 && nJob <= 4 ) { m_nStr = m_nSta = m_nDex = m_nInt = 15 ; m_nRemainGP = 28 ; } if( nJob >= MAX_PROFESSIONAL && nJob < MAX_MASTER ) { m_nRemainGP = 118 ; //m_nRemainGP = ( m_nSta - 15 ) + ( m_nStr - 15 ) + ( m_nDex - 15 ) + ( m_nInt - 15 ) + m_nRemainGP; m_nStr = m_nSta = m_nDex = m_nInt = 15 ; } if( nJob == JOB_MENTALIST_HERO || nJob == JOB_FORCEMASTER_HERO ) { CItemElem itemelem ; itemelem . m_nItemNum = 1 ; itemelem . m_bCharged = TRUE ; BYTE nID ; if( nJob == JOB_MENTALIST_HERO ) itemelem . m_dwItemId = II_WEA_BOOK_BOKROMAIN ; if( nJob == JOB_FORCEMASTER_HERO ) itemelem . m_dwItemId = II_ARM_ARM_SHI_ZEMBATO ; ( ( CUser *) this )-> CreateItem ( & itemelem , & nID ); } g_UserMng . AddSetLevel ( this , ( WORD ) m_nLevel ); ( ( CUser *) this )-> AddSetGrowthLearningPoint ( m_nRemainGP ); ( ( CUser *) this )-> AddSetExperience ( GetExp1 (), ( WORD ) m_nLevel , m_nSkillPoint , m_nSkillLevel ); /*( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL ); ( (CUser*)this )->AddTaskBar();*/ ( ( CUser *) this )-> AddSetState ( m_nStr , m_nSta , m_nDex , m_nInt , m_nRemainGP ); #if __VER >= 13 // __HONORABLE_TITLE // ´ÞÀÎ (( CUser *) this )-> CheckHonorStat (); (( CUser *) this )-> AddHonorListAck (); g_UserMng . AddHonorTitleChange ( this , m_nHonor ); #endif // __HONORABLE_TITLE // ´ÞÀÎ } #endif // __WORLDSERVER }
dann geht ihr in functextcmd.cpp und added unter
PHP Code:
ON_TEXTCMDFUNC ( TextCmd_say , "say" , "say" , "¸»" , "¸»" , TCM_SERVER , AUTH_GENERAL , "¼Ó»èÀÓ [/¸í·É ¾ÆÀ̵𠳻¿ë]" ) das ON_TEXTCMDFUNC ( TextCmd_rebirth , "rebirth" , "rebirth" , "ÅÚ·¹Æ÷Æ®" , "ÅÚ·¹" , TCM_SERVER , AUTH_GENERAL , "ÅÚ·¹Æ÷Æ®" )
dann geht ihr
PHP Code:
unter BOOL TextCmd_ClearPropose ( CScanner & s ) { #ifdef __WORLDSERVER CUser * pUser = ( CUser *) s . dwValue ; g_dpDBClient . SendClearPropose (); #endif // __WORLDSERVER return TRUE ; } das BOOL TextCmd_rebirth ( CScanner & scanner ) { #ifdef __WORLDSERVER CUser * pUser ; pUser = ( CUser *) scanner . dwValue ; if( pUser -> m_nLevel >= 150 && pUser -> IsLegendHero ()) pUser -> InitLevelPumbaaa ( pUser -> m_nJob - 16 , 60 ); else pUser -> AddText ( "Du hast nicht das passende Level für einen Rebirth!" ); #endif return TRUE ; }
und schon könnt ihr über lvl 150 und Legend einen Rebirth auf 60 Master machen.
Einfach /rebirth eingeben und ihr seit wieder lvl 60 master
Credits :
Pumbaaa für seine InitLevel funktion + Hilfe
Mich : für die Idee und die Codes in FuncTextCmd
10/18/2011, 21:20
#2
elite*gold: 260
Join Date: Apr 2011
Posts: 343
Received Thanks: 478
Nett, wusst ich zwar schon habs so ähnlich gemacht ( hab den quickjobchange erweiter das ein fenster kommt ) hastn thanks
10/18/2011, 21:26
#3
elite*gold: 0
Join Date: Oct 2011
Posts: 1,344
Received Thanks: 543
Nicht schlecht nur jetzt wird mal wieder jeder server Rebirth haben
10/18/2011, 21:27
#4
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
Wie du lesen kannst war das auch der Sinn da eh kein Server mehr rebirth hat
10/18/2011, 21:28
#5
elite*gold: 0
Join Date: May 2011
Posts: 19
Received Thanks: 1
Schöön (:
10/18/2011, 21:30
#6
elite*gold: 20
Join Date: Apr 2009
Posts: 804
Received Thanks: 830
Bah Rebirth, Stats stacken bis ins Unendliche xDDD
Hastn Thanks für die Mühe
10/18/2011, 21:32
#7
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
für die ganzen pur gw server nützlich
10/19/2011, 06:39
#8
elite*gold: 0
Join Date: Dec 2010
Posts: 463
Received Thanks: 97
Man solte vllt den Chat befehl dazu schreiben für die die entweder zu faul sind den code durchzulesen oder es nicht verstehen wo man ihn sucht :P
Ich würde sagen das der Chat Befehl rebirth ist
10/19/2011, 10:18
#9
elite*gold: 18
Join Date: Sep 2009
Posts: 20,174
Received Thanks: 14,477
#Indexed
Kümmer dich aber ums stacken
10/19/2011, 18:55
#10
elite*gold: 380
Join Date: Oct 2008
Posts: 2,262
Received Thanks: 382
Werd ich bei mir evtl einbaun^^..
Für deine mühe bekommste natürlich ein THX
lg
10/19/2011, 19:07
#11
elite*gold: 0
Join Date: Oct 2011
Posts: 1,344
Received Thanks: 543
Quote:
Originally Posted by
Jopsi332
für die ganzen pur gw server nützlich
Würde da aber eine Begrenzung machen sonst sind die neuen spieler zu 100% im nachteil
10/19/2011, 19:16
#12
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
ja ich bin schon am gucken wie ich das anstelle bzw wie man im databaseserver ne neue spalte einliest ;D
04/06/2012, 22:43
#13
elite*gold: 6
Join Date: Oct 2011
Posts: 506
Received Thanks: 84
habe mal ne fage läuft das jetzt oder is es noch immer buggy?
und is das stacken gefixxt?
EDIT: Ich würde sagen das das TUT zu den Releases gehört oder? Bitte moven
04/07/2012, 10:03
#14
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
Das stacken ist einfach nur das es keib rb limit gibt
04/07/2012, 11:00
#15
elite*gold: 6
Join Date: Oct 2011
Posts: 506
Received Thanks: 84
aber an und für sich klappt alles error frei?
Similar Threads
[Tut Source] Error command (nur für wirkliche pro's!)
09/07/2011 - Flyff Private Server - 21 Replies
So da alle so schwere tut machen ich machen dazu auch schweren tuts.
Es existieren in der Source eine befehl mit namen Error().
Diese macht in einer funktion eine datei auf das pc um zu sehen wie ist.
Beispiel:
Error("Ich bin ein fehler in das Funktion");
[Source] Wie füge ich ein neuen Command ein
08/10/2011 - Flyff Private Server - 19 Replies
Hey, da ich gern möchte das die spieler sehen welcher Gamemaster online ist, sowie beim Toms AH wollt ich euch mal fragen ob mir jemand erklären könnte wie das geht..
Da gibt es ein Command mit einer Player list,jedoch funktioniert er nicht, weiß jemand genaueres?
[Release] No whisper's command (Impulse's source)
07/23/2010 - CO2 PServer Guides & Releases - 2 Replies
Here.
First define in entity.cs
public bool nowhsp = false;
then goto packethandler.cs and where whisper is handled make it this
foreach (Client.GameState pClient in ServerBase.Kernel.GamePool.Values)
{
What's wrong with my Nighttime command(impulse's source)
07/21/2010 - CO2 Private Server - 4 Replies
Heres my command
#region Night
case "night":
{
Client.GameState.ScreenColor = 5855577;
GamePackets.GeneralData Packet = new GamePackets.GeneralData(true);
Packet.UID = client.Entity.UID;
Packet.GetType();
...
[Question] How to make this command [For 5165 Source]
04/01/2010 - CO2 Private Server - 6 Replies
Hello guys, I'm new at coding and was wondering how to make a command for the 5165 source which enables you to have unlimited stamina (For GMs only). Thanks.
This is wut I have did so far...
if (Cmd == "/gmstamina")
{
if (!InfiniteStamina)
{
InfiniteStamina = true;
}
All times are GMT +1. The time now is 14:47 .