waiting_for_others improvement

Shows what players we are waiting for, but only after a predefined time
This commit is contained in:
foin137
2020-12-20 14:13:30 +01:00
parent dc26da0a6f
commit 66d4663e52
2 changed files with 28 additions and 37 deletions

View File

@@ -1595,6 +1595,7 @@ p#liste {
`list_lebe_aktualisiert` BIGINT DEFAULT 0, `list_lebe_aktualisiert` BIGINT DEFAULT 0,
`list_tot` LONGTEXT, `list_tot` LONGTEXT,
`list_tot_aktualisiert` BIGINT DEFAULT 0, `list_tot_aktualisiert` BIGINT DEFAULT 0,
`waiting_for_others_time` BIGINT,
`letzterAufruf` BIGINT `letzterAufruf` BIGINT
) ;"; ) ;";
$mysqli->Query($sql2); $mysqli->Query($sql2);
@@ -2885,9 +2886,13 @@ function phaseInitialisieren($phase,$mysqli)
{ {
//Neue verliebte ... Setze alle verliebten auf -1 //Neue verliebte ... Setze alle verliebten auf -1
$mysqli->Query("UPDATE $spielID"."_spieler SET verliebtMit = -1"); $mysqli->Query("UPDATE $spielID"."_spieler SET verliebtMit = -1");
$waiting_for_others_time = time() + _WAITINGFOROTHERSTIME;
$mysqli->Query("UPDATE $spielID"."_game SET `waiting_for_others_time` = $waiting_for_others_time");
} }
elseif ($phase == PHASENACHT2) elseif ($phase == PHASENACHT2)
{ {
$waiting_for_others_time = time() + _WAITINGFOROTHERSTIME;
$mysqli->Query("UPDATE $spielID"."_game SET `waiting_for_others_time` = $waiting_for_others_time");
} }
elseif ($phase == PHASENACHT3) elseif ($phase == PHASENACHT3)
{ {
@@ -2917,7 +2922,13 @@ function phaseInitialisieren($phase,$mysqli)
$countdownAb = time(); $countdownAb = time();
$mysqli->Query("UPDATE $spielID"."_spieler SET countdownBis = $countdownBis, countdownAb = $countdownAb WHERE (nachtIdentitaet = ".CHARWERWOLF." OR nachtIdentitaet = ".CHARURWOLF.")"); $mysqli->Query("UPDATE $spielID"."_spieler SET countdownBis = $countdownBis, countdownAb = $countdownAb WHERE (nachtIdentitaet = ".CHARWERWOLF." OR nachtIdentitaet = ".CHARURWOLF.")");
} }
$waiting_for_others_time = time() + _WAITINGFOROTHERSTIME;
$mysqli->Query("UPDATE $spielID"."_game SET `waiting_for_others_time` = $waiting_for_others_time");
}
elseif ($phase == PHASENACHT4)
{
$waiting_for_others_time = time() + _WAITINGFOROTHERSTIME;
$mysqli->Query("UPDATE $spielID"."_game SET `waiting_for_others_time` = $waiting_for_others_time");
} }
elseif ($phase == PHASENACHTENDE) elseif ($phase == PHASENACHTENDE)
{ {
@@ -3148,14 +3159,19 @@ function warteAufAndere($mysqli)
//Zeigt das warteAufAnder an, damit es bei jedem gleich aussieht //Zeigt das warteAufAnder an, damit es bei jedem gleich aussieht
echo "<h3 >Warte auf andere Spieler</h3>"; echo "<h3 >Warte auf andere Spieler</h3>";
//Output the players we are waiting for //Output the players we are waiting for (if enough time has passed)
$spielID = $_COOKIE['SpielID']; $gameAssoc = gameAssoc($mysqli);
$nichtBereitResult = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE bereit = 0 AND lebt = 1"); if ($gameAssoc['waiting_for_others_time'] < time())
if (!is_bool($nichtBereitResult)) { {
while($row = $nichtBereitResult->fetch_row()){ $spielID = (int)$_COOKIE['SpielID'];
if (count($row) > 1) { $nichtBereitResult = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE bereit = 0 AND lebt = 1");
error_log($row[1]); if (!is_bool($nichtBereitResult)) {
echo("$row[1]\t"); echo("Warte noch auf: ");
while($row = $nichtBereitResult->fetch_row()){
if (count($row) > 1) {
error_log($row[1]);
echo("$row[1]\t");
}
} }
} }
} }
@@ -4236,7 +4252,6 @@ function getDorfbewohnerText()
Erklärungen: Erklärungen:
Zu den Datenbank-Einträgen: Zu den Datenbank-Einträgen:
[ID]_Game [ID]_Game
Spielphase //ALT, jetzt über Konstanten gelöst Spielphase //ALT, jetzt über Konstanten gelöst
0: Setup -> Spieler suchen (PHASESETUP) 0: Setup -> Spieler suchen (PHASESETUP)
1: Spielsetup -> jeder muss bestätigen, dass er dabei ist (PHASESPIELSETUP) 1: Spielsetup -> jeder muss bestätigen, dass er dabei ist (PHASESPIELSETUP)
@@ -4253,53 +4268,39 @@ Spielphase //ALT, jetzt über Konstanten gelöst
12: Tag, Stichwahl der Abstimmung (PHASESTICHWAHL) 12: Tag, Stichwahl der Abstimmung (PHASESTICHWAHL)
13: Tag, nach Abstimmung (PHASENACHABSTIMMUNG) 13: Tag, nach Abstimmung (PHASENACHABSTIMMUNG)
14: Siegerehrung (PHASESIEGEREHRUNG) 14: Siegerehrung (PHASESIEGEREHRUNG)
charaktereAufdecken charaktereAufdecken
0: Die Charaktere werden nicht aufgedeckt 0: Die Charaktere werden nicht aufgedeckt
1: Die Charaktere werden aufgedeckt 1: Die Charaktere werden aufgedeckt
buergermeisterWeitergeben buergermeisterWeitergeben
0: Beim Tod des Bürgermeisters wird ein neuer gewählt. 0: Beim Tod des Bürgermeisters wird ein neuer gewählt.
1: Beim Tod des Bürgermeisters entscheidet der Bürgermeister, wer sein Nachfolger wird. 1: Beim Tod des Bürgermeisters entscheidet der Bürgermeister, wer sein Nachfolger wird.
werwolfzahl werwolfzahl
Gibt die Anzahl der Werwölfe beim Spielsetup an Gibt die Anzahl der Werwölfe beim Spielsetup an
hexenzahl hexenzahl
Gibt die Anzahl der Hexen beim Spielsetup an Gibt die Anzahl der Hexen beim Spielsetup an
seherzahl seherzahl
Gibt die Anzahl der Seher beim Spielsetup an Gibt die Anzahl der Seher beim Spielsetup an
jaegerzahl jaegerzahl
Gibt die Anzahl der Jäger beim Spielsetup an Gibt die Anzahl der Jäger beim Spielsetup an
amorzahl amorzahl
Gibt die Anzahl der Amor(s) an (max 1) Gibt die Anzahl der Amor(s) an (max 1)
letzterAufruf letzterAufruf
gibt den letzten Aufruf an, kann später einmal verwendet werden, um alte Spiele zu löschen. gibt den letzten Aufruf an, kann später einmal verwendet werden, um alte Spiele zu löschen.
waiting_for_others_time
Gibt an, ab wann angezeigt wird, auf wen wir noch warten
werwolfopfer werwolfopfer
gibt das Opfer der Werwölfe an gibt das Opfer der Werwölfe an
log log
Eine Log-Datei des gesamten Spiels Eine Log-Datei des gesamten Spiels
Diese Datei soll das Spiel nachvollziehbar machen Diese Datei soll das Spiel nachvollziehbar machen
Nacht Nacht
gibt die Anzahl der Nächte seit Spielbeginn an gibt die Anzahl der Nächte seit Spielbeginn an
tagestext tagestext
Gibt den Text an, der in Phase 7 allen angezeigt wird Gibt den Text an, der in Phase 7 allen angezeigt wird
= Diese Nacht wurden getötet: = Diese Nacht wurden getötet:
SpielerX SpielerX
SpielerZ SpielerZ
[ID]_Spieler [ID]_Spieler
Nachtidentitaet Nachtidentitaet
0: keine (CHARKEIN) 0: keine (CHARKEIN)
1: Dorfbewohner (CHARDORFBEWOHNER) 1: Dorfbewohner (CHARDORFBEWOHNER)
@@ -4315,35 +4316,25 @@ Nachtidentitaet
11: Mordlustige(r), intern Idiot (CHARMORDLUSTIGER) 11: Mordlustige(r), intern Idiot (CHARMORDLUSTIGER)
12: Pazifist (CHARPAZIFIST) 12: Pazifist (CHARPAZIFIST)
13: Alter Mann (CHARALTERMANN) 13: Alter Mann (CHARALTERMANN)
hexenOpfer hexenOpfer
Wen die Hexe töten will Wen die Hexe töten will
hexeHeilt hexeHeilt
0: Hexe heilt das Opfer der Werwölfe nicht 0: Hexe heilt das Opfer der Werwölfe nicht
1: Hexe heilt das Opfer der Werwölfe 1: Hexe heilt das Opfer der Werwölfe
verliebtMit verliebtMit
mit wem dieser Spieler vom Amor verliebt wurde mit wem dieser Spieler vom Amor verliebt wurde
jaegerDarfSchiessen jaegerDarfSchiessen
0: Nichts Besonderes 0: Nichts Besonderes
1: Der Jäger wurde getötet und darf jemanden mit in den Tod reißen 1: Der Jäger wurde getötet und darf jemanden mit in den Tod reißen
buergermeisterDarfWeitergeben buergermeisterDarfWeitergeben
0: Nichts Besonderes 0: Nichts Besonderes
1: Der Bürgermeister wurde getötet und gibt sein Amt weiter... 1: Der Bürgermeister wurde getötet und gibt sein Amt weiter...
playerlog playerlog
Hier werden Sachen hineingeschrieben, die sich der Spieler wieder anschaun können soll Hier werden Sachen hineingeschrieben, die sich der Spieler wieder anschaun können soll
z.B. als Seher wen er gesehen hat z.B. als Seher wen er gesehen hat
SESSION-Variablen Übersicht SESSION-Variablen Übersicht
$_SESSION['SpielID'] gibt die ID des Spiels an $_SESSION['SpielID'] gibt die ID des Spiels an
$_SESSION['eigeneID'] gibt die eigene ID an $_SESSION['eigeneID'] gibt die eigene ID an
ToDO: ToDO:
#1: DONE: Spieler mit gleichem Namen dürfen sich nicht in einem Spiel befinden DONE #1: DONE: Spieler mit gleichem Namen dürfen sich nicht in einem Spiel befinden DONE
#2: DONE: Verschiedene Texte der Dorfbewohner (einschlafen) DONE #2: DONE: Verschiedene Texte der Dorfbewohner (einschlafen) DONE
@@ -4393,6 +4384,5 @@ ToDO:
#45: DONE: Verbiete, dass sich jemand wie ein Charakter nennt (WERWOLF, HEXE, AMOR) #45: DONE: Verbiete, dass sich jemand wie ein Charakter nennt (WERWOLF, HEXE, AMOR)
#46: Bots hinzufügen, die von einem "BotController"="Spieler, der für refreshen zuständig ist" zB ein Laptop #46: Bots hinzufügen, die von einem "BotController"="Spieler, der für refreshen zuständig ist" zB ein Laptop
#47: DONE: Umstellen der Farben ermöglichen (v1.0.1, 30.12.2019) #47: DONE: Umstellen der Farben ermöglichen (v1.0.1, 30.12.2019)
*/ */
?> ?>

View File

@@ -2,6 +2,7 @@
//Constants //Constants
define("_VERSION","v1.2.4"); define("_VERSION","v1.2.4");
define("_LISTMAXRELOADTIME",3000); define("_LISTMAXRELOADTIME",3000);
define("_WAITINGFOROTHERSTIME",30); //Innerhalb dieser Sekunden bleibt verborgen, auf wen noch gewartet wird.
//Phasen //Phasen
define ("PHASESETUP",0); define ("PHASESETUP",0);