چگونه Npc بسازیم که هم راه بره و هم صحبت کنه ؟

 

امروز آموزش هم کاربردی و هم fun برای شما آماده کردیم، البته بستگی به خودتون داره که از این آموزش برای مثلا یک باس استفاده کنید یا مثل اموزش من کاربرد فان داشته باشه.

https://3x3x5.ir/dl/2021/05/3x3x5.ir_.png

ساخت Waypoint یا امکان راه رفتن یک NPC :

برای این کار میبایست شما روی NPC مورد نظر npc info کرده و اولین خط یعنی کد رو به رو به Guid را یادداشت کنید .

 

https://3x3x5.ir/dl/2021/07/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D9%86-%D9%BE%DB%8C-%D8%B3%DB%8C-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85-%DA%A9%D9%87-%D9%87%D9%85-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D9%87-%D9%88-%D9%87%D9%85-%D8%B5%D8%AD%D8%A8%D8%AA-%DA%A9%D9%86%D9%87-%D8%9F-6.jpg

 

به محلی که NPC میخواهید به آنجا برود کامند : wp add guid. را بزنید و به جای Guid همان کد یادداشتی را وارد کنید .

در صورتی که میخواهید به صورت تکه تکه حرکت کند همین کامند را در محل های مورد نظر وارد کنید .

 

https://3x3x5.ir/dl/2021/07/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D9%86-%D9%BE%DB%8C-%D8%B3%DB%8C-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85-%DA%A9%D9%87-%D9%87%D9%85-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D9%87-%D9%88-%D9%87%D9%85-%D8%B5%D8%AD%D8%A8%D8%AA-%DA%A9%D9%86%D9%87-%D8%9F-7.jpg

 

سپس بر روی NPC مورد نظر کامند wp load guid. را بزنید و مثل بالا به جای guid کد را وارد کنید و سرور را دوباره راه اندازی کنید .

 

https://3x3x5.ir/dl/2021/07/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D9%86-%D9%BE%DB%8C-%D8%B3%DB%8C-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85-%DA%A9%D9%87-%D9%87%D9%85-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D9%87-%D9%88-%D9%87%D9%85-%D8%B5%D8%AD%D8%A8%D8%AA-%DA%A9%D9%86%D9%87-%D8%9F-9.jpg

https://3x3x5.ir/dl/2021/07/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D9%86-%D9%BE%DB%8C-%D8%B3%DB%8C-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85-%DA%A9%D9%87-%D9%87%D9%85-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D9%87-%D9%88-%D9%87%D9%85-%D8%B5%D8%AD%D8%A8%D8%AA-%DA%A9%D9%86%D9%87-%D8%9F-10.jpg

 

البته شما میتونید در تیبل waypoint_data به صورت دستی مقادیری رو پر کنید.

نکته : برای اینکه بخواید npc در بعضی جاها که waypoint ادد دادید تایم و زمان براش تعیین کنید در فیلد delay میتونید این کار رو انجام بدید مثل تصویر زیر :

 

https://3x3x5.ir/dl/2021/07/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D9%86-%D9%BE%DB%8C-%D8%B3%DB%8C-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85-%DA%A9%D9%87-%D9%87%D9%85-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D9%87-%D9%88-%D9%87%D9%85-%D8%B5%D8%AD%D8%A8%D8%AA-%DA%A9%D9%86%D9%87-%D8%9F-8.jpg

 

https://3x3x5.ir/dl/2021/05/3x3x5.ir_.png

صحبت کردن NPC :

برای این مورد من دو روش رو پیشنهاد میدم :

  1.  با برنامه و به صورت خیلی راحت انجام بدید
  2. به صورت دستی خودتون مقادیری رو وارد دیتابیس کنید

روش اول که بسیار راحتره ، شما از برنامه Keira برای نسخه azerothcore استفاده کنید و این برنامه تا حدودی میتونه نسخه TrinityCore هم ساپورت کنه ولی در زیر برنامه WowDatabaseEditor رو برای شما میزارم، که با این برنامه شما به راحتی هر دو نسخه رو میتونید مقادیرش رو ادیت کنید.

برای دانلود برنامه WowDatabaseEditor کلیک کنید.

رمز فایل : www.3x3x5.ir

 

 

 

 

https://3x3x5.ir/dl/2021/05/3x3x5.ir_.png

روش دوم به صورت دستی هم اموزش زیر رو ببینید:

برای صحبت کردن NPC از طریق دیتابیس ابتدا به تیبل Creature_template رفته سپس NPC مورد نظر رو پیدا کنید .

 

https://3x3x5.ir/dl/2021/07/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D9%86-%D9%BE%DB%8C-%D8%B3%DB%8C-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85-%DA%A9%D9%87-%D9%87%D9%85-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D9%87-%D9%88-%D9%87%D9%85-%D8%B5%D8%AD%D8%A8%D8%AA-%DA%A9%D9%86%D9%87-%D8%9F-1.jpg

 

در مرحله بعدی ما در فیلد AIName کامه SmartAI رو تایپ میکنیم ، مثل تصویر زیر :

 

https://3x3x5.ir/dl/2021/07/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D9%86-%D9%BE%DB%8C-%D8%B3%DB%8C-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85-%DA%A9%D9%87-%D9%87%D9%85-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D9%87-%D9%88-%D9%87%D9%85-%D8%B5%D8%AD%D8%A8%D8%AA-%DA%A9%D9%86%D9%87-%D8%9F-2.jpg

 

به تیبل creature_text رفته ، یک لاین جدید ایجاد کرده ، سپس طبق توضیحات زیر فیلد ها رو پر کنید :

entry یا CreatureID را همان Entry اون NPC وارد کنید.
groupid : اگر چند متن باشد ، به ترتیب 1 و 2 و 3 و غیره رو وارد نمایید .
text : متن مورد نظر رو وارد کنید .
Type : این فیلد را طبق تصاویر زید هر کدام که نیاز داشتید عددش رو وارد کنید .

 

12 Say
14 Yell
16 Emote
41 Boss Emote
15 Whisper
42 Boss Whisper

probability : در این فیلد 100 را وارد کنید .
emote : در صورتی که نیاز دارید هنگام صحبت کردن یک Emote داشته باشد ، آی دی یک Emote را وارد کنید
TextRange : یعنی اینکه این متن در چه محدوده ای نمایش داده شود؟ یکی از اعداد زیر وارد شود

 

0 پیشفرض
1 Area
2 Zone
3 Map
4 World

 

 

https://3x3x5.ir/dl/2021/07/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D9%86-%D9%BE%DB%8C-%D8%B3%DB%8C-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85-%DA%A9%D9%87-%D9%87%D9%85-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D9%87-%D9%88-%D9%87%D9%85-%D8%B5%D8%AD%D8%A8%D8%AA-%DA%A9%D9%86%D9%87-%D8%9F-3.jpg

https://3x3x5.ir/dl/2021/07/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D9%86-%D9%BE%DB%8C-%D8%B3%DB%8C-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85-%DA%A9%D9%87-%D9%87%D9%85-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D9%87-%D9%88-%D9%87%D9%85-%D8%B5%D8%AD%D8%A8%D8%AA-%DA%A9%D9%86%D9%87-%D8%9F-4.jpg

https://3x3x5.ir/dl/2021/07/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D9%86-%D9%BE%DB%8C-%D8%B3%DB%8C-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85-%DA%A9%D9%87-%D9%87%D9%85-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D9%87-%D9%88-%D9%87%D9%85-%D8%B5%D8%AD%D8%A8%D8%AA-%DA%A9%D9%86%D9%87-%D8%9F-5.jpg

 

نکته : من با برنامه Keira که تصاویرش هم در زیر میبینید در فیلد SmartAI تنظیمات رو به صورت خیلی راحت انجام دادم اما اگر به هر دلیلی خواستید که به صورت دستی مقادیر رو وارد دیتابیس کنید هم در زیر توضیحات داده شده :

 

https://3x3x5.ir/dl/2021/07/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D9%86-%D9%BE%DB%8C-%D8%B3%DB%8C-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85-%DA%A9%D9%87-%D9%87%D9%85-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D9%87-%D9%88-%D9%87%D9%85-%D8%B5%D8%AD%D8%A8%D8%AA-%DA%A9%D9%86%D9%87-%D8%9F-11.jpg

https://3x3x5.ir/dl/2021/07/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D9%86-%D9%BE%DB%8C-%D8%B3%DB%8C-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85-%DA%A9%D9%87-%D9%87%D9%85-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D9%87-%D9%88-%D9%87%D9%85-%D8%B5%D8%AD%D8%A8%D8%AA-%DA%A9%D9%86%D9%87-%D8%9F-12.jpg

https://3x3x5.ir/dl/2021/07/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D9%86-%D9%BE%DB%8C-%D8%B3%DB%8C-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85-%DA%A9%D9%87-%D9%87%D9%85-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D9%87-%D9%88-%D9%87%D9%85-%D8%B5%D8%AD%D8%A8%D8%AA-%DA%A9%D9%86%D9%87-%D8%9F-13.jpg

https://3x3x5.ir/dl/2021/07/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D9%86-%D9%BE%DB%8C-%D8%B3%DB%8C-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85-%DA%A9%D9%87-%D9%87%D9%85-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D9%87-%D9%88-%D9%87%D9%85-%D8%B5%D8%AD%D8%A8%D8%AA-%DA%A9%D9%86%D9%87-%D8%9F-14.jpg

https://3x3x5.ir/dl/2021/07/%DA%86%DA%AF%D9%88%D9%86%D9%87-%D8%A7%D9%86-%D9%BE%DB%8C-%D8%B3%DB%8C-%D8%A8%D8%B3%D8%A7%D8%B2%DB%8C%D9%85-%DA%A9%D9%87-%D9%87%D9%85-%D8%B1%D8%A7%D9%87-%D8%A8%D8%B1%D9%87-%D9%88-%D9%87%D9%85-%D8%B5%D8%AD%D8%A8%D8%AA-%DA%A9%D9%86%D9%87-%D8%9F-15.jpg

https://3x3x5.ir/dl/2021/05/3x3x5.ir_.png

 

مرحله اخر شما میبایسد به تیبل Smart_script رفته ، یک لاین جدید ایجاد نمایید :

فیلد entryorguid رو همان Entry اون NPC وارد کنید .

event_type : با توجه به توضیحات زیر باید یک عدد وارد شود :

 

عملکرد شناسه  event_param1
 event_param2
 event_param3
 event_param4
In combat.
0
InitialMin InitialMax RepeatMin RepeatMax
Out of combat.
1
InitialMin InitialMax RepeatMin RepeatMax
Health Percentage
2
HPMin% HPMax% RepeatMin RepeatMax
Mana Percentage
3
ManaMin% ManaMax% RepeatMin RepeatMax
On Creature Aggro
4
On Creature Kill
5
CooldownMin CooldownMax Player only (0/1) Creature entry (if param3 is 0)
On Creature Death
6
On Creature Evade Attack
7
On Creature/Gameobject Spell Hit
8
SpellID School CooldownMin CooldownMax
On Target In Range
9
MinDist MaxDist RepeatMin RepeatMax
On Target In Distance Out of Combat
10
NoHostile MaxRange CooldownMin CooldownMax
On Creature/Gameobject Respawn
11
type MapId ZoneId
On Target Health Percentage
12
HPMin% HPMax% RepeatMin RepeatMax
On Target Casting Spell
13
RepeatMin RepeatMax Spell id (0 any)
On Friendly Health Deficit
14
HPDeficit Radius RepeatMin RepeatMax
On Friendly Lost Buff
16
SpellId Radius RepeatMin RepeatMax
On Creature/Gameobject Summoned Unit
17
CretureId (0 all) CooldownMin CooldownMax
On Target Mana Percentage
18
ManaMin% ManaMax% RepeatMin RepeatMax
On Target Accepted Quest
19
QuestID (0 any)
On Target Rewarded Quest
20
QuestID (0 any)
On Creature Reached Home
21
On Receive Emote.
22
EmoteId CooldownMin CooldownMax condition
On Creature Has Aura
23
SpellID Stacks RepeatMin RepeatMax
On Target Buffed With Spell
24
SpellID Stacks RepeatMin RepeatMax
After Combat, On Respawn or Spawn
25
On Target In Distance In Combat
26
NoHostile MaxRange CooldownMin CooldownMax
On Creature Charmed
29
0 (on charm apply) / 1 (on charm remove)
On Target Charmed
30
On Target Spell Hit
31
SpellId School RepeatMin RepeatMax
On Creature Damaged
32
MinDmg MaxDmg RepeatMin RepeatMax
On Target Damaged
33
MinDmg MaxDmg RepeatMin RepeatMax
MovementInform 34

 
       
On Summoned Unit Despawned
35
Entry CooldownMin CooldownMax
On Creature Corpse Removed
36
On Creature/Gameobject Data Set, Can be used with SMART_ACTION_SET_DATA
38
Field Value CooldownMin CooldownMax
On Creature Waypoint ID Started
39
PointId (0 any) pathId (0 any)
On Creature Waypoint ID Reached
40
PointId (0 any) pathId (0 any)
On TEXT_OVER Event Triggered After SMART_ACTION_TALK
52
GroupId (from creature_text) Creature.Id (0 any)
On Creature Received Healing
53
MinHeal MaxHeal CooldownMin CooldownMax
On Creature Just spawned
54
On Creature Paused at Waypoint ID
55
PointId (0 any) pathID (0 any)
On Creature Resumed after Waypoint ID
56
PointId (0 any) pathID (0 any)
On Creature Stopped On Waypoint ID
57
PointId (0 any) pathID (0 any)
On Creature Waypoint Path Ended
58
PointId (0 any) pathID (0 any)
Used to link together multiple events as a chain of events.
61
On gossip clicked (gossip_menu_option).
62
menu_id id
On Right-Click Creature/Gameobject that have gossip enabled.
64
On event phase mask set
66
event phase mask
On Creature is behind target.
67
CooldownMin CooldownMax
On game_event started.
68
game_event.eventEntry
On game_event ended.
69
game_event.eventEntry
On creature guid OR any instance of creature entry is within distance. 75 database guid database entry distance repeat interval (ms)
On gameobject guid OR any instance of gameobject entry is within distance. 76 database guid database entry distance repeat interval (ms)
If the value of specified counterID is equal to a specified value 77 counterID value cooldownMin cooldownMax

 

action_type رو 1 قرار بدهید .

در فیلد action_param1 ، شما باید عدد رو از تیبل creature_text موجود در دیتابیس World بهش بدید. این شماره در واقع فیلد groupid هست .

target_type رو هم عدد 1 وارد کنید

 

مطالب زیر را هم ببینید

دیدگاهتان را بنویسید