[Ajuda] Calculadora
#1

Eu pensei em fazer este sistema de calculadora, porйm estou tendo dificuldades para detectar o caractere:

PHP код:
CMD:calc(playeridparams[])
{
    new
        
String_1,
        
String_2,
        
String[50]
    ;
    
    if(
sscanf(params"ii"String_1String_2)) return SendClientMessage(playerid, -1"• USO » /calc [Valor1] [Sinal] [Valor2]");
    
    if(
strfind(params"*"false) != -1)
    {
        
format(Stringsizeof(String), "Multiplicaзгo: %i * %i = %i"String_1String_2String_1*String_2);
        
SendClientMessage(playerid, -1String);
    }
    else if(
strfind(params"/"false) != -1)
    {
        
format(Stringsizeof(String), "Divisгo: %i / %i = %i"String_1String_2String_1/String_2);
        
SendClientMessage(playerid, -1String);
    }
    else if(
strfind(params"-"false) != -1)
    {
        
format(Stringsizeof(String), "Substraзгo: %i - %i = %i"String_1String_2String_1-String_2);
        
SendClientMessage(playerid, -1String);
    }
    else if(
strfind(params"+"false) != -1)
    {
        
format(Stringsizeof(String), "Adiзгo: %i + %i = %i"String_1String_2String_1+String_2);
        
SendClientMessage(playerid, -1String);
    }
    return 
1;

Realmente funciona, porйm o strfind sу detecta o sinal se estiver no final do chat... Como fazer para detectar em qualquer lugar, ou preferencialmente no meio?

OBS: Nгo quero FS/Scripts de terceiros, apenas uma ajudinha neste sistema!
Reply
#2

Код:
CMD:calc(playerid, params[])
{
    new val[2], sinal[2], String[80];

    if(sscanf(params, "is[2]i", val[0], sinal, val[1])) return SendClientMessage(playerid, -1, "• USO » /calc [Valor1] [Sinal] [Valor2]");

    if(sinal[0] == '*')
    {
        format(String, sizeof(String), "Multiplicaзгo: %i * %i = %i", val[0], val[1], val[0]*val[1]);
        SendClientMessage(playerid, -1, String);
    }
    else if(sinal[0] == '/')
    {
        format(String, sizeof(String), "Divisгo: %i / %i = %.2f", val[0], val[1], Float:val[0]/Float:val[1]);
        SendClientMessage(playerid, -1, String);
    }
    else if(sinal[0] == '-')
    {
        format(String, sizeof(String), "Substraзгo: %i - %i = %i", val[0], val[1], val[0]-val[1]);
        SendClientMessage(playerid, -1, String);
    }
    else if(sinal[0] == '*')
    {
        format(String, sizeof(String), "Adiзгo: %i + %i = %i", val[0], val[1], val[0]+val[1]);
        SendClientMessage(playerid, -1, String);
    }
    return 1;
}
(Editado)
Reply
#3

Muito Obrigado cara, ficou perfeito e ainda usou Float, bem pensado na divisгo!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)