Hallo,
dies ist mein erster Guide und ich werde euch im folgenden möglichst verständlich erklären wie ihr Custom Items einfügt.
Dieser Guide ist angelegt an das rAthena Wiki.
1. Was brauche ich?
Ihr braucht zuerst die Dateien für euer Item ich nenne dieses mal "example", was ihr natürlich für eigenes Item ersetzen solltet.
"example.spr" und "example.act" Sie sind für das Aussehen eures Items beim ausrüsten entscheident.
"example_drop.spr" "example_drop.act" Dies sind die Dateien die für das Aussehen beim droppen der Items wichtig sind.
"example_collection.bmp" Das Bild welches beim öffnen der Iteminfo zu sehen ist.
"example_item.bmp" Das Bild welches im Inventar angezeigt wird.
2. Server Einstellungen
ID,DBName,AnzeigeName,Typ,Preis,Verkaufpreis,Gewicht,ATK,DEF,Range,Slot,Job,Upper,Gender,Loc,wLV,eLV,
Refineable,Viewid,{Script},{OnEquip_Script},{OnUnequip_Script}
ID: Itemid
DBName: Name der für @ Befehle mit Items wichtig ist, wenn man nicht die ID benutzt.
AnzeigeName: Name der vom Server angezeigt wird.
Typ: Art des Items, wofür es nutzbar ist
0 = Usable : healing
2 = Usable : other
3 = Misc
4 = Weapon
5 = Armor
6 = Card
7 = Pet Egg
8 = Pet Equipment
10 = Arrow/Ammunition
11 = Usable : delayed consumption (items with script "pet" or "itemskill")
Preis: Kaufspreis des Items bei NPCs
Verkaufspreis: Verkaufspreis des Items an NPCs
Gewicht: Gewichtsfaktor des Items. (Wenn ein Item 35 Einheiten wiegen soll, muss man 350 als Gewicht eintragen)
ATK: Basis Waffen Angriffskraft. (In RE gibt es die Möglichkeit mithilfe eine Trennzeichens einen Waffenbonus einzutragen. Beispiel 10:20 gibt 10 ATK und 20 WaffenMATK.)
DEF: Basis Verteidigung von Rüstungen
Range: Reichweite von Waffen in Map-Einheiten
Slot: Anzahl der Karten Slots
Job: Welche Jobs das Item benutzen können.
(S.) Novice (2^00): 0x00000001
Swordman (2^01): 0x00000002
Mage (2^02): 0x00000004
Archer (2^03): 0x00000008
Acolyte (2^04): 0x00000010
Merchant (2^05): 0x00000020
Thief (2^06): 0x00000040
Knight (2^07): 0x00000080
Priest(2^08): 0x00000100
Wizard (2^09): 0x00000200
Blacksmith (2^10): 0x00000400
Hunter (2^11): 0x00000800
Assassin (2^12): 0x00001000
Unused (2^13): 0x00002000
Crusader (2^14): 0x00004000
Monk (2^15): 0x00008000
Sage (2^16): 0x00010000
Rogue (2^17): 0x00020000
Alchemist (2^18): 0x00040000
Bard/Dancer (2^19): 0x00080000
Unused (2^20): 0x00100000
Taekwon (2^21): 0x00200000
StarGladiator (2^22): 0x00400000
Soul Linker (2^23): 0x00800000
Gunslinger (2^24): 0x01000000
Ninja (2^25): 0x02000000
All Classes : 0xFFFFFFFF
Every Job Except Novice : 0xFFFFFFFE
Bei SQL-DBs bitte die Hex Werte in Dezimal umrechnen. Wenn mehrere Jobklassen dieses Item nutzen sollen einfach Werte zusammenrechnen.
Upper: Welche Klassenbreiche das Item nutzen können.
1 = Normal
2 = Reborn Classes (High Wizards, Champions etc.)
4 = Baby Classes
8 = 3rd Classes
Gender: Welche Geschlechter das Item nutzen können.
0 = Weiblich
1 = Männlich
2 = Beide
Loc: Wo das Item ausgerüstet wird.
(2^0) 1 = Unteres Headgear
(2^1) 2 = Rechte Hand
(2^2) 4 = Mantel
(2^3) 8 = Accessory 1
(2^4) 16 = Armor
(2^5) 32 = Linke Hand
(2^6) 64 = Schuhe
(2^7) 128 = Accessory 2
(2^8) 256 = Oberers Headger
(2^9) 512 = Mittelers Headgear
(2^10) 1024 = Styles oberes Headgear
(2^11) 2048 = Styles mittleres Headgear
(2^12) 4096 = Styles unteres Headgear
(2^15) 32768 = Pfeile (nur Pfeil-typische Items)
wLV: Waffenlevel des Items (1-4). Andere Items haben den Wert "0".
eLV: Das benötigte Level des Charakters zum ausrüsten des Items.
Refineable: Ob das Item aufgewertet werden kann ("1") oder nicht ("0").
Viewid: Die Viewid des Items für den Client. (Kommen wir gleich noch zu)
{Script}: Hier werden die Effekte des Item eingetragen welche während des Tragen aktiv sind.
{OnEquip_Script}: Effekt welcher beim ausrüsten des Items ausgelöst werden soll.
{OnUnequip_Script}: Effekt welcher beim absetzten des Items ausgelöst werden soll.
Nachdem diese ganzen Eintragungen gemacht worden sind, sind wir mit den serverseitigen Eintragungen soweit fertig.
3. Clientseitige Eintragungen
Hierfür gehen wir in unser Ragnarok Verzeichnis in den "data" Ordner.
3.1 Beschreibungen für identifizierte Items
Zuerst öffenen wir die "idnum2itemdisplaynametable.txt" Hier wird der Anzeigename des Items eingefügt.
ItemID#Item Name#
Als nächstes öffnen wir in die "idnum2itemdesctable.txt". Hier werden die Beschreibungen des Items eingefügt.
ItemID#
Item Beschreibung
#
Jetzt müssen wir noch die "idnum2itemresnametable.txt" anpassen. Sie ist wichtig für den Inventar Aussehen und den Dropsprite.
ItemID#Spritename#
Zuletzt kommt noch die "itemslotcounttable.txt". Hier tragen wir die Anzahl der Slots des Items ein, welche wir auch in der DB angegeben haben. Dies ist nur wichtig, damit die Slots auch im Client Item Menü angezeigt werden.
ItemID#AnzahlSlots#
3.2 Beschreibung für nicht identifizierte Items
num2itemdesctable.txt
num2itemdisplaynametable.txt
num2itemresnametable.txt
In diese Dateien könnt ihr nach dem gleichen Prinzip wie in 3.1 schon beschrieben eure Daten für die Items eintragen.
3.3 Dateien für das Aussehen der Items einfügen.
3.3.1 Spritedateien für das Aussehen.
Die "example.spr" und "example.act" werden in die beiden Ordner "datasprite¾Ç¼¼»Ç¸®¿©" und "datasprite¾Ç¼¼»Ç¸®³²" kopiert. Ihr müsst nun die beiden Dateien je nachdem in welchem Ordner sie sich befinden wie folgt umbennen:
Im Ordner "datasprite¾Ç¼¼»Ç¸®³²" so:
example.spr -----> ³²_example.spr
example.act -----> ³²_example.act
Im Ordner "datasprite¾Ç¼¼»Ç¸®¿©" so:
example.spr -----> ¿©_example.spr
example.act -----> ¿©_example.act
3.3.2 Dropsprite
Die "example_drop.spr" und die "example_drop.act" werden in den Ordner "datasprite¾ÆÀÌÅÛ" kopiert und dann wie folgt umbenannt:
example_drop.spr -----> example.spr
example_drop.act -----> example.act
3.3.3 Bilder für Inventar und Infomenü
Das Bild "example_collection.bmp" wird in den Ordner "datatextureÀ¯ÀúÀÎÅÍÆäÀ̽ºcollection" kopiert und in "example.bmp" umbenannt.
Das Bild "example_item.bmp" wird in den Ordner "datatextureÀ¯ÀúÀÎÅÍÆäÀ̽ºitem" kopiert und in "example.bmp" umbenannt.
3.3.4 Anpassung der Lua Files
Wir gehen nun in den Ordner "datalua filesdatainfo" und öffnen zuerst die Datei "accessoryid.lua" und fügen dies wie folgt ein:
ACCESSORY_STRETCHED_NOSE = 737,
--738
ACCESSORY_ANCIENT_GOLD_ADORNMENT = 739,
ACCESSORY_LUCKY_HAT = 740,
ACCESSORY_CUSTOM = 900,
}
Bitte achtet darauf, das am Ende zu der geschweiften Klammer eine Zeile frei bleibt und das ihr NUR Großbuchstaben verwendet.
Danach öffnen wir die "accname.lua" und fügen dies ein:
[ACCESSORY_IDs.ACCESSORY_STRETCHED_NOSE] = "_´Ã¾Î³äú",
[ACCESSORY_IDs.ACCESSORY_ANCIENT_GOLD_ADORNMENT] = "_°Í´ëÀDZÝÀŽä",
[ACCESSORY_IDs.ACCESSORY_LUCKY_HAT] = "_ÇÀ¿ÎÀǸðÀú",
[ACCESSORY_IDs.ACCESSORY_CUSTOM] = "_example",
}
Achtet hierbei wieder darauf, dass wir eine Zeile am Ende freilassen und, dass vor dem Spritenamen ein Unterstrich kommt.
Nachdem ihr das gemacht habt, startet euren Server und euren Client neu.
Jetzt solltet ihr euer Custom items verwenden können.
MfG Nighthawk