Error al compilar un plugin de amx 1.8.2 a 1.9
#1
Tengo un problema compile un plugin que edite hace bastante tiempo en 1.8.2 y lo trate de adaptar en 1.9 y me sale un warning

Cita:AMX Mod X Compiler 1.9.0.5234
Copyright © 1997-2006 ITB CompuPhase
Copyright © 2004-2013 AMX Mod X Team

C:\Users\adj1\Desktop\Modo kreedz AMX 1.8.2\addons\amxmodx\scripting\kz_jumpplugin.sma(3075) : warning 225: unreachable code
Header size: 5668 bytes
Code size: 106296 bytes
Data size: 112712 bytes
Stack/heap size: 16384 bytes
Total requirements: 241060 bytes

1 Warning.
Done.
[Finished in 2.8s]

dejo adjunto el sma para que lo vean en caso de que influya en algo.


Archivos adjuntos
.sma   Descargar AMXX / kz_jumpplugin.sma (Tamaño: 106.22 KB / Descargas: 9)
Responder
#2
Cambiando el stock por este, deja de tirar el warning, no afectaba en este caso pero igual te lo dejo para que no tire el warning

Código PHP:
stock fm_set_entity_flags(indexflagonoff
{
    new 
iRet 0flags pev(indexpev_flags);

    if ((
flags flag) > 0)
        
iRet onoff == set_pev(indexpev_flagsflags flag);
    else
        
iRet onoff == set_pev(indexpev_flagsflags flag);

    return 
iRet;

[Imagen: bvpq9q-6.png]

NO DOY AYUDA VIA MENSAJE PRIVADO

* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Responder
#3
Código PHP:
stock fm_set_entity_flags(indexflagonoff)
{
    new 
flags pev(indexpev_flags);
    if ((
flags flag) > 0)
        return 
onoff == set_pev(indexpev_flagsflags flag);
    else
        return 
onoff == set_pev(indexpev_flagsflags flag);

    return 
0;


Probablemente modificaron el compilador en 1.9.0 y lo hicieron un poco más inteligente.
Se da cuenta que el 'return 0;' es innecesario ya que si o si tiene que entrar por el if, o por el else, y en ambas hay un return.

En versiones viejas si no me equivoco, si sacabas ese 'return 0;', el compilador te daba un warning diciendo 'function should return a value'.
Responder
#4
Gracias kikizon y a ti KISKE por la aclaración.
Responder
#5
(13/11/2018, 03:54 PM)KISKE escribió: En versiones viejas si no me equivoco, si sacabas ese 'return 0;', el compilador te daba un warning diciendo 'function should return a value'.
No te equivoás, así era. Y era un rompedero de bolas.
[Imagen: paypalqr.png]
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)