Hallo,
mit diesem Thread veröffentliche ich meinen Taschenrechner.
Der Taschenrechner kann via /taschenrechner gestartet werden. Es startet ein Dialog, in dem man Zahl 1 eingibt, danach Zahl 2, und danach dann die Rechenart (Plus,Minus,Geteilt & Mal). Das Ganze ist NICHT GETESTET und muss noch in euren Gamemode eingebaut werden. Supportet wird das ganze von mir nicht, es ist mehr ein (fertig brauchbarer) Codeschnipsel. Wenn ihr nicht wisst, wie man das einbaut, dann schaut euch bitte die Grundlagen an
Ansonsten viel Spaß mit dem wirklich kleinen Script.
LG
Phyber
//Phybers Taschenrechner - ungetestet!
#error "Farbe einsetzten nicht vergessen!"; //Wenn ihr alles in grün wollt, diese Zeile einfach löschen.
#include <sscanf> //Ich denke mal das sollte klar sein
#define Farbe 0x99ff99ff //habe jetzt einfach mal grün für alles genommen (:
#define Zahl1_Dia 1 //Dialog für die erste Zahl
#define zahl2_Dia 2 //Dialog für die zahl2te Zahl
#define Rechenart_Dia 3 //Dialog zum auswählen der Rechenart (+,-,*,/)
#define Farbe 0x99ff99ff //habe jetzt einfach mal grün für alles genommen (:
#define Zahl1_Dia 1 //Dialog für die erste Zahl
#define zahl2_Dia 2 //Dialog für die zahl2te Zahl
#define Rechenart_Dia 3 //Dialog zum auswählen der Rechenart (+,-,*,/)
new Zahl1[MAX_PLAYERS];
new zahl2[MAX_PLAYERS];
new zahl2[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
Zahl1[playerid] = 0;
zahl2[playerid] = 0;
return 1;
}
{
Zahl1[playerid] = 0;
zahl2[playerid] = 0;
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
Zahl1[playerid] = 0;
zahl2[playerid] = 0;
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid==1)
{
if(response==0)
{
SendClientMessage(playerid, FARBE, "Du hast den Vorgang abgebrochen.") ;
return 1;
}
if(response==1)
{
Zahl1[playerid]=inputtext;
ShowPlayerDialog(playerid,2, DIALOG_STYLE_INPUT, "Taschenrechner", "Bitte gebe Zahl 2 ein:", "Weiter", "Abbrechen");
return 1;
}
}
if (dialogid==2)
{
if(response==0)
{
SendClientMessage(playerid, FARBE, "Du hast den Vorgang abgebrochen.") ;
return 1;
}
if(response==1)
{
Zahl2[playerid]=inputtext;
ShowPlayerDialog(playerid,3, DIALOG_STYLE_LIST,"Taschenrechner", "Addieren (+)\nSubtrahieren (-)\nMultiplizieren (*)\nDividieren (/)", "Ergebnis", "Abbrechen");
return 1;
}
}
if (dialogid==3)
{
if(response==0)
{
SendClientMessage(playerid, FARBE, "Du hast den Vorgang abgebrochen.") ;
return 1;
}
if(response==1)
{
switch(listitem)
{
new string[40];
case 0: //Addieren
{
format(string,sizeof(string,"[Addieren] %i + %i = %i",Zahl1,zahl2,Zahl1+zahl2))
SendClientMessage(playerid,FARBE,string);
}
case 1: //Subtrahieren
{
format(string,sizeof(string,"[Subtraktion] %i - %i = %i",Zahl1,zahl2,Zahl1-zahl2))
SendClientMessage(playerid,FARBE,string);
}
case 2: //Multiplizieren
{
format(string,sizeof(string,"[Multiplikation] %i * %i = %i",Zahl1,zahl2,Zahl1*zahl2))
SendClientMessage(playerid,FARBE,string);
}
case 3: //Dividieren
{
format(string,sizeof(string,"[Dividieren] %i / %i = %i",Zahl1,zahl2,Zahl1/zahl2))
SendClientMessage(playerid,FARBE,string);
}
}
}
return 1;
}
{
Zahl1[playerid] = 0;
zahl2[playerid] = 0;
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if (dialogid==1)
{
if(response==0)
{
SendClientMessage(playerid, FARBE, "Du hast den Vorgang abgebrochen.") ;
return 1;
}
if(response==1)
{
Zahl1[playerid]=inputtext;
ShowPlayerDialog(playerid,2, DIALOG_STYLE_INPUT, "Taschenrechner", "Bitte gebe Zahl 2 ein:", "Weiter", "Abbrechen");
return 1;
}
}
if (dialogid==2)
{
if(response==0)
{
SendClientMessage(playerid, FARBE, "Du hast den Vorgang abgebrochen.") ;
return 1;
}
if(response==1)
{
Zahl2[playerid]=inputtext;
ShowPlayerDialog(playerid,3, DIALOG_STYLE_LIST,"Taschenrechner", "Addieren (+)\nSubtrahieren (-)\nMultiplizieren (*)\nDividieren (/)", "Ergebnis", "Abbrechen");
return 1;
}
}
if (dialogid==3)
{
if(response==0)
{
SendClientMessage(playerid, FARBE, "Du hast den Vorgang abgebrochen.") ;
return 1;
}
if(response==1)
{
switch(listitem)
{
new string[40];
case 0: //Addieren
{
format(string,sizeof(string,"[Addieren] %i + %i = %i",Zahl1,zahl2,Zahl1+zahl2))
SendClientMessage(playerid,FARBE,string);
}
case 1: //Subtrahieren
{
format(string,sizeof(string,"[Subtraktion] %i - %i = %i",Zahl1,zahl2,Zahl1-zahl2))
SendClientMessage(playerid,FARBE,string);
}
case 2: //Multiplizieren
{
format(string,sizeof(string,"[Multiplikation] %i * %i = %i",Zahl1,zahl2,Zahl1*zahl2))
SendClientMessage(playerid,FARBE,string);
}
case 3: //Dividieren
{
format(string,sizeof(string,"[Dividieren] %i / %i = %i",Zahl1,zahl2,Zahl1/zahl2))
SendClientMessage(playerid,FARBE,string);
}
}
}
return 1;
}
if(strcmp("/rechner"),cmdtext))
{
Zahl1[playerid] = 0;
zahl2[playerid] = 0;
ShowPlayerDialog(playerid,1, DIALOG_STYLE_INPUT, "Taschenrechner", "Bitte gebe Zahl 1 ein:", "Weiter", "Abbrechen");
return 1;
}
{
Zahl1[playerid] = 0;
zahl2[playerid] = 0;
ShowPlayerDialog(playerid,1, DIALOG_STYLE_INPUT, "Taschenrechner", "Bitte gebe Zahl 1 ein:", "Weiter", "Abbrechen");
return 1;
}