Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Include
- #include <a_samp>
- #include <a_mysql>
- #include <zcmd>
- #include <YSI\y_va>
- #include <sscanf2>
- #include <streamer>
- #include <foreach>
- // Define
- #define SCM SendClientMessage
- #define GAMEMODE_VERSION "v0.01"
- #define function%0(%1) forward%0(%1); public%0(%1)
- #define KickEx(%1) SetTimerEx ("Kick_Ban", 500, false, "ii", %1, false)
- #define Ban(%1) SetTimerEx ("kick_Ban", 500, false, "ii", %1, true)
- // Color
- #define COLOR_RED 0xFF0000FF
- #define COLOR_LIGHTRED 0xF05D5DFF
- #define COLOR_BLUE 0x0008FFFF
- #define COLOR_LIGHTBLUE 0x05BFFCFF
- #define COLOR_YELLOW 0xFAFA0CFF
- #define COLOR_GREEN 0x09FF00FF
- #define COLOR_LIGHTGREEN 0x13800FFF
- main() {
- print("\n----------------------------------");
- print("The server is starting....");
- print("----------------------------------\n");
- }
- // New
- new PlayerLogTries[MAX_PLAYERS];
- new SQL = -1, gString[1024], gQuery[512];
- function Kick_Ban (playerid, bool: kickban ) return (!kickban) ? Kick (playerid) : Ban (playerid);
- //Enum
- enum {
- DIALOG_REGISTER,
- DIALOG_EMAIL,
- DIALOG_AGE,
- DIALOG_GENDER,
- DIALOG_LOGIN
- };
- enum pInfo {
- pSQLID,
- pName[24],
- pPassword[32],
- pEmail[32],
- pGender,
- pSkin,
- pAge
- };
- new PlayerInfo[MAX_PLAYERS][pInfo];
- //public importante
- public OnGameModeInit() {
- SQL = mysql_connect("localhost", "root", "samp_db", "");
- if(mysql_errno() != 0)
- {
- printf("Conexiunea la baza de date a esuat ---> Server Inchis ~~~");
- }
- else
- {
- printf("Conexiunea la baza de date a reusit!");
- }
- SetGameModeText(GAMEMODE_VERSION);
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid) {
- SpawnPlayer(playerid);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- ResetVars(playerid);
- gQuery[0] = (EOS);
- mysql_format(SQL, gQuery, 256, "SELECT * FROM `users` WHERE `Name` = '%s' LIMIT 1", GetName(playerid));
- mysql_tquery(SQL, gQuery, "CheckAccount", "d");
- return 1;
- }
- public OnPlayerSpawn(playerid) {
- SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
- return 1;
- }
- // Function
- function UpdateVar(playerid, var_name[], var_value) {
- if(playerid == INVALID_PLAYER_ID) return 1;
- gQuery[0] = (EOS);
- mysql_format(SQL, gQuery, 256, "UPDATE `users` SET `%s` = '%d' WHERE `ID` = '%d' LIMIT 1", var_name, var_value, PlayerInfo[pInfo][pSQLID]);
- mysql_tquery(SQL, gQuery, "", "");
- return 1;
- }
- function CheckAccount(playerid) {
- switch(cache_num_rows()) {
- case 0: ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Register", "Acest cont nu este inregistrat!", "Register", "Cancel");
- case 1: ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Te rog sa scrii parola contului tau.", "Login", "Cancel");
- }
- return 1;
- }
- function newAccount(playerid) {
- PlayerInfo[playerid][pSQLID] = cache_insert_id();
- printf("Un nou cont a fost creat in baza de date: %d, %s, %s, %s, %s, %d", PlayerInfo[pInfo][pSQLID], PlayerInfo[pInfo][pName], PlayerInfo[pInfo][pPassword], PlayerInfo[pInfo][pEmail], PlayerInfo[pInfo][pGender], PlayerInfo[pInfo][pAge]);
- return 1;
- }
- function OnPlayerLogin(playerid) {
- switch(cache_num_rows()) {
- case 0: {
- PlayerLogTries[playerid]++;
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Te rog sa scrii parola contului tau.", "Login", "Cancel");
- va_SendClientMessage(playerid, COLOR_LIGHTRED, "Parola incorecta! Mai ai %d/3 incercari", PlayerLogTries[playerid]);
- if(PlayerLogTries[playerid] == 3) return KickEx(playerid);
- }
- case 1: {
- PlayerInfo[playerid][pSQLID] = cache_get_field_content_int(0, "ID");
- PlayerInfo[playerid][pName] = cache_get_field_content_int(0, "Name");
- PlayerInfo[playerid][pGender] = cache_get_field_content_int(0, "Gender");
- PlayerInfo[playerid][pSkin] = cache_get_field_content_int(0, "Skin");
- PlayerInfo[playerid][pAge] = cache_get_field_content_int(0, "Age");
- cache_get_field_content(0, "Email", PlayerInfo[playerid][pEmail]);
- cache_get_field_content(0, "Password", PlayerInfo[playerid][pPassword]);
- va_SendClientMessage(playerid, -1, "Welcome back, %s!", GetName(playerid));
- SpawnPlayer(playerid);
- }
- }
- return 1;
- }
- // Public create
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
- gQuery[0] = (EOS);
- switch(dialogid) {
- case DIALOG_LOGIN: {
- if(!response) return KickEx(playerid);
- mysql_format(SQL, gQuery, 256, "SELECT * FROM `users` WHERE `Name`='%s' AND `Password`='%s' LIMIT 1", GetName(playerid), inputtext);
- mysql_tquery(SQL, gQuery, "OnPlayerLogin", "i");
- }
- case DIALOG_REGISTER: {
- if(!response) return KickEx(playerid);
- if(strlen(inputtext) < 6 || strlen(inputtext) > 32) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Register", "Now you are in the step to register, please put your password below\n\n{ffffff}You must have at least 6 characters and a maximum of 32 characters", "Register", "Cancel");
- format(PlayerInfo[playerid][pPassword], 32, inputtext);
- mysql_format(SQL, gQuery, 256, "INSERT INTO `users` (`Name`, `Password`) VALUES ('%s', '%s')", GetName(playerid), inputtext);
- mysql_tquery(SQL, gQuery, "newAccount", "i", playerid);
- ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email", "Te rog sa-ti introduci adresa de mail pentru a trece mai departe.", "Select", "Cancel");
- }
- case DIALOG_EMAIL: {
- if(!response) {
- ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email", "Te rog sa-ti introduci adresa de mail pentru a trece mai departe.", "Select", "Cancel");
- SendClientMessage(playerid, -1, "Trebuie sa introduci o adresa de mail valida.");
- return 1;
- }
- format(PlayerInfo[playerid][pEmail], 32, inputtext);
- va_SendClientMessage(playerid, -1, "Adresa ta de mail este %s", PlayerInfo[playerid][pEmail]);
- mysql_format(SQL, gQuery, 256, "UPDATE `users` SET `Email` = '%s' WHERE ID = '%d' LIMIT 1", inputtext, PlayerInfo[playerid][pSQLID]);
- mysql_tquery(SQL, gQuery, "", "");
- ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_MSGBOX, "Gender", "Te rog sa iti setezi sexul pentru a trece mai departe.", "Masculin", "Feminin");
- }
- case DIALOG_GENDER: {
- switch(response) {
- case 0: {
- PlayerInfo[playerid][pGender] = 1;
- PlayerInfo[playerid][pSkin] = 12;
- }
- case 1: {
- PlayerInfo[playerid][pGender] = 0;
- PlayerInfo[playerid][pSkin] = 250;
- }
- }
- UpdateVar(playerid, "Skin", PlayerInfo[playerid][pSkin]);
- UpdateVar(playerid, "Gender", PlayerInfo[playerid][pGender]);
- va_SendClientMessage(playerid, -1, "Sexul pe care l-ai selectat este %s.", (PlayerInfo[playerid][pGender] == 0) ? ("Masculin") : ("Feminin"));
- ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Age", "Te rog selecteaza-ti varsta caracterului tau.", "Select", "Cancel");
- }
- case DIALOG_AGE: {
- if(!response) {
- ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Age", "Te rog selecteaza-ti varsta caracterului tau.", "Select", "Cancel");
- SendClientMessage(playerid, -1, "Selecteaza varsta caracterului tau.");
- return 1;
- }
- if(strval(inputtext) < 12 || strval(inputtext) > 60) return ShowPlayerDialog(playerid, DIALOG_AGE, DIALOG_STYLE_INPUT, "Age", "Varsta caracterului tau trebuie sa fie intre 12 si 60 de ani.", "Select", "Cancel");
- PlayerInfo[playerid][pAge] = strval(inputtext);
- UpdateVar(playerid, "Age", PlayerInfo[playerid][pAge]);
- va_SendClientMessage(playerid, -1, "Varsta caracterului tau este %s", PlayerInfo[playerid][pAge]);
- SpawnPlayer(playerid);
- }
- }
- return 1;
- }
- // Stock
- stock ResetVars(playerid) {
- PlayerLogTries[playerid] = 0;
- 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
Advertisement