spell_area -> Phase 4

Indította Tudvari, 2013 július 23, 08:22:06 DÉLUTÁN

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

Tudvari

Sziasztok!

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 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!

EroniX

#1
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.
Azuregos Delta Force

Tudvari

#2
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?

EroniX

#3
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)
Azuregos Delta Force

Tudvari

#4
Ö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".

Tudvari

#5
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.

EroniX

#6
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];
Azuregos Delta Force

Powered by EzPortal