Register for your free account! | Forgot your password?

You last visited: Today at 13:33

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[RELEASE][ZEHPLUSPLUS][BUGFIX] OX-Event

Discussion on [RELEASE][ZEHPLUSPLUS][BUGFIX] OX-Event within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
Yiv's Avatar
 
elite*gold: 47
Join Date: Feb 2012
Posts: 2,282
Received Thanks: 2,579
[RELEASE][ZEHPLUSPLUS][BUGFIX] OX-Event

Liebe Community,

ich release hier einen Fix für 'nen Bug im OX-Event, der es Spielern möglich macht, sich direkt nach dem teleportieren auszuloggen und sich dann nach auflösen einer Frage wieder an der gleichen Position einzuloggen und, trotz Logout, weiter am OX-Event teilzunehmen.

Code:
bool COXEventManager::EnterAttender(LPCHARACTER pkChar)
{
	// [...]
	if (GetStatus() != OXEVENT_OPEN)
	{
		sys_err("cannot join ox %u %s (oxevent is not open)", pkChar->GetPlayerID(), pkChar->GetName());
		return false;
	}
	// [...]
}



MfG
Yiv is offline  
Thanks
11 Users
Old 05/27/2015, 23:16   #2

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Schönes Ding, finde es gut, dass in letzter Zeit so viele Sicherheitsfixxes releast werden.
rollback is offline  
Thanks
5 Users
Old 05/27/2015, 23:16   #3
 
Poccix's Avatar
 
elite*gold: 44
Join Date: Dec 2009
Posts: 1,696
Received Thanks: 3,835
Hat der echt den Mist als Beschreibung genommen - ich packs nichtmehr
Hilft auf jeden Fall bei diesem Problem!
Klein aber Fein Manchmal muss es nicht viel sein !
Poccix is offline  
Thanks
6 Users
Old 05/27/2015, 23:16   #4
 
DasSchwarzeT's Avatar
 
elite*gold: 399
Join Date: Sep 2011
Posts: 5,323
Received Thanks: 3,938
Gallery 1
Superduper Release
DasSchwarzeT is offline  
Thanks
6 Users
Old 05/27/2015, 23:17   #5
 
.Kyomata's Avatar
 
elite*gold: 42
Join Date: Jan 2015
Posts: 115
Received Thanks: 129
Nicht übel, super Arbeit!
.Kyomata is offline  
Thanks
3 Users
Old 05/27/2015, 23:20   #6

 
elite*gold: 192
Join Date: Aug 2009
Posts: 5,797
Received Thanks: 3,141
Da ist man mal 10min nicht im TS und schon fangen sie wieder an Drogen zu nehmen.. unerhört

Wundert mich, dass es bis heute keinem aufgefallen ist
[-Lee-] is offline  
Thanks
5 Users
Old 05/27/2015, 23:45   #7

 
LxR'EsoZiaL's Avatar
 
elite*gold: 15
Join Date: Mar 2010
Posts: 4,269
Received Thanks: 2,499
Sowas passiert wenn Kiddy Youtube auf Kiddy Mt2 knallt.
LxR'EsoZiaL is offline  
Thanks
1 User
Old 05/28/2015, 00:22   #8
 
Mijago's Avatar
 
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,594
Der Bug passiert doch eh nur, wenn die OX-Quest fehlerhaft geschrieben ist, oder nicht? Wenn man es korrekt schreibt ( event status > 0 und != errorNum, erst dann enter), sollte doch nichts passieren.
Mijago is offline  
Thanks
4 Users
Old 05/28/2015, 00:35   #9
 
elite*gold: 0
Join Date: Jan 2014
Posts: 268
Received Thanks: 373
Angenommen jemand loggt während eine Frage kommt aus und nach der Frage wieder ein, dann wäre er immernoch im OX egal wo er gestanden ist (vorausgesetzt dass er an exakt der Stelle wo er hingeportet wurde stehen bleibt). So könnte man sich durchs OX-Event durchbuggen.

Lefloyd
Lefloyd is offline  
Old 05/28/2015, 00:41   #10
 
Mijago's Avatar
 
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,594
Aber das OX steht auf CLOSED, wenn eine Frage gestellt wurde.
OPEN ist nur, wenn man beitreten kann

Siehe Zeile 232:
Code:
			COXEventManager::instance().SetStatus(OXEVENT_CLOSE);
Mijago is offline  
Thanks
4 Users
Old 05/28/2015, 01:00   #11
 
Yiv's Avatar
 
elite*gold: 47
Join Date: Feb 2012
Posts: 2,282
Received Thanks: 2,579
Quote:
Originally Posted by Mijago View Post
Aber das OX steht auf CLOSED, wenn eine Frage gestellt wurde.
OPEN ist nur, wenn man beitreten kann

Siehe Zeile 232:
Code:
			COXEventManager::instance().SetStatus(OXEVENT_CLOSE);
Code:
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;
}

bool COXEventManager::EnterAttender(LPCHARACTER pkChar)
{
	DWORD pid = pkChar->GetPlayerID();

	m_map_char.insert(std::make_pair(pid, pid));
	m_map_attender.insert(std::make_pair(pid, pid));

	return true;
}
Standardmäßig ist dort keine Abfrage enthalten, die abfragt, ob der Status OXEVENT_CLOSE oder OXEVENT_OPEN ist :P
Yiv is offline  
Old 05/28/2015, 10:02   #12
 
Mijago's Avatar
 
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,594
Weil sie, wie schon gesagt, unnötig ist

Wenn die Quest korrekt geschrieben ist, dann kann man nur bei OPEN eintreten (habe auch schon geschrieben, dass es von der Quest abhängt!).

Zwischen den Fragen ist autom. Close, also sagt die Quest "Nö du kannst nicht beitreten"


Und wenn man sich abmeldet und neu anmeldet, greift das else der Abfrage..

Die zusätzliche Abfrage macht nur Sinn, wenn die Person genau an der Enter-Position steht. Das müsste man einfach mal ausprobieren

Over 'n out
Mijago is offline  
Thanks
5 Users
Old 05/28/2015, 10:12   #13
 
elite*gold: 0
Join Date: Jan 2015
Posts: 239
Received Thanks: 585
pc.set_warp_location

mfg
i[Remix] is offline  
Thanks
2 Users
Old 05/28/2015, 11:19   #14
 
Yiv's Avatar
 
elite*gold: 47
Join Date: Feb 2012
Posts: 2,282
Received Thanks: 2,579
Quote:
Originally Posted by Mijago View Post
Weil sie, wie schon gesagt, unnötig ist

Wenn die Quest korrekt geschrieben ist, dann kann man nur bei OPEN eintreten (habe auch schon geschrieben, dass es von der Quest abhängt!).

Zwischen den Fragen ist autom. Close, also sagt die Quest "Nö du kannst nicht beitreten"


Und wenn man sich abmeldet und neu anmeldet, greift das else der Abfrage..

Die zusätzliche Abfrage macht nur Sinn, wenn die Person genau an der Enter-Position steht. Das müsste man einfach mal ausprobieren

Over 'n out
Dann müsste aber immer gewährleistet sein, dass die Quest diese Abfrage enthält. Wenn dies aus irgendeinem Grund nicht der Fall ist, könnte man diesen Bug ausnutzen (und ja, das mit der Startposition ist natürlich richtig, man dürfte sich halt nicht bewegen).

Des Weiteren könnte es ja sein, dass es Leute gibt, die das OX-Event komplett automatisch im Source umsetzen bzw. umgesetzt haben und diese Abfrage, evtl. nicht gemacht haben, weil es normalerweise selbstverständlich ist, dass die in der Funktion stattfindet

MfG
Yiv is offline  
Thanks
2 Users
Old 05/28/2015, 12:40   #15
 
elite*gold: 0
Join Date: Jan 2015
Posts: 239
Received Thanks: 585
Quote:
Originally Posted by Yiv View Post
Dann müsste aber immer gewährleistet sein, dass die Quest diese Abfrage enthält.

Des Weiteren könnte es ja sein, dass es Leute gibt, die das OX-Event komplett automatisch im Source umsetzen bzw. umgesetzt haben und diese Abfrage, evtl. nicht gemacht haben, weil es normalerweise selbstverständlich ist, dass die in der Funktion stattfindet

MfG
Und bei deiner Methode muss es nicht gewährleistet sein, dass man mit dem Source arbeitet + es einfügt?

Außerdem.. Wer macht den OX komplett im Source?
Ist richtig dumm.
i[Remix] is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[C++] Event Bugfix
11/17/2014 - Metin2 PServer Guides & Strategies - 8 Replies
Hey, German: dieser Bugfix ist vermutlich nur für wenige interessant, die sich schon etwas mehr mit dem Source auseinandergesetzt haben, aber diejenigen, die irgendwann mal dieses vermeintlich unlogische Problem bekommen sollten, welches ich heute gehabt habe und 3 Stunden an einer Lösung gesessen habe, denen möchte ich hiermit helfen. Worum geht es in diesem Release? Ich möchte einen Fehler im Game-Source nennen, der Standartmäßig vorhanden ist - nur bisher nicht aufgefallen ist, da man...
[Release] Dragon city PC new event! VIKING EVENT
05/22/2014 - Dragon City - 2 Replies
Hello, New event Viking habitat , Odin, loki , Thor dragon Link : Dragon City Dragon City Dragon City Dragon City http://vps2.dc4vn.com/event2.php
[Release] CheckClientVersion Compare-BugFix
12/30/2013 - Metin2 PServer Guides & Strategies - 32 Replies
If u don't know, in the client and in the game there's a "number" (a const char* converted as a number with atoi in game, ps. atoi evaluates to 0 if the "number" contains characters not-digits) The default value is 1215955205 (g_stClientVersion), if the client version is smaller than the game ur character'll disconnect in 10 seconds with a message like this "U must patch the client to play" (u can declare it in locale_string.txt) The problem is this: client 1215955205 server 1215955205 =...
Bugfix für den Relogbug
12/23/2012 - 4Story - 7 Replies
Moin ich wollt mal fragen ob einer von euch den Fix für den "items sind nach relog weg bug" kennt und ihn verrät da es echt nervt wenn man normal spielen möchte mfg ;D



All times are GMT +1. The time now is 13:33.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.