Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //dCalc by Dominik. ist ein simples Taschenrechner Filterscript.
- #include <a_samp>
- #include <sscanf>
- #define DIALOG_CALC_AUSWAHL 1
- #define DIALOG_CALC_ADDITION_1 2
- #define DIALOG_CALC_ADDITION_2 3
- #define DIALOG_CALC_ERGEBNIS 4
- #define DIALOG_CALC_SUBTRAKTION_1 5
- #define DIALOG_CALC_SUBTRAKTION_2 6
- #define DIALOG_CALC_MULTI_1 7
- #define DIALOG_CALC_MULTI_2 8
- #define DIALOG_CALC_DIVI_1 9
- #define DIALOG_CALC_DIVI_2 10
- #define GRÜN 0x23FF00FF
- #define ROT 0xE10000FF
- #define ORANGE 0xFF8200FF
- #define CALC_PREIS 0//Preis des Taschenrechners
- new CalcGekauft[MAX_PLAYERS];
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" dCalc by Dominik. geladen ...");
- print("--------------------------------------\n");
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- CalcGekauft[playerid] = 0;
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if (strcmp("/calc", cmdtext, true) == 0)
- {
- if(CalcGekauft[playerid] != 1) return SendClientMessage(playerid,ROT,"Du besitzt keinen Taschenrechner! Du kannst dir aber einen per /buycalc kaufen!");
- ShowPlayerDialog(playerid,DIALOG_CALC_AUSWAHL,DIALOG_STYLE_LIST,"Taschenrechner - Welche Rechenart?","Addition\n\rSubtraktion\r\nMultiplikation\n\rDivision","Auswählen","Abbrechen");
- return 1;
- }
- if(strcmp("/buycalc",cmdtext, true) == 0)
- {
- if(GetPlayerMoney(playerid) >= CALC_PREIS)
- {
- GivePlayerMoney(playerid,-CALC_PREIS); CalcGekauft[playerid] = 1;
- SendClientMessage(playerid,GRÜN,"Du hast dir den Taschenrechner erfolgreich gekauft!");
- return 1;
- }
- else
- {
- new string[64]; format(string,64,"Der Taschenrechner kostet $%d, du hast nur $%d",CALC_PREIS,GetPlayerMoney(playerid));
- SendClientMessage(playerid,ROT,string);
- return 1;
- }
- }
- return 0;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case DIALOG_CALC_AUSWAHL:
- {
- if(!response) return SendClientMessage(playerid,ROT,"Abgebrochen!");
- switch(listitem)
- {
- case 0: return ShowPlayerDialog(playerid,DIALOG_CALC_ADDITION_1,DIALOG_STYLE_INPUT,"Addition - Zahl 1","Gebe hier die 1te Zahl ein:","Weiter","Zurück");
- case 1: return ShowPlayerDialog(playerid,DIALOG_CALC_SUBTRAKTION_1,DIALOG_STYLE_INPUT,"Subtraktion - Zahl 1","Gebe hier die 1te Zahl ein:","Weiter","Zurück");
- case 2: return ShowPlayerDialog(playerid,DIALOG_CALC_MULTI_1,DIALOG_STYLE_INPUT,"Multiplikation - Zahl 1","Gebe hier die 1te Zahl ein:","Weiter","Zurück");
- case 3: return ShowPlayerDialog(playerid,DIALOG_CALC_MULTI_1,DIALOG_STYLE_INPUT,"Division - Zahl 1","Gebe hier die 1te Zahl ein:","Weiter","Zurück");
- }
- }
- case DIALOG_CALC_ADDITION_1:
- {
- if(!response) return ShowPlayerDialog(playerid,DIALOG_CALC_AUSWAHL,DIALOG_STYLE_LIST,"Taschenrechner - Welche Rechenart?","Addition\n\rSubtraktion\r\nMultiplikation\n\r","Auswählen","Abbrechen");
- if(response)
- {
- new Float:zahl1;
- if(sscanf(inputtext,"f",zahl1)) return SendClientMessage(playerid,ROT,"Falscher Input! Verwende z.B. statt 24, 24.0!") && ShowPlayerDialog(playerid,DIALOG_CALC_ADDITION_1,DIALOG_STYLE_INPUT,"Addition - Zahl 1","Gebe hier die 1te Zahl ein:","Weiter","Zurück");
- SetPVarFloat(playerid,"CurrentNumber1",zahl1); SendClientMessage(playerid,ORANGE,"Gebe nun die 2te Zahl ein!");
- ShowPlayerDialog(playerid,DIALOG_CALC_ADDITION_2,DIALOG_STYLE_INPUT,"Addition - Zahl 2","Gebe hier die 2te Zahl ein:","Weiter","Zurück");
- return 1;
- }
- }
- case DIALOG_CALC_ADDITION_2:
- {
- if(!response) return ShowPlayerDialog(playerid,DIALOG_CALC_ADDITION_1,DIALOG_STYLE_INPUT,"Addition - Zahl 1","Gebe hier die 1te Zahl ein:","Weiter","Zurück");
- if(response)
- {
- new Float:zahl2;
- if(sscanf(inputtext,"f",zahl2)) return SendClientMessage(playerid,ROT,"Falscher Input! Verwende z.B. statt 24, 24.0!") && ShowPlayerDialog(playerid,DIALOG_CALC_ADDITION_2,DIALOG_STYLE_INPUT,"Addition - Zahl 2","Gebe hier die 2te Zahl ein:","Weiter","Zurück");
- SetPVarFloat(playerid,"CurrentNumber2",zahl2); SendClientMessage(playerid,ORANGE,"Nun kommt dein Ergebnis!");
- new string[100]; format(string,100,"Art der Rechung: Addition\nRechung: %f + %f\nErgebnis: %f",GetPVarFloat(playerid,"CurrentNumber1"),GetPVarFloat(playerid,"CurrentNumber2"),GetPVarFloat(playerid,"CurrentNumber1") + GetPVarFloat(playerid,"CurrentNumber2"));
- ShowPlayerDialog(playerid,DIALOG_CALC_ERGEBNIS,DIALOG_STYLE_MSGBOX,"Ergebnis",string,"Verlassen","");
- return 1;
- }
- }
- case DIALOG_CALC_ERGEBNIS: return 1;
- case DIALOG_CALC_SUBTRAKTION_1:
- {
- if(!response) return ShowPlayerDialog(playerid,DIALOG_CALC_AUSWAHL,DIALOG_STYLE_LIST,"Taschenrechner - Welche Rechenart?","Addition\n\rSubtraktion\r\nMultiplikation\n\rDivision","Auswählen","Abbrechen");
- if(response)
- {
- new Float:zahl1;
- if(sscanf(inputtext,"d",zahl1)) return SendClientMessage(playerid,ROT,"Falscher Input! Verwende z.B. statt 24, 24.0!") && ShowPlayerDialog(playerid,DIALOG_CALC_SUBTRAKTION_1,DIALOG_STYLE_INPUT,"Subtraktion - Zahl 1","Gebe hier die 1te Zahl ein:","Weiter","Zurück");
- SetPVarFloat(playerid,"CurrentNumber1",zahl1); SendClientMessage(playerid,ORANGE,"Gebe nun die 2te Zahl ein!");
- ShowPlayerDialog(playerid,DIALOG_CALC_SUBTRAKTION_2,DIALOG_STYLE_INPUT,"Subtraktion - Zahl 2","Gebe hier die 2te Zahl ein:","Weiter","Zurück");
- return 1;
- }
- }
- case DIALOG_CALC_SUBTRAKTION_2:
- {
- if(!response) return ShowPlayerDialog(playerid,DIALOG_CALC_SUBTRAKTION_1,DIALOG_STYLE_INPUT,"Subtraktion - Zahl 1","Gebe hier die 1te Zahl ein:","Weiter","Zurück");
- if(response)
- {
- new zahl2;
- if(sscanf(inputtext,"f",zahl2)) return SendClientMessage(playerid,ROT,"Falscher Input! Verwende z.B. statt 24, 24.0!") && ShowPlayerDialog(playerid,DIALOG_CALC_SUBTRAKTION_2,DIALOG_STYLE_INPUT,"Subtraktion - Zahl 2","Gebe hier die 2te Zahl ein:","Weiter","Zurück");
- SetPVarFloat(playerid,"CurrentNumber2",zahl2); SendClientMessage(playerid,ORANGE,"Nun kommt dein Ergebnis!");
- new string[100]; format(string,100,"Art der Rechung: Subtraktion\nRechung: %f - %f\nErgebnis: %f",GetPVarFloat(playerid,"CurrentNumber1"),GetPVarFloat(playerid,"CurrentNumber2"),GetPVarFloat(playerid,"CurrentNumber1") - GetPVarFloat(playerid,"CurrentNumber2"));
- ShowPlayerDialog(playerid,DIALOG_CALC_ERGEBNIS,DIALOG_STYLE_MSGBOX,"Ergebnis",string,"Verlassen","");
- return 1;
- }
- }
- case DIALOG_CALC_MULTI_1:
- {
- if(!response) return ShowPlayerDialog(playerid,DIALOG_CALC_AUSWAHL,DIALOG_STYLE_LIST,"Taschenrechner - Welche Rechenart?","Addition\n\rSubtraktion\r\nMultiplikation\n\r","Auswählen","Abbrechen");
- if(response)
- {
- new Float:zahl1;
- if(sscanf(inputtext,"f",zahl1)) return SendClientMessage(playerid,ROT,"Falscher Input! Verwende z.B. statt 24, 24.0!") && ShowPlayerDialog(playerid,DIALOG_CALC_MULTI_1,DIALOG_STYLE_INPUT,"Multiplikation - Zahl 1","Gebe hier die 1te Zahl ein:","Weiter","Zurück");
- SetPVarFloat(playerid,"CurrentNumber1",zahl1); SendClientMessage(playerid,ORANGE,"Gebe nun die 2te Zahl ein!");
- ShowPlayerDialog(playerid,DIALOG_CALC_MULTI_2,DIALOG_STYLE_INPUT,"Multi - Zahl 2","Gebe hier die 2te Zahl ein:","Weiter","Zurück");
- return 1;
- }
- }
- case DIALOG_CALC_MULTI_2:
- {
- if(!response) return ShowPlayerDialog(playerid,DIALOG_CALC_MULTI_1,DIALOG_STYLE_INPUT,"Multiplikation - Zahl 1","Gebe hier die 1te Zahl ein:","Weiter","Zurück");
- if(response)
- {
- new Float:zahl2;
- if(sscanf(inputtext,"f",zahl2)) return SendClientMessage(playerid,ROT,"Falscher Input! Verwenden z.B. statt 24, 24.0") && ShowPlayerDialog(playerid,DIALOG_CALC_MULTI_2,DIALOG_STYLE_INPUT,"Multiplikation - Zahl 2","Gebe hier die 2te Zahl ein:","Weiter","Zurück");
- SetPVarFloat(playerid,"CurrentNumber2",zahl2); SendClientMessage(playerid,ORANGE,"Nun kommt dein Ergebnis!");
- new string[100]; format(string,100,"Art der Rechung: Multiplikation\nRechung: %f * %f\nErgebnis: %f",GetPVarFloat(playerid,"CurrentNumber1"),GetPVarFloat(playerid,"CurrentNumber2"),GetPVarFloat(playerid,"CurrentNumber1") * GetPVarFloat(playerid,"CurrentNumber2"));
- ShowPlayerDialog(playerid,DIALOG_CALC_ERGEBNIS,DIALOG_STYLE_MSGBOX,"Ergebnis",string,"Verlassen","");
- return 1;
- }
- }
- case DIALOG_CALC_DIVI_1:
- {
- if(!response) return ShowPlayerDialog(playerid,DIALOG_CALC_AUSWAHL,DIALOG_STYLE_LIST,"Taschenrechner - Welche Rechenart?","Addition\n\rSubtraktion\r\nMultiplikation\n\rDivision","Auswählen","Abbrechen");
- if(response)
- {
- new Float:zahl1;
- if(sscanf(inputtext,"f",zahl1)) return SendClientMessage(playerid,ROT,"Falscher Input! Verwende z.B. statt 24, 24.0") && ShowPlayerDialog(playerid,DIALOG_CALC_DIVI_1,DIALOG_STYLE_INPUT,"Division - Zahl 1","Gebe hier die 1te Zahl ein:","Weiter","Zurück");
- SetPVarFloat(playerid,"CurrentNumber1",zahl1); SendClientMessage(playerid,ORANGE,"Gebe nun die 2te Zahl ein!");
- ShowPlayerDialog(playerid,DIALOG_CALC_DIVI_2,DIALOG_STYLE_INPUT,"Division - Zahl 2","Gebe hier die 2te Zahl ein:","Weiter","Zurück");
- return 1;
- }
- }
- case DIALOG_CALC_DIVI_2:
- {
- if(!response) return ShowPlayerDialog(playerid,DIALOG_CALC_DIVI_1,DIALOG_STYLE_INPUT,"Division - Zahl 1","Gebe hier die 1te Zahl ein:","Weiter","Zurück");
- if(response)
- {
- new Float:zahl2;
- if(sscanf(inputtext,"f",zahl2)) return SendClientMessage(playerid,ROT,"Falscher Input! Verwende z.B. statt 24, 24.0") && ShowPlayerDialog(playerid,DIALOG_CALC_DIVI_2,DIALOG_STYLE_INPUT,"Division - Zahl 2","Gebe hier die 2te Zahl ein:","Weiter","Zurück");
- SetPVarFloat(playerid,"CurrentNumber2",zahl2); SendClientMessage(playerid,ORANGE,"Nun kommt dein Ergebnis!");
- new string[100]; format(string,100,"Art der Rechung: Multiplikation\nRechung: %f : %f\nErgebnis: %f",GetPVarFloat(playerid,"CurrentNumber1"),GetPVarFloat(playerid,"CurrentNumber2"),GetPVarFloat(playerid,"CurrentNumber1") / GetPVarFloat(playerid,"CurrentNumber1"));
- ShowPlayerDialog(playerid,DIALOG_CALC_ERGEBNIS,DIALOG_STYLE_MSGBOX,"Ergebnis",string,"Verlassen","");
- return 1;
- }
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement