Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- |------------------------------|
- | [FS] Calculator by TiNcH010 |
- |------------------------------|
- */
- #include <a_samp>
- #pragma tabsize 0 // We avoid the warning "Loose identiation".
- #define Calculator_Menu 9357 // Dialog ID - Calculator menu. (change if desired)
- enum PCalculation
- {
- Add,
- AddedBy,
- Subtract,
- BySubtraction,
- Multiply,
- MultiplyBy,
- Divide,
- DivideBy,
- Root
- }
- new PCalculate[MAX_PLAYERS][PCalculation];
- #define FILTERSCRIPT
- #if defined FILTERSCRIPT
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print("====Dialog Calculator By TiNcH010====");
- print("--------------------------------------\n");
- return 1;
- }
- #endif
- public OnPlayerConnect(playerid)
- {
- PCalculate[playerid][Add] = 0;
- PCalculate[playerid][AddedBy] = 0;
- PCalculate[playerid][Subtract] = 0;
- PCalculate[playerid][BySubtraction] = 0;
- PCalculate[playerid][Multiply] = 0;
- PCalculate[playerid][MultiplyBy] = 0;
- PCalculate[playerid][Divide] = 0;
- PCalculate[playerid][DivideBy] = 0;
- PCalculate[playerid][Root] = 0;
- return 1;
- }
- public OnPlayerDisconnect(playerid)
- {
- PCalculate[playerid][Add] = 0;
- PCalculate[playerid][AddedBy] = 0;
- PCalculate[playerid][Subtract] = 0;
- PCalculate[playerid][BySubtraction] = 0;
- PCalculate[playerid][Multiply] = 0;
- PCalculate[playerid][MultiplyBy] = 0;
- PCalculate[playerid][Divide] = 0;
- PCalculate[playerid][DivideBy] = 0;
- PCalculate[playerid][Root] = 0;
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256], idx;
- cmd = strtok(cmdtext, idx);
- if(strcmp(cmd, "/calculator", true) == 0) {
- ShowPlayerDialog(playerid, Calculator_Menu, DIALOG_STYLE_LIST, "{33CCFF}Calculator Menu {FFFFFF}| {33CCFF}Choose one item","{FF0066}Add {FFFFFF}(+)\n{FF0066}Subtract {FFFFFF}(-)\n{FF0066}Multiply {FFFFFF}(*)\n{FF0066}Divide {FFFFFF}(/)\n{FF0066}Square Root",">>>","Cancel");
- return 1; }
- return 0;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == Calculator_Menu)
- {
- if(response)
- {
- if(listitem == 0)
- {
- new Calculator[128+1];
- format(Calculator,128,"{33FFFF}Calculator: Put the number you want to add.\n\n\n\t1\t2\t3\n\t4\t5\t6\n\t7\t8\t9\n\t#\t0\t*");
- ShowPlayerDialog(playerid, Calculator_Menu+1, DIALOG_STYLE_INPUT, "{EE7777}Calculate. [Add]",Calculator,"+","Go Back");
- }
- if(listitem == 1)
- {
- new Calculator[128+1];
- format(Calculator,128,"{33FFFF}Calculator: Put the number you want to subtract.\n\n\n\t1\t2\t3\n\t4\t5\t6\n\t7\t8\t9\n\t#\t0\t*");
- ShowPlayerDialog(playerid, Calculator_Menu+3, DIALOG_STYLE_INPUT, "{EE7777}Calculate. [Subtract]",Calculator,"-","Go Back");
- }
- if(listitem == 2)
- {
- new Calculator[128+1];
- format(Calculator,128,"{33FFFF}Calculator: Put the number you want to multiply.\n\n\n\t1\t2\t3\n\t4\t5\t6\n\t7\t8\t9\n\t#\t0\t*");
- ShowPlayerDialog(playerid, Calculator_Menu+5, DIALOG_STYLE_INPUT, "{EE7777}Calculate. [Multiplication]",Calculator,"*","Go Back");
- }
- if(listitem == 3)
- {
- new Calculator[128+1];
- format(Calculator,128,"{33FFFF}Calculator: Put the number you want to divide.\n\n\n\t1\t2\t3\n\t4\t5\t6\n\t7\t8\t9\n\t#\t0\t*");
- ShowPlayerDialog(playerid, Calculator_Menu+7, DIALOG_STYLE_INPUT, "{EE7777}Calculate. [Division]",Calculator,"/","Go Back");
- }
- if(listitem == 4)
- {
- new Calculator[128+1];
- format(Calculator,128,"{33FFFF}Calculator: Put the number you want to get the root.\n\n\n\t1\t2\t3\n\t4\t5\t6\n\t7\t8\t9\n\t#\t0\t*");
- ShowPlayerDialog(playerid, Calculator_Menu+9, DIALOG_STYLE_INPUT, "{EE7777}Calculate. [Square Root]",Calculator,"Root","Go Back");
- }
- }
- return 1;
- }
- if(dialogid == Calculator_Menu+1)
- {
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, Calculator_Menu+1, DIALOG_STYLE_INPUT, "{FF0000}Invalid Spaces","{FFFFFF}Please enter a number you'll earn after","+","Go Back");
- new MResult = strval(inputtext);
- PCalculate[playerid][Add] = MResult;
- new Calculator[128+1];
- format(Calculator,128,"{33FFFF}Calculator: Put the number you want to add.\n\n\n\t1\t2\t3\n\t4\t5\t6\n\t7\t8\t9\n\t#\t0\t*");
- ShowPlayerDialog(playerid,Calculator_Menu+2,DIALOG_STYLE_INPUT,"{EE7777}Calculate. [Add]",Calculator,"=","Go Back");
- }
- if(!response)
- {
- PCalculate[playerid][Add] = 0;
- ShowPlayerDialog(playerid, Calculator_Menu, DIALOG_STYLE_LIST, "{33CCFF}Calculator Menu {FFFFFF}| {33CCFF}Choose one item","{FF0066}Add {FFFFFF}(+)\n{FF0066}Subtract {FFFFFF}(-)\n{FF0066}Multiply {FFFFFF}(*)\n{FF0066}Divide {FFFFFF}(/)\n{FF0066}Square Root",">>>","Cancel");
- }
- return 1;
- }
- if(dialogid == Calculator_Menu+2)
- {
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, Calculator_Menu+1, DIALOG_STYLE_INPUT, "{FF0000}Invalid Spaces","{FFFFFF}Please enter a number you'll earn after","+","Go Back");
- new MResult2 = strval(inputtext);
- PCalculate[playerid][AddedBy] = MResult2;
- new result[128];
- format(result, sizeof(result), "{FF9966}The result of: {FFFFFF}%d + %d {FF9966}is: {33FF66}%d", PCalculate[playerid][Add], PCalculate[playerid][AddedBy], PCalculate[playerid][Add]+PCalculate[playerid][AddedBy]);
- ShowPlayerDialog(playerid, Calculator_Menu, DIALOG_STYLE_MSGBOX, "Result:", result, "Ok", "Exit");
- }
- if(!response)
- {
- PCalculate[playerid][AddedBy] = 0;
- new Calculator[128+1];
- format(Calculator,128,"{33FFFF}Calculator: Put the number you want to add.\n\n\n\t1\t2\t3\n\t4\t5\t6\n\t7\t8\t9\n\t#\t0\t*");
- ShowPlayerDialog(playerid,Calculator_Menu+1,DIALOG_STYLE_INPUT,"{EE7777}Calculate. [Add]",Calculator,"+","Go Back");
- }
- return 1;
- }
- if(dialogid == Calculator_Menu+3)
- {
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, Calculator_Menu+3, DIALOG_STYLE_INPUT, "{FF0000}Invalid Spaces","{FFFFFF}Please enter a number you then subtract","-","Go Back");
- new MResult = strval(inputtext);
- PCalculate[playerid][Subtract] = MResult;
- new Calculator[128+1];
- format(Calculator,128,"{33FFFF}Calculator: Put the number you want to subtract.\n\n\n\t1\t2\t3\n\t4\t5\t6\n\t7\t8\t9\n\t#\t0\t*");
- ShowPlayerDialog(playerid,Calculator_Menu+4,DIALOG_STYLE_INPUT,"{EE7777}Calculate. [Subtract]",Calculator,"=","Go Back");
- }
- if(!response)
- {
- PCalculate[playerid][Subtract] = 0;
- ShowPlayerDialog(playerid, Calculator_Menu, DIALOG_STYLE_LIST, "{33CCFF}Calculator Menu {FFFFFF}| {33CCFF}Choose one item","{FF0066}Add {FFFFFF}(+)\n{FF0066}Subtract {FFFFFF}(-)\n{FF0066}Multiply {FFFFFF}(*)\n{FF0066}Divide {FFFFFF}(/)\n{FF0066}Square Root",">>>","Cancel");
- }
- return 1;
- }
- if(dialogid == Calculator_Menu+4)
- {
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, Calculator_Menu+3, DIALOG_STYLE_INPUT, "{FF0000}Invalid Spaces","{FFFFFF}Please enter a number you then subtract","-","Atras");
- new MResult2 = strval(inputtext);
- PCalculate[playerid][BySubtraction] = MResult2;
- new result[128];
- format(result, sizeof(result), "{FF9966}The result of: {FFFFFF}%d - %d {FF9966}is: {33FF66}%d", PCalculate[playerid][Subtract], PCalculate[playerid][BySubtraction], PCalculate[playerid][Subtract]-PCalculate[playerid][BySubtraction]);
- ShowPlayerDialog(playerid, Calculator_Menu, DIALOG_STYLE_MSGBOX, "Result:", result, "Ok", "Exit");
- }
- if(!response)
- {
- PCalculate[playerid][BySubtraction] = 0;
- new Calculator[128+1];
- format(Calculator,128,"{33FFFF}Calculator: Put the number you want to subtract.\n\n\n\t1\t2\t3\n\t4\t5\t6\n\t7\t8\t9\n\t#\t0\t*");
- ShowPlayerDialog(playerid,Calculator_Menu+3,DIALOG_STYLE_INPUT,"{EE7777}Calculate. [Subtract]",Calculator,"-","Go Back");
- }
- return 1;
- }
- if(dialogid == Calculator_Menu+5)
- {
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, Calculator_Menu+5, DIALOG_STYLE_INPUT, "{FF0000}Invalid Spaces","{FFFFFF}Please enter a number you are then multiplied","*","Atras");
- new MResult = strval(inputtext);
- PCalculate[playerid][Multiply] = MResult;
- new Calculator[128+1];
- format(Calculator,128,"{33FFFF}Calculator: Put the number you want to multiply.\n\n\n\t1\t2\t3\n\t4\t5\t6\n\t7\t8\t9\n\t#\t0\t*");
- ShowPlayerDialog(playerid,Calculator_Menu+6,DIALOG_STYLE_INPUT,"{EE7777}Calculate. [Multiplication]",Calculator,"=","Go Back");
- }
- if(!response)
- {
- PCalculate[playerid][Multiply] = 0;
- ShowPlayerDialog(playerid, Calculator_Menu, DIALOG_STYLE_LIST, "{33CCFF}Calculator Menu {FFFFFF}| {33CCFF}Choose one item","{FF0066}Add {FFFFFF}(+)\n{FF0066}Subtract {FFFFFF}(-)\n{FF0066}Multiply {FFFFFF}(*)\n{FF0066}Divide {FFFFFF}(/)\n{FF0066}Square Root",">>>","Cancel");
- }
- return 1;
- }
- if(dialogid == Calculator_Menu+6)
- {
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, Calculator_Menu+5, DIALOG_STYLE_INPUT, "{FF0000}Invalid Spaces","{FFFFFF}Please enter a number you are then multiplied","*","Atras");
- new MResult2 = strval(inputtext);
- PCalculate[playerid][MultiplyBy] = MResult2;
- new result[128];
- format(result, sizeof(result), "{FF9966}The result of: {FFFFFF}%d * %d {FF9966}is: {33FF66}%0.6f", PCalculate[playerid][Multiply], PCalculate[playerid][MultiplyBy], floatmul(PCalculate[playerid][Multiply],PCalculate[playerid][MultiplyBy]));
- ShowPlayerDialog(playerid, Calculator_Menu, DIALOG_STYLE_MSGBOX, "Result:", result, "Ok", "Exit");
- }
- if(!response)
- {
- PCalculate[playerid][MultiplyBy] = 0;
- new Calculator[128+1];
- format(Calculator,128,"{33FFFF}Calculator: Put the number you want to multiply.\n\n\n\t1\t2\t3\n\t4\t5\t6\n\t7\t8\t9\n\t#\t0\t*");
- ShowPlayerDialog(playerid,Calculator_Menu+5,DIALOG_STYLE_INPUT,"{EE7777}Calculate. [Multiplication]",Calculator,"*","Go Back");
- }
- return 1;
- }
- if(dialogid == Calculator_Menu+7)
- {
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, Calculator_Menu+7, DIALOG_STYLE_INPUT, "{FF0000}Invalid Spaces","{FFFFFF}Please enter a number that will divide after","/","Go Back");
- new MResult = strval(inputtext);
- PCalculate[playerid][Divide] = MResult;
- new Calculator[128+1];
- format(Calculator,128,"{33FFFF}Calculator: Put the number you want to divide.\n\n\n\t1\t2\t3\n\t4\t5\t6\n\t7\t8\t9\n\t#\t0\t*");
- ShowPlayerDialog(playerid,Calculator_Menu+8,DIALOG_STYLE_INPUT,"{EE7777}Calculate. [Division]",Calculator,"=","Go Back");
- }
- if(!response)
- {
- PCalculate[playerid][Divide] = 0;
- ShowPlayerDialog(playerid, Calculator_Menu, DIALOG_STYLE_LIST, "{33CCFF}Calculator Menu {FFFFFF}| {33CCFF}Choose one item","{FF0066}Add {FFFFFF}(+)\n{FF0066}Subtract {FFFFFF}(-)\n{FF0066}Multiply {FFFFFF}(*)\n{FF0066}Divide {FFFFFF}(/)\n{FF0066}Square Root",">>>","Cancel");
- }
- return 1;
- }
- if(dialogid == Calculator_Menu+8)
- {
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, Calculator_Menu+7, DIALOG_STYLE_INPUT, "{FF0000}Invalid Spaces","{FFFFFF}Please enter a number that will divide after","/","Go Back");
- new MResult2 = strval(inputtext);
- PCalculate[playerid][DivideBy] = MResult2;
- new result[128];
- format(result, sizeof(result), "{FF9966}The result of: {FFFFFF}%d / %d {FF9966}is: {33FF66}%0.6f", PCalculate[playerid][Divide], PCalculate[playerid][DivideBy], floatdiv(PCalculate[playerid][Divide],PCalculate[playerid][DivideBy]));
- ShowPlayerDialog(playerid, Calculator_Menu, DIALOG_STYLE_MSGBOX, "Result:", result, "Ok", "Exit");
- }
- if(!response)
- {
- PCalculate[playerid][DivideBy] = 0;
- new Calculator[128+1];
- format(Calculator,128,"{33FFFF}Calculator: Put the number you want to divide.\n\n\n\t1\t2\t3\n\t4\t5\t6\n\t7\t8\t9\n\t#\t0\t*");
- ShowPlayerDialog(playerid,Calculator_Menu+7,DIALOG_STYLE_INPUT,"{EE7777}Calcular. [Division]",Calculator,"/","Go Back");
- }
- return 1;
- }
- if(dialogid == Calculator_Menu+9)
- {
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, Calculator_Menu+9, DIALOG_STYLE_INPUT, "{FF0000}Invalid Spaces","{FFFFFF}Please enter a number to obtain a consistent square root","Root","Go Back");
- new MResult = strval(inputtext);
- PCalculate[playerid][Root] = MResult;
- new result[128];
- format(result, sizeof(result), "{FF9966}The result of: {FFFFFF}Root of %d{FF9966}is: {33FF66}%0.6f", PCalculate[playerid][Root], floatsqroot(PCalculate[playerid][Root]));
- ShowPlayerDialog(playerid, Calculator_Menu, DIALOG_STYLE_MSGBOX, "Result:", result, "Ok", "Exit");
- }
- if(!response)
- {
- PCalculate[playerid][Root] = 0;
- ShowPlayerDialog(playerid, Calculator_Menu, DIALOG_STYLE_LIST, "{33CCFF}Calculator Menu {FFFFFF}| {33CCFF}Choose one item","{FF0066}Add {FFFFFF}(+)\n{FF0066}Subtract {FFFFFF}(-)\n{FF0066}Multiply {FFFFFF}(*)\n{FF0066}Divide {FFFFFF}(/)\n{FF0066}Square Root",">>>","Cancel");
- }
- return 1;
- }
- return 1;
- }
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' ')) {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
- /*
- **********************
- * End FS Calculator *
- **********************
- */
- // To www.forum.sa-mp.com
Advertisement
Add Comment
Please, Sign In to add comment