AquaYoup

Version complète : Pour Alwyn : Faire parler un PNJ en SmartAI (EVENT_TEXT_OVER)
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Bon plutôt que de l'envoyer par mp autant que vous en profitiez , sa peut vous aider sait on jamais :p


 
Pour ceux qui NE savent pas lire ( merci Youtub ) :
 



 
Pour ceux qui savent lire :



Le script fait a la va vite :



Création du PNJ
Citation :REPLACE INTO `creature_template` (`entry`, `difficulty_entry_1`, `difficulty_entry_2`, `difficulty_entry_3`, `KillCredit1`, `KillCredit2`, `modelid1`, `modelid2`, `modelid3`, `modelid4`, `name`, `femaleName`, `subname`, `IconName`, `gossip_menu_id`, `minlevel`, `maxlevel`, `exp`, `exp_unk`, `faction`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `rank`, `dmgschool`, `BaseAttackTime`, `RangeAttackTime`, `BaseVariance`, `RangeVariance`, `unit_class`, `unit_flags`, `unit_flags2`, `dynamicflags`, `family`, `trainer_type`, `trainer_class`, `trainer_race`, `type`, `type_flags`, `type_flags2`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `spell5`, `spell6`, `spell7`, `spell8`, `VehicleId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `HoverHeight`, `HealthModifier`, `HealthModifierExtra`, `ManaModifier`, `ManaModifierExtra`, `ArmorModifier`, `DamageModifier`, `ExperienceModifier`, `RacialLeader`, `movementId`, `RegenHealth`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`, `VerifiedBuild`) VALUES
(1000199, 0, 0, 0, 0, 0, 26374, 26374, 0, 0, 'Alwyn', '', NULL, NULL, 0, 1, 1, 0, 0, 11, 0, 0.69999998807907, 0.69999998807907, 1, 0, 0, 3000, 3000, 1, 34, 2, 33685506, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 300, 'SmartAI', 2, 3, 1, 1, 1, 1, 1, 1, 1.2999999523163, 1, 0, 0, 1, 0, 2, '', 0);


Création du texte affecté au PNJ 1000199
Citation :REPLACE INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `BroadcastTextId`, `TextRange`, `comment`) VALUES
(1000199, 0, 0, "Bonjours toi la ... Bienvenu sur un tuto du forum Aquayoup", 12, 0, 0, 485, 0, 0, 0, 0, "BlaBla 0 au spawn + emote montrer = 25"),
(1000199, 1, 0, "C'est moi qui parle oui ... ouvre les yeux et fermes la bouche STP ", 12, 0, 0, 485, 0, 0, 0, 0, "BlaBla 1 + emote "),
(1000199, 2, 0, "Tu vois c'est pas difficile de faire parler un gnome", 12, 0, 0, 21, 0, 0, 0, 0, "BlaBla 2 + emote "),
(1000199, 3, 0, "Il suffit de t'inspirer de ce script en utilisant EVENT_TEXT_OVER a partir de la 2eme phrase ", 12, 0, 0, 485, 0, 0, 0, 0, "BlaBla 3"),
(1000199, 4, 0, "cette commande sert a attendre que l'event que tu lui a specifié est terminé", 12, 0, 0, 21,0, 0, 0, 0, "BlaBla 4"),
(1000199, 5, 0, "et ainsi pouvoir dire la phrase suivante en action", 12, 0, 0, 485, 0, 0, 0, 0, "BlaBla 5"),
(1000199, 6, 0, "tu peux aussi faire parler un autre pnj par ce script en Target mais il faut que le texte qu'il va dire soit sur son creature_text et non sur celui de ce PNJ ,  ", 12, 0, 0, 65, 0, 0, 0, 0, "BlaBla 6"),
(1000199, 7, 0, "... Bon ce qui est un peut dur c'est de temporiser parce que sa ne semble pas etre tres juste . ,  ", 12, 0, 0, 65, 0, 0, 0, 0, "BlaBla 7 ");

avec TextRange:
0    Normal/Default
1    Area
2    Zone
3    Map
4    World

avec Type:
12  Normal
14  Crier ( en rouge )
15  Chuchoter ( en violet )
16  Emote
41  Emote Boss
42 Boss chuchote


Petit script pour faire parler le gnome
Citation :-- Alwyn SAI
SET @ENTRY := 1000199;
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,10,0,11,0,100,0,0,0,0,0,1,0,6000,0,0,0,0,1,0,0,0,0,0,0,0,"blabla 0 avec emote"),
(@ENTRY,0,11,0,52,0,100,0,0,1000199,0,0,1,1,8000,0,0,0,0,1,0,100,0,0,0,0,0,"blabla 1"),
(@ENTRY,0,12,0,52,0,100,0,1,1000199,0,0,1,2,4000,0,0,0,0,1,0,100,0,0,0,0,0,"blabla 2"),
(@ENTRY,0,13,0,52,0,100,0,2,1000199,0,0,1,3,12000,0,0,0,0,1,0,0,0,0,0,0,0,"blabla 3"),
(@ENTRY,0,14,0,52,0,100,0,3,1000199,0,0,1,4,8000,0,0,0,0,1,0,0,0,0,0,0,0,"blabla 4"),
(@ENTRY,0,15,0,52,0,100,0,4,1000199,0,0,1,5,8000,0,0,0,0,1,0,0,0,0,0,0,0,"blabla 5"),
(@ENTRY,0,16,0,52,0,100,0,5,1000199,0,0,1,6,8000,0,0,0,0,1,0,0,0,0,0,0,0,"blabla 6"),
(@ENTRY,0,17,0,52,0,100,0,6,1000199,0,0,1,7,8000,0,0,0,0,1,0,0,0,0,0,0,0,"blabla 7"),
(@ENTRY,0,18,0,52,0,100,0,7,1000199,0,0,37,7,8000,0,0,0,0,1,0,0,0,0,0,0,0,"Die");
Rien comprit, mais merci  okai
il faut les regarder sur sai editor et non en listing :p

en plus vue l heure tardive , a la fin de la vidéo jai fait une petite erreur . quand j aurais experimenté tous sa j en ferai un tuto.
Oua la conversation réelle !!! Super merci stitch désolé je n'avais même vue ^^ bon j'étais dans la fumée et la cendre à ce moment là mdr
c'est juste 1 pnj qui parle tout seul , pour une conversation entre plusieurs c'est legerement différent et compliqué parce que les tempo du moins chez moi bug un peut.

Edit : Pour plusieurs pnj il faut passer par des update pour temporiser et SCRIPT_TYPE_TIMED_ACTIONLIST au lieu de SCRIPT_TYPE_CREATURE
D'acc je te dis merci quand même, je vais m'amuser avec ça ^^ et essayer les conv entre deux pnj après :'p
Il faut juste que ton pnj principal lance un SCRIPT_TYPE_TIMED_ACTIONLIST avec ACTION_CALL_TIMED_ACTIONLIST et ne pas perdre de vue que c'est lui qui va temporiser et lancer les dialogues meme si les bules apparaissent sur les autres pnj et tu temporises avec EVENT_UPDATE_OOC par exemple ou update . S'il meurt fin de la discutions . apres les textes tu les met sur chaque pnj qui doit la prononcer .
Ce que je te conseille c'est de les numeroter dans l'ordre de la conversation pour ne pas ty perdre et non de repartir d'une id 0 pour chaque pnj.