Hacks4wbb by HFW™ (https://hacks4wbb.de/index.php)
- Support Elfmeter Profi (https://hacks4wbb.de/board.php?boardid=273)
--- WBB Bereich (https://hacks4wbb.de/board.php?boardid=20)
------ wbb Archiv (https://hacks4wbb.de/board.php?boardid=422)
---------- Vollversionen_PHP_4/5 (https://hacks4wbb.de/board.php?boardid=240)
----------- Bestätigte Fehler Elfmeter Profi (https://hacks4wbb.de/board.php?boardid=335)
------------ Download aktualisiert Dringend! Bug bei Guthaben und Herausfordern (https://hacks4wbb.de/thread.php?threadid=22184)


Geschrieben von Aranita am 02.03.2005 um 20:49:

  Dringend! Bug bei Guthaben und Herausfordern

Hallo,

ich habe mich heute gewundert, warum zwei User von 50.000 Geld plötzlich auf 1 Mio Geld waren. Sie habens mir eben verraten: Wenn man sich bei Elferprofi herausfordert, setzt man so viel Geld ein wie man hat, denn der Verlierer verliert nichts und der Gewinner kassiert das Doppelte und seinen Einsatz. So kann man sich die Kohle hin und her schieben.

Gruß,

Aranita



Geschrieben von Pommes2 am 02.03.2005 um 20:55:

  RE: Dringend! Bug bei Guthaben und Herausfordern

Schaue ich nach



Geschrieben von Aranita am 02.03.2005 um 21:11:

  RE: Dringend! Bug bei Guthaben und Herausfordern

Danke :-)

Ich hab derweilen im ACP das Währungssystem von "Guthaben" auf "Punkte" umgestellt, damit sollte das Schlimmste erst mal verhindert sein... Da man im Elferprofi sieht, wie hoch der höchste Einsatz war, wurden mittlerweile auch andere User aufmerksam :-)

Liebe Grüße,

Aranita



Geschrieben von Aranita am 02.03.2005 um 22:04:

  RE: Dringend! Bug bei Guthaben und Herausfordern

Hallo,

hier mal die Mail, die mir einer der User zu dem Problem geschrieben hat, vielleicht kann man dadurch das Problem besser nachvollziehen:

Hallo Aranita,
da die Erklärung am Telefon wegen des Elferprofi-Spieles vielleicht etwas unverständlich war, doch noch mal schriftlich. Vielleicht erleichtert das das Fixen.

Beispiel (mit Bug): A fordert B mit 100 Taler Einsatz:

1. Möglichkeit: Unentschieden
--> bei A wurden 100 abgezogen, beide bekommen 50 wieder gutgeschrieben --> Talersumme von A + B bleiben gleich

2. Möglichkeit: A gewinnt
--> bei A wurden 100 abgezogen, A bekommt 200 gutgeschrieben
--> Talersumme von A + B wächst um den Einsatz

3. Möglichkeit: B gewinnt
--> bei A wurden 100 abgezogen, B bekommt 200 gutgeschrieben
--> Talersumme von A + B wächst um den Einsatz

Der Fehler lag also darin, das B (der Geforderte) nichts investieren musste (siehe unser 50000er Spiel - da hast du 100000 gutgeschrieben bekommen, aber keinen Einsatz leisten müssen).

Mögliche Fixe: Zukünftig wird dem Geforderten bei Annahme der Herausforderung der jeweilige Einsatz ebenfalls abgezogen. Dann wächst die Summe der Taler der beiden Spieler nicht mehr.

Oder du senkst die maximale Herausforderunssumme (momentan 99999 Taler). Oder beides. Erste Lösung halte ich für ausreichend und spannender.


Gruß,

Aranita



Geschrieben von Aranita am 04.03.2005 um 11:04:

 

Hallo,

schon eine Idee, an was das liegen könnte bzw. was ich verbessern muss?

Gruß,

Aranita



Geschrieben von Aranita am 31.03.2005 um 09:55:

 

Hallo,

sorry, dass ich das nochmal schiebe, aber meine User wollen wieder um ihr Forengeld spielen und nerven schon mit Fragen, wann die Profi-Liga wieder richtig läuft. Hast du schon eine Idee, wie man das Problem in den Griff kriegen kann?

Gruß,

Aranita



Geschrieben von [SG1]64erDJAndi am 31.03.2005 um 12:07:

 

Pommes ist wohl beim suchen der entsprechenden Routine vorm Rechner eingeschlafen... *gg*

Aber ich kann diesen Fehler nur bestätigen, ist bei mir auch der Fall!

Also Pommes... aufwachen... :P :D



Geschrieben von garfield am 22.05.2005 um 01:31:

traurig genau das selbe problem

hallo

habe elfer profi heute inst. und genau das selbe problem.

weiss schon jemand wo der fehler liegt?

Elfmeter Profi V1.0.1
GH 1.9.5
wbb 2.3.1



Geschrieben von Pommes2 am 22.05.2005 um 09:50:

  RE: genau das selbe problem

Ja ich weiß woran das liegt, nur das zu beheben dauert ne weile.
Muß die Sequenz neu coden.. Das wird erst nach Wortkette Beta 4 passieren.



Geschrieben von garfield am 24.05.2005 um 01:23:

  RE: genau das selbe problem

o.k. 8) *ganzgeduldigwart* :]



Geschrieben von Pommes2 am 06.06.2005 um 21:19:

  RE: genau das selbe problem

So Fehler gefunden.
Bis die neue Version kommt macht das bitte :

suche in der elfer.php:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
	$heim=2;
if($config[1]){
	if($tor_schuss[einsatza]==0){
		$user_check=$db->query_first("select guthaben from bb".$n."_users where userid='$tor_schuss[gegnerid]'");
	$haben_guthaben=$user_check[guthaben]-$tor_schuss[einsatzh];
	$einsatz=$tor_schuss[einsatzh];
	if($haben_guthaben<0){
	 eval("\$tpl->output(\"".$tpl->get("elfer_noguthaben")."\");");
     exit();
	}
}else {
	if($tor_schuss[einsatza]==0){
		$user_check=$db->query_first("select punkte from bb".$n."_elfer_player where userid='$tor_schuss[gegnerid]'");
		$haben_guthaben=$user_check[punkte]-$tor_schuss[einsatzh];
		$einsatz=$tor_schuss[einsatzh];
		if($haben_guthaben<0){
			eval("\$tpl->output(\"".$tpl->get("elfer_noguthaben")."\");");
		 	exit();
		}
		if($config[1]){
			$dummy=$db->query("update bb".$n."_users set guthaben=guthaben-'$einsatz' where userid='$tor_schuss[gegnerid]'");
			$db->query("INSERT INTO bb".$n."_kontoauszug (kid,userid,datum,info,betrag,art) VALUES ('','$tor_schuss[gegnerid]','".time()."','Einsatz bei Elfmeter','$einsatz','minus')");
		} else {
			$dummy=$db->query("update bb".$n."_elfer_player set punkte=punkte-'$einsatz' where userid='$tor_schuss[gegnerid]'");
		}
	}
}
	if($db->query_first("select * from bb".$n."_elfer_dummy where spielername='$wbbuserdata[username]' and spnr='$gameid'")){
	$db->query("delete from bb".$n."_elfer_dummy where spielername='$wbbuserdata[username]' and spnr='$gameid'");
}

	$db->query("update bb".$n."_elfer_game set einsatza='$tor_schuss[einsatzh]' where gameid='$gameid'");
	}
	$tore_plus=$tor_schuss[torea];
	$gameid=$gameid;
	$schuss=$tor_schuss[anzschussa];
	}
	if($schuss>8){
	eval("\$tpl->output(\"".$tpl->get("elfer_schongespielt")."\");");
	}else{
	eval ("\$new_msg = \"".$lang->get4eval("LANG_GLOBAL_ELFMETER_SCHUSS_6")."\";");
	$myarea=myarea($heim,$sheim,$saus,$gameid);
	eval("\$tpl->output(\"".$tpl->get("elfer_startgame")."\");");
	
	}
 


ersetze mit:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
 		$heim=2;
		if($config[1]){
			if($tor_schuss[einsatza]==0){
				$user_check=$db->query_first("select guthaben from bb".$n."_users where userid='$tor_schuss[gegnerid]'");
				$haben_guthaben=$user_check[guthaben]-$tor_schuss[einsatzh];
				$einsatz=$tor_schuss[einsatzh];
				if($haben_guthaben<0){
	 				eval("\$tpl->output(\"".$tpl->get("elfer_noguthaben")."\");");
     				exit();
				}
				$dummy=$db->query("update bb".$n."_users set guthaben=guthaben-'$einsatz' where userid='$tor_schuss[gegnerid]'");
				$db->query("INSERT INTO bb".$n."_kontoauszug (kid,userid,datum,info,betrag,art) VALUES ('','$tor_schuss[gegnerid]','".time()."','Einsatz bei Elfmeter','$einsatz','minus')");
			}
		}else {
			if($tor_schuss[einsatza]==0){
				$user_check=$db->query_first("select punkte from bb".$n."_elfer_player where userid='$tor_schuss[gegnerid]'");
				$haben_guthaben=$user_check[punkte]-$tor_schuss[einsatzh];
				$einsatz=$tor_schuss[einsatzh];
				if($haben_guthaben<0){
					eval("\$tpl->output(\"".$tpl->get("elfer_noguthaben")."\");");
		 			exit();
				}
				$dummy=$db->query("update bb".$n."_elfer_player set punkte=punkte-'$einsatz' where userid='$tor_schuss[gegnerid]'");
			}
		}
		if($db->query_first("select * from bb".$n."_elfer_dummy where spielername='$wbbuserdata[username]' and spnr='$gameid'")){
			$db->query("delete from bb".$n."_elfer_dummy where spielername='$wbbuserdata[username]' and spnr='$gameid'");
		}
		$db->query("update bb".$n."_elfer_game set einsatza='$tor_schuss[einsatzh]' where gameid='$gameid'");
		$tore_plus=$tor_schuss[torea];
		$gameid=$gameid;
		$schuss=$tor_schuss[anzschussa];
	}
	if($schuss>8){
		eval("\$tpl->output(\"".$tpl->get("elfer_schongespielt")."\");");
	}else{
		eval ("\$new_msg = \"".$lang->get4eval("LANG_GLOBAL_ELFMETER_SCHUSS_6")."\";");
		$myarea=myarea($heim,$sheim,$saus,$gameid);
		eval("\$tpl->output(\"".$tpl->get("elfer_startgame")."\");");
		exit();
	}



Geschrieben von garfield am 07.06.2005 um 02:28:

  RE: genau das selbe problem

vielen dank pommes, funzt einwanfrei :)


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH