Hallo, seit einiger Zeit versuche ich mit JavaScript ein sog. "Dice-Game" für ein Deutschen Chat zu basteln (name nenne ich aufgrund Werbung nicht).
Das spiel soll folgendermaßen aussehen bzw. funktionieren:
Der/Die User zahlen mit der funktion /appknuddel BOTNAME:ZAHL sog. Knuddel (Coins) ein, danach können sie mit /risk ZAHL ein Dice-Game starten, es soll dann in diesem Chat öffentlich eine Nachricht erscheinen eine neue Runde blaaa wurde gestartet (15 sek die runterzählen), wenn die 15 Sekunden runtergezählt sind hinter dem Text, soll das Spiel starten (es sollen sich bis max. 7 User nur anmelden können um mitzuspielen).
Danach startet runde 1 wo ein zufälliger User der mitspielt würfeln dann, danach runde 2 wo wieder ein zufälliger User der mitspielt würfeln darf etc. bis Runde 5. Nach Runde 5 ist das Spiel beendet und die erspielten Knuddel (coins) werden den Usern gutgeschrieben und diese sollen sich die mit dem Befehl /payout ZAHL auszahlen lassen können.
Ich habe hier schon ein Code vorbereitet bzw. bekommen aber ich weiß nicht ob der richtig so ist und wie ich diesen zuende Programmiere, da ich ein Anfänger in JavaScript bin... ich hoffe, mir kann jemand hier helfen?
Hier ist eine Auflistung der Codes die in diesem Chat (in der Javascript Datei) funktionieren: Knuddels User Apps - API Dokumentation, wie so eine Datei aufgebaut ist in diese Chat, seht ihr hier: https://bitbucket.org/knuddels/user-apps/wiki/Bootstrap/App-Erstellen
Ich hoffe, mir kann jemand von euch helfen, damit ich mein vorhaben realisieren kann?
Ich würde ja eine IT Firma oder so fragen, jedoch habe ich nicht das nötige Kleingeld dazu um ein Profi bezahlen zu können.
Daher hoffe ich, das jemand so nett hier ist und mir hilft.
Danke an alle
Das spiel soll folgendermaßen aussehen bzw. funktionieren:
Der/Die User zahlen mit der funktion /appknuddel BOTNAME:ZAHL sog. Knuddel (Coins) ein, danach können sie mit /risk ZAHL ein Dice-Game starten, es soll dann in diesem Chat öffentlich eine Nachricht erscheinen eine neue Runde blaaa wurde gestartet (15 sek die runterzählen), wenn die 15 Sekunden runtergezählt sind hinter dem Text, soll das Spiel starten (es sollen sich bis max. 7 User nur anmelden können um mitzuspielen).
Danach startet runde 1 wo ein zufälliger User der mitspielt würfeln dann, danach runde 2 wo wieder ein zufälliger User der mitspielt würfeln darf etc. bis Runde 5. Nach Runde 5 ist das Spiel beendet und die erspielten Knuddel (coins) werden den Usern gutgeschrieben und diese sollen sich die mit dem Befehl /payout ZAHL auszahlen lassen können.
Ich habe hier schon ein Code vorbereitet bzw. bekommen aber ich weiß nicht ob der richtig so ist und wie ich diesen zuende Programmiere, da ich ein Anfänger in JavaScript bin... ich hoffe, mir kann jemand hier helfen?
Hier ist eine Auflistung der Codes die in diesem Chat (in der Javascript Datei) funktionieren: Knuddels User Apps - API Dokumentation, wie so eine Datei aufgebaut ist in diese Chat, seht ihr hier: https://bitbucket.org/knuddels/user-apps/wiki/Bootstrap/App-Erstellen
Code:
risk: function (user, params, command){
var startBet = parseInt(params);
if(startBet < 5 || startBet > 500){
user.sendPrivateMessage("Der Startbetrag " + params + " ist nicht korrekt!");
return;
}
gameCommand(user, params)
},
function gameCommand(user, params, gameType)
{
if (isAllowedToJoinGame(user, params, gameType))
{
if (players.indexOf(user) >= 0) {
deposit[players.indexOf(user)] = eval(params + "+" + deposit[players.indexOf(user)]);
EditGameMessage(params);
}
else {
addPlayerToGame(user, params);
setGameType(gameType);
JoinGameMessage(user, params, gameType);
setGameState(1);
}
}
}
function isAllowedToJoinGame(user, params)
{
var min = 5;
var max = 500;
if (min == -1)
{
min = 5;
max = 500;
}
if (params.length < 0)
{
user.sendPrivateMessage("Du musst mindestens " + min +" Knuddel setzen.");
return false;
}
if (isNaN(params))
{
user.sendPrivateMessage("Bitte gib einen gueltigen Einsatz ein.");
return false;
}
if (params < min)
{
user.sendPrivateMessage("Du musst mindestens " + min + " Knuddel setzen.");
return false;
}
if (params > max)
{
user.sendPrivateMessage("Du kannst maximal " + max +" Knuddel setzen.");
return false;
}
if (players.length >= 6)
{
user.sendPrivateMessage("Die Runde Roulette ist bereits voll!");
return false;
}
if (KBank.getKn(user.getUserId()) < params)
{
user.sendPrivateMessage("Du hast zu wenige Knuddel auf der Bank!");
return false;
}
KBank.subKn(user.getUserId(), params);
return true;
}
function JoinGameMessage(user, params)
{
var nick = user.getNick();
var playerBetList = "";
var gameTypeTitle = "";
var gameTimer = "(°>{countdown}time=" + seconds * 1000 + "|format=s 's'<°)";
for (var i = 0; i < players.length; i++){
playerBetList = playerBetList + players[i] + ", ";
}
var message = "Es wurde eine Runde Roulette gestartet! ( " + players.length + " / 6 ) "+ gameTimer +" °#°Mitspieler: " + playerBetList + "";
Bot.sendPublicMessage(message);
if (players.length == 6){
GameStart();
}
setTimeout(function()
{
GameStart(user, params)
}, (seconds - (seconds - 15)) * 1000);
}
function GameStart(user, params)
{
var nick = user.getNick();
var gameTypeTitle = "";
var knuddel = KnuddelsServer.getFullSystemImagePath('smileys/sm_welcome-2011_basic_01.gif');
var playerBetList = "";
for (var i = 0; i < players.length; i++){
playerBetList = playerBetList + players[i] + " " + deposit[i] + " °>"+ knuddel +"<°°#°";
}
var message = "Spiel beginnt nun! Folgende Einsätze wurden getätigt:°#° "+playerBetList+""
Bot.sendPublicMessage(message);
setTimeout(function(){
Bot.sendPublicMessage("1. Runde beginnt!");
}, (1000 * 2));
setTimeout(function()
{
userDice(user, params)
}, (1000 * 4));
}
function rundenzaehler(user, params){
if (runde == 5){
Bot.sendPublicMessage("Alle Gewinne wurden den Mitspielern gutgeschrieben!")
players = [];
playerBetList = [];
deposit = [];
gameState = 0;
gameType = 0;
runde = 1;
}
else{
runde ++;
Bot.sendPublicMessage(""+runde+". Runde beginnt!")
setTimeout (function()
{
userDice();
}, (1000 * 2));
}
}
function userDice(user, params)
{
_currentDiceNumber = RouletteSites;
currentUser = players[Math.floor(Math.random() * players.length)];
//Bot.sendPublicMessage("" + currentUser.getProfileLink() + " ist nun dran mit würfeln!")
currentUser.sendPrivateMessage('Du darfst nun mit °>/d 1W'+RouletteSites+'|/d 1W'+RouletteSites+'<° würfeln!');
_diceTimeout = setTimeout(function() {
onUserNotDiced();
}, (1000 * 10));
}
this.onUserDiced = function(diceEvent, user, params) {
var diceUser = diceEvent.getUser();
var diceUserPersistence = diceUser.getPersistence();
// Würfel prüfen
var diceResult = diceEvent.getDiceResult();
var diceCfg = diceResult.getDiceConfiguration();
var dices = diceCfg.getDices();
// Ergebnisse
var singleDiceResults = diceResult.getSingleDiceResults();
var knuddel = KnuddelsServer.getFullSystemImagePath('smileys/sm_welcome-2011_basic_01.gif');
// Man darf nur 1 Würfel Result haben
if (dices.length > 1) {
return;
}
var dice = dices[0];
var diceAmount = dice.getAmount();
var diceSides = dice.getNumerOfSides();
// Man darf nur mit 1 Würfel würfeln
if (diceAmount != 1) {
return;
}
// Würfel Ergebnis verarbeiten
var dicedNumber = '';
var singleDiceResult = singleDiceResults[0];
var valuesRolled = singleDiceResult.valuesRolled();
var valueRolled = valuesRolled[0];
if (diceSides != _currentDiceNumber) {
return;
}
if (diceUser.getNick() != currentUser.getNick()) {
return;
}
clearTimeout(_diceTimeout);
// /d 1W36
if (diceSides == 36)
{
if (valueRolled == 8 || valueRolled == 14 || valueRolled == 23 || valueRolled == 31) {
var winmsg = "Schade"
var winmsg1 = "NIETE"
var win = 3;
//Bot.sendPublicMessage(""+winmsg+"! Du ziehst eine "+ winmsg1 +". Das Spiel wurde beendet.°#° "+playerBetList+"")
}
else if (valueRolled == 3 || valueRolled == 13 || valueRolled == 18 || valueRolled == 28) {
var winmsg = "Awww!"
var winmsg1 = "- 10 %"
var win = 0.9;
//Bot.sendPublicMessage(""+ winmsg +" Alle Einsätze bekommen einen Verlust von "+ winmsg1 +"°#° "+playerBetList+"")
}
else if (valueRolled == 6 || valueRolled == 9 || valueRolled == 22 || valueRolled == 29 || valueRolled == 35) {
var winmsg = "Awww!"
var winmsg1 = "- 25 %"
var win = 0.75;
//Bot.sendPublicMessage(""+ winmsg +" Alle Einsätze bekommen einen Verlust von "+ winmsg1 +"°#° "+playerBetList+"")
}
else if (valueRolled == 2 || valueRolled == 12 || valueRolled == 20 || valueRolled == 26 || valueRolled == 34) {
var winmsg = "Awww!"
var winmsg1 = "halbiert"
var win = 0.5;
//Bot.sendPublicMessage(""+ winmsg +" Alle Einsätze werden leider "+ winmsg1 +"°#° "+playerBetList+"")
}
else if (valueRolled == 7 || valueRolled == 11 || valueRolled == 17 || valueRolled == 25 || valueRolled == 33) {
var winmsg = "Cool!"
var winmsg1 = "+ 10 %"
var win = 1.1;
//Bot.sendPublicMessage(""+ winmsg +" Alle Einsätze bekommen einen Gewinn von "+ winmsg1 +"°#° "+playerBetList+"")
}
else if (valueRolled == 4 || valueRolled == 10 || valueRolled == 19 || valueRolled == 32) {
var winmsg = "Cool!"
var winmsg1 = "+ 25 %"
var win = 1.25;
//Bot.sendPublicMessage(""+ winmsg +" Alle Einsätze bekommen einen Gewinn von "+ winmsg1 +"°#° "+playerBetList+"")
}
else if (valueRolled == 16 || valueRolled == 24 || valueRolled == 27) {
var winmsg = "Cool!"
var winmsg1 = "+ 50 %"
var win = 1.5;
//Bot.sendPublicMessage(""+ winmsg +" Alle Einsätze bekommen einen Gewinn von "+ winmsg1 +"°#° "+playerBetList+"")
}
else if (valueRolled == 5 || valueRolled == 15 || valueRolled == 21 || valueRolled == 30) {
var winmsg = "WOW!"
var winmsg1 = "verdoppelt"
var win = 2;
//Bot.sendPublicMessage(""+ winmsg +" Alle Einsätze werden "+ winmsg1 +"°#° "+playerBetList+"")
}
else
{
var winmsg = "MEGAA!"
var winmsg1 = "verdreifacht"
var win = 3;
//Bot.sendPublicMessage(""+ winmsg +" Alle Einsätze werden "+ winmsg1 +"°#° "+playerBetList+"")
}
}
var playerBetList = "";
for (var i = 0; i < players.length; i++){
playerBetList = playerBetList + players[i] + " " + deposit[i] * win +" °>"+ knuddel +"<°°#°";
}
Bot.sendPublicMessage(""+winmsg+" die Einsätze werden "+winmsg1+"°#°"+playerBetList+"");
setTimeout(function()
{
einsatz();
rundenzaehler();
}, (1000 * 2));
}
function einsatz(user, einsatz) {
}
Ich hoffe, mir kann jemand von euch helfen, damit ich mein vorhaben realisieren kann?
Ich würde ja eine IT Firma oder so fragen, jedoch habe ich nicht das nötige Kleingeld dazu um ein Profi bezahlen zu können.
Daher hoffe ich, das jemand so nett hier ist und mir hilft.
Danke an alle