Portal SAMP
[Ajuda] Enums - 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] Enums (/showthread.php?tid=3494)



Enums - 0xFF4500 - 02/04/2023

Ola pessoal.

as variaveis dentro dos enums sao globais? fiz esse codigo aqui

Código:
CriarVelocimetro(playerid)
{
    new vehicleid = GetPlayerVehicleID(playerid);
    PlayerTextDrawSetString(playerid, PTD_Velocimetro[playerid][3], GetVehicleName(vehicleid));
    if(!VehicleData[vehicleid][engine])
    {
        new engine, lights, alarm, doors, bonnet, boot, objective;
        GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
        SetVehicleParamsEx(vehicleid, 0, lights, alarm, doors, bonnet, boot, objective);
    }
    PlayerData[playerid][TimerVelocimetro] = SetPlayerTimerEx(playerid, "teste_", 500, true, "ii", playerid, vehicleid);
}

mas o compilador ta gerando esse erro

Código:
downfall/velocimetro.txt(133) : warning 219: local variable "engine" shadows a variable at a preceding level
downfall/velocimetro.txt(134) : error 035: argument type mismatch (argument 2)
downfall/velocimetro.txt(133) : warning 203: symbol is never used: "engine"

pelo que entendi ele ta reclamando que ja tem uma variavel em nivel superior com o mesmo nome, mas a unica variavel superior é uma global de um enum.

Código:
enum e_VehicleData
{
    FuelType,
    Float:FuelAmount,
    Float:Mileage,
    OwnerType,
    OwnerID,
    Float:lx,
    Float:ly,
    Float:lz,
    sql,
    bool:engine
}

new VehicleData[MAX_VEHICLES][e_VehicleData];

eu sei que o enum em si é global, mas cada variavel dentro dele tambem !?


RE: Enums - White_Blue - 02/04/2023

A variável local 'engine' está sendo usada dentro do mesmo escopo que a variável global, basta mudar o nome da variável.

Código PHP:
bool:init 



RE: Enums - xbruno1000x - 02/04/2023

Se você criar uma variável global com um nome, não pode criar uma variável local com nome similar. Basta alterar o new engine para outro nome.


RE: Enums - 0xFF4500 - 02/04/2023

Entendi, obrigado