smart_scripts
Dieses Tutorial soll einige Grundladen der smart_scripts vermitteln. Es ist in einigen Projekten untser smart_scripts oder SAI bekannt.
Praktische Beispiele, an denen ich die smart_scripts demonstriere, sind ein Teleport und ein Buff.
Praktisches Beispiel in einem Projekt:
Es soll ein Teleporter gebaut werden, der die Spieler von der aktuellen Position zu einer anderen festgelegten telepotieren soll.
SQL:
Code:
INSERT INTO smart_scripts (entryorguid, source_type, id, link, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, target_type, target_param1, target_param2, target_param3, target_x, target_y, target_z, target_o, comment) VALUES
('190000', 0, 1, 0, 62, 0, 100, 0, '50000', 1, 0, 0, 62, 1, 0, 0, 0, 0, 0, 0, 8, 0, 0, '1234', '5678', '9800', '3.5', 'Testteleport');
190000 - Die Entry der Creature
1 - die ID des Scripts, kann beliebig fortlaufen.
62 - Eventtype
100 - Somit wird gewährleistet, dass eine 100%ige Chance besteht, dass das Event ausgelöst wird
50000 - Die ID des Gossipmenüs
62 - Actiontype (hier teleport)
1 - Map des Zielorts
8 - Target, hier der Spieler.
1234 - X - Koordinate
4567 - Y - Koordinate
8900 - Z - Koordinate
3.5 - Orentiation
Testteleport - Ein Kommentar
Somit haben wir die Relevanten Daten einmal komplett auseinander genommen. Da dieses recht verwirrend ausschaut, kann man die SQL - Datei auch folgendermaßen aufbauen, um selbst besser zurechtzufinden:
SQL:
Code:
SET @entry := 190000;
SET @gossipmenu := 50000;
SET @event := 62;
SET @action := 62;
INSERT INTO smart_scripts (entryorguid, source_type, id, link, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, target_type, target_param1, target_param2, target_param3, target_x, target_y, target_z, target_o, comment) VALUES
('@entry', 0, 1, 0, @event, 0, 100, 0, '@gossipmenu', 1, 0, 0, @action, 1, 0, 0, 0, 0, 0, 0, 8, 0, 0, '1234', '5678', '9800', '3.5', 'Testteleport');
Somit haben wir unsere Datei etwas sortiert und als Datenbankdeveloper sieht man etwas besser durch. Natürlich kann man es beliebig weiter verfeinern, das soll der grobe Schliff sein.
Praktisches Beispiel in einem Projekt:
Ihr bekommt die Aufgabe, einen NPC zu basteln, welcher den Spielern den Buff 1234 gibt. Dieses sollt ihr schnell machen.
SQL
Code:
REPLACE INTO smart_scripts (entryorguid, source_type, id, link, event_type, event_phase_mask, event_chance, event_flags, event_param1, event_param2, event_param3, event_param4, action_type, action_param1, action_param2, action_param3, action_param4, action_param5, action_param6, target_type, target_param1, target_param2, target_param3, target_x, target_y, target_z, target_o, comment) VALUES
('190005', 0, 1, 0, 62, 0, 100, 0, '121201', 1, 0, 0, 85, 48161, 2, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 'Machtwort Seelenstärke');
Ich hoffe, ich konnte in Kurzfassung Euch ein bisschen den Sinn der Smart_scripts näher bringen.
Wenn Fragen offen sind oder ich einige Praktische Beispiele noch hinzufügen soll, so schreibt mir eine PN oder hier in den Thread.
Nützliche Links:



(c) by °"Crazy"° - elitepvpers.com






