Sziasztok!
http://shoot.tauri.hu/?spell=59074 (http://shoot.tauri.hu/?spell=59074) Az alábbi spellt beraktam spell_area-ba,és a leírás szerint Phase 4-be kéne raknia a játékost,de Phase 6-ba rakja ( lehet azért,mert előtte Phase 2-ben is volt,nem tudom)
http://shoot.tauri.hu/?spell=59073 (http://shoot.tauri.hu/?spell=59073) Az előtte lévő spell,ami Phase 2-be rakja a játékost,tökéletesen működik,így DBC-ben teljesen lemásoltam a 74-esre a 73-ast,ami annyit tett,hogy egy field értékét nullára tettem.De még mindig 6-ra rakja.
Lua-val megoldottam,hogy egy NPC megölése után Phase 4-be kerüljön a játékos (eddig az is spellel volt,de nem működött),és utólag jöttem rá,hogy ahhoz,hogy jól menyjen a spell_areanak is jónak kell lennie,vagy ki kéne találni egy megoldást arra,hogy a játékos elhagyja a területet/kilép és ha ezután visszatér akkor a jó Phase-be rakja.
Előre is köszönöm mindenki segítségét!
Idézetet írta: Tudvari Dátum 2013 július 23, 08:22:06 DÉLUTÁN
Lua-val megoldottam
Most te nem TC-t használsz? mert ha igen akkor inkább C++-ban oldottad meg (persze vannak alternatívák de aki ilyet kérdez az ezekről nem tud).
Idézetet írta: Tudvari Dátum 2013 július 23, 08:22:06 DÉLUTÁN
elhagyja a területet/kilép és ha ezután visszatér akkor a jó Phase-be rakja.
Emlékeim szerint vannak erre hookok: onareaupdate, onzoneupdate... vagy valami ilyesmi.
Nem szeretem ezeket a DB-s gányolásokat (smartai stb...), ha komolyabb dolgokat akarsz megvalósítani akkor bizony kódolni kell. Ezekben az emulátorokban meg csak módosítani kell a már "kész" (.. haha) rendszert, elég egyszerű szóval szerintem remek lehetőség a tanulásra.
Ja igen,akkor C++.Csak az a baj,hogy eddig csak SA:MP-ot scripteltem,ami jóval egyszerűbb,de ma megírtam az első NPC scriptemet ami sokat segített,meg nagyon sokat segít az,hogy tanulmányozhatom az egyszerű scriptelésű World Bossokat.
A lényeg az,hogy NPC script vázát ismerem,de nem tudom,hogy hogy kezdjek bele egy player script vázba.Ha tudnál írni egy kis segítséget hozzá megköszönném :D Addig nézegetem a playerekkel kapcsolatos script fájlokat,hogy rájöjjek a nyitjára.
Update: és nem tudsz mondani egy oldalt vagy valami megoldást arra,hogy egy helyen lássam a funkciókat,hookokat stb?
Hookok:
https://github.com/TrinityCore/TrinityCore/blob/master/src/server/game/Scripting/ScriptMgr.h
Példa egy PlayerScriptre:
https://github.com/TrinityCore/TrinityCore/blob/master/src/server/scripts/World/chat_log.cpp
És a függvény ami neked kell: WorldObject::SetPhaseMask(uint32 newPhaseMask, bool update)
Örök hála :D
Hol van tárolva az,hogy melyik quest van kész?Vagyis,hogy írhatom bele a scriptbe,hogy melyik quest van kész?
Előtte megnézem,hátha úgy jó,hogy megnézi,hogy ha a phase = 6 akkor 4-re állítja.
Hogy állíthatom be,hogy ne az egészet compileozza,hanem csak a script részleget?
UPDATE:
Végül összehoztam valamit,és hiba nélkül tudtam compileozni :D Kész van a 2. scriptem is,csak azt nem tudom,hogy jó lett-e ingame.Holnap kiderítem.
Update: tökéletesen megy.
Most már ha minden igaz,azt is hozzátettem,hogy ha "elhagyja a zónát".
Az olyan küldiket hogy lehet megcsinálni,hogy az az objective,hogy 8 npc-nél kattints rá bizonyos npc-k gossip menü optionjére?(ha rákattint,akkor például: 1/8 , 2/8 stb.,majd utána eltűnik)
Másik: Tudsz adni egy példa escort küldit?Vagyis nem is muszáj escort egyelőre elég annyi,hogy beszélsz az npc-vel gossippel és utána követ,majd ha egy koordináta közelében vagy,akkor completed lesz a küldi.
Próbáld meg használni a keresőt, tényleg nem nehéz.
Escort script:
https://github.com/TrinityCore/TrinityCore/blob/master/src/server/scripts/Examples/example_escort.cpp
A másik kérdésed valamivel komplikáltabb hisz nincs olyan quest típus (tudomásom szerint) ami egy gossipmenüvel működik. A questek státuszát a következő függvénnyel tudod lekérni (player.h): QuestStatusMap& getQuestStatusMap(); Ez egy kulcs-érték pár listát ad vissza. A kulcs a quest id-je, az érték pedig egy struktúra aminek ez a tulajdonsága kell: uint16 ItemCount[QUEST_ITEM_OBJECTIVES_COUNT];