Faire parler un PNJ
Bonjour à vous.

Je viens solliciter votre aide car j'ai un petit soucis que je n'arrive pas à comprendre.

J'aimerais faire parler un PNJ tou simplement.
Il a un texte prédéfini qu'il rêpete tous les temps de temps.
Rien de plus que cela. Le seul soucis c'est que je ne sais pas comment faire.
J'ai un peu cherché sur le forum, mais je n'ai pas trouvé Erf

Quelqu'un pourrait il m'expliquer le fonctionnement avec les tables en questions afin que je fasse mon script moi même s'il vous plait ?

Merci d'avance pour vos réponses.
Event AI Hihi

Je te conseille NeventAI qui est très simple à prendre en main pour ce genre de chose Smile
Merci Hyakkimaru. Donc j'ai déjà essayé avec ce logiciel mais je ne comprends pas pourquoi mon pnj ne parle pas.
Je ne sais pas quoi mettre dans la case " condition d'activation ". C'est un pnj qui doit parler tout seul sans aucun requis Erf
je dirais de mettre chrono hors combat perso Clin
Ok merci. Je l'ai fait aussi mais sans résultat. Je ne vois pas ce qui cloche en fait. C'est pour sa que je suis venu demander de l'aide.
Je refais quelques tests je verrai bien avec de la chance et de la jugeote je vais trouver =)
Au pire des cas je te ferais le script, tu me donneras les ID pnj ect et je m'en chargeraisHihi (ça va me faire bosser un peu)
Salut,

Voilà un exemple complet de ce que tu veux faire.

Ajout du NPC dans creature_template avec liaison à SmartAI
Je te laisse le modifier à ta convenance.
[code=sql]
REPLACE INTO `creature_template` (`entry`, `difficulty_entry_1`, `difficulty_entry_2`, `difficulty_entry_3`, `KillCredit1`, `KillCredit2`, `modelid1`, `modelid2`, `modelid3`, `modelid4`, `name`, `subname`, `IconName`, `gossip_menu_id`, `minlevel`, `maxlevel`, `exp`, `faction_A`, `faction_H`, `npcflag`, `speed_walk`, `speed_run`, `scale`, `rank`, `mindmg`, `maxdmg`, `dmgschool`, `attackpower`, `dmg_multiplier`, `baseattacktime`, `rangeattacktime`, `unit_class`, `unit_flags`, `dynamicflags`, `family`, `trainer_type`, `trainer_spell`, `trainer_class`, `trainer_race`, `minrangedmg`, `maxrangedmg`, `rangedattackpower`, `type`, `type_flags`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `spell5`, `spell6`, `spell7`, `spell8`, `PetSpellDataId`, `VehicleId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `Health_mod`, `Mana_mod`, `Armor_mod`, `RacialLeader`, `questItem1`, `questItem2`, `questItem3`, `questItem4`, `questItem5`, `questItem6`, `movementId`, `RegenHealth`, `equipment_id`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`, `WDBVerified`) VALUES (5000009, 0, 0, 0, 0, 0, 26375, 0, 0, 0, 'PNJ qui parle', '', '', 0, 75, 75, 2, 35, 35, 3, 1, 1.14286, 1, 5, 342, 485, 0, 392, 1, 2000, 0, 1, 32768, 2, 0, 0, 0, 0, 0, 295, 438, 68, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 'SmartAI', 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 361, 0, 0, '', 12340);
[/code]

Le code SmartAI.
Il va aller chercher dans la table creature_text le texte à dire, crier, etc.
Il va le dire la prmière fois au spawn (100ms après le spawn), puis il va répeter ce texte entre 4m30 (270000ms) et 5m30 (330000 ms):

[code=sql]
DELETE FROM `smart_scripts` WHERE (`entryorguid`=5000009 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
(5000009, 0, 1, 0, 60, 0, 100, 0, 100, 100, 270000, 330000, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, '');
[/code]

Ensuite on va ajouter dans la DB le ou les textes à faire dire au NPC, dans cet exemple juste un texte:

[code=sql]
INSERT INTO `creature_text` (`entry`, `groupid`, `id`, `text`, `type`, `language`, `probability`, `emote`, `duration`, `sound`, `comment`)
VALUES (5000009, 1, 0, 'Bonjour, je suis un pnj qui sait parler tout seul !', 1, 0, 100, 0, 0, 0, 'Text 1');
[/code]

J'ai volontairement laissé les ID pour que tu comprennes les liens entre la table creature_template et SmartAI.

Hellstorm

Retourner en haut Accueil