Teleporter NPC [gossip]tirinity

Indította zack01, 2011 július 05, 02:30:34 DÉLUTÁN

Előző téma - Következő téma

zack01

Üdv mindenkinek. Nézegettem a témákat, de olyat nem láttam hogy leírná valaki hogyan készül 1 teleproter npc Tirinity core emura. Ezért úgy gondoltam, hasznos lehet ha ezt megosztom azokkal akik nem tudnák  :)

1. lépés: gyártsunk le 1 npc-t, aki a mi teleproterünk lesz.
sql:
INSERT INTO creature_template (entry,modelid1,name,subname,IconName,gossip_menu_id,minlevel,maxlevel,Health_mod,Mana_mod,Armor_mod,faction_A,faction_H,npcflag,speed_walk,speed_run,scale,rank,dmg_multiplier,unit_class,unit_flags,type,type_flags,InhabitType,RegenHealth,flags_extra)
VALUES (999999,24124,'Vak teleporter','Teleporter','Directions',999999(ezt a számot jegyezzük meg, mer később kelleni fog még),71,71,1.56,1.56,1.56,35,35,3,1,1.14286,1,1,1,1,2,7,138936390,3,1,2);


2. lépés: létre kell hoznunk 1 gossip menüt. Ezt a gossip_menu_option táblában tehetjük meg
sql:
INSERT INTO gossip_menu_option (menu_id, id, option_icon, option_text, option_id, npc_option_npcflag, action_menu_id, action_poi_id, action_script_id, box_coded, box_money, box_text)
VALUES
(999999(ezt a számot adtuk meg az npc-nek a gossip_menü_id sorhoz) , 1, 2(itt azt adjuk meg hogy milyen kis ikon jelenjen meg a gossip elött.ezeket a végén feltüntetem hogy melyik mit takar), 'OG(ide irjuk be a menü nevét[ezt hozza ki mikor majd rá akarunk kattintani])', 1, 1,  9999999(itt is ezt a bizonyos számot kell megadni amit az npc nél használtunk), 0, 51234(ezt a számot is jegyezzük meg mer ez kapcsolja össze a hozzá tartozó gossip_scripts- táblával, 0, 0, NULL),


3. lépés: be kell állítanunk hogy mit csináljon a gossip.(sok fajta dologra lehet használni a gossipot, ezért így fogalmaztam)
sql:
INSERT INTO gossip_scripts (id, delay, command, datalong, datalong2, dataint, x, y, z, o)
VALUES (51234(észre vehettétek hogy ezt adtuk meg mikor létre hoztuk a gossip menüt), 0, 6(itt határozzuk meg hogy mi legyen a gossip parancs[a topik alján az összeset leírom amit ismerek]), 0(a teleporter esetében ide a MAP ID-t kell beírnod), 0, 0, x koordináta, y koordináta, z koordináta, orientation),


Kész vagyunk. össze foglaltam 1 sql be 1 og teleportert:
INSERT INTO creature_template (entry,modelid1,name,subname,IconName,gossip_menu_id,minlevel,maxlevel,Health_mod,Mana_mod,Armor_mod,faction_A,faction_H,npcflag,speed_walk,speed_run,scale,rank,dmg_multiplier,unit_class,unit_flags,type,type_flags,InhabitType,RegenHealth,flags_extra)
VALUES (888112,12341,'Vak teleporter','eXtreMe WoW','Directions',666666,71,71,1.56,1.56,1.56,35,35,3,1,1.14286,1,1,1,1,2,7,138936390,3,1,2);

INSERT INTO gossip_menu_option (menu_id, id, option_icon, option_text, option_id, npc_option_npcflag, action_menu_id, action_poi_id, action_script_id, box_coded, box_money, box_text)
VALUES
(666666, 1, 2, 'ogba', 1, 1, 666666, 0, 777777, 0, 0, NULL),

INSERT INTO gossip_scripts (id, delay, command, datalong, datalong2, dataint, x, y, z, o)
VALUES
(777777, 0, 6, 1, 0, 0, 1629.36, -4373.39, 31.2564, 3.54839),


Ahogy ígértem, itt vannak az ikon jelek:
IdézGOSSIP_ICON_CHAT                = 0,      //Fehér buborék
 GOSSIP_ICON_VENDOR              = 1,      //Barna tasi
 GOSSIP_ICON_TAXI                = 2,      //1 Szárny(én ezt szeretem használni)
 GOSSIP_ICON_TRAINER             = 3,      //könyv
 GOSSIP_ICON_INTERACT_1          = 4,      //interaction wheel
 GOSSIP_ICON_INTERACT_2          = 5,      //interaction wheel
 GOSSIP_ICON_MONEY_BAG           = 6,      //brown bag with yellow dot
 GOSSIP_ICON_TALK                = 7,      //white chat bubble with black dots
 GOSSIP_ICON_TABARD              = 8,      //tabard
 GOSSIP_ICON_BATTLE              = 9,      //two swords
 GOSSIP_ICON_DOT                 = 10      //yellow dot

És a gossip commandok:
Idéz0    TALK                             Az NPC a script_texts-ből kiolvas 1 szöveget, amelyet say/yell/emote útján elmond.
  1    EMOTE                            Az NPC egy "emote"-t fog eljátszani.
  2    FIELD_SET                        
  3    MOVE_TO                          Áthelyezi az NPC-t
  4    FLAG_SET                        
  5    FLAG_REMOVE                      
  6    TELEPORT_TO                      Elteleportálja a játékost
  7    QUEST_EXPLORED                   Satisfies the explore requirement for a quest.
  9    RESPAWN_GAMEOBJECT               Spawns a despawned gameobject.
  10   TEMP_SUMMON_CREATURE             Ideiglenesen odasummol egy NPC-t.
  11   OPEN_DOOR                        Kinyit egy ajtót.
  12   CLOSE_DOOR                       Bezár egy ajtót.
  13   ACTIVATE_OBJECT                  Aktivál egy objectet.
  14   REMOVE_AURA                      Levesz 1 spellt/aurát a targetról.
  15   CAST_SPELL                       Elsüt 1 spellt.
  16   PLAY_SOUND                       Lejátszik egy hangot.
  20   LOAD_PATH                        
  22   KILL                             Megöl mindent
  30   SCRIPT_COMMAND_ORIENTATION      
  31   SCRIPT_COMMAND_EQUIP            
  32   SCRIPT_COMMAND_MODEL    

Remélem tudtam segíteni valakinek ezzel a kis tutoriallal!:)
ez komolyan teljesen meg!

Cleaver93


zack01

ez komolyan teljesen meg!

Cleaver93

gossip commandal meglehet csinálni több dolgot is mint ami ezen a listán van?  Vagy ez a Trinity wikieől van?
És még1 kérdés, hogy tudom megcsinálni hogy egy kattintással több mindent csinál?

zack01

erre még nem gondoltam, de valószínűleg úgy, hogy a gossip_Script be 2 sort szúrsz be ami a gossip menüdre mutat. lehet hogy nem fogja engedni, ha nem engedi akkor script kell.
ez komolyan teljesen meg!

kagebunshin


Lehet több sort beszúrni úgy ahogy zack01 írta.

Ha pedig több dolgot is szeretnél vele csináltatni, akkor azt külön meg kell írni, de az már core módosítás.
"-Egy dolgot viszont elárulhatnál nekem. Ki találta ki, hogy a fák őreinek erejével szálljatok szembe velem, mert nem te ugye? Te nem tudtad!
-Nem... de azért vagyunk többen, hogy valaki tudja."

akos123

Van egy kis gondom nekem csak enyit ir

INSERT INTO  `world`.`gossip_menu_option` (

`menu_id` ,
`id` ,
`option_icon` ,
`option_text` ,
`option_id` ,
`npc_option_npcflag` ,
`action_menu_id` ,
`action_poi_id` ,
`box_coded` ,
`box_money` ,
`box_text` 

Hiányzik a action_script_id, ijenkor mi a tehndő?

akos123

trinity core rev +0100, Erre a reve kellene teleport npc!!
csak az alapok kellenek nekem hogy mi módon csináljam meg mert az uj revek sokban különböznek a régitől és a Bluerák scriptje már nem jó!!
Előrre is köszönöm!

zack01

Az új adatbázisbók kivették a gossip_script táblát... nem tudom miért, ez engem is padlóra küldött pedig :/
ez komolyan teljesen meg!

Shimion

Idézetet írta: akos123 Dátum 2012 február 13, 01:40:38 DÉLUTÁN
Van egy kis gondom nekem csak enyit ir

INSERT INTO  `world`.`gossip_menu_option` (

`menu_id` ,
`id` ,
`option_icon` ,
`option_text` ,
`option_id` ,
`npc_option_npcflag` ,
`action_menu_id` ,
`action_poi_id` ,
`box_coded` ,
`box_money` ,
`box_text` 

Hiányzik a action_script_id, ijenkor mi a tehndő?


Üdv!

Ugyanez van nálam is. Viszont a character adatbázisban ott van a gossip_options is, úgy, ahogy a leírásban is szerepel, meg a gossip script is, de oda hiába szúrok be bármit is,  a játékban nem jelenik meg. Megoldás?

EroniX

#10
[Törölve]
Azuregos Delta Force

zack01

ez a gossip-os megoldás szerintem már felejtős, nézetek utána más módszereknek. ez a módszer amúgy se lenne 100%-os , mivel alliance és horde helyeket nem tudod elkülöníteni. A script a legjobb megoldás, de questel is gyönyörűen meg lehet oldani, az 1 kicsit macerásabb a playernek.
ez komolyan teljesen meg!

Powered by EzPortal