29/06/2017, 09:37
Un triggler c'est quoi au juste ?
Un triggler ce n'est rien d'autre qu'un mob invisible (flags_extra 128) généralement passif , qui n'agresse pas (unit_flags 131072) et ne peux être attaquer (unit_flags 2) ... bref un mob qui ne sert a rien !!!
Et bien détrompez vous , ce mob qui ne sert a rien est indispensable et vraiment très utile dans le cas par exemple d'une quête ou pour déclencher un événement .
- Par exemple , de manière simple celui ci peut détecter le mouvement d'un joueur et invoquer des agresseurs a sa position .
- Dans le cadre d'une quête il peut être invoqué a une position pour une certaine durée . Afin d'introduire un peut d'aléatoire et que les mobs ne soient pas invoqués toujours au même endroit l'on pourra le faire bouger de différentes versions .
- Détecter un joueur et lui attribuer un crédit de quête dans le cadre d'une exploration .
- Le trigger en forme de diablotin sous la tente détecte que le joueur a une certaine distance utilise la torche pour brûler la tente ( Rasez le poste de Navrecorne ! 27429 (a2) - 27296 (h2) )
- Lui crédite la quete
- Spam pour 20s des PNJ flamme sur les trigglers en forme de boules blanches dans un rayon de 15m comme sur l'image ci dessous
Et vous voila incendiaire
Le SmartAI du triggler diablotin :
- La 1ere ligne : (EVENT_SPELLHIT) détecte que le joueur utilise le sort 42356 utilisé par la torche et crédite la quete du joueur (ACTION_CALL_KILLEDMONSTER)
- La 2eme ligne qui est lié (EVENT_LINK) a la 1ere ligne invoquera des flammes pour 20s a la position des autres triggler (boules blanches) dans un rayon de 15m .
Citation :-- North Tent SAI
SET @ENTRY := 23751;
UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`=@ENTRY;
DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0;
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,0,10,8,0,100,0,42356,0,3500,3500,33,23751,0,0,0,0,0,7,0,0,0,0,0,0,0,"North Tent - On Spellhit 'Burn Direhorn Post' - Quest Credit 'Raze Direhorn Post!'"),
(@ENTRY,0,10,0,61,0,100,0,0,0,0,0,12,15000064,2,20000,0,0,0,9,15000079,0,15,0,0,0,0,"Rasez le poste de Navrecorne ! 27429 (a2) - 27296 (h2) : visuel flammes");
Voila pour le mini tuto qui j’espère vous ouvrira les yeux sur cette possibilité que sont les triggler . Pour accompagner ce tuto , une petite liste de PNJ perso qui peuvent être utilisé dans ce cas la et qui sont déja présent dans la DB .
- 15000031 generateur de tremblement de terre 500ms (.learn 6524)
- 15000033 Tas de boiz Azshara - quete Il faut bûcher 14134
- 15000038 Appuyez sur le bouton ! 14477
- 15000045 Lapins Curieux
- 15000063 flame x1
- 15000064 flame x2
- 15000065 flame x3
- 15000066 flame x4
- 15000079 TRIGGER WORLD GENERIQUE
- 15000157 TRIGGER WORLD GENERIQUE 1
- 15000158 TRIGGER WORLD GENERIQUE 2
- 15000159 TRIGGER WORLD GENERIQUE 3
- 15000160 TRIGGER WORLD GENERIQUE 4
- 15000161 TRIGGER WORLD GENERIQUE 5
- 15000171 Flamme x3 pour extinction (basé sur .npc add 15000065 - Sceau pour eteindre : item 46094/Spell 64558)