31.03.2016, 20:08
Buenas, desde ayer he tenido muchos problemas con esto del MYQSL, el que me ayude le darй reputaciуn y las gracias, por favor ayъdenme con esto me tiene un dolor de cabeza, cuando el usuario se registra en mi gamemode crea la cuenta despuйs de terminar el test de rol.
Luego de activar la funciуn de CrearCuenta, va el SpawnPlayer, en OnPlayerSpawn coloquй para que si tienes pRegistrado 0 te manda al spawn del servidor con la bienvenida, normal....
y por si estбs registrados y estбs en jail y eso..
Hasta ahн todo bien, te desconectas y guarda los datos bien, pero cuando quieres logear haces spawn en BlueBerry con cualquier skin y cosas raras, no carga los datos bien, esto se activa despuйs que colocas la contraseсa bien.
їQue hay de malo en eso? eternamente agradecido a quien me ayude a resolver esto.
Код:
stock CrearCuenta(playerid)/* Funciуn para guardar los datos colocados en el registro */ { new query[520]; mysql_format(MySQL, query, sizeof(query), "INSERT INTO `cuentas`(`Usuario`, `Password`, `Email`, `Edad`, `Sexo`, `Registrado`) VALUES ('%s', '%s', '%s', '%i', '%i', 0)", NombreJugador(playerid), Informacion[playerid][pPass], Informacion[playerid][pEmail], Informacion[playerid][pEdad], Informacion[playerid][pSexo]); mysql_query(MySQL, query); return 1; }
Код:
if(Informacion[playerid][pRegistrado] == 0) { new string[86]; LimpiarPantalla(playerid); SetPlayerHealth(playerid, 100); Informacion[playerid][pVida] = 100; GivePlayerMoney(playerid, 16000); Informacion[playerid][pDinero] = 16000; TogglePlayerSpectating(playerid, false); Informacion[playerid][pRegistrado] = 1; Informacion[playerid][pCanalDudas] = 1; Informacion[playerid][pNivel] = 1; SetPlayerScore(playerid, 1); 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), "Bienvenida »"#CBLANCO" ЎBienvenido a Los Santos, %s!", NombreJugador(playerid)); SendClientMessage(playerid, COLOR_GRIS,string); SetCameraBehindPlayer(playerid); SetPlayerInterior(playerid, 0); SetPVarInt(playerid,"CargoCuenta", 1); SetPlayerVirtualWorld(playerid, 0); CongelarJugador(playerid, 6); SetTimerEx("GuardarJugador", 500, false, "d", playerid); }
Код:
if(Informacion[playerid][pRegistrado] != 0) { if(Informacion[playerid][pManoDer] > 0) { PonerObjeto(playerid, 1, Informacion[playerid][pManoDer]); if(ObjetoInfo[Informacion[playerid][pManoDer]][IDArma] > 0) { GivePlayerWeapon(playerid, ObjetoInfo[Informacion[playerid][pManoDer]][IDArma], Informacion[playerid][pManoDerCant]); } } if(Informacion[playerid][pManoIzq] > 0) { PonerObjeto(playerid, 2, Informacion[playerid][pManoIzq]); } if(Informacion[playerid][pEspalda] > 0) { PonerObjeto(playerid, 3, Informacion[playerid][pEspalda]); } if(Informacion[playerid][pJail]) { SetPlayerInterior(playerid, 1); SetPlayerVirtualWorld(playerid, playerid + 1000); SetPlayerPos(playerid, 2263.9739, 1647.4904, 1084.2344); SetCameraBehindPlayer(playerid); } }
Код:
CALLBACK: IngresoJugador(playerid)/* Funciуn para cargar los datos del jugador */ { if(cache_get_row_count() == 0) { ShowPlayerDialog(playerid, DIALOG_INGRESO, DIALOG_STYLE_INPUT, "Ingreso", "ЎError!\n\nLa contraseсa no es correcta.", "Continuar", "Cancelar"); } else { cache_get_field_content(0, "Email", Informacion[playerid][pEmail], MySQL, 4); Informacion[playerid][pDinero] = cache_get_row_int(0, 5); Informacion[playerid][pAdmin] = cache_get_row_int(0, 6); Informacion[playerid][pPosX] = cache_get_row_float(0, 7); Informacion[playerid][pPosY] = cache_get_row_float(0, 8); Informacion[playerid][pPosZ] = cache_get_row_float(0, 9); Informacion[playerid][pVida] = cache_get_row_float(0, 10); Informacion[playerid][pChaleco] = cache_get_row_float(0, 11); Informacion[playerid][pVirtualWorld] = cache_get_row_int(0, 12); Informacion[playerid][pInterior] = cache_get_row_int(0, 13); Informacion[playerid][pBanco] = cache_get_row_int(0, 14); Informacion[playerid][pSexo] = cache_get_row_int(0, 15); Informacion[playerid][pSkin] = cache_get_row_int(0, 16); Informacion[playerid][pNivel] = cache_get_row_int(0, 17); Informacion[playerid][pExperiencia] = cache_get_row_int(0, 18); Informacion[playerid][pEdad] = cache_get_row_int(0, 19); Informacion[playerid][pJail] = cache_get_row_int(0, 20); Informacion[playerid][pJailTiempo] = cache_get_row_int(0, 21); Informacion[playerid][pTrabajo] = cache_get_row_int(0, 22); Informacion[playerid][pNivelBasurero] = cache_get_row_int(0, 23); Informacion[playerid][pExpBasurero] = cache_get_row_int(0, 24); Informacion[playerid][pCanalDudas] = cache_get_row_int(0, 25); Informacion[playerid][pRegistrado] = cache_get_row_int(0, 26); Informacion[playerid][pManoIzq] = cache_get_row_int(0, 27); Informacion[playerid][pManoIzqCant] = cache_get_row_int(0, 28); Informacion[playerid][pManoDer] = cache_get_row_int(0, 29); Informacion[playerid][pManoDerCant] = cache_get_row_int(0, 30); Informacion[playerid][pBol][0] = cache_get_row_int(0, 31); Informacion[playerid][pBol][1] = cache_get_row_int(0, 32); Informacion[playerid][pBol][2] = cache_get_row_int(0, 33); Informacion[playerid][pBol][3] = cache_get_row_int(0, 34); Informacion[playerid][pBol][4] = cache_get_row_int(0, 35); Informacion[playerid][pBol][5] = cache_get_row_int(0, 36); Informacion[playerid][pBol][6] = cache_get_row_int(0, 37); Informacion[playerid][pBol][7] = cache_get_row_int(0, 38); Informacion[playerid][pBolCant][0] = cache_get_row_int(0, 39); Informacion[playerid][pBolCant][1] = cache_get_row_int(0, 40); Informacion[playerid][pBolCant][2] = cache_get_row_int(0, 41); Informacion[playerid][pBolCant][3] = cache_get_row_int(0, 42); Informacion[playerid][pBolCant][4] = cache_get_row_int(0, 43); Informacion[playerid][pBolCant][5] = cache_get_row_int(0, 44); Informacion[playerid][pBolCant][6] = cache_get_row_int(0, 45); Informacion[playerid][pBolCant][7] = cache_get_row_int(0, 46); Informacion[playerid][pEspalda] = cache_get_row_int(0, 47); Informacion[playerid][pEspaldaCant] = cache_get_row_int(0, 48); IngresarJugador(playerid); } return 1; } CALLBACK: IngresarJugador(playerid)/* Funciуn para ingresar jugadores ya registrados */ { new string[98]; LimpiarPantalla(playerid); ResetPlayerMoney(playerid); TogglePlayerSpectating(playerid, false); SetSpawnInfo(playerid, 0, Informacion[playerid][pSkin], Informacion[playerid][pPosX], Informacion[playerid][pPosY], Informacion[playerid][pPosZ], 0.0000, 0, 0, 0, 0, 0, 0); SpawnPlayer(playerid); format(string, sizeof(string), "Everlast 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]); SetPlayerScore(playerid, Informacion[playerid][pNivel]); SetPVarInt(playerid, "CargoCuenta", 1); DeletePVar(playerid, "TIEMPO_CUENTA"); CongelarJugador(playerid, 6); KillTimer(KickLoginTimer[playerid]); return 1; }