14.03.2016, 17:55
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; }