їPor quй al hacer spawn me kickea?
#1

Buenas, al jugador cuando te registras haces spawn perfecto, pero cuando logeas nuevamente que ya estбs registrados te kickea apenas haces spawn їa que se podrнa deber? aquн dejarй el dialogo de login y la funciуn de spawn.

Код:
		case DIALOG_INGRESO:
		{
			if (!response)
			{
				if(!Informacion[playerid][pRegistrado])
				{
					fremove(UserPath(playerid));
					Kick(playerid);
				}
				return 1;
			}
			if(response)
			{
				if(udb_hash(inputtext) == Informacion[playerid][pPass])
				{
                    SetPVarInt(playerid,"Logueado", 1);
                    SetPVarInt(playerid,"TIEMPO_CUENTA", GetTickCount());
   					if(Informacion[playerid][pRegistrado])
					{
						CargarCuenta(playerid);
					}
					else TogglePlayerSpectating(playerid, false);
                }
				else
				{
					ShowPlayerDialog(playerid, DIALOG_INGRESO, DIALOG_STYLE_INPUT,""#CAMARILLO"*"#CBLANCO" Login - Server Roleplay","Introduciste una contraseсa incorrecta.\nTu cuenta esta registrada en nuestra base de datos, Ingrese su contraseсa:","Ingresar","Cancelar");
				}
				return 1;
			}
			else
		        return Kick(playerid);
	    }

CALLBACK: CargarCuenta(playerid)/* Funciуn para cargar la cuenta del Jugador */
{
	new string[98];
	LimpiarPantalla(playerid);
	ResetPlayerMoney(playerid);
	TogglePlayerSpectating(playerid, false);
	SetPlayerPos(playerid, Informacion[playerid][pPosX], Informacion[playerid][pPosY], Informacion[playerid][pPosZ]);
	format(string, sizeof(string), "Server Roleplay »"#CBLANCO" ЎBienvenido a Los Angeles, %s!.", NombreJugador(playerid));
	SendClientMessage(playerid, COLOR_GRIS,string);
	SetPlayerSkin(playerid, Informacion[playerid][pSkin]);
	SetPlayerInterior(playerid, Informacion[playerid][pInterior]);
	SetPlayerVirtualWorld(playerid, Informacion[playerid][pVirtualWorld]);
	SetPlayerHealth(playerid, Informacion[playerid][pVida]);
	SetPlayerArmour(playerid, Informacion[playerid][pChaleco]);
	GivePlayerMoney(playerid, Informacion[playerid][pDinero]);
	SetPVarInt(playerid,"CargoCuenta",1);
	printf("*- Cuenta Cargada: [%s | TIEMPO: %d MS].",NombreJugador(playerid), (GetTickCount() - GetPVarInt(playerid,"TIEMPO_CUENTA")));
	DeletePVar(playerid,"TIEMPO_CUENTA");
    return 1;
}

public OnPlayerSpawn(playerid)
{
	if(!GetPVarInt(playerid, "Logueado"))
	{
		Kick(playerid);
		return 1;
	}
	if(Informacion[playerid][pRegistrado] == false)
	{
		new string[86];
		LimpiarPantalla(playerid);
		SetPlayerHealth(playerid, 100);
		GivePlayerMoney(playerid, 16000);
	    TogglePlayerSpectating(playerid, false);
		Informacion[playerid][pRegistrado] = true;
		Informacion[playerid][pCanalDudas] = 1;
		Informacion[playerid][pTrabajo] = 17;
		SetSpawnInfo(playerid, 0, Informacion[playerid][pSkin], 1722.8127,-1906.5454,13.5647,359.2740, 0, 0, 0, 0, 0, 0);
		if(Informacion[playerid][pSexo] == 1){Informacion[playerid][pSkin] = 60; SetPlayerSkin(playerid, 60);}
		if(Informacion[playerid][pSexo] == 2){Informacion[playerid][pSkin] = 12; SetPlayerSkin(playerid, 12);}
        format(string, sizeof(string), "Server Roleplay »"#CBLANCO" ЎBienvenido a Los Angeles, %s!", NombreJugador(playerid));
		SendClientMessage(playerid, COLOR_GRIS,string);
		SetCameraBehindPlayer(playerid);
		SetPlayerColor(playerid, 0xFFFFFF00);
        SetPVarInt(playerid,"CargoCuenta", 1);
		SetPlayerVirtualWorld(playerid, 0);
		ActualizarCuenta(playerid);
	}
	return 1;
}
Reply
#2

No entiendo muy bien cуmo estб tu sistema, prueba a quitar esta funciуn: Kick(playerid); de algъn lado, a ver.
Reply
#3

Ya lo solucionй.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)