Heyho Leute,
Ich möchte euch zeigen, wie ihr über die Datenbank in TrinityCore einen NPC erstellen könnt.
Ich werde eine ganze Tutorialreihe schreiben, um einen akzeptablen Server einzurichten. Darunter verstehe ich NPCs, Quests, Items und Event Erstellung.
Bei Tutorial wünschen bitte PN!
Ansonsten: wer Hilfe braucht, oder Fragen hat, auf Skype adden: Nekatus
So. Nun zur Erstellung.
-
Schritt 1: Verbindung
Starte Navicat(oder ein anderes beliebiges Datenbankprogramm).
Verbinde dich mit deinem Server.
Öffne World -> Creature_Template
Nun siehen wir viele Spalten, Zeilen und Zellen. Lass dich davon nicht abschrecken. Es ist einfacher als es aussieht.
Schritt 2: NPC Erstellung
Als erstes erstellen wir einen neuen Eintrag. Dazu klicke unten links auf das +
Nun erscheint eine leere Spalte. Das ist die Spalte, die unserem NPC zugewiesen sein wird.
Die Funktionen, die den einzelnen Spalten zugewiesen wird, sehen wir oben. Z.b steht über der ersten Spalte unseres NPCs 'Entry'
Jetzt hör ich auf zu reden und fange an.
Zu den Spalten:
entry = da schreiben wir die ID rein, mit der wir unseren NPC nachher Ingame spawnen wollen. Benutzt eine ID die noch nicht verwendet wurde!! falls sie schon verwendet wurde, wird dies angezeigt.
difficulty_entry_1 - 3, sowie KillCredit könnt ihr auslassen. Diese Spalten sind für einen Standart NPC nicht wichtig.
modelid1 - 4 = da schreiben wir die DisplayID rein. D.h wie unser NPC hinterher aussieht. wenn ihr in modelid1 - 4 verschiedene IDs eintragt, variieren die IDs, d.h der NPC spawnt mit zufälliger DisplayID.
name = spricht für sich
subname = der "untername", z.b 'Händler' oder 'Wache'
Iconname = Das Maussymbol, wenn wir mit der Maus über den npc halten.
Code:
speak = sprechblase
attack = schwert
eine genause Liste wird noch als Update kommen.
gossip_menu_id = die ID des Textes, wenn wir den NPC ansprechen. Wird im Update genauer erklärt werden.
minlevel = mindest lvl des npcs
maxlevel = maximal lvl des npcs
exp = die Erfahrung die wir beim kill erhalten
faction_A = wie sich der npc der Allianz gegenüber verhalten soll
Code:
14 = Feindlich
35 = Freundlich
faction_H = das selbe für die Horde
npcflag = die Art bzw Funktion des npcs
Code:
1 Standart
2 Questgeber
16 Lehrer
128 Verkäufer
4096 Reparierer(sollte mit 128 kombiniert werden)
8192 Flugmeister
1634 Lehrer für Berufe
32768 Geisterheiler
131072 Bankier
1048576 Kampfmeister(PVP)
2097152 Auktionator
41844304 Stallmeister
8388608 Gildenbank
ihr koennt die IDs auch addieren, um einem npc mehrere Funktionen zuzuweisen.
speed_walk = wie schnell der npc GEHT
speed_run = wie schnell der npc RENNT (standart ist 1)
scale = die Grösse des npcs (standart ist 1)
rank = ob der npc elite, boss etc ist
Code:
0 normal
1 elite
2 rare elite
3 boss
4 rare
mindmg = mindest Schaden den der npc machen soll
maxdmg = maximal Schaden den der npc machen soll
dmgschool = Die Art des Schadens
Code:
0 = normal
1 = heilig
2 = feuer
3 = natur
4 = frost
5 = schatten
6 = arkan
attackpower = Angriffskraft des npcs
dmg_multiplier = der DMG Multiplikator des npcs
baseattacktime = die Angriffsgeschwindigkeit in MILLIsekunden(3600 = 3,6sek)
rangeattacktime = das gleiche für Fernkampf
unit_class = Klasse des npc
Code:
- 1 Krieger (npc hat nur Leben)
- 2 Paladin (npc hat Leben und Mana. Aber mehr Leben als der Magier
- 4 Schurke (npc hat nur Leben)
- 8 Magier (npc hat Leben und Mana. Aber mehr Mana als der Paladin
unit_flags = das weiss ich nicht. wer es weiss, bitte als Kommi schreiben!!
dynamicflags = ist mir unbekannt
family = Die "Familie" des npc. Man kann es auch als Unterklasse sehen.
Code:
1 Wolf
2 Cat
3 Spider
4 Bear
5 Boar
6 Crocolisk
7 Carrion Bird
8 Crab
9 Gorilla
11 Raptor
12 Tallstrider
15 Felhunter
16 Voidwalker
17 Succubus
19 Doomguard
20 Scorpid
21 Turtle
23 Imp
24 Bat
25 Hyena
26 Owl
27 Wind serpent
28 Remote Control
29 Felguard
30 Dragonhawk
31 Ravager
32 Warp Stalker
33 Sporebat
34 Nether Ray
35 Serpent
37 Moth
38 Chimaera
39 Devilsaur
40 Ghoul
41 Silithid
42 Worm
43 Rhino
44 Wasp
45 Core Hound
46 Spirit Beast
trainer_type = Der Lehrer "Typ" Das finde ich persöhnlich etwas verwirrend

Ihr könnt die Spalte bei 0 lassen, es sei denn ihr wollt, dass ihr eine bestimmte Rasse bzw Klasse müsst um den Lehrer ansprechen zu können.
Code:
0 = Der Lehrer ist ein Klassenlehrer. Dazu müsst ihr in die Spalte 'Trainer_class' die Klassen ID eintragen.
1 = Der Lehrer bringt uns Reiten bei, wenn wir eine bestimmte Rasse spielen. Die Rassen ID müsst ihr in 'trainer_race' eintragen.
2 = Der Lehrer bringt uns Berufe bei, wenn wir einen bestimmten Zauber bzw Beruf erlernt haben. Die Zauber bzw Berufs ID müsst ihr in 'Trainer_spell' eintragen.
3 = Der Lehrer ist ein Klassenlehrer. Das selbe wie bei 0. Wo der Unterschied liegt, weiss ich nicht.
trainer_spell = ID (nur wenn ihr einen Lehrer erstellt)
trainer_class = ID (nur wenn ihr einen Lehrer erstellt)
- KlassenIDs:
Code:
1 Krieger
2 Paladin
3 Jaeger
4 Schurke
5 Priester
6 Todesritter
7 Schamane
8 Magier
9 Hexenmeister
11 Druide
trainer_race = ID (nur wenn ihr einen Lehrer erstellt)
- RassenIDs:
Code:
1 Mensch
2 Ork
3 Zwerg
4 Nachtelf
5 Untoter
6 Tauren
7 Gnom
8 Troll
10 Blutelf
11 Draenei
mimrangedmg = mindest Fernkampfschaden
maxrangedmg = maximal Fernkampfschaden
rangeattackpower = Fernkampfangriffskraft
type = Der Typ des npc
Code:
0None
1Beast
2Dragonkin
3Demon
4Elemental
5Giant
6Undead
7Humanoid
8Critter
9Mechanical
10Not specified
11Totem
12Non-Combat Pet
13Gas Cloud
type_flags = ist mir unbekannt
lootid = die LootID aus 'creature_loot_template'
pickpocketloot = ist mir unbekannt
skinloot = ist mir unbekannt
resistance 1 = Heilig
resistance 2 = Feuer
resistance 3 = Natur
resistance 4 = Frost
resistance 5 = Schatten
resistance 6 = Arkan
spell1-8 = Die Zauber die man benutzen kann, wenn der NPC ein Fahrzeug ist.
PetSpellDataID = Die Zauber die angezeigt werden, wenn der npc ein Pet ist.
VehicleID = Ist mir unbekannt.
mingold = Das Gold dass der npc mindestens dabei hat (in Kupfer!!)
maxgold = Das Gold dass der npc maximal dabei har (in Kupfer!!)
AiName = Hab ich mal was drüber gelesen. Wird im Update kommen!
MovementType = Ob der npc rumläuft oder nur steht
0 Der npc bleibt auf der Stelle stehen
1 Läuft zufällig innerhalb des Spawnradius herum
2 Bewegt sich per Wegpunkt
InhabitType = Ob der npc nur auf Land, Wasser oder Luft angreifen kann.(z.b Fische ziehen sich zurück wenn man das Wasser verlässt)
Code:
1 Nur auf Land
2 Nur im Wasser
4 Nur in der Luft
Ihr könnt die Zahlen auch addieren.(z.b 1 + 2 + 4 = 7, d.h der npc kann auf allen Ebenen angreifen)
HoverHeight = Ist mir unbekannt
Health_mod = Das Leben des npc
Mana_mod = Das Mana des npc
Armor_mod = Rüstung des npc
RacialLeader = Ist mir unbekannt
Questitem1-6 = Ist mir unbekannt. Wird NICHT für Questdrops benötigt.
movementID = ist mir unbekannt
RegenHealth = ob sich der npc regeneriert.
1 = ja
0 = nein
mechanic_immune_mask = ist mir unbekannt
flags_extra = wird für bestimmte Bosse benötigt. Liste zu den Flags wird im Update kommen.
ScriptName = Der scriptname, falls vorhanden, der dem npc zugewiesen werden soll.
WDBVerified = ist mir unbekannt.
So. das war die Spaltenerklärung. Ich werde die Spalten, zu denen ich nichts geschrieben habe noch austesten.
Updates folgen!
Mehr Tutorials folgen!
Verzeiht mir bitte Fehler. Wenn ich etwas falsches geschrieben habe, bitte schreibt es in die Kommentare!
Ich hoffe ich konnte euch helfen.
Ich würde mich sehr über ein + freuen! Ich habe mein bestes getan.