So ihr Lieben,
In diesem MiniTutorial zeige ich euch wie ihr einstellen könnt ab welchen Level man fliegen kann.
Das Tutorial ist für Änfanger geschrieben und dient zur Einarbeitung in die Source also unterlasst bitte Kommentare wie "das weiß doch jeder".
Öffnet eure MoverParam.cpp.
In der Zeile 1496 (bei euch sollte es weiter oben sein da ich schon was bearbeitet hab) findet ihr die Abfrage:
Die Abfrage prüft ob euer Level dem Level 20 entspricht und stuft euer Flug Level auf 1.
Ab dem Fluglevel 1 kann man fliegen.
Wenn ihr den Parameter 20 in eine andere Zahl ändert, dann kann man erst fliegen wenn das Level der Zahl entspricht.
Ihr könntet nun noch andere Abfrage machen, schaut euch einfach mal in der Source an welche Funktionen es so gibt.
Z.B in der Mover.h.
Mal angenommen wir wollen dass unser Character ab dem Level 60 eine coole neue Frisur bekommt.
Dann machen wir unter die Abfrage von vorhin eine neue Abfrage die prüft ob der Character Level 60 ist.
Da drunter schreiben wir dann die Aktion um die Haare des Charakters zu ändern.
Das sieht dann so aus:
SetHair() ist die Funktion; 1 ist der Parameter, die Id des Hairs.
Na das war doch garnicht so schwer. ;D
Jetzt gehen wir mal bei der Mover.cpp in die Zeile 2791.
Dort sehen wir folgendes:
Wir sehen dass die Variable nLimitLv mit dem Typ int declariert wird.
Er bekommt den Wert von dwFlightLimit in der PropItem.
Danach folgt eine Abfrage die prüft ob der Wert in der PropItem leer steht.
Wenn dies der Fall wird bekommt nLimitLv den Wert 1.
In der nächstes Abfrage wird geprüft ob das Fluglevel des Spieler kleiner als der Wert von nLimitLv ist.
Sollte dies der Fall sein dann wird ein Text ausgegeben und es wird mit einem FALSE returned.
Da die Funktion IsUseItemReadyTime heißt können wir davon ausgehen, dass geprüft wird ob mein ein Item anziehen kann.
Wir sehen, dass wir verschiedene Möglichkeiten haben einzustellen, wann ein User sein Board anziehen kann.
Wir könnten zum Beispiel einstellen dass alle Player mit dem Fluglevel x das Board anziehen können.
Oder auch dass alle User deren Fluglevel über oder unter einem Wert ein Board anziehen können.
Aber dies solltet ihr nach diesem Tutorial selbst schaffen.
Ich hoffe es war alles verständlich und freue mich wenn ihr etwas gelernt haben solltet.
Edit:
In der Zeile 1805 der Mover.cpp findet ihr die Abfrage:
Diese wird abgerufen wenn ihr euren Job ändert.
Also die Parameter anpassen dann sollte es gehen.
In der MoverParam.cpp in der Zeile 1836 bei:
Den Parameter von nLevel ändern.
Mein Compiler hatte mich wohl ein bisschen ausgetrickst. ^^
Greetz
In diesem MiniTutorial zeige ich euch wie ihr einstellen könnt ab welchen Level man fliegen kann.
Das Tutorial ist für Änfanger geschrieben und dient zur Einarbeitung in die Source also unterlasst bitte Kommentare wie "das weiß doch jeder".
Öffnet eure MoverParam.cpp.
In der Zeile 1496 (bei euch sollte es weiter oben sein da ich schon was bearbeitet hab) findet ihr die Abfrage:
PHP Code:
if( m_nLevel == 20 )
SetFlightLv( 1 );
Ab dem Fluglevel 1 kann man fliegen.
Wenn ihr den Parameter 20 in eine andere Zahl ändert, dann kann man erst fliegen wenn das Level der Zahl entspricht.
Ihr könntet nun noch andere Abfrage machen, schaut euch einfach mal in der Source an welche Funktionen es so gibt.
Z.B in der Mover.h.
Mal angenommen wir wollen dass unser Character ab dem Level 60 eine coole neue Frisur bekommt.
Dann machen wir unter die Abfrage von vorhin eine neue Abfrage die prüft ob der Character Level 60 ist.
Da drunter schreiben wir dann die Aktion um die Haare des Charakters zu ändern.
Das sieht dann so aus:
PHP Code:
if( m_nLevel == 60 )
SetHair(1)
Na das war doch garnicht so schwer. ;D
Jetzt gehen wir mal bei der Mover.cpp in die Zeile 2791.
Dort sehen wir folgendes:
PHP Code:
int nLimitLv = pItemProp->dwFlightLimit;
if( nLimitLv == NULL_ID )
nLimitLv = 1;
if( GetFlightLv() < nLimitLv )
{
PrintString( this, TID_GAME_USEAIRCRAFT );
return FALSE;
}
Er bekommt den Wert von dwFlightLimit in der PropItem.
Danach folgt eine Abfrage die prüft ob der Wert in der PropItem leer steht.
Wenn dies der Fall wird bekommt nLimitLv den Wert 1.
In der nächstes Abfrage wird geprüft ob das Fluglevel des Spieler kleiner als der Wert von nLimitLv ist.
Sollte dies der Fall sein dann wird ein Text ausgegeben und es wird mit einem FALSE returned.
Da die Funktion IsUseItemReadyTime heißt können wir davon ausgehen, dass geprüft wird ob mein ein Item anziehen kann.
Wir sehen, dass wir verschiedene Möglichkeiten haben einzustellen, wann ein User sein Board anziehen kann.
Wir könnten zum Beispiel einstellen dass alle Player mit dem Fluglevel x das Board anziehen können.
Oder auch dass alle User deren Fluglevel über oder unter einem Wert ein Board anziehen können.
Aber dies solltet ihr nach diesem Tutorial selbst schaffen.
Ich hoffe es war alles verständlich und freue mich wenn ihr etwas gelernt haben solltet.
Edit:
In der Zeile 1805 der Mover.cpp findet ihr die Abfrage:
PHP Code:
if( m_nLevel >= 20 )
SetFlightLv( 1 );
else
SetFlightLv( 0 );
Also die Parameter anpassen dann sollte es gehen.
In der MoverParam.cpp in der Zeile 1836 bei:
PHP Code:
if( m_nLevel < 20 && nLevel >= 20 )
Mein Compiler hatte mich wohl ein bisschen ausgetrickst. ^^
Greetz