Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <a_mysql>
- #include <zcmd>
- #define mysql_host "localhost"
- #define mysql_db "databasegm"
- #define mysql_user "root"
- #define mysql_pass ""
- #define COLOR_GENANNOUNCE 0xA9C4E4FF
- #define COLOR_WHITE 0xFFFFFFFF
- #define COLOR_YELLOW 0xFFFF00AA
- #define pScorex 0
- forward Update(playerid, type);
- enum
- {
- DIALOG_LOGIN,
- DIALOG_REGISTER
- };
- enum pInfo
- {
- pPass,
- pID
- };
- new P_Data[MAX_PLAYERS][pInfo];
- new handle;
- forward MySQLConnect();
- forward OnPlayerLogin(playerid);
- forward OnLogin(playerid);
- public Update(playerid, type)
- {
- if(IsPlayerConnected(playerid))
- {
- new var[356];
- {
- switch(type)
- {
- case pScorex:
- {
- mysql_format(handle, var, sizeof(var), "UPDATE `users` SET `Score`='%d' WHERE `ID`='%d'",GetPlayerScore(playerid), P_Data[playerid][pID]);
- mysql_tquery(handle,var,"","");
- }
- }
- }
- }
- }
- main()
- {
- print("!!!GM LOADED!!!");
- }
- public MySQLConnect()
- {
- handle = mysql_connect(mysql_host, mysql_user, mysql_db, mysql_pass);
- if(mysql_errno() != 0)
- {
- printf("DB Connection %s failed :( ---> Server closed ~~~", mysql_db);
- SendRconCommand("exit");
- }
- else
- {
- printf("DB Connection '%s' with user '%s' was succeful", mysql_db, mysql_user);
- }
- return 1;
- }
- public OnGameModeInit()
- {
- MySQLConnect();
- SetGameModeText("Game-Mode");
- return 1;
- }
- CMD:gmx(playerid, params[])
- {
- SendRconCommand("gmx");
- }
- public OnGameModeExit()
- {
- mysql_close(handle);
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new query[100];
- mysql_format(handle, query, sizeof(query), "SELECT * FROM users WHERE Name = '%s'", GetName(playerid));
- mysql_tquery(handle, query, "OnPlayerLogin", "i", playerid);
- return 1;
- }
- public OnPlayerLogin(playerid)
- {
- new rows, fields;
- cache_get_data(rows, fields);
- if(rows)
- {
- SendClientMessage(playerid, COLOR_GENANNOUNCE, "SERVER: {FFFFFF}Welcome to test.");
- SendClientMessage(playerid, COLOR_GENANNOUNCE, "SERVER: {FFFFFF}You already have a registered account, please enter your password into the dialog box.");
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "SERVER: Login", "You already have an account. Please enter password for login!", "Logare", "Exit"); }
- else
- {
- SendClientMessage(playerid, COLOR_GENANNOUNCE, "SERVER: {FFFFFF}Welcome to test.");
- SendClientMessage(playerid, COLOR_GENANNOUNCE, "SERVER: {FFFFFF}You aren't registered yet. Please enter your desired password in the dialog box to register.");
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "SERVER: Register", "Your password must exceed 1 character!\n\nWelcome to the test Server.\n\nPlease enter your desired password below!", "Register", "Exit");
- }
- return 1;
- }
- public OnLogin(playerid)
- {
- new rows, fields,temporar[200];
- cache_get_data(rows, fields);
- if(rows)
- {
- P_Data[playerid][pPass] = cache_get_field_content(0, "Password",temporar);
- P_Data[playerid][pID] = cache_get_field_content_int(0, "ID");
- new score = cache_get_field_content_int(0, "Score");
- SetPlayerScore(playerid, score);
- SpawnPlayer(playerid);
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Incorrect Password", "Please enter the corect password for login to server.", "Login", "Exit");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- SetPlayerSkin(playerid, 250);
- SetPlayerPos(playerid, 1800.0381, -1865.3478, 13.5727);
- SetPlayerInterior(playerid,0);
- SetPlayerVirtualWorld(playerid, 0);
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new query[128], ip[25];
- switch(dialogid)
- {
- case DIALOG_REGISTER:
- {
- if(!response)
- return Kick(playerid);
- if(response)
- {
- if(!strlen(inputtext))
- return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Invalid Password", "Please enter a good password to register to the server.", "Register", "Exit");
- GetPlayerIp(playerid, ip, sizeof(ip));
- mysql_format(handle, query, sizeof(query), "INSERT INTO users (Name, Password, IP) VALUES ('%s', '%e', '%s')", GetName(playerid), inputtext, ip);
- mysql_query(handle, query);
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Please enter the password in the box!", "Login", "Exit");
- }
- return 1;
- }
- case DIALOG_LOGIN:
- {
- if(!response)
- return Kick(playerid);
- if(response)
- {
- if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Incorrect Password!", "Please enter the correct password for login to server" ,"Login", "Exit");
- mysql_format(handle, query, sizeof(query), "SELECT * FROM users WHERE Password = '%e' LIMIT 0,1", inputtext);
- mysql_tquery(handle, query, "OnLogin", "i", playerid);
- }
- return 1;
- }
- }
- return 1;
- }
- stock GetName(playerid)
- {
- new Name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, Name, sizeof(Name));
- return Name;
- }
Advertisement
Add Comment
Please, Sign In to add comment