Error en este comando..
#1

Pues, tengo el simple comando para colocarse un estado, con este se coloca un texto arriba de la cabeza, pues al relogear ya no lo tienes, entonces le coloquй un guardado pero en el comando para que guarde el estado, asн lo coloquй en una parte del comando "PlayerInfo[playerid][pEstado] = result;" y me tira "error 006: must be assigned to an array"

Код:
if(strcmp(cmd, "/estado", true) == 0) //Indicar un estado del personaje IC
{
    if(PlayerInfo[playerid][pNivel] < 1) return SendClientMessage(playerid,Rojo,"* Necesitas ser nivel 5 para usar este comando.");
    if(IsPlayerConnected(playerid))
    {
		new length = strlen(cmdtext);
		while ((idx < length) && (cmdtext[idx] <= ' ')){idx++;}
		new offset = idx;
		new result[80];
		while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))){result[idx - offset] = cmdtext[idx]; idx++;}
		result[idx - offset] = EOS;
		if(!strlen(result) && Yo[playerid] != 0)
		{
	    	SendClientMessage(playerid, Naranja, "* /Estado [Texto]");
	    	format(string, sizeof(string), "Estado actual: * %s *", YoTexto[playerid]);
	    	SendClientMessage(playerid, Naranja, string);
	    	return 1;
		}
		if(!strlen(result))
		{
	    	SendClientMessage(playerid, Naranja, "* /Estado [Texto]");
	    	return 1;
		}
		new Float:X, Float:Y, Float:Z;
		GetPlayerPos(playerid, X, Y, Z);
		DestroyDynamic3DTextLabel(Yo3DText[playerid]);
		format(YoTexto[playerid], sizeof(result), result);
                Yo3DText[playerid] = CreateDynamic3DTextLabel(YoTexto[playerid], Rojo, X, Y, (Z + 20.0), 20.0, playerid);
                Streamer_Update(playerid);
                format(string, sizeof(string), "Estado actual: * %s *", result);
		SendClientMessage(playerid, Morado, string);
		PlayerInfo[playerid][pEstado] = result;   // ACБ LA LINEA DEL ERROR.
		SendClientMessage(playerid, Naranja, "* Utiliza /Estadoq para quitбrtelo.");
		Yo[playerid] = 1;
    }
    return 1;
}
Reply
#2

Код:
format(PlayerInfo[playerid][pEstado], sizeof(PlayerInfo[playerid][pEstado]), "%s", result);
Reply
#3

Asн me tira estos errores:

Код:
error 001: expected token: "]", but found "-identifier-"
warning 215: expression has no effect
error 001: expected token: ";", but found "]"
error 029: invalid expression, assumed zero
fatal error 107: too many error messages on one line
Reply
#4

Reemplaza tu lнnea por esta
Код:
format(PlayerInfo[playerid][pEstado], 80, "%s", result);
Reply
#5

Quote:
Originally Posted by Minikole
Посмотреть сообщение
Reemplaza tu lнnea por esta
Код:
format(PlayerInfo[playerid][pEstado], 80, "%s", result);
Pes no me guarda nada
Reply
#6

Tienes que definir la variable de tipo string:

pawn Код:
pEstado[128]
Reply
#7

Quote:
Originally Posted by Tirael
Посмотреть сообщение
Tienes que definir la variable de tipo string:

pawn Код:
pEstado[128]
Seguramente ya tiene la variable definida porque no le salta ningъn error de undefined symbol.

______>

Que no te guarda exactamente? Puedes comprobar que el pEstado recibiу el string poniendo un
Код:
printf("%s",PlayerInfo[playerid][pEstado]);
Igual si puedes especificar un poco mas vendrнa perfecto.
Reply
#8

No guarda, en la consola si sale con la funciуn "printf("%s",PlayerInfo[playerid][pEstado]);" lo que puse en el estado, pero en la base de datos no guarda nada, el guardado esta asн:

Код:
enum pInfo //Informaciуn jugador(Donde se guarda todo)
{
pEstado[128],
};
new PlayerInfo[MAX_PLAYERS][pInfo];

Cargado de Cuenta

PlayerInfo[playerid][pEstado] = cache_get_field_content_int(0, "Estado");

Guardado de cuenta

        new string[1200];
        format(string, sizeof(string), "UPDATE usuarios SET Estado = %s WHERE Nombre = '%s'", PlayerInfo[playerid][pEstado],PlayerInfo[playerid][pNombre]);
    	mysql_query(1, string);
Reply
#9

Remplaza ese format por este

Код:
format(string, sizeof(string), "UPDATE usuarios SET Estado ='%s' WHERE Nombre = '%s'", PlayerInfo[playerid][pEstado],PlayerInfo[playerid][pNombre]);
te olvidaste de las ' ' en el %s
Reply
#10

Quote:
Originally Posted by Minikole
Посмотреть сообщение
Remplaza ese format por este

Код:
format(string, sizeof(string), "UPDATE usuarios SET Estado ='%s' WHERE Nombre = '%s'", PlayerInfo[playerid][pEstado],PlayerInfo[playerid][pNombre]);
te olvidaste de las ' ' en el %s
Ya lo guarda muchas gracias, ahora si tambiйn podrнas ayudarme con el mismo sistema, que cuando conectes al servidor te ponga el estado que tienes guardado en la base de datos, para eso necesitaba que lo guardara para que cuando conectes te ponga el estado que tenнas, me podrнas ayudar con eso..
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)