Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- enum Jugadores{
- Nombre,
- Float:Posicion[3],
- bool:Registro,
- Skin,
- Float:Vida,
- Float:Chaleco,
- Dinero,
- Banco,
- Nivel,
- Exp,
- Trabajo,
- Permiso,
- bool:Conectado
- };
- new Jugador[MAX_PLAYERS][Jugadores];
- public OnPlayerConnect(playerid)
- {
- GameTextForPlayer(playerid, "~w~SA-MP: ~r~[E]~y~[S]~r~[P]~b~DracoRP", 5000, 5);
- GetPlayerName(playerid, Jugador[playerid][Nombre], MAX_PLAYER_NAME);
- printf("Al conectar - %s", Jugador[playerid]);
- // Comprobar si está baneado
- new expire;
- new timestamp;
- new DB_Query[158], Cache:ResultCache_;
- mysql_format(Database, DB_Query, sizeof(DB_Query), "SELECT * FROM bans WHERE name='%s' LIMIT 1",
- Jugador[playerid]
- );
- ResultCache_ = mysql_query(Database, DB_Query);
- // Si esta registrado en la base de datos
- if(cache_num_rows()){
- timestamp = gettime();
- cache_get_value_name_int(0, "expire", expire);
- if(timestamp < expire){
- new faltante = expire - timestamp;
- new secs, mins, hours, days;
- while(faltante > 0){
- if(faltante > 216000){
- days++;
- faltante = faltante - 216000;
- }
- else if(faltante > 3600){
- hours++;
- faltante = faltante - 3600;
- }
- else if(faltante > 60){
- mins++;
- faltante = faltante - 60;
- }
- else{
- secs = faltante;
- faltante = 0;
- }
- }
- new string[144];
- format(string, sizeof(string), "Serás desbaneado en %d días, %d horas, %d minutos, %d segundos", days, hours, mins, secs);
- SendClientMessage(playerid, 0xea0148, string);
- SetTimerEx("DelayedKick", 1000, false, "i", playerid);
- return 1;
- }
- else{
- mysql_format(Database, DB_Query, sizeof(DB_Query), "DELETE FROM bans WHERE name='%s'",
- Jugador[playerid]
- );
- }
- }
- cache_delete(ResultCache_);
- // Cuando se conecte el usuario comprobaremos si esta registrado en la base de datos
- mysql_format(Database, DB_Query, sizeof(DB_Query), "SELECT * FROM accounts WHERE name='%s'",
- Jugador[playerid]
- );
- ResultCache_ = mysql_query(Database, DB_Query);
- // Si esta registrado en la base de datos
- if(cache_num_rows()){
- new str[144];
- format(str, sizeof(str), "%sEscribe la contraseña para ingresar", str);
- ShowPlayerDialog(playerid, DIALOGO_LOGIN, DIALOG_STYLE_PASSWORD, "{1A8CAB} DracoRP {FFFFFF} > Acceso", str, "Aceptar", "Cancelar");
- }
- // Si no esta registrado
- else{
- new str[144];
- format(str, sizeof(str), "%sEscribe la contraseña para tu cuenta", str);
- ShowPlayerDialog(playerid, DIALOGO_REGISTRO, DIALOG_STYLE_PASSWORD, "{1A8CAB} DracoRP {FFFFFF} > Registro > Contraseña", str, "Aceptar", "Cancelar");
- }
- cache_delete(ResultCache_);
- Jugador[playerid][Registro] = false;
- Jugador[playerid][Conectado] = true;
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- // Tras completar el dialogo de registro
- case DIALOGO_REGISTRO:
- {
- if(response){
- new DB_Query[152];
- mysql_format(Database, DB_Query, sizeof(DB_Query), "INSERT INTO accounts (name, password) VALUES ('%s', '%e')",
- Jugador[playerid],
- inputtext
- );
- mysql_pquery(Database, DB_Query);
- // Spawneamos al jugador
- Jugador[playerid][Registro] = true;
- SpawnPlayer(playerid);
- }
- else return Kick(playerid);
- }
- // Tras completar el dialogo de login
- case DIALOGO_LOGIN:
- {
- if(response){
- new DB_Query[151], Cache:ResultCache_;
- printf("Antes Query - %s", Jugador[playerid]);
- mysql_format(Database, DB_Query, sizeof(DB_Query), "SELECT * FROM accounts WHERE name='%s' AND password='%e'",
- Jugador[playerid],
- inputtext
- );
- printf("Tras Query - %s", Jugador[playerid]);
- ResultCache_ = mysql_query(Database, DB_Query);
- if(cache_num_rows()){
- // cache_get_value_name_float(Handle_, Field_, Dest_);
- cache_get_value_name_float(0, "posx", Jugador[playerid][Posicion][0]);
- cache_get_value_name_float(0, "posy", Jugador[playerid][Posicion][1]);
- cache_get_value_name_float(0, "posz", Jugador[playerid][Posicion][2]);
- cache_get_value_name_int(0, "skin", Jugador[playerid][Skin]);
- cache_get_value_name_float(0, "health", Jugador[playerid][Vida]);
- cache_get_value_name_float(0, "armour", Jugador[playerid][Chaleco]);
- cache_get_value_name_int(0, "money", Jugador[playerid][Dinero]);
- cache_get_value_name_int(0, "level", Jugador[playerid][Nivel]);
- cache_get_value_name_int(0, "exp", Jugador[playerid][Exp]);
- cache_get_value_name_int(0, "perms", Jugador[playerid][Permiso]);
- SpawnPlayer(playerid);
- }
- else{
- SendClientMessage(playerid, -1, "Contraseña incorrecta");
- SetTimerEx("DelayedKick", 1000, false, "i", playerid);
- return 1;
- }
- cache_delete(ResultCache_);
- }
- else return Kick(playerid);
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement