Hey,
Habe derzeit das Problem, dass wenn ich mit einem normalen Spieler dem Ox Event beitrete, direkt wieder rausteleportiert werde.
Dieses problem gilt nur für normale Spieler mit GM chars kann ich dem Ox beitreten.
Leider werde ich aus dem syslog auch nicht wirklich schlau. Naja vlt hatte hier ja schonmal jemand das Problem und kann mir weiter helfen.
Syslog(ch99).:
Jun 21 17:10:37.351410 :: VERSION: testo 1215955205 metin2client.exe
Jun 21 17:10:39.272884 :: SHOW: testo 896500x24600x0
Jun 21 17:10:39.272933 :: AddAffect testo type 215 apply 0 0 flag 28 duration 5
Jun 21 17:10:39.272949 :: ENTERGAME: testo 896500x24600x0 "ip" map_index 113
Jun 21 17:10:39.272953 :: HORSE STAMINA CONSUME EVENT CANCEL 0x0
Jun 21 17:10:39.272963 :: HORSE STAMINA REGEN EVENT CREATE 0x2919c620
Jun 21 17:10:39.272988 :: SendLandList map 113 count 0 elem_size: 0
Jun 21 17:10:39.273184 :: AddAffect testo type 500 apply 0 0 flag 0 duration 532410561
Jun 21 17:10:39.273194 :: PREMIUM: testo type 0 532410561min
Jun 21 17:10:39.273198 :: AddAffect testo type 502 apply 0 0 flag 0 duration 532410561
Jun 21 17:10:39.273215 :: PREMIUM: testo type 2 532410561min
Jun 21 17:10:39.273219 :: AddAffect testo type 503 apply 0 0 flag 0 duration 532410561
Jun 21 17:10:39.273222 :: PREMIUM: testo type 3 532410561min
Jun 21 17:10:39.273226 :: AddAffect testo type 504 apply 0 0 flag 0 duration 532410561
Jun 21 17:10:39.273230 :: PREMIUM: testo type 4 532410561min
Jun 21 17:10:39.273234 :: AddAffect testo type 505 apply 0 0 flag 0 duration 532410561
Jun 21 17:10:39.273238 :: PREMIUM: testo type 5 532410561min
Jun 21 17:10:39.273243 :: VERSION CHECK 1215955205 1215955205 1215955205 1215955205
Jun 21 17:10:39.273256 :: WarpSet testo 969600 278400 current map 113 target map 41
Jun 21 17:10:39.472848 :: DISCONNECT: testo (DESC::~DESC)
Jun 21 17:10:39.472942 :: SAVE: testo 969600x278400
Jun 21 17:10:39.472971 :: QUEST clear timer 0
Jun 21 17:10:39.473058 :: SYSTEM: closing socket. DESC #18
Jun 21 17:10:40.912343 :: P2P: Login testo
Habe schon einiges ausprobiert kann aber bisher nur ausschließen das es an den files liegt bleibt also noch Source + Client.
Ausschließen kann ich es daher, da ich die files mit standart fliege game/db und dem standart fliege Client ausprobiert habe.
Ich würde mich über Lösungsvorschläge sowie Tipps sehr freuen.
Benutze übrigens fliege Client + flies mit samurai core.
#edit: habe ebso die maps im client ausgewechselt was ebenfalls nichts gebracht hat...
#Ediiiiiit: Hier paar gedanken die vlt bei der lösung helfen:
1.Warum wird man überhaubt wegteleportiert?:
2. Wie wird das ox überhaubt gestartet?
- Quest:
- oxevent.open()
- oxevent_questlua.cpp:
- int oxevent_open(lua_State* L)
- {
- COXEventManager::instance().ClearQuiz();
- char script[256];
- snprintf(script, sizeof(script), "%s/oxquiz.lua", LocaleService_GetBasePath().c_str());
- int result = lua_dofile(quest::CQuestManager::instance().GetLuaState(), script);
- if (result != 0)
- {
- lua_pushnumber(L, 0);
- return 1;
- }
- else
- {
- lua_pushnumber(L, 1);
- }
- COXEventManager::instance().SetStatus(OXEVENT_OPEN);
- return 1;
- }
- oxevent.cpp:
- void COXEventManager::SetStatus(OXEventStatus status)
- {
- BYTE val = 0;
- switch (status)
- {
- case OXEVENT_OPEN :
- val = 1;
- break;
- case OXEVENT_CLOSE :
- val = 2;
- break;
- case OXEVENT_QUIZ :
- val = 3;
- break;
- case OXEVENT_FINISH :
- case OXEVENT_ERR :
- default :
- val = 0;
- break;
- }
- quest::CQuestManager::instance().RequestSetEventFlag("oxevent_status", val);
- }
OK somit wird der ox status auf 1 gesetzt und das event sollte eig gestartet sein.
3. aber warum retuned die boolische funktion false?
- bool COXEventManager::Enter(LPCHARACTER pkChar)
- {
- if (GetStatus() == OXEVENT_FINISH)
- {
- sys_log(0, "OXEVENT : map finished. but char enter. %s", pkChar->GetName());
- return false;
- }
- PIXEL_POSITION pos = pkChar->GetXYZ();
- if (pos.x == 896500 && pos.y == 24600)
- {
- return EnterAttender(pkChar);
- }
- else if (pos.x == 896300 && pos.y == 28900)
- {
- return EnterAudience(pkChar);
- }
- else
- {
- sys_log(0, "OXEVENT : wrong pos enter %d %d", pos.x, pos.y);
- return false;
- }
- return false;
- }
okay wie man im syslog sieht stimmen die koordinaten und enterattender wird wieder gegeben:
also wird true returned also why werde ich rausgeworfen? bin ich zu hetero???help pls
MfG