Mafiaspiel

Infos zu Spielen, Bots und Tools.
InvaderX
Beiträge: 49
Registriert: 21.08.2009, 00:10

Mafiaspiel

Ungelesener Beitrag von InvaderX » 30.10.2009, 20:47

Mafiaspiel

Es werden folgende Charakterrollen vergeben:
-1x Mafioso
Der Mafioso spielt für sich alleine gegen die Bürger und den Detektiv.
-1x Detektiv
Der Detektiv spielt zusammen mit den Bürgern gegen den Mafioso.
-3x Bürger
Die Bürger spielen mit dem Detektiv zusammen gegen den Mafioso.

Grundregeln und Spielablauf
Das Ziel des Spiels ist es für die Mafiosi, alle Bürger umzubringen. Ziel ist es für den Detektiv und die Bürger den Mafioso ausfindig zu machen und den Mafioso am Tag nach der Abstimmung zu hängen.
Es gibt viele verschiedenen Varianten des Spiels, so wie das Script aufgebaut ist läuft es wie folgt ab:

-Morgengrauen!
-Der Detektiv macht sich auf die suche nach dem Mafioso, er darf eine Identität beim Spielleiter erfragen.
-Der Spielleiter flüstert dem Detektiv die info zu.
-Tag!
-Der Detektiv gibt anonym seinen Tipp ab wer seiner Meinung nach der Mafioso ist.
-Die Tagesabstimmung findet statt jetzt darf jeder der 5 Charakterrollen wählen wär gehängt wird. Die Bürger -orentieren sich jetzt nach dem Tipp der von dem Detektiv abgegeben wurde. Die Abstimmung läuft anonym ab, -also kein Nick vor der stimme. Sonst würde man den Mafioso sofort erkennen da er vieleicht als einziger einen -anderen Nick wählt der gehängt werden soll.
-Es wird bekannt gegeben durch den Spielleiter wer gehängt wird (der mit den meisten stimmen).
-Der gehängte muss seine Identität öffentlich bekannt geben. War er der Mafioso ist das Spiel vorbei.
-Nacht!
-Die Mafia sucht sich ein Opfer aus und ermordet es in der Nacht.
-Der ermordete muss seine Identität öffentlich bekannt geben.

Und dann geht es von vorne los mit Morgengrauen... solange bis der Mafioso oder die Bürger und Detektiv ermordet sind. Überlebt die Mafia das spiel hat sie gewonnen und umgekehrt die Bürger und der Detektiv.

Installation

benötigt wird die Grundscriptsammlung am anfang der Ankündigung

Code: Alles auswählen

<script type="text/javascript" src="/grundscripts.js"></script>
Mafiaspielscript als js Datei speichern

Code: Alles auswählen

//Mafia Hauptspiel (Rollenverteilung) von 1. FC Keller

var mafiaRollen=["Mafioso", "Detektiv", "Bürger", "Bürger", "Bürger"];
var mafiaRollenTmp=[];
var mafiaLeiter="";
var mafiaRunning=0;

function mafiaBefehlsAuswertung(user, eingabe){
  user=strip_tags(user);
  eingabe=strip_tags(eingabe);
  if(!mafiaRunning && eingabe=="start"){
    mafiaLeiter=user;
    document.write("startet ein Mafia-Spiel <input type=Submit value=Teilnehmen onclick=this.disabled=true;sendeText('/mafia')>");
    mafiaRollenTmp=[];
    for(i=0;i<mafiaRollen.length;i++)mafiaRollenTmp[i]=mafiaRollen[i];
    mafiaRunning=1;
  }
  else if(user==mafiaLeiter && eingabe=="ende"){
    document.write("beendet das Mafia-Spiel");
    mafiaRunning=0;
  }
  else if(mafiaRollenTmp.length>0){
    document.write("tritt dem Mafia-Spiel bei");
    if(myNick==mafiaLeiter){
      rand=parseInt(Math.random()*mafiaRollenTmp.length);
      document.write(' '+user+'\'s Rolle: '+mafiaRollenTmp[rand]);
      sendeText("/f "+user+" du hast in dieser Spielrunde folgende Rolle: "+mafiaRollenTmp[rand]);
      mafiaRollenTmp.splice(rand,1);
    }
    else{
      mafiaRollenTmp.pop(); //letzten eintrag loeschen um zu kontrollieren wieviele rollen noch verfuegbar
    }
  }
  else{
    document.write("versuchte am Mafia-Spiel teilzunehmen. Leider läuft es bereits.");
  }
}
//Mafiaspiel Spielleiterscript für den Spielleiter, sowie auch den Spielern!
//von InvaderX
//Version 1.3

function f1()
{f2();window.setTimeout('sendeText("/commentall Morgengrauen!", "'+mafiaLeiter+'")',100)};
function f2()
{b1();window.setTimeout('sendeText("/commentall Der Detektiv macht sich auf die suche! <input type=Submit value=Detektiv! onclick=mDetektiv();>", "'+mafiaLeiter+'")',500)};
function b1()
{window.setTimeout('sendeText("/plus <input type=Submit value=weiter onclick=f3();f4();this.disabled=true;>")',20000)};
function f3()
{window.setTimeout('sendeText("/commentall Tag!", "'+mafiaLeiter+'")',100)};
function f4()
{b2();window.setTimeout('sendeText("/commentall Der Detektiv gibt seinen Tipp für die Tagesabstimmung bekannt! <input type=Submit value=Detektiv! onclick=tipp();>", "'+mafiaLeiter+'")',500)};
function b2()
{window.setTimeout('sendeText("/plus <input type=Submit value=weiter onclick=f5();this.disabled=true;>")',20000)};
function f5()
{b3();window.setTimeout('sendeText("/commentall Jetzt findet die öffentliche Tagesabstimmung statt, wer gehängt werden soll! <input type=Submit value=Wählen onclick=vote();this.disabled=true;>", "'+mafiaLeiter+'")',100)};
function b3()
{window.setTimeout('sendeText("/plus Spieler mit meisten stimmen <input type=Submit value=hängen! onclick=ddead();f6();> oder <input type=Submit value=Neuwahl! onclick=newvote();this.disabled=true;>")',20000)};
function f6()
{b4();window.setTimeout('sendeText("/commentall Der gehängte muss seine Identität öffentlich preis geben!", "'+mafiaLeiter+'")',100)};
function b4()
{window.setTimeout('sendeText("/plus <input type=Submit value=weiter onclick=f7();f8();this.disabled=true;> oder wurde der Mafiosi gehängt, somit <input type=Submit value=Spiel-Ende onclick=mclose();this.disabled=true;>.")',10000)};
function f7()
{window.setTimeout('sendeText("/commentall Nacht!", "'+mafiaLeiter+'")',2000)};
function f8()
{window.setTimeout('sendeText("/commentall Die Mafia sucht sich ein Opfer aus und ermodet es in der Nacht!<input type=Submit value=Mafia!!-ermorden onclick=mafia();f10();>", "'+mafiaLeiter+'")',3000)};
function f10()
{window.setTimeout('sendeText("/plus <input type=Submit value=Neue-Runde-starten! onclick=f1();this.disabled=true;> oder wurde der Mafiosi gehänget, somit <input type=Submit value=Spiel-Ende onclick=mclose();this.disabled=true;>.", "'+mafiaLeiter+'")',10000)};
function newvote()
{b3();window.setTimeout('sendeText("Eine Neuwahl wurde angesetzt! <input type=Submit value=Wählen onclick=vote();this.disabled=true;><br>", "'+mafiaLeiter+'")',100)};
function mclose()
{window.setTimeout('sendeText("/mafia ende", "'+mafiaLeiter+'")',100)};
function vote()
{Nickname = prompt("Wer soll gehängt werden?", "Nickname");
sendeText("/mafiabot <b>Es wurde gestimmt für <font color=red>" + Nickname + "</font>!<\/b>");};
function ndead()
{Nickname = prompt("Wer wurde in der Nacht ermordet?", "Nickname");
sendeText("<b>Mafia: <font color=red>" + Nickname + "</font> wurde in der Nacht kaltblütig ermordet!<\/b>");};
function ddead()
{Nickname = prompt("Wer wird gehängt?", "Nickname");
sendeText("<b><font color=red>" + Nickname + "</font> wurde gehängt!<\/b> Und scheidet somit aus dem Spiel aus.");};
function mDetektiv()
{Nickname = prompt("Beim Spielleiter eine Identität erfragen","Nickname")
sendeText("/f "+mafiaLeiter+" welche Identität hat "+ Nickname +" ?")};
function tipp()
{Tipp = prompt("Tipp abgeben!","Tipp")
sendeText("/mafiabot <b>Detektiv:</b> "+ Tipp +"")};
function mafia()
{Nickname = prompt("Welcher Spieler soll in der Nacht ermordet werden?","Nickname")
sendeText("/mafiabot <b>Mafia:</b> ermordet kaltblütig in der Nacht <font color=red><b>"+ Nickname +"</b></font>!")};
Die js Datei in die Ankündigung einbinden

Code: Alles auswählen

<script type="text/javascript" src="http://URL DER JS-DATEI"></script>
Nun müssen noch die Chatbefehle angelegt werden

Der Chatbefehl muss lauten /mafia

Code: Alles auswählen

<script type="text/javascript">if(parent.info){mafiaBefehlsAuswertung('%me%', '%user%')}else{document.write("spielt Mafia")}</script>
Der Chatbefehl muss lauten /plus

Code: Alles auswählen

<script type="text/javascript">if(myNick==strip_tags('%me%')){document.write('%user%')}</script>
Der Chatbefehl muss lauten /mafiabot

Code: Alles auswählen

<script type='text/javascript'>if(parent.info){document.write('</td>');tds=document.getElementsByTagName('td');tds[tds.length-1].style.display='none'; document.write('<td>')}</script>%user%
Dieser Chatbefehl ruft das Spielleiterscript auf /mbot

Code: Alles auswählen

<script type="text/javascript">if(myStatus==3){f1();document.write("Spielleiter: läst das Mafiaspiel beginnen")}</script>
Wenn ihr das habt solltet ihr auch einmal aus eurem Chat auslogen und wieder neu reinkommen, damit das Script geladen wird.

Um jetzt ein Mafiaspiel zu starten gebt ihr einfach den Befehl ein /mafia start
Nur für Admins!: Jetzt kommt das Spielleiterscript, starten mit /mbot

Durch das starten des Spielleiterscript wird das Mafiaspiel moderiert und es werden den Spielern Buttons angezeigt um ihre Aufgabe der entsprechenden Rolle zu erleichtern.
Dem Admin werden weitere Buttons gezeigt die nur er sehen kann er kann damit die Tageszeit weiterspulen oder bei der Tagesabstimmung den mit den meisten stimmen hängen lassen.

Mann kann das Mafiaspiel auch per eingabe des Befehls /mafia ende
beenden, statt dem Button klick.

HAVE FUN!

Maxs
Moderator
Beiträge: 551
Registriert: 09.10.2008, 18:21
Kontaktdaten:

Re: Mafiaspiel

Ungelesener Beitrag von Maxs » 30.10.2009, 22:20

Das Spiel ist echt super geworden :D
Es hat sich echt viel getan bei dem Spiel,
ein sehr großes Lob von mir :wink:

TauchBlubba
Beiträge: 79
Registriert: 21.10.2007, 19:04
Wohnort: Altenstadt (Mittelhessen)
Kontaktdaten:

Re: Mafiaspiel

Ungelesener Beitrag von TauchBlubba » 31.10.2009, 21:15

Ja das hat was, stimmt.

Schade nur das alle auf die Buttons immer klicken können, auch Leute die in dem Moment nicht "berechtigt" sind.

Barci-Keksi
Beiträge: 17
Registriert: 07.07.2009, 23:33

Re: Mafiaspiel

Ungelesener Beitrag von Barci-Keksi » 31.10.2009, 22:07

Wir werden noch daran arbeiten, aber bei mir
ist es so, dass nur EINE persohn Spielleiter (auser beim Voten, oder chekcen)
Draufklicken kann sonst keiner ...

InvaderX
Beiträge: 49
Registriert: 21.08.2009, 00:10

Re: Mafiaspiel

Ungelesener Beitrag von InvaderX » 31.10.2009, 22:19

@Barci-Keksi Das kommt warscheinlich daher das du die eine Version die ich dir per pn geschickt habe das war nur ein kleiner testlauf. Die Nicks die dir da in der OL reingeschrieben werden also die roten siehst nur du als Admin.

Das mit dem Buttonsanzeigen nur für den Detektiv und Mafiosi müste man die Nicks auch speichern wie beim Spielleiter, da ich nicht genau weiß wie ich des machen soll kann, werde ich es per cookie machen und eine Abfrage für den Spielleiter machen wo er die Nicknamen reinschreiben muss. Wenn jemand eine bessere Idee hat oder es umsetzen kann soll er es gerne machen und hier posten :wink:

Barci-Keksi
Beiträge: 17
Registriert: 07.07.2009, 23:33

Re: Mafiaspiel

Ungelesener Beitrag von Barci-Keksi » 31.10.2009, 22:20

achso ^^

InvaderX
Beiträge: 49
Registriert: 21.08.2009, 00:10

Re: Mafiaspiel

Ungelesener Beitrag von InvaderX » 03.11.2009, 04:52

Wird erstmal als neue Testversion betitelt

Was ist neu an dieser Version?

-Eine Auflistung der Spieler die mitspielen wird in der OL angezeigt
-Spieler die im Spiel gestorben sind können durch einmaliges klicken rot markiert werden, um den Überblick zu behalten.
-Der Spielleiter sieht zudem vor den Namen in der OL welchen Charakter er hat, um den Überblick zu behalten.
-Die Spielernamen von Mafioso und Detektiv werden in Cookies gespeichert.
-Die Buttons für den Detektiv und Mafioso können nur noch der ware Mafioso und Detektiv nutzen, dies wird erreicht durch das auslesen der Cookies. Die Buttons sind weiterhin sichtbar für alle nur das halt nur der bestimmte Charakter den nutzen kann.

Bekannte Probleme zumindest bei mir

-das das Nickmenü während das Spiel läuft ausfällt

Installation

benötigt alles was im ersten Post steht, es wird nur die js Datei neu gespeichert

Code: Alles auswählen

//Mafia Hauptspiel (Rollenverteilung) von 1. FC Keller

var mafiaRollen=["Mafioso", "Detektiv", "Bürger", "Bürger", "Bürger"];
var mafiaRollenTmp=[];
var mafiaLeiter="";
var mafiaRunning=0;

function mafiaBefehlsAuswertung(user, eingabe){
  user=strip_tags(user);
  eingabe=strip_tags(eingabe);
  if(!mafiaRunning && eingabe=="start"){
    mafiaLeiter=user;
    document.write("startet ein Mafia-Spiel <input type=Submit value=Teilnehmen onclick=sendeText('/mafia');this.disabled=true;>");
  //Spielernamen in die OL schreiben für jeden sichtbar
    parent.rightFrame.document.body.innerHTML='Spieler markieren<br>durch anklicken!'+ parent.rightFrame.document.body.innerHTML;
    mafiaRollenTmp=[];
    for(i=0;i<mafiaRollen.length;i++)mafiaRollenTmp[i]=mafiaRollen[i];
    mafiaRunning=1;
  }
  else if(user==mafiaLeiter && eingabe=="ende"){
    document.write("beendet das Mafia-Spiel");
    mafiaRunning=0;
  }
  else if(mafiaRollenTmp.length>0){
    document.write("tritt dem Mafia-Spiel bei");
    parent.rightFrame.document.body.innerHTML='<font color=green><span onclick=this.style.color="red";>'+user+'</span><br></font>'+ parent.rightFrame.document.body.innerHTML;
      if(myNick==mafiaLeiter){
      rand=parseInt(Math.random()*mafiaRollenTmp.length);
      document.write(' '+user+'\'s Rolle: '+mafiaRollenTmp[rand]);
    //Chrakternamen vor dem Namen schreiben, nur für Spielleiter
      parent.rightFrame.document.body.innerHTML=''+mafiaRollenTmp[rand]+'='+ parent.rightFrame.document.body.innerHTML;
      sendeText("/f "+user+" du hast in dieser Spielrunde folgende Rolle: "+mafiaRollenTmp[rand]);
    //cookie setzen für Mafioso und Detektiv
      temp=parent.info.document.eingabe.message.value; parent.info.document.eingabe.message.value= ("<script type='text/javascript'>setCookie('"+mafiaRollenTmp[rand]+"', '"+user+"');</script>");parent.info.document.eingabe.submit();parent.info.document.eingabe.message.value=temp;
      mafiaRollenTmp.splice(rand,1);
    }
    else{
      mafiaRollenTmp.pop(); //letzten eintrag loeschen um zu kontrollieren wieviele rollen noch verfuegbar
    }
  }
  else{
    document.write("versuchte am Mafia-Spiel teilzunehmen. Leider läuft es bereits.");
  }
}
//Mafiaspiel Spielleiterscript für den Spielleiter, sowie auch den Spielern!
//von InvaderX
//Version 2.0

//-Spielleiterscript starten-//

function startmafiaSpielleiter()
{f1();};

//-Cookie-setzen-von-Detektiv-und-Mafioso-entfällt-//

//function setcookieDetektiv()
//{Nickname = prompt("Gib den Nicknamen des Detektiv ein!", "Nickname")
//temp=parent.info.document.eingabe.message.value; parent.info.document.eingabe.message.value= "<script type='text/javascript'>setCookie("'+mafiaRollenTmp[""]+'", "'+user+'");</script>";parent.info.document.eingabe.submit();parent.info.document.eingabe.message.value=temp;};

//function setcookieMafioso()
//{Nickname = prompt("Gib den Nicknamen des Mafioso ein!", "Nickname")
//temp=parent.info.document.eingabe.message.value; parent.info.document.eingabe.message.value= "<script type='text/javascript'>setCookie("Mafioso", "" + Nickname + "");</script>";parent.info.document.eingabe.submit();parent.info.document.eingabe.message.value=temp;};


//function startmafiaSpielleiter()
//{Es müssen noch 2 Eingaben gemacht werden};

//-start-Ablauf der Events-//

//-start-Morgengrauen!-//
function f1()
{f2();window.setTimeout('sendeText("/commentall Morgengrauen!", "'+mafiaLeiter+'")',1000)};
function f2()
{b1();window.setTimeout('sendeText("/commentall Der Detektiv macht sich auf die suche! <input type=Submit value=Detektiv! onclick=mDetektiv();>", "'+mafiaLeiter+'")',2000)};
function b1()
{if (myNick==mafiaLeiter){window.setTimeout('sendeText("/plus <input type=Submit value=weiter onclick=f3();f4();this.disabled=true;>", "'+mafiaLeiter+'")',20000)}};

//-start-Tag!-//
function f3()
{window.setTimeout('sendeText("/commentall Tag!", "'+mafiaLeiter+'")',1000)};
function f4()
{b2();window.setTimeout('sendeText("/commentall Der Detektiv gibt seinen Tipp für die Tagesabstimmung bekannt! <input type=Submit value=Detektiv! onclick=tipp();>", "'+mafiaLeiter+'")',2000)};
function b2()
{if (myNick==mafiaLeiter){window.setTimeout('sendeText("/plus <input type=Submit value=weiter onclick=f5();this.disabled=true;>")',20000)}};
function f5()
{b3();window.setTimeout('sendeText("/commentall Jetzt findet die öffentliche Tagesabstimmung statt, wer gehängt werden soll! <input type=Submit value=Wählen onclick=vote();this.disabled=true;>", "'+mafiaLeiter+'")',100)};
function b3()
{window.setTimeout('sendeText("/plus Spieler mit meisten stimmen <input type=Submit value=hängen! onclick=ddead();f6();> oder <input type=Submit value=Neuwahl! onclick=newvote();this.disabled=true;>", "'+mafiaLeiter+'")',20000)};
function f6()
{b4();window.setTimeout('sendeText("/commentall Der gehängte muss seine Identität öffentlich preis geben!", "'+mafiaLeiter+'")',2000)};
function b4()
{if (myNick==mafiaLeiter){window.setTimeout('sendeText("/plus <input type=Submit value=weiter onclick=f7();f8();this.disabled=true;> oder wurde der Mafiosi gehängt, somit <input type=Submit value=Spiel-Ende onclick=mclose();this.disabled=true;parent.rightFrame.location.reload();>.", "'+mafiaLeiter+'")',10000)}};

//-start-Nacht!-//
function f7()
{window.setTimeout('sendeText("/commentall Nacht!", "'+mafiaLeiter+'")',2000)};
function f8()
{window.setTimeout('sendeText("/commentall Die Mafia sucht sich ein Opfer aus und ermodet es in der Nacht!<input type=Submit value=Mafia!!-ermorden onclick=mafia();f9();>", "'+mafiaLeiter+'")',3000)};
function f9()
{f10();window.setTimeout('sendeText("/commentall Der ermordete muss seine Identität öffentlich preis geben!", "'+mafiaLeiter+'")',4000)};
function f10()
{if (myNick==mafiaLeiter){window.setTimeout('sendeText("/plus <input type=Submit value=Neue-Runde-starten! onclick=f1();this.disabled=true;> oder wurde der Mafiosi gehänget, somit <input type=Submit value=Spiel-Ende onclick=mclose();this.disabled=true;parent.rightFrame.location.reload();>.", "'+mafiaLeiter+'")',10000)}};

//-ende-Ablauf der Events-//

//-promt()-Eingabefenster-//

//-Für-alle-nutzbar//
//-Wählen
function vote()
{Nickname = prompt("Wer soll gehängt werden?", "Nickname")
sendeText("/mafiabot <b>Es wurde gestimmt für <font color=red>" + Nickname + "</font>!<\/b>")};

//-Für-Detektiv-nutzbar-//

//-Identität
function mDetektiv()
{if (myNick==getCookie('Detektiv')){Nickname = prompt("Beim Spielleiter eine Identität erfragen", "Nickname")};
sendeText("/f "+mafiaLeiter+" Detektiv: Welche Identität hat "+ Nickname +" ?", ""+getCookie("Detektiv")+"")};

//-Tipp
function tipp()
{if (myNick==getCookie('Detektiv')){Tipp = prompt("Tipp abgeben!", "Tipp")};
window.setTimeout('sendeText("/mafiabot <b>Detektiv:</b> "+ Tipp +"", ""+getCookie("Detektiv")+"")',100)};

//-Für-Mafioso-nutzbar-//

//-Ermorden
function mafia()
{if (myNick==getCookie('Mafioso')){Nickname = prompt("Welcher Spieler soll in der Nacht ermordet werden?", "Nickname")};
window.setTimeout('sendeText("/mafiabot <b>Mafia:</b> ermordet kaltblütig in der Nacht <font color=red><b>"+ Nickname +"</b></font>!", ""+getCookie("Mafioso")+"")',100)};

//-Für-MafiaSpielleiter-nutzbar-//

//-Hängen
function ddead()
{Nickname = prompt("Wer wird gehängt?", "Nickname")
window.setTimeout('sendeText("<b><font color=red>" + Nickname + "</font> wurde gehängt!<\/b> Und scheidet somit aus dem Spiel aus.", ""+mafiaLeiter+"")',1000)};

//-Neuwahl
function newvote()
{b3();window.setTimeout('sendeText("Eine Neuwahl wurde angesetzt! <input type=Submit value=Wählen onclick=vote();this.disabled=true;><br>", ""+mafiaLeiter+"")',100)};

//-Mafiaspiel beenden
function mclose()
{window.setTimeout('sendeText("/mafia ende", "'+mafiaLeiter+'")',100);window.setTimeout('sendeText("/re", ""+mafiaLeiter+"")',1000)};
HAVE FUN!
Zuletzt geändert von InvaderX am 04.11.2009, 22:10, insgesamt 1-mal geändert.

Barci-Keksi
Beiträge: 17
Registriert: 07.07.2009, 23:33

Re: Mafiaspiel

Ungelesener Beitrag von Barci-Keksi » 03.11.2009, 22:42

Kann man es so machen, dass nicht der Detektiv sein Tipp abgibt,
sondern jeder, das dann sowas kommt wie
der Detektiv button, nur mit 'Tipp Abgabe'

Wo jeder tipps abgeben kann,

Nickname (Manuel eintragen)

Nicht verdächtig O
Ziemlich Unterdächtig O
Etwas Unverdächtig O
Leicht verdächtig O
Etwas verdächtig O
Sehr verdächtig O
(Zum einkreuzen)

Die Bürger Bekommen (Manuell) vom Spielleiter ein tipp
über ein spieler.


So das es etwas interesannter//Schwerer wird :)

Wäre Cool, wenn sowas gehen würde :)

InvaderX
Beiträge: 49
Registriert: 21.08.2009, 00:10

Re: Mafiaspiel

Ungelesener Beitrag von InvaderX » 04.11.2009, 22:13

Testversion 2 Post höher ein neuer Code der sollte Ordnungsgemäß funktionieren. Die Mafioso und Detektiv Nicks werden bei jedem Spieler automatisch in Cookies gelegt nur der Nick der im Cookie ist darf die Detektiv oder Mafioso Buttons benutzen, bei den anderen Spielern öffnet sich nix da sie keines der Charakter sind.

Skywalker00
Beiträge: 10
Registriert: 02.01.2009, 21:32
Wohnort: Hagen
Kontaktdaten:

Re: Mafiaspiel

Ungelesener Beitrag von Skywalker00 » 10.11.2009, 17:54

Hallo,

erstmal das spiel ist super, aber habe ein problem.

Ich hatte zuerst den ersten Script rein gemacht, lief super, bis ich es beenden wollte mit /mafia ende und das gleiche gilt auch für das 2. Script, erscheint die meldung:
(17:48) Skywalker00 versuchte am Mafia-Spiel teilzunehmen. Leider läuft es bereits.

Barci-Keksi
Beiträge: 17
Registriert: 07.07.2009, 23:33

Re: Mafiaspiel

Ungelesener Beitrag von Barci-Keksi » 10.11.2009, 18:33

Skywalker00 hat geschrieben:Hallo,

erstmal das spiel ist super, aber habe ein problem.

Ich hatte zuerst den ersten Script rein gemacht, lief super, bis ich es beenden wollte mit /mafia ende und das gleiche gilt auch für das 2. Script, erscheint die meldung:
(17:48) Skywalker00 versuchte am Mafia-Spiel teilzunehmen. Leider läuft es bereits.

hast du das auch ALLES klein Geschrieben?

Skywalker00
Beiträge: 10
Registriert: 02.01.2009, 21:32
Wohnort: Hagen
Kontaktdaten:

Re: Mafiaspiel

Ungelesener Beitrag von Skywalker00 » 20.11.2009, 00:48

Barci-Keksi hat geschrieben:
Skywalker00 hat geschrieben:Hallo,

erstmal das spiel ist super, aber habe ein problem.

Ich hatte zuerst den ersten Script rein gemacht, lief super, bis ich es beenden wollte mit /mafia ende und das gleiche gilt auch für das 2. Script, erscheint die meldung:
(17:48) Skywalker00 versuchte am Mafia-Spiel teilzunehmen. Leider läuft es bereits.

hast du das auch ALLES klein Geschrieben?
Sorry, dass ich mich jetzt erst melde... hatte ein bisschen zutun gehabt.

Ich habe als Befehl /mafia für User und /mafiabot für Admin und habe die Befehle kleingeschrieben

InvaderX
Beiträge: 49
Registriert: 21.08.2009, 00:10

Re: Mafiaspiel

Ungelesener Beitrag von InvaderX » 23.11.2009, 12:17

So eine neue Version,

ein Chatbefehl fällt weg der zum starten des Mafia-Bots. Und es dürfen auch bei dieser Version nur die bestimmten Charakter die Buttons benutzen, falls doch jemand versucht bekommt er eine Meldung das er nicht dem Charakter entspricht. Der Spielleiter sowie alle anderen sehen in der OL wer mitspielt, diese können durch ein klick rot gefärbt werden. Dies solte man machen um zu sehen wer noch im Spiel ist grün lebt rot gestorben, jeder Spieler für sich! Zudem sieht der Spielleiter vor den Namen welchen Charakter der jeweilige Spieler hat somit eine Arbeitserleichterung.

Installation

benötigt wird die Grundscriptsammlung am anfang der Ankündigung

Code: Alles auswählen

<script type="text/javascript" src="/grundscripts.js"></script>

Code: Alles auswählen

//Mafia Hauptspiel (Rollenverteilung) von 1. FC Keller

var mafiaRollen=["Mafioso", "Detektiv", "Bürger", "Bürger", "Bürger"];
var mafiaRollenTmp=[];
var mafiaLeiter="";
var mafiaRunning=0;

function mafiaBefehlsAuswertung(user, eingabe){
  user=strip_tags(user);
  eingabe=strip_tags(eingabe);
  if(!mafiaRunning && eingabe=="start"){
    mafiaLeiter=user;
    document.write("startet ein Mafia-Spiel <input type=Submit value=Teilnehmen onclick=sendeText('/mafia');this.disabled=true;>");
    if (myNick==mafiaLeiter){      if(myNick==mafiaLeiter){window.setTimeout('sendeText("/plus <input type=Submit value=Mafia-Bot-starten onclick=f1();this.disabled=true;>", "'+mafiaLeiter+'")',20000)}};
  //Spielernamen in die OL schreiben für jeden sichtbar
    parent.rightFrame.document.body.innerHTML='Spieler markieren<br>durch anklicken!'+ parent.rightFrame.document.body.innerHTML;
    mafiaRollenTmp=[];
    for(i=0;i<mafiaRollen.length;i++)mafiaRollenTmp[i]=mafiaRollen[i];
    mafiaRunning=1;
  }
  else if(user==mafiaLeiter && eingabe=="ende"){
    document.write("beendet das Mafia-Spiel");
    mafiaRunning=0;
  }
  else if(mafiaRollenTmp.length>0){
    document.write("tritt dem Mafia-Spiel bei");
    parent.rightFrame.document.body.innerHTML='<font color=green><span onclick=this.style.color="red";>'+user+'</span><br></font>'+ parent.rightFrame.document.body.innerHTML;
      if(myNick==mafiaLeiter){
      rand=parseInt(Math.random()*mafiaRollenTmp.length);
      document.write(' '+user+'\'s Rolle: '+mafiaRollenTmp[rand]);
    //Chrakternamen vor dem Namen schreiben, nur für Spielleiter
      parent.rightFrame.document.body.innerHTML=''+mafiaRollenTmp[rand]+'='+ parent.rightFrame.document.body.innerHTML;
      sendeText("/f "+user+" du hast in dieser Spielrunde folgende Rolle: "+mafiaRollenTmp[rand]);
    //cookie setzen für Mafioso und Detektiv
      temp=parent.info.document.eingabe.message.value; parent.info.document.eingabe.message.value= ("<script type='text/javascript'>setCookie('"+mafiaRollenTmp[rand]+"', '"+user+"');</script>");parent.info.document.eingabe.submit();parent.info.document.eingabe.message.value=temp;
      mafiaRollenTmp.splice(rand,1);
    }
    else{
      mafiaRollenTmp.pop(); //letzten eintrag loeschen um zu kontrollieren wieviele rollen noch verfuegbar
    }
  }
  else{
    document.write("versuchte am Mafia-Spiel teilzunehmen. Leider läuft es bereits.");
  }
}
//Mafiaspiel Spielleiterscript für den Spielleiter, sowie auch den Spielern!
//von InvaderX
//Version 2.0

//-Spielleiterscript starten-//
//function startmafiaSpielleiter()
//{f1();};

//-start-Ablauf der Events-//

//-start-Morgengrauen!-//
function f1()
{f2();window.setTimeout('sendeText("/commentall Morgengrauen!", "'+mafiaLeiter+'")',1000)};
function f2()
{b1();window.setTimeout('sendeText("/commentall Der Detektiv macht sich auf die suche! <input type=Submit value=Detektiv! onclick=mDetektiv();>", "'+mafiaLeiter+'")',2000)};
function b1()
{if (myNick==mafiaLeiter){window.setTimeout('sendeText("/plus <input type=Submit value=weiter onclick=f3();f4();this.disabled=true;>", "'+mafiaLeiter+'")',3000)}};

//-start-Tag!-//
function f3()
{window.setTimeout('sendeText("/commentall Tag!", "'+mafiaLeiter+'")',1000)};
function f4()
{b2();window.setTimeout('sendeText("/commentall Der Detektiv gibt seinen Tipp für die Tagesabstimmung bekannt! <input type=Submit value=Detektiv! onclick=tipp();>", "'+mafiaLeiter+'")',2000)};
function b2()
{if (myNick==mafiaLeiter){window.setTimeout('sendeText("/plus <input type=Submit value=weiter onclick=f5();this.disabled=true;>")',20000)}};
function f5()
{b3();window.setTimeout('sendeText("/commentall Jetzt findet die öffentliche Tagesabstimmung statt, wer gehängt werden soll! <input type=Submit value=Wählen onclick=vote();this.disabled=true;>", "'+mafiaLeiter+'")',100)};
function b3()
{window.setTimeout('sendeText("/plus Spieler mit meisten stimmen <input type=Submit value=hängen! onclick=ddead();f6();> oder <input type=Submit value=Neuwahl! onclick=newvote();this.disabled=true;>", "'+mafiaLeiter+'")',20000)};
function f6()
{b4();window.setTimeout('sendeText("/commentall Der gehängte muss seine Identität öffentlich preis geben!", "'+mafiaLeiter+'")',2000)};
function b4()
{if (myNick==mafiaLeiter){window.setTimeout('sendeText("/plus <input type=Submit value=weiter onclick=f7();f8();this.disabled=true;> oder wurde der Mafiosi gehängt, somit <input type=Submit value=Spiel-Ende onclick=mclose();this.disabled=true;parent.rightFrame.location.reload();deleteDetektiv();deleteMafioso();>.", "'+mafiaLeiter+'")',10000)}};

//-start-Nacht!-//
function f7()
{window.setTimeout('sendeText("/commentall Nacht!", "'+mafiaLeiter+'")',2000)};
function f8()
{window.setTimeout('sendeText("/commentall Die Mafia sucht sich ein Opfer aus und ermodet es in der Nacht!<input type=Submit value=Mafia!!-ermorden onclick=mafia();f9();>", "'+mafiaLeiter+'")',3000)};
function f9()
{f10();window.setTimeout('sendeText("/commentall Der ermordete muss seine Identität öffentlich preis geben!", "'+mafiaLeiter+'")',4000)};
function f10()
{if (myNick==mafiaLeiter){window.setTimeout('sendeText("/plus <input type=Submit value=Neue-Runde-starten! onclick=f1();this.disabled=true;> oder wurde der Mafiosi gehänget, somit <input type=Submit value=Spiel-Ende onclick=mclose();this.disabled=true;parent.rightFrame.location.reload();>.", "'+mafiaLeiter+'")',10000)}};

//-ende-Ablauf der Events-//

//-promt()-Eingabefenster-//

//-Für-alle-nutzbar//
//-Wählen
function vote()
{Nickname = prompt("Wer soll gehängt werden?", "Nickname")
sendeText("/mafiabot <b>Es wurde gestimmt für <font color=red>" + Nickname + "</font>!<\/b>")};

//-Für-Detektiv-nutzbar-//

//-Identität
function mDetektiv()
{if (myNick==getCookie('Detektiv')){Nickname = prompt("Beim Spielleiter eine Identität erfragen", "Nickname")}
else {alert('Du bist kein Detektiv!')}
sendeText("/f "+mafiaLeiter+" Detektiv: Welche Identität hat "+ Nickname +" ?", ""+getCookie("Detektiv")+"")};

//-Tipp
function tipp()
{if (myNick==getCookie('Detektiv')){Tipp = prompt("Tipp abgeben!", "Tipp")}
else {alert('Du bist kein Detektiv!')}
window.setTimeout('sendeText("/mafiabot <b>Detektiv:</b> "+ Tipp +"", ""+getCookie("Detektiv")+"")',100)};

//-Für-Mafioso-nutzbar-//

//-Ermorden
function mafia()
{if (myNick==getCookie('Mafioso')){Nickname = prompt("Welcher Spieler soll in der Nacht ermordet werden?", "Nickname")}
else {alert('Du bist kein Mafioso!')}
window.setTimeout('sendeText("/mafiabot <b>Mafia:</b> ermordet kaltblütig in der Nacht <font color=red><b>"+ Nickname +"</b></font>!", ""+getCookie("Mafioso")+"")',100)};

//-Für-MafiaSpielleiter-nutzbar-//

//-Hängen
function ddead()
{Nickname = prompt("Wer wird gehängt?", "Nickname")
window.setTimeout('sendeText("<b><font color=red>" + Nickname + "</font> wurde gehängt!<\/b> Und scheidet somit aus dem Spiel aus.", ""+mafiaLeiter+"")',1000)};

//-Neuwahl
function newvote()
{b3();window.setTimeout('sendeText("Eine Neuwahl wurde angesetzt! <input type=Submit value=Wählen onclick=vote();this.disabled=true;><br>", ""+mafiaLeiter+"")',100)};

//-Mafiaspiel beenden
function mclose()
{window.setTimeout('sendeText("/mafia ende", "'+mafiaLeiter+'")',100);window.setTimeout('sendeText("/re", ""+mafiaLeiter+"")',1000)};
Die js Datei in die Ankündigung einbinden

Code: Alles auswählen

<script type="text/javascript" src="http://URL DER JS-DATEI"></script>
Nun müssen noch die Chatbefehle angelegt werden

Der Chatbefehl muss lauten /mafia

Code: Alles auswählen

<script type="text/javascript">if(parent.info){mafiaBefehlsAuswertung('%me%', '%user%')}else{document.write("spielt Mafia")}</script>
Der Chatbefehl muss lauten /plus

Code: Alles auswählen

<script type="text/javascript">if(myNick==strip_tags('%me%')){document.write('%user%')}</script>
Der Chatbefehl muss lauten /mafiabot

Code: Alles auswählen

<script type='text/javascript'>if(parent.info){document.write('</td>');tds=document.getElementsByTagName('td');tds[tds.length-1].style.display='none'; document.write('<td>')}</script>%user%

Wenn ihr das habt solltet ihr auch einmal aus eurem Chat auslogen und wieder neu reinkommen, damit das Script geladen wird.


Um jetzt ein Mafiaspiel zu starten gebt ihr einfach den Befehl ein /mafia start
nach eingabe dieses Befehls läuft eine anmelde Zeit von 20 Sekunden danach wird einem der Button für den Mafia-Bot gezeigt, damit startet ihr das Spielleiterscript. Was zuvor immer mit einem Befehl aufgerufen wurde.

Durch das starten des Spielleiterscript wird das Mafiaspiel moderiert und es werden den Spielern Buttons angezeigt um ihre Aufgabe der entsprechenden Rolle zu erleichtern.
Dem Admin werden weitere Buttons gezeigt die nur er sehen kann er kann damit die Tageszeit weiterspulen oder bei der Tagesabstimmung den mit den meisten stimmen hängen lassen.

Wichtig: Beendet das Spiel mit dem Button Spiel-Ende, dadurch wird das laufende Spiel beendet und bewirkt das die OL neu geladen wird.

HAVE FUN!

tingtong

Re: Mafiaspiel

Ungelesener Beitrag von tingtong » 29.11.2009, 15:24

Code: Alles auswählen

('sendeText("/re", ""+mafiaLeiter+"")',1000)};
Es gibt keinen Befehl namens /re und dadurch hängt sich bei mir immer das Spiel auf sodass ich es rausnehmen musste. Außerdem nervt es immer auf "weiter" zu drücken. Das Spiel sollte erkennen können wenn entsprechendes passiert ist damit man nicht ständig zugucken muss.

Folgenden Vorschlag von Barci Keksi würde ich auch befürworten:
Kann man es so machen, dass nicht der Detektiv sein Tipp abgibt,
sondern jeder, das dann sowas kommt wie
der Detektiv button, nur mit 'Tipp Abgabe'

Wo jeder tipps abgeben kann,

Nickname (Manuel eintragen)

Nicht verdächtig O
Ziemlich Unterdächtig O
Etwas Unverdächtig O
Leicht verdächtig O
Etwas verdächtig O
Sehr verdächtig O
(Zum einkreuzen)

Die Bürger Bekommen (Manuell) vom Spielleiter ein tipp
über ein spieler.


So das es etwas interesannter//Schwerer wird :)
Beim normalen Mafia ist das ja auch so das jeder Tipps äußern kann denn wenn das nur der Detektiv macht dann hat die Mafia kaum eine Chance. Außerdem wäre es besser wenn mehr als 5 Spieler teilnehmen könnten, das heißt es gäbe mehr Bürger und mehr Mafiosis die sich untereinander kennen und zusammen in der Nacht abstimmen wer getötet werden soll. Das würde viel mehr Spaß bringen.

InvaderX
Beiträge: 49
Registriert: 21.08.2009, 00:10

Re: Mafiaspiel

Ungelesener Beitrag von InvaderX » 05.12.2009, 21:35

Joar das mit den Tipps abgeben das es jeder kann könnte bzw. würde ich hinbekommen. Nur ich versteh eines nicht an wenn gehen die Tipps oder werden die sichtbar in den Chat gepostet?
Und wie meint ihr das mit dem Spielleiter?

Mit dem re da muss ich mal gucken ob man das nicht irgendwie anders machen kann notfalls per cls oder mir schwebt da ne ide rum nur ich weiß net ob ich das so hinbekomme. Bin ja kein 1. FC Keller :lol:

Antworten

Wer ist online?

Mitglieder in diesem Forum: Ahrefs [Bot] und 3 Gäste