mirror of
https://github.com/foin137/werwolfonline.eu.git
synced 2025-12-12 11:21:22 +00:00
Compare commits
1 Commits
6ed0d509a2
...
jaeger-fix
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ac1c37d918 |
137
CHANGELOG
137
CHANGELOG
@@ -1,137 +0,0 @@
|
||||
/*
|
||||
Erklärungen:
|
||||
Zu den Datenbank-Einträgen:
|
||||
[ID]_Game
|
||||
Spielphase //ALT, jetzt über Konstanten gelöst
|
||||
0: Setup -> Spieler suchen (PHASESETUP)
|
||||
1: Spielsetup -> jeder muss bestätigen, dass er dabei ist (PHASESPIELSETUP)
|
||||
2: Nacht Teil 1: Amor (PHASENACHT1)
|
||||
3: Nacht Teil 2: Verliebte (PHASENACHT2)
|
||||
4: Nacht Teil 3: Alle bis Werwölfe (PHASENACHT3)
|
||||
5: Nacht Teil 4: Hexe (PHASENACHT4)
|
||||
6: Nacht Teil 5: Weitergabe des Amuletts (PHASENACHT5)
|
||||
7: Tag, Tote werden bekanntgegeben (PHASETOTEBEKANNTGEBEN)
|
||||
8: Tag, Bürgermeisterwahl (PHASEBUERGERMEISTERWAHL)
|
||||
9: Tag, Diskussion (PHASEDISKUSSION)
|
||||
10: Tag, Anklagen (PHASEANKLAGEN)
|
||||
11: Tag, Abstimmung (PHASEABSTIMMUNG)
|
||||
12: Tag, Stichwahl der Abstimmung (PHASESTICHWAHL)
|
||||
13: Tag, nach Abstimmung (PHASENACHABSTIMMUNG)
|
||||
14: Siegerehrung (PHASESIEGEREHRUNG)
|
||||
charaktereAufdecken
|
||||
0: Die Charaktere werden nicht aufgedeckt
|
||||
1: Die Charaktere werden aufgedeckt
|
||||
buergermeisterWeitergeben
|
||||
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.
|
||||
werwolfzahl
|
||||
Gibt die Anzahl der Werwölfe beim Spielsetup an
|
||||
hexenzahl
|
||||
Gibt die Anzahl der Hexen beim Spielsetup an
|
||||
seherzahl
|
||||
Gibt die Anzahl der Seher beim Spielsetup an
|
||||
jaegerzahl
|
||||
Gibt die Anzahl der Jäger beim Spielsetup an
|
||||
amorzahl
|
||||
Gibt die Anzahl der Amor(s) an (max 1)
|
||||
letzterAufruf
|
||||
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
|
||||
gibt das Opfer der Werwölfe an
|
||||
log
|
||||
Eine Log-Datei des gesamten Spiels
|
||||
Diese Datei soll das Spiel nachvollziehbar machen
|
||||
Nacht
|
||||
gibt die Anzahl der Nächte seit Spielbeginn an
|
||||
tagestext
|
||||
Gibt den Text an, der in Phase 7 allen angezeigt wird
|
||||
= Diese Nacht wurden getötet:
|
||||
SpielerX
|
||||
SpielerZ
|
||||
[ID]_Spieler
|
||||
Nachtidentitaet
|
||||
0: keine (CHARKEIN)
|
||||
1: Dorfbewohner (CHARDORFBEWOHNER)
|
||||
2: Werwolf (CHARWERWOLF)
|
||||
3: Seher (CHARSEHER)
|
||||
4: Hexe (CHARHEXE)
|
||||
5: Jäger (CHARJAEGER)
|
||||
6: Amor (CHARAMOR)
|
||||
7: Leibwächter/Beschützer (CHARBESCHUETZER)
|
||||
8: Paranormaler Ermittler (CHARPARERM)
|
||||
9: Lykantroph (CHARLYKANTROPH)
|
||||
10: Spion (CHARSPION)
|
||||
11: Mordlustige(r), intern Idiot (CHARMORDLUSTIGER)
|
||||
12: Pazifist (CHARPAZIFIST)
|
||||
13: Alter Mann (CHARALTERMANN)
|
||||
hexenOpfer
|
||||
Wen die Hexe töten will
|
||||
hexeHeilt
|
||||
0: Hexe heilt das Opfer der Werwölfe nicht
|
||||
1: Hexe heilt das Opfer der Werwölfe
|
||||
verliebtMit
|
||||
mit wem dieser Spieler vom Amor verliebt wurde
|
||||
jaegerDarfSchiessen
|
||||
0: Nichts Besonderes
|
||||
1: Der Jäger wurde getötet und darf jemanden mit in den Tod reißen
|
||||
buergermeisterDarfWeitergeben
|
||||
0: Nichts Besonderes
|
||||
1: Der Bürgermeister wurde getötet und gibt sein Amt weiter...
|
||||
playerlog
|
||||
Hier werden Sachen hineingeschrieben, die sich der Spieler wieder anschaun können soll
|
||||
z.B. als Seher wen er gesehen hat
|
||||
SESSION-Variablen Übersicht
|
||||
$_SESSION['SpielID'] gibt die ID des Spiels an
|
||||
$_SESSION['eigeneID'] gibt die eigene ID an
|
||||
ToDO:
|
||||
#1: DONE: Spieler mit gleichem Namen dürfen sich nicht in einem Spiel befinden DONE
|
||||
#2: DONE: Verschiedene Texte der Dorfbewohner (einschlafen) DONE
|
||||
#3: DONE: Seher sollte gleich reloaden ... DONE
|
||||
#4: DONE: Bei Anklagen nicht standardmäßig ein Spieler ausgewählt sein... DONE
|
||||
#5: DONE: Bei der Abstimmung sollte ersichtlich sein, wieviele Stimmen jeder (Angeklagte) erhalten hat EVTL. DONE
|
||||
#6: DONE: Wenn Bürgermeister in der Nacht stirbt, kommt es nicht zu einer neuen Abstimmung EVTL. DONE
|
||||
#7: DONE: In showGameLog fehlen die Zeilenumbrüche ... DONE
|
||||
#8: DONE: gameLog sollte auch wieder verborgen werden können ... DONE
|
||||
#9: DONE: In gameLog werden keine Umlaute angezeigt ... DONE [Encoding auf ISO-8859-1 umgestellt]
|
||||
#10: DONE: Der eigene Name sollte angezeigt werden ... DONE
|
||||
#11: DONE: Es sollte dem Bürgermeister angezeigt werden, dass er Bürgermeister ist ... DONE
|
||||
#12: DONE: Beim Starten eines neuen Spieles sollten alte Spiele gelöscht werden ...
|
||||
#13: Javascript, das beim Spielerstellen anzeigt, wieviele Charaktere ausgewählt wurden ...
|
||||
#14: Die Spieler, die nicht Spielleiter sind, sollten sehen können, welche Regeln ausgewählt wurden ...
|
||||
#15: DONE: Bei der Stimmenanzahl soll erkennbar sein, dass der Bürgermeister 2 Stimmen hat [EDIT: bzw. 1,5]
|
||||
#16: DONE: Paranormalen Ermittler hinzufügen
|
||||
#17: DONE: Alten Mann hinzufügen
|
||||
#18: Trunkenbold hinzufügen
|
||||
#19: Amulett des Schutzes hinzufügen
|
||||
#20: Wolfsjunges hinzufügen
|
||||
#21: Einsamen Wolf hinzufügen
|
||||
#22: DONE: Lykantrophen hinzufügen
|
||||
#23: DONE: Bürgermeister nur 1/2 Stimme geben, Fixen, dass Abstimmungen nicht zu früh abgebrochen werden.
|
||||
#24: Abstimmungsergebnis anzeigen
|
||||
#25: DONE: Bug beim Entfernen von Spielern
|
||||
#26: Spieler sollten unter dem Spiel das Spiel verlassen können
|
||||
#27: DONE: Den Verstorbenen eine Liste aller Spieler anzeigen
|
||||
#28: Kultführer hinzufügen
|
||||
#29: Strolch hinzufügen
|
||||
#30: DONE: SQL injection unterbinden
|
||||
#31: Hintergrundgrafik (verschieden Tag/Nacht)
|
||||
#31: DONE: Als Option machen, dass niemand erfährt, wie die Charaktere verteilt sind
|
||||
#32: Wenn jemand während des Spiels aussteigt, sollte das Spiel damit zurechtkommen
|
||||
#33: DONE: Wenn einer der Verliebten stirbt, sollten beide am Tag auf der Totenliste erscheinen
|
||||
#34: DONE: Beim Spielbeitritt sollte jeder Spieler ein vom Server zugeteiltes persönliches Passwort bekommen (Cookie), dass sich niemand anders für ihn ausgeben kann.
|
||||
#35: DONE: Idiot und Pazifist hinzufügen [EDIT: Umbenennung von Idiot in Mordlustiger]
|
||||
#36: DONE: "Seher" hinzufügen, der eine Identität überprüfen kann --> der "Spion"
|
||||
#37: DONE: Umbenennen von Leibwächter in Beschützer
|
||||
#38: DONE: Umbenennen von Idiot in Mordlustige(r)
|
||||
#39: DONE: Timer einfügen, ab wann die Abstimmung am Tag zu keinem Ergebnis führt
|
||||
#40: DONE: Timer einfügen, ab wann die Werwölfe nicht mehr einstimmig abstimmen müssen, zweiten Timer, ab wann kein Opfer gewählt wird
|
||||
#41: Funktion für alle Buttons erstellen, dass die Buttons in Zukunft leicht mit Grafik ausgetauscht werdne können
|
||||
#42: DONE: Timereinstellungen in den Spieleinstellungen bearbeiten können
|
||||
#43: Zeige im Log an, wer wen anklagt
|
||||
#44: DONE: Charaktere und Phasen durch Konstanten ersetzt, die in constants.php definiert werden
|
||||
#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
|
||||
#47: DONE: Umstellen der Farben ermöglichen (v1.0.1, 30.12.2019)
|
||||
*/
|
||||
@@ -16,7 +16,7 @@ You can find the corresponding setting "output_buffering" in the php.ini file. S
|
||||
|
||||
You also need a database called "werwolf", you do not need to insert any tables, this is done by the script automatically.
|
||||
|
||||
Rename 'includes.example.php' in the 'includes'-folder to 'includes.php' and insert your id, passwort and host.
|
||||
Rename 'includes.example.php' to 'includes.php' and insert your id, passwort and host.
|
||||
|
||||
If you want to use a different database name, you can change it in 'includes.php'.
|
||||
|
||||
@@ -36,6 +36,6 @@ Die Einstellung findet man in der php.ini Datei unter "output_buffering". Ein We
|
||||
|
||||
Die Datenbank muss keine Tabellen enthalten, die werden vom php Skript selbst erstellt.
|
||||
|
||||
Benenne 'includes.example.php' im 'includes'-Ordner in 'includes.php' um und füge id, passwort und host für die Anmeldung in der Datenbank hinzu!
|
||||
Benenne 'includes.example.php' in 'includes.php' um und füge id, passwort und host für die Anmeldung in der Datenbank hinzu!
|
||||
|
||||
Es kann natürlich auch ein anderer Name für die Datenbank verwendet werden. Die zugehörige Einstellung kann in 'includes.php' vorgenommen werden.
|
||||
|
||||
2809
Werwolf.php
2809
Werwolf.php
File diff suppressed because it is too large
Load Diff
41
constants.php
Normal file
41
constants.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
//Constants
|
||||
define("_VERSION","v1.2.3");
|
||||
define("_LISTMAXRELOADTIME",3000);
|
||||
|
||||
//Phasen
|
||||
define ("PHASESETUP",0);
|
||||
define ("PHASESPIELSETUP",1);
|
||||
define ("PHASENACHTBEGINN",2);
|
||||
define ("PHASENACHT1",3);
|
||||
define ("PHASENACHT2",4);
|
||||
define ("PHASENACHT3",5);
|
||||
define ("PHASENACHT4",6);
|
||||
define ("PHASENACHT5",7);
|
||||
define ("PHASENACHTENDE",8);
|
||||
define ("PHASETOTEBEKANNTGEBEN",9);
|
||||
define ("PHASEBUERGERMEISTERWAHL",10);
|
||||
define ("PHASEDISKUSSION",11);
|
||||
define ("PHASEANKLAGEN",12);
|
||||
define ("PHASEABSTIMMUNG",13);
|
||||
define ("PHASESTICHWAHL",14);
|
||||
define ("PHASENACHABSTIMMUNG",15);
|
||||
define ("PHASESIEGEREHRUNG",16);
|
||||
|
||||
//Charaktere
|
||||
define ("CHARKEIN",0);
|
||||
define ("CHARDORFBEWOHNER",1);
|
||||
define ("CHARWERWOLF",2);
|
||||
define ("CHARSEHER",3);
|
||||
define ("CHARHEXE",4);
|
||||
define ("CHARJAEGER",5);
|
||||
define ("CHARAMOR",6);
|
||||
define ("CHARBESCHUETZER",7);
|
||||
define ("CHARPARERM",8);
|
||||
define ("CHARLYKANTROPH",9);
|
||||
define ("CHARSPION",10);
|
||||
define ("CHARMORDLUSTIGER",11);
|
||||
define ("CHARPAZIFIST",12);
|
||||
define ("CHARALTERMANN",13);
|
||||
define ("CHARURWOLF",14);
|
||||
?>
|
||||
@@ -1,46 +1,16 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
|
||||
werwolfonline, a php web game
|
||||
Copyright (C) 2023
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
include "includes/includes.php";
|
||||
|
||||
include "includes.php";
|
||||
header("Content-Type: text/html; charset=utf-8");
|
||||
header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
|
||||
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
|
||||
header('Pragma: no-cache');
|
||||
|
||||
$spielID = (int)$_GET['game'];
|
||||
$id = (int)$_GET['id'];
|
||||
$verifizierungsNr = (int)$_COOKIE['verifizierungsnr'];
|
||||
|
||||
// Verifizieren, dass es sich um einen spieler des spiels handelt
|
||||
$meinSpieler = $mysqli->query("SELECT 1 FROM ".$spielID."_spieler WHERE id = $id AND verifizierungsnr = $verifizierungsNr");
|
||||
if ($meinSpieler->num_rows != 1)
|
||||
{
|
||||
die("<p class='error'>Sie sind momentan nicht mit diesem Spiel verknüpft!</p>");
|
||||
}
|
||||
|
||||
|
||||
if ($Result = $mysqli->query("SELECT * FROM ".$spielID."_game"))
|
||||
{
|
||||
$temp = $Result->fetch_assoc();
|
||||
echo $temp['log'];
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
?>
|
||||
21
includes.example.php
Normal file
21
includes.example.php
Normal file
@@ -0,0 +1,21 @@
|
||||
<?php
|
||||
$id = "id"; // Ihre ID zum MySQL Server
|
||||
$pw = "pw"; // Passwort zum MySQL Server
|
||||
$host = "localhost"; // Host ("localhost" oder "IP-Adresse")
|
||||
$db = "werwolf"; // Name Ihrer Datenbank
|
||||
$mysqli = new MySQLi(
|
||||
$host,
|
||||
$id,
|
||||
$pw,
|
||||
$db
|
||||
);
|
||||
|
||||
if (mysqli_connect_errno()) {
|
||||
/*printf(
|
||||
"Can't connect to MySQL Server. Errorcode: %s\n",
|
||||
mysqli_connect_error()
|
||||
);*/
|
||||
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
@@ -1,70 +0,0 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
|
||||
werwolfonline, a php web game
|
||||
Copyright (C) 2023
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
//Settings:
|
||||
define ("_NOGAMECREATIONERRORMESSAGE", ""); //Falls nicht "": Kein Spiel kann erstellt werden, stattdessen wird der string angezeigt.
|
||||
//define ("_NOGAMECREATIONERRORMESSAGE", "Wartungsarbeiten bis ..."); //Falls nicht "": Kein Spiel kann erstellt werden, stattdessen wird der string angezeigt.
|
||||
define("_LISTMAXRELOADTIME",3000);
|
||||
define("_MAXPLAYERS",50);
|
||||
|
||||
|
||||
///////////////////////////////////
|
||||
// Constants, do not change!
|
||||
///////////////////////////////////
|
||||
define("_VERSION","v1.2.10");
|
||||
|
||||
//Phasen
|
||||
define ("PHASESETUP",0);
|
||||
define ("PHASESPIELSETUP",1);
|
||||
define ("PHASENACHTBEGINN",2);
|
||||
define ("PHASENACHT1",3);
|
||||
define ("PHASENACHT2",4);
|
||||
define ("PHASENACHT3",5);
|
||||
define ("PHASENACHT4",6);
|
||||
define ("PHASENACHT5",7);
|
||||
define ("PHASENACHTENDE",8);
|
||||
define ("PHASETOTEBEKANNTGEBEN",9);
|
||||
define ("PHASEBUERGERMEISTERWAHL",10);
|
||||
define ("PHASEDISKUSSION",11);
|
||||
define ("PHASEANKLAGEN",12);
|
||||
define ("PHASEABSTIMMUNG",13);
|
||||
define ("PHASESTICHWAHL",14);
|
||||
define ("PHASENACHABSTIMMUNG",15);
|
||||
define ("PHASESIEGEREHRUNG",16);
|
||||
|
||||
//Charaktere
|
||||
define ("CHARKEIN",0);
|
||||
define ("CHARDORFBEWOHNER",1);
|
||||
define ("CHARWERWOLF",2);
|
||||
define ("CHARSEHER",3);
|
||||
define ("CHARHEXE",4);
|
||||
define ("CHARJAEGER",5);
|
||||
define ("CHARAMOR",6);
|
||||
define ("CHARBESCHUETZER",7);
|
||||
define ("CHARPARERM",8);
|
||||
define ("CHARLYKANTROPH",9);
|
||||
define ("CHARSPION",10);
|
||||
define ("CHARMORDLUSTIGER",11);
|
||||
define ("CHARPAZIFIST",12);
|
||||
define ("CHARALTERMANN",13);
|
||||
define ("CHARURWOLF",14);
|
||||
?>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,42 +0,0 @@
|
||||
<?php
|
||||
/*
|
||||
|
||||
werwolfonline, a php web game
|
||||
Copyright (C) 2023
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
$id = "id"; // Ihre ID (username) zum MySQL Server
|
||||
$pw = "pw"; // Passwort zum MySQL Server
|
||||
$host = "localhost"; // Host ("localhost" oder "IP-Adresse")
|
||||
$db = "werwolf"; // Name Ihrer Datenbank
|
||||
$mysqli = new MySQLi(
|
||||
$host,
|
||||
$id,
|
||||
$pw,
|
||||
$db
|
||||
);
|
||||
|
||||
if (mysqli_connect_errno()) {
|
||||
/*printf(
|
||||
"Can't connect to MySQL Server. Errorcode: %s\n",
|
||||
mysqli_connect_error()
|
||||
);*/
|
||||
|
||||
exit;
|
||||
}
|
||||
?>
|
||||
@@ -1,49 +1,22 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
|
||||
werwolfonline, a php web game
|
||||
Copyright (C) 2023
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
|
||||
include "includes/includes.php";
|
||||
include "includes/constants.php";
|
||||
|
||||
include "includes.php";
|
||||
include "constants.php";
|
||||
header("Content-Type: text/html; charset=utf-8");
|
||||
header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
|
||||
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
|
||||
header('Pragma: no-cache');
|
||||
|
||||
$spielID = (int)$_GET['game'];
|
||||
$id = (int)$_GET['id'];
|
||||
$verifizierungsNr = (int)$_COOKIE['verifizierungsnr'];
|
||||
|
||||
$trennzeichen = "$"; //Das Zeichen, auf das im Skript responded wird
|
||||
|
||||
$meinSpieler = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE id = $id AND verifizierungsnr = $verifizierungsNr");
|
||||
if ($meinSpieler->num_rows != 1)
|
||||
{
|
||||
die("<p class='error'>Sie sind momentan nicht mit diesem Spiel verknüpft!</p>");
|
||||
}
|
||||
|
||||
// Reloaded eine Liste, erfordert komplexeren Code als reload.php
|
||||
// Die Liste, die reloaded wird ist unterschiedlich, je nach Spielphase und eigenem Charakter
|
||||
// Wenn reload gesetzt ist, wird außerdem geschaut, ob ich reloaden muss!
|
||||
$ichLebeQ = $meinSpieler->fetch_assoc();
|
||||
$trennzeichen = "$"; //Das Zeichen, auf das im Skript responded wird
|
||||
|
||||
//Reloaded eine Liste, erfordert komplexeren Code als reload.php
|
||||
//Die Liste, die reloaded wird ist unterschiedlich, je nach Spielphase und eigenem Charakter
|
||||
//Wenn reload gesetzt ist, wird außerdem geschaut, ob ich reloaden muss!
|
||||
$ichLebe = false;
|
||||
$ichLebeQ = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE id = $id");
|
||||
$ichLebeQ = $ichLebeQ->fetch_assoc();
|
||||
if (isset($_GET['reload']))
|
||||
{
|
||||
if ($ichLebeQ['reload'] == 1 && $_GET['reload'] == 1)
|
||||
@@ -56,15 +29,14 @@ werwolfonline, a php web game
|
||||
echo "0";
|
||||
}
|
||||
}
|
||||
|
||||
$ichLebe = false;
|
||||
if ($ichLebeQ['lebt'] == 1)
|
||||
$ichLebe = true;
|
||||
|
||||
|
||||
|
||||
$spielRes = $mysqli->Query("SELECT * FROM $spielID"."_game");
|
||||
$spielAss = $spielRes->fetch_assoc();
|
||||
$phase = $spielAss['spielphase'];
|
||||
|
||||
|
||||
$text = "";
|
||||
if ($ichLebe || $phase <= PHASESPIELSETUP || $phase >= PHASESIEGEREHRUNG)
|
||||
{
|
||||
@@ -75,7 +47,7 @@ werwolfonline, a php web game
|
||||
{
|
||||
//Sende vorgefertigte Antwort!
|
||||
echo $spielAss['list_lebe'];
|
||||
die;
|
||||
die;
|
||||
}
|
||||
}
|
||||
if ($phase == PHASESETUP)
|
||||
@@ -120,13 +92,13 @@ werwolfonline, a php web game
|
||||
//Schaue nach, ob ich Werwolf bin
|
||||
$myRes = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE id = $id");
|
||||
$myAssoc = $myRes->fetch_assoc();
|
||||
if ($myAssoc['nachtIdentitaet'] == CHARWERWOLF || $myAssoc['nachtIdentitaet'] == CHARURWOLF)
|
||||
if ($myAssoc['nachtIdentitaet'] == CHARWERWOLF || $myAssoc['nachtIdentitaet'] == CHARURWOLF)
|
||||
{
|
||||
//Ich bin Werwolf --> Liste der (lebenden) Werwölfe
|
||||
$spielerRes = $mysqli->Query("SELECT * FROM $spielID"."_spieler");
|
||||
while ($temp = $spielerRes->fetch_assoc())
|
||||
{
|
||||
|
||||
|
||||
if (($temp['nachtIdentitaet']==CHARWERWOLF || $temp['nachtIdentitaet']==CHARURWOLF) && $temp['lebt']==1)
|
||||
{
|
||||
if ($temp['wahlAuf']==-1)
|
||||
@@ -139,7 +111,7 @@ werwolfonline, a php web game
|
||||
echo $trennzeichen.$temp['name']." (wach): ".$nameAssoc['name'].$trennzeichen."1";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
die;
|
||||
@@ -193,7 +165,7 @@ werwolfonline, a php web game
|
||||
$buergermeisterText = " + Stimme des Bürgermeisters";
|
||||
$text.= $trennzeichen.$temp['name'].", normale Stimmen: ".$stimmenRes->num_rows.$buergermeisterText.$trennzeichen."2";
|
||||
}
|
||||
|
||||
|
||||
//Dann zeige an, wer für wen gestimmt hat
|
||||
$spielerRes2 = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE lebt = 1");
|
||||
while ($temp = $spielerRes2->fetch_assoc())
|
||||
@@ -225,7 +197,7 @@ werwolfonline, a php web game
|
||||
$buergermeisterText = " + Stimme des Bürgermeisters";
|
||||
$text.= $trennzeichen.$temp['name'].", normale Stimmen: ".$stimmenRes->num_rows.$buergermeisterText.$trennzeichen."2";
|
||||
}
|
||||
|
||||
|
||||
//Dann zeige an, wer für wen gestimmt hat
|
||||
$spielerRes2 = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE lebt = 1");
|
||||
while ($temp = $spielerRes2->fetch_assoc())
|
||||
@@ -252,7 +224,7 @@ werwolfonline, a php web game
|
||||
{
|
||||
//Sende vorgefertigte Antwort!
|
||||
echo $spielAss['list_tot'];
|
||||
die;
|
||||
die;
|
||||
}
|
||||
}
|
||||
$rueckgabe = "";
|
||||
@@ -283,13 +255,13 @@ werwolfonline, a php web game
|
||||
break;
|
||||
case PHASEABSTIMMUNG:
|
||||
$text = "Abstimmung";
|
||||
break;
|
||||
break;
|
||||
case PHASESTICHWAHL:
|
||||
$text = "Stichwahl";
|
||||
break;
|
||||
}
|
||||
$rueckgabe.= $trennzeichen.$text.$trennzeichen."3";
|
||||
|
||||
|
||||
$spielerRes = $mysqli->Query("SELECT * FROM $spielID"."_spieler WHERE lebt = 1");
|
||||
while ($temp = $spielerRes->fetch_assoc())
|
||||
{
|
||||
@@ -336,8 +308,8 @@ werwolfonline, a php web game
|
||||
$identitaet = "Alte(r)";
|
||||
break;
|
||||
case CHARURWOLF:
|
||||
$identitaet = "Urwolf/Urwölfin";
|
||||
break;
|
||||
$identitaet = "Urwolf/Urwölfin";
|
||||
break;
|
||||
}
|
||||
//Eine Liste aller aktiver Spieler anzeigen
|
||||
//zuerst alle Lebenden anzeigen
|
||||
@@ -382,7 +354,7 @@ werwolfonline, a php web game
|
||||
{
|
||||
$rueckgabe.= $trennzeichen.$temp['name']." ($identitaet)".$trennzeichen."0";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
//Dann alle Toten anzeigen
|
||||
@@ -432,22 +404,22 @@ werwolfonline, a php web game
|
||||
$identitaet = "Alte(r)";
|
||||
break;
|
||||
case CHARURWOLF:
|
||||
$identitaet = "Urwolf/Urwölfin";
|
||||
break;
|
||||
$identitaet = "Urwolf/Urwölfin";
|
||||
break;
|
||||
}
|
||||
//Eine Liste aller aktiver Spieler anzeigen
|
||||
//zuerst alle Lebenden anzeigen
|
||||
|
||||
|
||||
$rueckgabe.= $trennzeichen.$temp['name']." ($identitaet, tot)".$trennzeichen."4";
|
||||
|
||||
|
||||
}
|
||||
$mysqli->Query("UPDATE $spielID"."_game SET `list_tot` = '$rueckgabe', `list_tot_aktualisiert` = ". (int)(microtime(true)*1000));
|
||||
echo $rueckgabe;
|
||||
}
|
||||
|
||||
|
||||
//0: schwarz
|
||||
//1: grün
|
||||
//2: rot
|
||||
//3: schwarz groß
|
||||
//4: grau
|
||||
//4: grau
|
||||
?>
|
||||
|
||||
30
reload.php
30
reload.php
@@ -1,37 +1,15 @@
|
||||
<?php
|
||||
/*
|
||||
|
||||
werwolfonline, a php web game
|
||||
Copyright (C) 2023
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
*/
|
||||
include "includes/includes.php";
|
||||
|
||||
header("Content-Type: text/html; charset=utf-8");
|
||||
header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate');
|
||||
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
|
||||
header('Pragma: no-cache');
|
||||
|
||||
include "includes.php";
|
||||
$spielID = (int)$_GET['game'];
|
||||
$id = (int)$_GET['id'];
|
||||
$verifizierungsNr = (int)$_COOKIE['verifizierungsnr'];
|
||||
|
||||
if ($Result = $mysqli->query("SELECT * FROM ".$spielID."_spieler WHERE id = $id AND verifizierungsnr = $verifizierungsNr"))
|
||||
if ($Result = $mysqli->query("SELECT * FROM ".$spielID."_spieler WHERE id = $id"))
|
||||
{
|
||||
$temp = $Result->fetch_assoc();
|
||||
echo $temp['reload'];
|
||||
}
|
||||
?>
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user