Register for your free account! | Forgot your password?

You last visited: Today at 19:49

  • Please register to post and access all features, it's quick, easy and FREE!

 

TrinityCore - smart_scripts

Reply
 
Old   #1
 
elite*gold: 2703
Join Date: Jul 2010
Posts: 6,451
Received Thanks: 1,232
TrinityCore - smart_scripts

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');
Wir nehmen die SQL einmal komplett auseinander.

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');
Hier seht Ihr im Vergleich des ersten Beispieles etwas anderes. Verändert wurde der Actiontype, der nun 85 beträgt. Dahinter der Param1, sprich Parameter 1 ist die ID des spells, der Parameter 2 ist der Castflag, der ausgelöst wird, wenn es getriggert wurde. In dem Falle, wenn der Spieler den Spell abruft.




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



°"Crazy"° is offline  
Thanks
5 Users
Old   #2
 
elite*gold: 0
Join Date: Nov 2010
Posts: 2,997
Received Thanks: 3,382
Verstehe zwar nicht von WoW aber solche arbeit ist sicher sehr schwer
und ein danke für die mühe sehr wert.


CrystalPrime is offline  
Thanks
1 User
Old   #3
 
elite*gold: 0
Join Date: Nov 2010
Posts: 477
Received Thanks: 133
toppse halt
gj bro
n1_Roxxer is offline  
Thanks
1 User
Old   #4
 
elite*gold: 2703
Join Date: Jul 2010
Posts: 6,451
Received Thanks: 1,232
Quote:
Originally Posted by n1_Roxxer View Post
toppse halt
gj bro
Schön, Dich auch mal wieder zu sehen.

Habe eben noch einen Fehler in der SQL - Syntax behoben.


°"Crazy"° is offline  
Thanks
1 User
Old   #5
 
elite*gold: 0
Join Date: Nov 2010
Posts: 477
Received Thanks: 133
Quote:
Originally Posted by °"Crazy"° View Post
Schön, Dich auch mal wieder zu sehen.

Habe eben noch einen Fehler in der SQL - Syntax behoben.
Ich saug mir grad nen 335er Client, vllt komm ich nachher mal skype dann können wir schreiben, jenachdem was das rl so vor hat ;o
n1_Roxxer is offline  
Old   #6
 
elite*gold: 2703
Join Date: Jul 2010
Posts: 6,451
Received Thanks: 1,232
Schreibfehler und Query angepasst


°"Crazy"° is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
[TrinityCore] DBC & Map Extractor
Hallo, Biete hier einen DBC & Maps Extractor. Das Passwort für die Datei ist: epvpers.de Zum Entpacken benötigt ihr WinRar. Sbald ihr es...
3 Replies - WoW PServer Hosting
TrinityCore und DB updaten
Hallo, habe eine auf Trinity basierenden WoW Server aufgesetzt, aber da ja ständig an dem Core und an der Datenbank gebastelt wird, würde ich gerne...
4 Replies - WoW Private Server
Fragen zu TrinityCore
Heyho ich hab da mal paar fragen -wie erstelle ic hda ei naccoutn bzw brauch ich nen md5 hash? -was ist der acceslevel von Admin ,gm ,user usw...
1 Replies - WoW PServer Hosting



All times are GMT +1. The time now is 19:49.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.