Portal SAMP
[Ajuda] return Float - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] return Float (/showthread.php?tid=2695)



return Float - GUI_DA_Z5 - 21/08/2022

Queria fazer um sistema de bau com peso por kilos queria saber como posso fazer uma stock para pegar o peso do item 1kg, meio kg ,300 Gramas enfim  ja agradeço desde ja


RE: return Float - MarcosBrazz - 21/08/2022

Código PHP:
stock Float:RetornarPeso()
{
    new 
Float:Peso 1.500;
    return 
Peso;

Código PHP:
printf("Peso retornado: %0.3f"RetornarPeso()); 
Código PHP:
Peso retornado1.500 
Apenas um Exemplo


RE: return Float - GUI_DA_Z5 - 21/08/2022

(21/08/2022 20:07)MarcosBrazz Escreveu:
Código PHP:
stock Float:RetornarPeso()
{
    new 
Float:Peso 1.500;
    return 
Peso;

Código PHP:
printf("Peso retornado: %0.3f"RetornarPeso()); 
Código PHP:
Peso retornado1.500 
Apenas um Exemplo

Bom eu fiz isso só que quando eu retorno uma variavel flutuante da esse aviso warning 213: tag mismatch


RE: return Float - xbruno1000x - 21/08/2022

Código:
forward RetornarPeso(objectid);
public RetornarPeso(objectid)
{
    new Float:Peso;
    switch(objectid)
    {
        case 1212: Peso = 1.5;
    }
    return Peso;
}

Teste dessa forma.

Você deverá inserir case (ID DO OBJETO): Peso = (PESO DO OBJETO);

Para utilizar depois, basta usar RetornarPeso((ID DO OBJETO));


RE: return Float - GUI_DA_Z5 - 22/08/2022

(21/08/2022 23:22)xbruno1000x Escreveu:
Código:
forward RetornarPeso(objectid);
public RetornarPeso(objectid)
{
    new Float:Peso;
    switch(objectid)
    {
        case 1212: Peso = 1.5;
    }
    return Peso;
}

Teste dessa forma.

Você deverá inserir case (ID DO OBJETO): Peso = (PESO DO OBJETO);

Para utilizar depois, basta usar RetornarPeso((ID DO OBJETO));

Bom fiz essa public mais esta com o mesmo problema ele da o aviso quando eu retorno a float 
Código PHP:
forward PesoItem(objectidquantidade);
public 
PesoItem(objectidquantidade)
{
    new Float:Pesoobjectid;
    switch(objectid)
    {
        case 
11745Pesoobjectid 0.010 quantidade//dinheiro sujo
        
case 19936Pesoobjectid 0.050 quantidade//Municao 762
        
case 19995Pesoobjectid 0.040 quantidade//Municao 9mm
        
case 1650:  Pesoobjectid 5.000 quantidade//Gasolina
        
case 18872Pesoobjectid 0.250 quantidade//Celular
        
case 3096:  Pesoobjectid 7.000 quantidade//Kit De Reparo
        
case 1578:  Pesoobjectid 0.045 quantidade//Maconha
        
case 1575:  Pesoobjectid 0.048 quantidade//Crack
        
case 1279:  Pesoobjectid 0.045 quantidade//Cocaina
        
case 1576:  Pesoobjectid 0.047 quantidade//LSD
    }
    return Pesoobjectid;
}

warning 213tag mismatch 



RE: return Float - White_Blue - 22/08/2022

Fiz uma mudança na callback que você criou, teste e veja se funcione.

Código PHP:
forward Float:PesoItem(objectid, quantidade);
public Float:PesoItem(objectid, quantidade)
{
    new Float:Pesoobjectid;
    switch(objectid)
    {
        case 11745: Pesoobjectid = 0.010 * quantidade; //dinheiro sujo
        case 19936: Pesoobjectid = 0.050 * quantidade; //Municao 762
        case 19995: Pesoobjectid = 0.040 * quantidade; //Municao 9mm
        case 1650:  Pesoobjectid = 5.000 * quantidade; //Gasolina
        case 18872: Pesoobjectid = 0.250 * quantidade; //Celular
        case 3096:  Pesoobjectid = 7.000 * quantidade; //Kit De Reparo
        case 1578:  Pesoobjectid = 0.045 * quantidade; //Maconha
        case 1575:  Pesoobjectid = 0.048 * quantidade; //Crack
        case 1279:  Pesoobjectid = 0.045 * quantidade; //Cocaina
        case 1576:  Pesoobjectid = 0.047 * quantidade; //LSD
    }
    return Pesoobjectid;




RE: return Float - GUI_DA_Z5 - 22/08/2022

(22/08/2022 11:33)White_Blue Escreveu: Fiz uma mudança na callback que você criou, teste e veja se funcione.

Código PHP:
[quote pid="10512" dateline="1661178781"]
[
php]forward Float:PesoItem(objectid, quantidade);
public Float:PesoItem(objectid, quantidade)
{
    new Float:Pesoobjectid;
    switch(objectid)
    {
        case 11745: Pesoobjectid = 0.010 * quantidade; //dinheiro sujo
        case 19936: Pesoobjectid = 0.050 * quantidade; //Municao 762
        case 19995: Pesoobjectid = 0.040 * quantidade; //Municao 9mm
        case 1650:  Pesoobjectid = 5.000 * quantidade; //Gasolina
        case 18872: Pesoobjectid = 0.250 * quantidade; //Celular
        case 3096:  Pesoobjectid = 7.000 * quantidade; //Kit De Reparo
        case 1578:  Pesoobjectid = 0.045 * quantidade; //Maconha
        case 1575:  Pesoobjectid = 0.048 * quantidade; //Crack
        case 1279:  Pesoobjectid = 0.045 * quantidade; //Cocaina
        case 1576:  Pesoobjectid = 0.047 * quantidade; //LSD
    }
    return Pesoobjectid;



o aviso do return resolveu mas agora tá dando aviso na foward já troquei de nome mais não consegui resolver
Código PHP:
forward Float:PesoItem(objectidquantidade); //warning 208: function with tag result used before definition, forcing reparse
public Float:PesoItem(objectidquantidade)
{
    new Float:Pesoobjectid;
    switch(objectid)
    {
        case 11745Pesoobjectid 0.010 quantidade//dinheiro sujo
        case 19936Pesoobjectid 0.050 quantidade//Municao 762
        case 19995Pesoobjectid 0.040 quantidade//Municao 9mm
        case 1650:  Pesoobjectid 5.000 quantidade//Gasolina
        case 18872Pesoobjectid 0.250 quantidade//Celular
        case 3096:  Pesoobjectid 7.000 quantidade//Kit De Reparo
        case 1578:  Pesoobjectid 0.045 quantidade//Maconha
        case 1575:  Pesoobjectid 0.048 quantidade//Crack
        case 1279:  Pesoobjectid 0.045 quantidade//Cocaina
        case 1576:  Pesoobjectid 0.047 quantidade//LSD
    }
    return Pesoobjectid;




RE: return Float - White_Blue - 22/08/2022

(22/08/2022 11:52)GUI_DA_Z5 Escreveu:
(22/08/2022 11:33)White_Blue Escreveu: Fiz uma mudança na callback que você criou, teste e veja se funcione.

Código PHP:
[quote pid="10512" dateline="1661178781"]
[
php]forward Float:PesoItem(objectid, quantidade);
public Float:PesoItem(objectid, quantidade)
{
    new Float:Pesoobjectid;
    switch(objectid)
    {
        case 11745: Pesoobjectid = 0.010 * quantidade; //dinheiro sujo
        case 19936: Pesoobjectid = 0.050 * quantidade; //Municao 762
        case 19995: Pesoobjectid = 0.040 * quantidade; //Municao 9mm
        case 1650:  Pesoobjectid = 5.000 * quantidade; //Gasolina
        case 18872: Pesoobjectid = 0.250 * quantidade; //Celular
        case 3096:  Pesoobjectid = 7.000 * quantidade; //Kit De Reparo
        case 1578:  Pesoobjectid = 0.045 * quantidade; //Maconha
        case 1575:  Pesoobjectid = 0.048 * quantidade; //Crack
        case 1279:  Pesoobjectid = 0.045 * quantidade; //Cocaina
        case 1576:  Pesoobjectid = 0.047 * quantidade; //LSD
    }
    return Pesoobjectid;



o aviso do return resolveu mas agora tá dando aviso na foward já troquei de nome mais não consegui resolver
Código PHP:
forward Float:PesoItem(objectidquantidade); //warning 208: function with tag result used before definition, forcing reparse
public Float:PesoItem(objectidquantidade)
{
    new Float:Pesoobjectid;
    switch(objectid)
    {
        case 11745Pesoobjectid 0.010 quantidade//dinheiro sujo
        case 19936Pesoobjectid 0.050 quantidade//Municao 762
        case 19995Pesoobjectid 0.040 quantidade//Municao 9mm
        case 1650:  Pesoobjectid 5.000 quantidade//Gasolina
        case 18872Pesoobjectid 0.250 quantidade//Celular
        case 3096:  Pesoobjectid 7.000 quantidade//Kit De Reparo
        case 1578:  Pesoobjectid 0.045 quantidade//Maconha
        case 1575:  Pesoobjectid 0.048 quantidade//Crack
        case 1279:  Pesoobjectid 0.045 quantidade//Cocaina
        case 1576:  Pesoobjectid 0.047 quantidade//LSD
    }
    return Pesoobjectid;


Esse warning é por que você usou a callback em algum lugar antes da definição, procure pelo nome da callback em comandos, e coloque após da definição da callback.