Custom Scrolls erstellen
Hallo liebe Com,
Ich hab solch ein Tutorial nirgends gefunden und daher dacht ich mir mach ich es einfach mal :)
Es geht darum wie man in der Source seine eigene Scroll mit eigenen Wirkungen erstellt.
Ich werde versuchen alles so zu erklären dass man es mit 0 Source Kenntnis versteht.
Fangen wir mal an mit dem Source Part.
In der MoverSkill.cpp gibt es eine Funktion die sich so schimpft:
Sie brauchen wir wenn wir eine Art Item benutzen. Alle hier verzeichneten Items haben in der Regel in ihrer dwID auch ein "_SYS_" (DoUseItemSystem sagt alles)
Ich werde das Ganze mit der Scroll aus Lumis Tutorial zum Premium System über SM Mode erläutern. [Only registered and activated users can see links. Click Here To Register...]
Das ist seine Scroll aus dem Tut:
Also. Eine neue Scroll könnt ihr nun in der Switch-Abfrage erstellen. Eine Switch-Abfrage ist nichts anderes als, dass das Programm guckt welchen Wert eine Variable hat. Unsere Abfrage fragt nach pItemProp->dwID :
Also nach der dwID des benutzen Items. (pItemProp wurde der Funktion übergeben, wie man in der Deklaration sieht)
Um nun die neue Scroll auch zu erstellen gehen wir direkt in die Switch-Abfrage und erstellen, nach zum Beispiel der ersten Scroll, also nach dem ersten "break;" eine neue "Möglichkeit" in Form von:
Erklärung:
Nun können wir uns dem Inhalt witmen.. Ich werde dieses Tutorial später um die BUFF_ITEM 's erweitern, aber westmal nun zu Lumis Scroll:
Diese Funktion fragt einfach nur ab ob der SM Mode SM_PREMIUM aktiv ist.
Wenn er es nicht ist wenn die Scroll benutzt wird, so wird dem Player der SM Mode SM_PREMIUM zugewiesen, für die Zeit, die in der pItemProp->dwCircle Time (Ressource Part) zugewisen ist.
Nun müssen wir nur noch in dem Ressource Ordner der Source in der defineItem.h das item "II_ITEM_PREMIUM" hinzufügen. Also so:
Also kommen wir nun zum Ressource Part.
In der defineItem.h eures Ressource-Ordners in euren Files wird das selbe gemacht wie in der Source.
In der propItem.txt (alternativ Spec_Item) kommt Folgenes:
Erklärung:
Die Rubrik "Buffs" werde ich noch adden.
Don't Copy and Paste.
Credits:
95% Trotex
5% Lumi für die Scroll-Vorlage in seinem Tut
Hallo liebe Com,
Ich hab solch ein Tutorial nirgends gefunden und daher dacht ich mir mach ich es einfach mal :)
Es geht darum wie man in der Source seine eigene Scroll mit eigenen Wirkungen erstellt.
Ich werde versuchen alles so zu erklären dass man es mit 0 Source Kenntnis versteht.
Fangen wir mal an mit dem Source Part.
In der MoverSkill.cpp gibt es eine Funktion die sich so schimpft:
Code:
int CMover::DoUseItemSystem( ItemProp *pItemProp, CItemElem* pItemElem, int nPart )
Ich werde das Ganze mit der Scroll aus Lumis Tutorial zum Premium System über SM Mode erläutern. [Only registered and activated users can see links. Click Here To Register...]
Das ist seine Scroll aus dem Tut:
Code:
#ifdef __PREMIUM
case II_ITEM_PREMIUM:
{
if( !( IsSMMode( SM_PREMIUM ) ) )
SetSMMode( SM_PREMIUM, pItemProp->dwCircleTime );
else
nResult = 2;
}
break;
#endif
Code:
switch( pItemProp->dwID ) {
...
}
Um nun die neue Scroll auch zu erstellen gehen wir direkt in die Switch-Abfrage und erstellen, nach zum Beispiel der ersten Scroll, also nach dem ersten "break;" eine neue "Möglichkeit" in Form von:
Code:
case II_ITEM_PREMIUM {
//Inhalt der "Möglichkeit" bzw. in dem Fall dass das benutzte Item die dwID "II_ITEM_PREMIUM" hat
}
break;
Nun können wir uns dem Inhalt witmen.. Ich werde dieses Tutorial später um die BUFF_ITEM 's erweitern, aber westmal nun zu Lumis Scroll:
Code:
if( !( IsSMMode( SM_PREMIUM ) ) ) SetSMMode( SM_PREMIUM, pItemProp->dwCircleTime ); else nResult = 2;
Wenn er es nicht ist wenn die Scroll benutzt wird, so wird dem Player der SM Mode SM_PREMIUM zugewiesen, für die Zeit, die in der pItemProp->dwCircle Time (Ressource Part) zugewisen ist.
Nun müssen wir nur noch in dem Ressource Ordner der Source in der defineItem.h das item "II_ITEM_PREMIUM" hinzufügen. Also so:
Code:
#define II_ITEM_PREMIUM 2125
In der defineItem.h eures Ressource-Ordners in euren Files wird das selbe gemacht wie in der Source.
In der propItem.txt (alternativ Spec_Item) kommt Folgenes:
Code:
6 II_ITEM_PREMIUM "Item [Premium]" 1 1 IK1_CHARGED IK2_SYSTEM IK3_SCROLL = = 1 = 5000000 = = = = = = = 0 = = 1 = = 1 1 = = = = _NONE 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = XI_SYS_REMOVE01 = = = 604800 = = WUI_NOW = = = = = = = = = 0 0 0 0 0 = = = = = = = = = = = = = = = = = """itm_GenGemAmpere.dds""" 0 """""" "I will give you the premium status"
Die Rubrik "Buffs" werde ich noch adden.
Don't Copy and Paste.
Credits:
95% Trotex
5% Lumi für die Scroll-Vorlage in seinem Tut