open.mp forum
[Ayuda] error 022: must be lvalue (non-constant) - Printable Version

+ open.mp forum (https://forum.open.mp)
-- Forum: Other languages (https://forum.open.mp/forumdisplay.php?fid=23)
--- Forum: Spanish/Espa?ol (https://forum.open.mp/forumdisplay.php?fid=24)
---- Forum: Programaci?n (https://forum.open.mp/forumdisplay.php?fid=51)
---- Thread: [Ayuda] error 022: must be lvalue (non-constant) (/showthread.php?tid=1608)



[Ayuda] error 022: must be lvalue (non-constant) - Kaiser - 2021-01-28

Buenas madrugadas jaja, bueno, ac? tengo un error que no he podido solucionar, alguien podr?a decirme que podr?a ser y c?mo lo soluciono.



Code:
(54132) : error 022: must be lvalue (non-constant)



Este es el c?digo completo.



Code:
//**************************************************************************

CMD:regaloatodos(playerid)

{

if(Staff(playerid,Director)) return 1;

{

if (Regalo)

{

new string[128];

format(string, sizeof(string), "{474747}[ADMINISTRACI?N]{FFFFFF} %s envi? regalos a todo el servidor.", NombreJugador(playerid));

MensajeAll(CxVERDE, string);

Regalo = 0; // Linea del error

foreach(Player, i) { RegaloTodos(i); }

} else return Mensaje(playerid, 0, "212", "Este comando ya fue usado, puedes usarlo en el pr?ximo pago diario.");

}

return 1;

}

/// Sistema de regalos actualizado

stock RegaloTodos(playerid) {

? ? new gift = Random(1, 3);

? ? switch(gift) {

? ? ? ? case 1: {

? ? ? ? ? ? ? ? DarDinero(playerid, 2500);

? ? ? ? ? ? ? ? Mensaje(playerid, 2, "0", "Felicidades - recibiste $250 del regalo!");

? ? ? ? ? ? }

? ? ? ? case 2: {

? ? ? ? ? ? ? ? InfoUsuario[playerid][uExperiencia] = 2;

? ? ? ? ? ? ? ? Mensaje(playerid, 2, "0", "Felicidades - recibiste dos puntos de experiencia del regalo!");

? ? ? ? ? ? }

? ? ? ? case 3: {

? ? ? ? ? ? ? ? InfoUsuario[playerid][uExperiencia] = 1;

? ? ? ? ? ? ? ? Mensaje(playerid, 2, "0", "Felicidades - recibiste un punto de experiencia del regalo!");

? ? ? ? ? ? }

? ? ? ? default: return RegaloTodos(playerid);

? ? }

? ? return 1;

}



RE: [Ayuda] error 022: must be lvalue (non-constant) - Leonardo - 2021-01-28

Eso ser? porque la variable "Regalo" estar? definida como constante, es decir:

Code:
const Regalo = 0;

en lugar de:

Code:
new Regalo = 0;

por lo que no vas a poder sobre-escribir el valor de esa variable.

De pasada vi otro error, que no te va a tirar ningun error al compilar, y seguramente te puedas tirar horas buscando porque no funciona (a mi nunca me paso, le paso a un amigo de un amigo, jeje).

Mira

Code:
if(Staff(playerid,Director)) return 1;
{

Si lo que quieres es comprobar si el jugador es staff, quita ese "return 1;", de lo contrario, todo jugador que no sea staff va poder usar ese comando.


RE: [Ayuda] error 022: must be lvalue (non-constant) - Kaiser - 2021-01-29

Gracias hermano, jaja vale ya lo cambiare.