@@ -6,5 +6,6 @@ To run TheChaseBuzzer yourself, complete the following steps:
|
||||
2. Install node.js from https://nodejs.org/en/
|
||||
3. Download all project files for TheChaseBuzzer from this github repository
|
||||
4. Open the main folder of TheChaseBuzzer in cmd (this is the folder containing app.js)
|
||||
5. Enter the command: `node app.js`
|
||||
6. You should then be able to connect to the server in a browser by entering your public ip, followed by `:8080`
|
||||
5. Install the node modules using the command: `npm install`
|
||||
6. Run the app with the command: `node app.js`
|
||||
7. You should then be able to connect to the server in a browser by entering your public ip, followed by `:8080`
|
||||
@@ -122,9 +122,15 @@ io.on("connection", (socket) => {
|
||||
io.emit("userInfoToClient", userInfo);
|
||||
});
|
||||
|
||||
//used by the host when they refresh the page.
|
||||
socket.on("refreshUserInfo", () => {
|
||||
io.emit("userInfoToClient", userInfo);
|
||||
});
|
||||
|
||||
socket.on("unregisterUsers", () => {
|
||||
userInfo = new Object();
|
||||
io.emit("userInfoToClient", userInfo);
|
||||
io.emit("reconnectUsers");
|
||||
});
|
||||
|
||||
socket.on("objectionToServer", (userName) => {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
function userInfoToClient(userInfo) {
|
||||
for (const user in userInfo) {
|
||||
const userId = user.replaceAll(" ","_");
|
||||
re = new RegExp("\\W","g");
|
||||
const userId = user.replaceAll(re,"_");
|
||||
if ($("#userListPanel").find("#"+userId).length >= 1) {
|
||||
//update buzzer icon of existing user
|
||||
$("#userListPanel").find("#"+userId).find("img").attr("data-buzzerId",userInfo[user].buzzerId);
|
||||
|
||||
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 214 KiB |
|
After Width: | Height: | Size: 204 KiB |
|
After Width: | Height: | Size: 243 KiB |
|
After Width: | Height: | Size: 170 KiB |
|
After Width: | Height: | Size: 309 KiB |
|
After Width: | Height: | Size: 230 KiB |
|
After Width: | Height: | Size: 152 KiB |
|
After Width: | Height: | Size: 162 KiB |
|
After Width: | Height: | Size: 147 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 49 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 457 B |
|
After Width: | Height: | Size: 420 B |
|
After Width: | Height: | Size: 397 B |
|
After Width: | Height: | Size: 314 B |
|
After Width: | Height: | Size: 393 B |
|
After Width: | Height: | Size: 409 B |
|
After Width: | Height: | Size: 444 B |
|
After Width: | Height: | Size: 44 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 57 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 32 KiB |
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>No, you do not need to mute this site anymore.</title>
|
||||
<title>You may now put weird characters in your name.</title>
|
||||
<link rel="stylesheet" href="styleMain.css">
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
|
||||
<script>
|
||||
@@ -10,10 +10,13 @@
|
||||
const egg = new Audio('Egg.wav');
|
||||
$("#userName").change(function() {
|
||||
okSsuka.play();
|
||||
$("#playerLink").attr("href", "/play?user="+this.value+"&team=Players");
|
||||
|
||||
re = new RegExp("\\#|\\&","g");
|
||||
const userName = this.value.replaceAll(re,">:(");
|
||||
$("#playerLink").attr("href", "/play?user="+userName+"&team=Players");
|
||||
$("#playerLink").html("Players");
|
||||
|
||||
$("#chaserLink").attr("href", "/play?user="+this.value+"&team=Chasers");
|
||||
$("#chaserLink").attr("href", "/play?user="+userName+"&team=Chasers");
|
||||
$("#chaserLink").html("Chasers");
|
||||
});
|
||||
$("#egg").click(function() {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>No, you do not need to mute this site anymore.</title>
|
||||
<title>No, you do not need to mute this site anymore. (yes, even on firefox)</title>
|
||||
<link rel="stylesheet" href="styleMain.css">
|
||||
<script src="browserFunctions.js"></script>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
|
||||
@@ -10,6 +10,8 @@
|
||||
$(document).ready(function() {
|
||||
var socket = io();
|
||||
|
||||
socket.emit("refreshUserInfo");
|
||||
|
||||
socket.on("userInfoToClient", (userInfo) => {
|
||||
userInfoToClient(userInfo);
|
||||
});
|
||||
@@ -46,6 +48,7 @@
|
||||
|
||||
$("#unregisterUsers").click(function() {
|
||||
socket.emit("unregisterUsers");
|
||||
location.reload();
|
||||
});
|
||||
|
||||
socket.on("objectionToClient", (userName) => {
|
||||
@@ -84,7 +87,7 @@
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<button id="unregisterUsers" type="button" style="height: 30px;">Remove all players</button>
|
||||
<button id="unregisterUsers" type="button" style="height: 30px;">Remove/Reconnect all players</button>
|
||||
</div>
|
||||
<div id="userListPanel">
|
||||
<div id="PlayersList">
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>No, you do not need to mute this site anymore.</title>
|
||||
<link rel="stylesheet" href="styleMain.css">
|
||||
<script src="browserFunctions.js"></script>
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
|
||||
@@ -21,17 +20,17 @@
|
||||
["BuzzinLiveBuzzer"],
|
||||
["PlokJUMP","PlokWaa","PlokCLEAR","PlokBOSS","PlokGIFT","PlokBONUS"],
|
||||
["BKGuhHuh","BKKazooieJump","BKEekumBokum","BKJinjoGlaceWhistle","BKGrunty1","BKGoldenFeatherGet","BKHoneycombGet","BKEggGet"],
|
||||
["BubsyOhYeah","BubsyUhOh","BubsyLoser","BubsyWhatCouldPawsiblyGoWrong","BubsyImOuttaHere","BubsyCheckOutThatTime","BubsyMyContract"],
|
||||
["BubsyOhYeah","BubsyUhOh","BubsyLoser","BubsyWhatCouldPawsiblyGoWrong","BubsyImOuttaHere","BubsyCheckOutThatTime"],
|
||||
["SkunnyBoioing","SkunnyOw","SkunnyAttention","SkunnyIllBeBack","SkunnyPuddyCat","SkunnyCoocoo","SkunnyAwMan","SkunnyFroggo","SkunnyGhost"],
|
||||
["Kirbeep","KirbyMic2","KirbySquishy","KirbyBugzzy","KirbyKracko"],
|
||||
["Killer7Laugh"],
|
||||
["TheNumberEight","TheNumberEight","TheNumberEight","TheNumberEight","TheNumberEight","TheNumberEight","TheNumberEight","TheNumberEight"],
|
||||
["Jiggluigibat","SaturnHonk","Kirbeep","UltiFinishZoom","UltiChromSorry"],
|
||||
["MarioBoing","MarioPenguin","MarioCoin","MPYosh","MPDogF","MPCatF","MarioPlum","WLHelloThere","WLAlright","WLHurryUp","WLOhBoy"],
|
||||
["PizzaTowerTaunt1"],
|
||||
["EBWow","EBAttack1","SaturnHonk"],
|
||||
["AAHoldIt","AATakeThat"],
|
||||
["Ooh"],
|
||||
["Killer7Laugh"],
|
||||
["TheNumberEight","TheNumberEight","TheNumberEight","TheNumberEight","TheNumberEight","TheNumberEight","TheNumberEight","TheNumberEight"],
|
||||
["Jiggluigibat","SaturnHonk","Kirbeep","UltiFinishZoom"],
|
||||
["PikminThrow","Pikmin2LouieAMV","Pikmin2Olimar","Pikmin2President","Pikmin2Breadbug"],
|
||||
["FF9Moogle"],
|
||||
["MGSAlert"],
|
||||
@@ -40,10 +39,10 @@
|
||||
["SonicCheckpoint","SonicOhNo","SonicSusic"],
|
||||
["EmergencyMeeting"],
|
||||
["PdPSeren","TAFroggy","TAKamek"],
|
||||
["PKMNLvlUp","PKMNCherrim"],
|
||||
["PKMNLvlUp","PKMNCherrim","PKMNDitto","PKMNSkiploom"],
|
||||
["MMShakeShake"],
|
||||
["AoEWololo"],
|
||||
["P3Summon"],
|
||||
["P3Summon","P2HeeHo"],
|
||||
["SplatWoomy","SplatPing"],
|
||||
["OneShotSun","OneShotRam"],
|
||||
["TWEWYCrunch","TWEWYNoLimits","TWEWYVerywell"],
|
||||
@@ -54,10 +53,17 @@
|
||||
["LoZHello","LoZYahaha"],
|
||||
["BSBunger","BSKweeble"],
|
||||
["SourceNotification","SourceMedkit","SourceMeepMerp"],
|
||||
["KHXBlade"],
|
||||
["KHXBlade","KHRikuSorry"],
|
||||
["GTMissileArf","GTGhostMode"],
|
||||
["FECrit"],
|
||||
["RotTHereCatch"],
|
||||
["TheChasePlayerBuzz","TheChaseChaserBuzz"],
|
||||
["KlonoaWahoo"],
|
||||
["PPTArleBAYOEN","PPTExHarddrop","PPTLemresDonuts","PPTOPipi","PPTRingoCosine","PPTSigKapow"],
|
||||
["Touhou6Dead","Touhou61Up","Touhou11Orin"],
|
||||
["AC7Missile"],
|
||||
["TGM_S"],
|
||||
["MvC2CyclopsOpticBlast","MvC3MagnetoMagneticBlast","MvC3DrDoomFootDive","MvC3ModokAnalyzeCube","MvC3MorriganSoulFist","MvC3DeadPoolYoMama","MvC3SentinelNeutralize","MvC3ChrisREatLead","MvC3VergilMotivated","MvC3PWMoreEvidence"],
|
||||
["Mystery"],
|
||||
];
|
||||
let specialBuzzers = {
|
||||
@@ -77,12 +83,13 @@
|
||||
BubsyUhOh: ["BubsyUhOh","BubsyAwNuts","BubsyByeBye"],
|
||||
BubsyWhatCouldPawsiblyGoWrong: ["BubsyWhatCouldPawsiblyGoWrong","BubsyWhatCouldPawsiblyGoWrong","BubsyWhatCouldPawsiblyGoWrong","BubsyWhatCouldPawsiblyGoWrong","BubsyWhatCouldPawsiblyGoWrong","BubsyWhatCouldPawsiblyGoWrong","BubsyWhatCouldPawsiblyGoWrong","BubsyDoYouBelieveInMiracles"],
|
||||
BubsyCheckOutThatTime: ["BubsyCheckOutThatTime","BubsyGreatScore"],
|
||||
BubsyMyContract: ["BubsyMyContract","BubsyIsThereAVeterinarian","BubsyIsTheWritersStrikeOver","BubsyIAmATrainedPurrfessional","BubsyAPyramidScheme","BubsyWhoWroteThisStuff","BubsyAreYouStillPlayin"],
|
||||
TGM_S: ["TGM_O","TGM_J","TGM_L","TGM_Z","TGM_S","TGM_T","TGM_I"],
|
||||
// BubsyMyContract: ["BubsyMyContract","BubsyIsThereAVeterinarian","BubsyIsTheWritersStrikeOver","BubsyIAmATrainedPurrfessional","BubsyAPyramidScheme","BubsyWhoWroteThisStuff","BubsyAreYouStillPlayin"],
|
||||
RotTHereCatch: ["RotTHereCatch","RotTEatLead"],
|
||||
}
|
||||
let animatedBuzzers = ["SF3KenParry","PlokCLEAR","FECrit"];
|
||||
let buzzerOptionsCurrentRow = 0;
|
||||
let buzzerOptionsTotalRows = 4;
|
||||
let buzzerOptionsTotalRows = 5;
|
||||
function displayBuzzerOptions() {
|
||||
$("#buzzerOptions").html("");
|
||||
$("#buzzerOptions").append("<div class=buzzerGroup id='buzzerOptionsPrev'>\<</div>");
|
||||
@@ -150,6 +157,10 @@
|
||||
userInfoToClient(userInfo);
|
||||
});
|
||||
|
||||
socket.on("reconnectUsers", () => {
|
||||
location.reload();
|
||||
});
|
||||
|
||||
socket.on("gameStateToClient", (currentTeam, currentScore) => {
|
||||
gameStateToClient(currentTeam, currentScore);
|
||||
});
|
||||
|
||||