Ich versteh gerade deine Frage nicht.
Wenn du in der spell_area als beispiel folgendes eingibst:
Code:
@phasespell := ''; -Spell der Phase
@area := ''; -Area, .gps InGame
@startquest := ''; -Queststart
@endquest := ''; -QuestEnde
INSERT INTO spell_area (spell, area, quest_start, quest_end) VALUES (@phasespell, @area, @startquest, @endquest);
Dann kannst du dadurch kontrollieren, wer in welche Phase durch welche Quest kommt. Sollte er sie abbrechen oder den die completen, wo wird er automatisch rausgeportet, es sei denn, du macht die Endquest anders.
Hier noch etwas Interessantes (EInfach aus der wiki genommen):
| Quest Status | mask conversion | mask |
|---|
| QUEST_STATUS_NONE = 0 | (1 << 0) | 1 |
| QUEST_STATUS_COMPLETE = 1 | (1 << 1) | 2 |
| QUEST_STATUS_UNAVAILABLE = 2 | (1 << 2) | NOT USED |
| QUEST_STATUS_INCOMPLETE = 3 | (1 << 3) | 8 |
| QUEST_STATUS_AVAILABLE = 4 | (1 << 4) | NOT USED |
| QUEST_STATUS_FAILED = 5 | (1 << 5) | 32 |
| QUEST_STATUS_REWARDED = 6 | (1 << 6) | 64 |
Solltest du nun was ändern wollen, kannst du auch die mask conversion nehmen. Jedenfalls soll es lt. Wiki funktionieren.
Nehmen wir an, du möchtest 0, 1 und 3 zusammenlegen. Wären laut mask die 11. Es gibt eine weitere möglichkeit, die sich wie folgt zusammensetzt:
Code:
UPDATE spell_area SET `quest_end_status`=(1 << 0)|(1 << 1)|(1 << 3) WHERE `spell`=XXXXX AND `area`=YYYY;
Andernfalls könnte man folgendes auch setzen:
Code:
UPDATE spell_area SET `quest_end_status`= 11 WHERE `spell`=XXXXX AND `area`=YYYY;
Somit hast du 2 Varianten, die Spieler aus dem Phasing zu holen. Möchtest du die im Phasing weiterhin behalten, so musst du nur die richtigen Werte an die richtigen Stellen schreiben.
Viel Spaß mit dem Phasing.
MfG