Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <YSI\y_va>
- #include <zcmd>
- #include <sscanf2>
- #include <a_mysql>
- #define DIALOGO_REGISTRO 1
- #define DIALOGO_EMAIL 2
- #define DIALOGO_REGISTRO2 3
- #define DIALOGO_LOGIN 4
- main()
- {
- print("\n----------------------------------");
- print(" Blank Gamemode by your name here");
- print("----------------------------------\n");
- }
- enum players
- {
- pID,
- pPassword[100],
- pAdmin,
- pEmail[100],
- Float:pPosX,
- Float:pPosY,
- Float:pPosZ,
- Float:pPosA,
- Float:pVida,
- Float:pChaleco,
- };
- new Conecction,PlayerInfo[MAX_PLAYERS][players],Logueado[MAX_PLAYERS];
- public OnGameModeInit()
- {
- Conecction = mysql_connect("localhost","root","nuevoservidor","");
- print("Conectandose con la base de datos...");
- if(mysql_errno() == 0)
- {
- print("El servidor se conecto correctamente a la base de datos...");
- }
- else
- {
- print("El servidor no se conecto a la base de datos debido a un error.");
- }
- SetGameModeText("Blank Script");
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- Variables(playerid);
- BorrarLog(playerid,-1,10);
- new string[150];
- format(string,sizeof(string),"SELECT * FROM `usuarios` WHERE `Nombre`='%s'",NombreJugador(playerid));
- mysql_function_query(Conecction,string,true,"VerificarUsuario","i",playerid);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(Logueado[playerid] == 1)
- {
- GuardarCuenta(playerid);
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if(Logueado[playerid] == 2)
- {
- BorrarLog(playerid,-1,20);
- Logueado[playerid] = 1;
- Mensaje(playerid,-1,"¡Gracias por registrarte en el servidor!");
- Mensaje(playerid,-1,"Tu cuenta fue creada correctamente en la base de datos.");
- Mensaje(playerid,-1,"Puedes usar el comando /ayuda para orientarte mejor.");
- Mensaje(playerid,-1,"Recuerda ayudarnos aportando ideas para crear sistemas y mejorar el servidor.");
- }
- else if(Logueado[playerid] == 0)
- {
- BorrarLog(playerid,-1,20);
- Logueado[playerid] = 1;
- SetPlayerHealth(playerid,PlayerInfo[playerid][pVida]);
- SetPlayerArmour(playerid,PlayerInfo[playerid][pChaleco]);
- SetPlayerPos(playerid,PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ]);
- SetPlayerFacingAngle(playerid,PlayerInfo[playerid][pPosA]);
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new string[250];
- switch(dialogid)
- {
- case DIALOGO_REGISTRO:
- {
- if(response)
- {
- if(strlen(inputtext) < 3) return Mensaje(playerid,-1,"Por lo menos ingresa 3 caracteres."),ShowPlayerDialog(playerid,DIALOGO_REGISTRO,DIALOG_STYLE_INPUT,"Registra tu cuenta","{ffffff}Ingresa una contraseña para poder registrarte en el servidor","Siguiente","Cancelar");
- format(PlayerInfo[playerid][pPassword],100,"%s",inputtext);
- ShowPlayerDialog(playerid,DIALOGO_EMAIL,DIALOG_STYLE_INPUT,"Ingresa un E-mail","{ffffff}Para poder recuperar tu cuenta en caso de perderla o de robo, debes ingresar un E-mail.","Siguiente","Cancelar");
- }
- else Kickear(playerid,"evadir registro");
- }
- case DIALOGO_EMAIL:
- {
- if(response)
- {
- if(strlen(inputtext) < 8 || strfind(inputtext,"@",true) == -1 || strfind(inputtext,".",true) == -1) return Mensaje(playerid,-1,"Por favor, ingresa un E-mail válido."),ShowPlayerDialog(playerid,DIALOGO_EMAIL,DIALOG_STYLE_INPUT,"Ingresa un E-mail","{ffffff}Para poder recuperar tu cuenta en caso de perderla o de robo, debes ingresar un E-mail.","Siguiente","Cancelar");
- format(PlayerInfo[playerid][pEmail],100,"%s",inputtext);
- ShowPlayerDialog(playerid,DIALOGO_REGISTRO2,DIALOG_STYLE_MSGBOX,"IMPORTANTE","{ffffff}El servidor se encuentra en construcción, puede presentar algunos fallos.\nPuedes aportar ideas para mejorar o crear nuevos sistemas.\n\n¡Te registraste correctamente!","Registrarse","Cancelar");
- }
- else Kickear(playerid,"evadir registro");
- }
- case DIALOGO_REGISTRO2:
- {
- format(string,sizeof(string),"INSERT INTO `usuarios` (`Nombre`,`Password`,`Email`) VALUES ('%s','%s','%s')",NombreJugador(playerid),PlayerInfo[playerid][pPassword],PlayerInfo[playerid][pEmail]);
- mysql_function_query(Conecction,string,true,"DarIDCuenta","d",playerid);
- Logueado[playerid] = 2;
- SpawnPlayer(playerid);
- }
- case DIALOGO_LOGIN:
- {
- if(response)
- {
- if(strcmp(PlayerInfo[playerid][pPassword],inputtext) == 0 && strlen(inputtext) > 0)
- {
- SpawnPlayer(playerid);
- }
- else Mensaje(playerid,-1,"La contraseña ingresada no coincide con la de la cuenta."),ShowPlayerDialog(playerid,DIALOGO_LOGIN,DIALOG_STYLE_PASSWORD,"Inicia sesión","{ffffff}Ingresa la contraseña de la cuenta para poder entrar al servidor.","Entrar","Cancelar");
- }
- else Kickear(playerid,"evadir login");
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- /* FUNCIONES */
- BorrarLog(playerid,color,rep)
- {
- for(new i; i < rep; i++)
- {
- Mensaje(playerid,color,"");
- }
- return true;
- }
- stock Mensaje(playerid,colour,format[], va_args<>)
- {
- new str[144];
- va_format(str, sizeof (str), format, va_start<3>);
- SendClientMessage(playerid, colour, str);
- return 1;
- }
- NombreJugador(playerid)
- {
- new name[45];
- GetPlayerName(playerid,name,sizeof(name));
- return name;
- }
- Kickear(playerid,reason[] = "a")
- {
- if(!IsPlayerConnected(playerid)) return 0;
- if(strlen(reason) > 1)
- {
- ChatAdmin(1,-1,"El jugador %s(%d) fue kickeado por %s.",reason);
- }
- return true;
- }
- stock ChatAdmin(rango,color,format[], va_args<>)
- {
- new str[144];
- va_format(str, sizeof (str), format, va_start<3>);
- for(new i, j = GetPlayerPoolSize(); i <= j; i++)
- {
- if(PlayerInfo[i][pAdmin] > rango) SendClientMessage(i, color, str);
- }
- return 1;
- }
- Variables(playerid)
- {
- Logueado[playerid] = 0;
- for(new i; players:i < players; i++) PlayerInfo[playerid][players:i] = 0;
- return true;
- }
- GuardarCuenta(playerid)
- {
- new string[250];
- GetPlayerPos(playerid,PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ]);
- GetPlayerFacingAngle(playerid,PlayerInfo[playerid][pPosA]);
- GetPlayerHealth(playerid,PlayerInfo[playerid][pVida]);
- GetPlayerArmour(playerid,PlayerInfo[playerid][pChaleco]);
- format(string,sizeof(string),"UPDATE `usuarios` SET `PosX`='%f',`PosY`='%f',`PosZ`='%f',`PosA`='%f',`Vida`='%f',`Chaleco`='%f' WHERE `Nombre`='%s'",PlayerInfo[playerid][pPosX],PlayerInfo[playerid][pPosY],PlayerInfo[playerid][pPosZ],PlayerInfo[playerid][pPosA],PlayerInfo[playerid][pVida],PlayerInfo[playerid][pChaleco],NombreJugador(playerid));
- mysql_function_query(Conecction,string,true,"","");
- return true;
- }
- forward VerificarUsuario(playerid);
- public VerificarUsuario(playerid)
- {
- new field,row;
- cache_get_data(row, field);
- if(row)
- {
- new content[40];
- cache_get_field_content(0,"ID",content); PlayerInfo[playerid][pID] = strval(content);
- cache_get_field_content(0,"Password",content); format(PlayerInfo[playerid][pPassword],100,"%s",content);
- cache_get_field_content(0,"Admin",content); PlayerInfo[playerid][pAdmin] = strval(content);
- cache_get_field_content(0,"Email",content); format(PlayerInfo[playerid][pEmail],100,"%s",content);
- cache_get_field_content(0,"PosX",content); PlayerInfo[playerid][pPosX] = floatstr(content);
- cache_get_field_content(0,"PosY",content); PlayerInfo[playerid][pPosY] = floatstr(content);
- cache_get_field_content(0,"PosZ",content); PlayerInfo[playerid][pPosZ] = floatstr(content);
- cache_get_field_content(0,"PosA",content); PlayerInfo[playerid][pPosA] = floatstr(content);
- cache_get_field_content(0,"Vida",content); PlayerInfo[playerid][pVida] = floatstr(content);
- cache_get_field_content(0,"Chaleco",content); PlayerInfo[playerid][pChaleco] = floatstr(content);
- ShowPlayerDialog(playerid,DIALOGO_LOGIN,DIALOG_STYLE_PASSWORD,"Inicia sesión","{ffffff}Ingresa la contraseña de la cuenta para poder entrar al servidor.","Entrar","Cancelar");
- }
- else
- {
- ShowPlayerDialog(playerid,DIALOGO_REGISTRO,DIALOG_STYLE_INPUT,"Registra tu cuenta","{ffffff}Ingresa una contraseña para poder registrarte en el servidor","Siguiente","Cancelar");
- }
- return true;
- }
- forward DarIDCuenta(playerid);
- public DarIDCuenta(playerid)
- {
- PlayerInfo[playerid][pID] = cache_insert_id();
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement