¿Por qué se cierra el servidor con este comando?
#1

Cuando pongo /armario y algo como indica el comando se cierra la consola de una vez, por qué carajos?

Код:
CMD:armario(playerid, params[])
{
	new
	    Casa = EstaEnCasa[playerid];
	if(Casa == -1) return SendClientMessage(playerid, COLOR_ROJO, "* No estás en el interior de una propiedad.");
	if(sscanf(params, "s[128]I(-1)", params[0], params[1])) return SendClientMessage(playerid, COLOR_PIEL, "* Debes indicar parámetros para el comando(/armario), formato:  /armario [Ver/Sacar/Guardar]");
	if(strfind(params[0], "guardar", true) != -1)
	{
		if(InformacionJugador_[playerid][pEnRopero] <= 0) return SendClientMessage(playerid, COLOR_ROJO, "* No estás en el armario de ninguna propiedad.");
		if(BolsilloID[playerid][11] == 0) return SendClientMessage(playerid, COLOR_ROJO, "* No tienes nada en la mano derecha para guardar en el armario.");
		for(new s = 0; s < 15; s++)
		{
			InformacionCasa_[Casa][casArmarioID][s] = BolsilloID[playerid][11], InformacionCasa_[Casa][casArmarioTipo][s] = BolsilloTipo[playerid][11], InformacionCasa_[Casa][casArmarioCant][s] = BolsilloCantidad[playerid][11];
			new
				string[80];
			format(string, sizeof(string), "* %s deja u%s en el armario.", NombreJugador(playerid), ObtenerNombreObjeto(InformacionCasa_[Casa][casArmarioID][s]));
    		ProxDetector(10, playerid, string, 0xC2A2DAAA, 0xC2A2DAAA, 0xC2A2DAAA, 0xC2A2DAAA, 0xC2A2DAAA);
			QuitarObjeto(playerid, 11), ActualizarAttach(playerid), GuardarBolsillos_(playerid), GuardarArmario_(Casa);
			return 1;
		}
		SendClientMessage(playerid, COLOR_ROJO, "* El armario de esta propiedad está lleno.");
		return 1;
	}
	else if(strfind(params[0], "sacar", true) != -1)
	{
		if(sscanf(params, "s[128]i", params[0], params[1])) return SendClientMessage(playerid, COLOR_PIEL, "* Debes indicar parámetros para el comando(/armario), formato:  /armario sacar [Espacio]");
		if(InformacionJugador_[playerid][pEnRopero] <= 0) return SendClientMessage(playerid, COLOR_ROJO, "* No estás en el armario de ninguna propiedad.");
		if(BolsilloID[playerid][11] != 0 && BolsilloID[playerid][12] != 0) return SendClientMessage(playerid, COLOR_ROJO, "* Debes tener al menos una mano vacía para sacar un objeto.");
		if(!(1 <= params[1] <= 15)) return SendClientMessage(playerid, COLOR_ROJO, "* El espacio tiene que ser entre 1 y 15 o no funcionará.");
		new
	    	Sacar = (params[1]-1);
		DarObjeto(playerid, InformacionCasa_[Casa][casArmarioID][Sacar], InformacionCasa_[Casa][casArmarioTipo][Sacar], InformacionCasa_[Casa][casArmarioCant][Sacar]);
		new
			string[80];
		format(string, sizeof(string), "* %s coge u%s del armario.",NombreJugador(playerid), ObtenerNombreObjeto(InformacionCasa_[Casa][casArmarioID][Sacar]));
		ProxDetector(10, playerid, string, 0xC2A2DAAA, 0xC2A2DAAA, 0xC2A2DAAA, 0xC2A2DAAA, 0xC2A2DAAA);
		InformacionCasa_[Casa][casArmarioID][Sacar] = 0, InformacionCasa_[Casa][casArmarioTipo][Sacar] = 0, InformacionCasa_[Casa][casArmarioCant][Sacar] = 0;
		ActualizarAttach(playerid), GuardarBolsillos_(playerid), GuardarArmario_(Casa);
		return 1;
	}
	else if(strfind(params[0], "ver", true) != -1)
	{
		if(InformacionJugador_[playerid][pEnRopero] <= 0) return SendClientMessage(playerid, COLOR_ROJO, "* No estás en el armario de ninguna propiedad.");
		for(new s = 0; s < 15; s++)
		{
			new
				string[80];
			if(InformacionCasa_[Casa][casArmarioID][s] == 0) format(string, sizeof(string), "[Espacio %d] Vacío", s+1);
			else format(string, sizeof(string), "[Espacio %d] U%s. [Cantidad: %d]", s+1, ObtenerNombreObjeto(InformacionCasa_[Casa][casArmarioID][s]), InformacionCasa_[Casa][casArmarioCant][s]);
			SendClientMessage(playerid, COLOR_GRIS, string);
		}
		return 1;
	}
	return 1;
}
Reply
#2

Ayuda por favor.... por qué se cae el servidor.
Reply
#3

Quote:
Originally Posted by Fagrinht
Посмотреть сообщение
Ayuda por favor.... por quй se cae el servidor.
Anda comentando secciones de codigo hasta que deje de crashear.

Cuando comentes una seccion, y deja de crashear, el error esta ahi.
Entonces comentas linea por linea hasta que deje de crashear.
Asi encontraras la linea del error, la publicas y la vemos
Reply
#4

Lo mejor es poner un printf por lнnea, de esa forma puedes ver donde estб el crash. A veces es algo que esta a simple vista pero que se te escapa por mбs que lo revises.

P.D.: Creo que el crash estб en el sscanf
Reply
#5

prueba a ir aislando partes del comando usando /* */ y pruebalo de nuevo IG. Si aislas una parte y al utilizarlo no crashea, ya sabes quй estб mal.
Reply
#6

Quote:
Originally Posted by Braun
Посмотреть сообщение
prueba a ir aislando partes del comando usando /* */ y pruebalo de nuevo IG. Si aislas una parte y al utilizarlo no crashea, ya sabes quй estб mal.
lo mismo que dije yo... no tiene sentido vovler a publicarlo
Reply
#7

Fнjate en el server.cfg si antes de cerrarse la consola da algъn warning ya que creo que tu error estб en "s[128]I(-1)"
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)