• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Ayuda] error 022: must be lvalue (non-constant)
#1
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;

}
  Reply
#2
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.
My nickname in-game is: [L]3O
  Reply
#3
Gracias hermano, jaja vale ya lo cambiare.
  Reply


Forum Jump: