SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 03/02/2016, 10:26 PM   #1
F1N4L
High-roller
 
F1N4L's Avatar
 
Join Date: Jun 2013
Location: Brazil
Posts: 2,686
Reputation: 246
Default Calculadora

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

PHP Code:
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!
F1N4L is offline   Reply With Quote
Old 04/02/2016, 01:44 PM   #2
RodrigoMSR
High-roller
 
RodrigoMSR's Avatar
 
Join Date: Mar 2015
Location: Brazil
Posts: 1,042
Reputation: 140
Default Re: Calculadora

Code:
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)
RodrigoMSR is offline   Reply With Quote
Old 04/02/2016, 02:27 PM   #3
F1N4L
High-roller
 
F1N4L's Avatar
 
Join Date: Jun 2013
Location: Brazil
Posts: 2,686
Reputation: 246
Default Re: Calculadora

Muito Obrigado cara, ficou perfeito e ainda usou Float, bem pensado na divisão!
F1N4L is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[FilterScript] Calculadora joaovictor098 Lançamentos/Releases 23 22/03/2014 08:05 AM
[Tool/Web/Other] Calculadora C++ @LucasVinicius Lançamentos/Releases 24 01/02/2013 12:49 AM
[FilterScript] Calculadora em Dialog Gustavob Lançamentos/Releases 14 20/12/2010 04:56 AM
[FilterScript] Calculadora TiagoPS Lançamentos/Releases 9 17/09/2010 03:54 PM


All times are GMT. The time now is 07:32 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.