Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //-----------INCLUDES----------//
- #include < a_samp >
- #include < a_mysql >
- #include < YSI\y_master >
- #include < YSI\y_timers >
- #include < YSI\y_commands >
- #include < YSI\y_va >
- #include < YSI\y_iterate >
- #include < YSI\y_hooks >
- #include < YSI\y_bit >
- //
- //-----------MYSQL_CONNECT----------//
- #define MYSQL_HOST 1
- #define MYSQL_LOCALHOST 2
- new MysqlConnected = MYSQL_LOCALHOST;
- //-----------DEFINES----------//
- #define SERVER_VERSION "v0.0.1b"
- #define SERVER_NAME "Nume-Server"
- #define SERVER_COLOR "{39A1C4}"
- #define COLOR_SERVER 0x39A1C4FF
- #define function%0(%1) forward %0(%1); public %0(%1)
- #define SCM SendClientMessage
- #define SCMf va_SendClientMessage
- #define SCMa va_SendClientMessageToAll
- #define KickEx(%0) SetTimerEx("KickPlayerr", 100, 0, "d", %0)
- #define BanExx(%0,%1) SetTimerEx("BanPlayerr", 100, 0, "d", %0)
- //
- //-----------COLORS----------//
- #define COLOR_RED 0xEB2121FF
- #define COLOR_GREEN 0x3ADB2CFF
- #define COLOR_GREY 0xB0B0B0FF
- #define COLOR_WHITE 0xFFFFFFFF
- #define COLOR_BLUE 0x695AE8FF
- #define COLOR_YELLOW 0xE8DC5AFF
- #define COLOR_LRED 0xC22929FF
- //
- //-----------VARIABLES----------//
- //news
- new SQL = -1, gQuery[256], gString[256], IncercariParola[MAX_PLAYERS], JucatorLogat[MAX_PLAYERS], InRegister[MAX_PLAYERS], RegisterStep[MAX_PLAYERS][3],
- InLogin[MAX_PLAYERS], ErrorTimer[MAX_PLAYERS];
- //Player Textdraws
- new PlayerText:RegisterTD[31], PlayerText:LoginTD[6], PlayerText:ErrorTD[2];
- //
- //-----------ENUMS----------//
- enum pInfo {
- pSQLID,pName[MAX_PLAYER_NAME],pPassword[32],pEmail[32],pGender,pReg
- }
- new PlayerInfo[MAX_PLAYERS][pInfo];
- enum {
- //Register
- DIALOG_REGISTER,DIALOG_EMAIL,DIALOG_GENDER,
- //Login
- DIALOG_LOGIN
- //others
- }
- //
- //-----------STOCKS----------//
- stock CalculeazaTimp(secunde) {
- new minute = time/60, secunde2 = time, string[10], time = secunde;
- time = time%60, time = time%3600;
- format(string,sizeof(string),"%02d:%02d",minute,secunde2);
- return string; }
- stock GetName(playerid) {
- new playerName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- return playerName; }
- //
- //-----------SYSTEM INCLUDES----------//
- #include <new\systems.inc>
- //-----------PUBLICS----------//
- public OnGameModeInit() {
- //mysql connect
- if(MysqlConnected == 1) SQL = mysql_connect("", "", "", ""); else SQL = mysql_connect("localhost", "root", "new", "");
- //
- SetGameModeText("RO:RPG "SERVER_VERSION"");
- SetNameTagDrawDistance(30), EnableStuntBonusForAll(0), ShowPlayerMarkers(2), LimitPlayerMarkerRadius(5.0), DisableInteriorEnterExits(), AllowInteriorWeapons(1), UsePlayerPedAnims();
- //ManualVehicleEngineAndLights();
- //loads
- LoadTD();
- LoadObj();
- LoadCommands();
- AddPlayerClass(23, 2780.6936,-1812.8245,11.8438,217.7789, 0, 0, 0, 0, 0, 0);
- return 1; }
- public OnGameModeExit() {
- return 1; }
- public OnPlayerClickTextDraw(playerid, Text:clickedid) {
- if(clickedid == Text:INVALID_TEXT_DRAW) {
- if(InRegister[playerid] != 0) HideRegisterTD(playerid), KickEx(playerid);
- }
- return 1; }
- public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid) {
- gString[0] = EOS;
- if(playertextid == RegisterTD[24]) ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Register:", "Bine ai venit pe "SERVER_NAME"\nNu ai un cont inregistrat pe server!\n\nScrie o parola in casuta de mai jos. "SERVER_COLOR"(6-32 caractere){FFFFFF}", "Register", "Cancel");
- if(playertextid == RegisterTD[25]) ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email:", "Scrie un email in casuta de mai jos.\n\nExemplu: "SERVER_COLOR"antifixmd@gmail.com{FFFFFF}", "Seteaza", "Cancel");
- if(playertextid == RegisterTD[26]) ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_MSGBOX, "Gender:", "Seteaza-ti sex-ul:", "Masculin", "Feminin");
- if(playertextid == RegisterTD[27]) SCM(playerid, COLOR_GREY, "Aceasta sectiune este in lucru... daca ai completat tot apasa pe REGISTER.");
- if(playertextid == RegisterTD[29]) {
- if(RegisterStep[playerid][0] == 0 && RegisterStep[playerid][1] == 0 && RegisterStep[playerid][2] == 0) return SendPlayerError(playerid, "Nu ai completat tot, uitete cu atentie unde nu ai completat.");
- HideRegisterTD(playerid), UpdateVar(playerid, "Reg", 1), ShowLoginTD(playerid);
- for(new i = 0; i < 500; i++) SCM(playerid, -1, " ");
- }
- if(playertextid == RegisterTD[30]) {
- HideRegisterTD(playerid), KickEx(playerid);
- SCM(playerid, COLOR_LRED, "Ai primit kick deoarece ai apasat pe CANCEL.");
- }
- if(playertextid == LoginTD[2]) ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login:", "Bine ai revenit pe "SERVER_NAME"\nAcest nume este deja inregistrat\n\nScrie parola in casuta de mai jos.", "Login", "Cancel");
- return 1; }
- public OnPlayerRequestClass(playerid, classid) {
- if(JucatorLogat[playerid] == 1) SpawnPlayer(playerid);
- return 1; }
- public OnPlayerRequestSpawn(playerid) {
- if(JucatorLogat[playerid] == 1) SpawnPlayer(playerid);
- return 1; }
- public OnPlayerSpawn(playerid) {
- if(JucatorLogat[playerid] == 0) KickEx(playerid);
- return 1; }
- public OnPlayerConnect(playerid) {
- LoadPTD(playerid), LoadRObj(playerid), ResetVariables(playerid);
- gQuery[0] = EOS;
- mysql_format(SQL, gQuery, sizeof(gQuery), "SELECT * FROM `users` WHERE `Name`='%s' LIMIT 1", GetName(playerid));
- mysql_tquery(SQL, gQuery, "checkAccount", "i", playerid);
- return 1; }
- //
- //-----------DIALOG-RESPONSE----------//
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
- switch(dialogid) {
- case DIALOG_REGISTER: {
- if(!response) return 1;
- if(RegisterStep[playerid][0] == 1) return SendPlayerError(playerid, "Ai setat deja parola.");
- if(strlen(inputtext) < 6 || strlen(inputtext) > 32) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Register:", "Bine ai venit pe "SERVER_NAME"\nNu ai un cont inregistrat pe server!\n\nScrie o parola in casuta de mai jos. "SERVER_COLOR"(6-32 caractere){FFFFFF}", "Register", "Cancel");
- gQuery[0] = EOS; gString[0] = EOS;
- mysql_format(SQL, gQuery, sizeof(gQuery), "INSERT INTO `users` (`Name`, `Password`) VALUES ('%s', '%s')", GetName(playerid), inputtext);
- mysql_tquery(SQL, gQuery, "insertAccount", "i", playerid);
- format(PlayerInfo[playerid][pPassword], 32, inputtext);
- RegisterStep[playerid][0] = 1;
- PlayerTextDrawHide(playerid, RegisterTD[24]);
- PlayerTextDrawSetString(playerid, RegisterTD[24], "&&&&&&&&&&&&&&&&&");
- PlayerTextDrawShow(playerid, RegisterTD[24]);
- }
- case DIALOG_EMAIL: {
- if(!response) return 1;
- if(RegisterStep[playerid][1] == 1) return SendPlayerError(playerid, "Ai setat deja email-ul.");
- if(strlen(inputtext) < 6 || strlen(inputtext) > 32) return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email:", "Scrie un email in casuta de mai jos.\n\nExemplu: "SERVER_COLOR"antifixmd@gmail.com{FFFFFF}", "Seteaza", "Cancel");
- gQuery[0] = EOS; gString[0] = EOS;
- mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE `users` SET `Email`='%s' WHERE `ID`='%d'", inputtext, PlayerInfo[playerid][pSQLID]);
- mysql_tquery(SQL, gQuery, "", "");
- format(PlayerInfo[playerid][pEmail], 32, inputtext);
- RegisterStep[playerid][1] = 1;
- PlayerTextDrawHide(playerid, RegisterTD[25]);
- format(gString, sizeof(gString), "%s", inputtext);
- PlayerTextDrawSetString(playerid, RegisterTD[25], gString);
- PlayerTextDrawShow(playerid, RegisterTD[25]);
- }
- case DIALOG_GENDER: {
- if(RegisterStep[playerid][2] == 1) return SendPlayerError(playerid, "Ai setat deja sex-ul.");
- PlayerTextDrawHide(playerid, RegisterTD[26]);
- switch(response) {
- case 0: PlayerInfo[playerid][pGender] = 1, PlayerTextDrawSetString(playerid, RegisterTD[26], "Feminin");
- case 1: PlayerInfo[playerid][pGender] = 2, PlayerTextDrawSetString(playerid, RegisterTD[26], "Masculin"); }
- PlayerTextDrawShow(playerid, RegisterTD[26]);
- gQuery[0] = EOS;
- mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE `users` SET `Gender`='%d' WHERE `ID`='%d'", PlayerInfo[playerid][pGender], PlayerInfo[playerid][pSQLID]);
- mysql_tquery(SQL, gQuery, "", "");
- RegisterStep[playerid][2] = 1;
- }
- case DIALOG_LOGIN: {
- if(!response) return Kick(playerid);
- gQuery[0] = EOS;
- mysql_format(SQL, gQuery, sizeof(gQuery), "SELECT * FROM `users` WHERE `Name`='%s' AND `Password`='%s' LIMIT 1", GetName(playerid), inputtext);
- mysql_tquery(SQL, gQuery, "onLogin", "i", playerid);
- SpawnPlayer(playerid);
- }
- } return 1; }
- //
- //-----------FUNCTIONS----------//
- function ShowLoginTD(playerid) {
- gString[0] = EOS;
- for(new i = 0; i < 6; i++) PlayerTextDrawShow(playerid, LoginTD[i]);
- SelectTextDraw(playerid, COLOR_BLUE), InLogin[playerid] = 1;
- PlayerTextDrawHide(playerid, LoginTD[5]);
- format(gString, sizeof(gString), "%s", GetName(playerid));
- PlayerTextDrawSetString(playerid, LoginTD[5], gString);
- PlayerTextDrawShow(playerid, LoginTD[5]);
- for(new i = 0; i < 500; i++) SCM(playerid, -1, " ");
- return 1; }
- function HideLoginTD(playerid) {
- for(new i = 0; i < 6; i++) PlayerTextDrawHide(playerid, LoginTD[i]);
- CancelSelectTextDraw(playerid), InLogin[playerid] = 0;
- return 1; }
- function UpdateVar(playerid, varname[], ammount) {
- gQuery[0] = EOS;
- mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE `users` SET `%s`='%d' WHERE `ID`='%d'", varname, ammount, PlayerInfo[playerid][pSQLID]);
- mysql_tquery(SQL, gQuery, "", "");
- return 1; }
- function UpdateStr(playerid, varname[], ammount[]) {
- gQuery[0] = EOS;
- mysql_format(SQL, gQuery, sizeof(gQuery), "UPDATE `users` SET `%s`='%s' WHERE `ID`='%d'", varname, ammount, PlayerInfo[playerid][pSQLID]);
- mysql_tquery(SQL, gQuery, "", "");
- return 1; }
- function SendPlayerError(playerid, text[]) {
- gString[0] = EOS; ErrorTimer[playerid] = 5;
- format(gString, sizeof(gString), "~r~(!)~w~ %s", text);
- PlayerTextDrawSetString(playerid, ErrorTD[0], gString);
- for(new i = 0; i < 2; i++) PlayerTextDrawShow(playerid, ErrorTD[i]);
- return 1;
- }
- function ShowRegisterTD(playerid) {
- for(new i = 0; i < 31; i++) PlayerTextDrawShow(playerid, RegisterTD[i]);
- SelectTextDraw(playerid, COLOR_BLUE), InRegister[playerid] = 1;
- for(new i = 0; i < 500; i++) SCM(playerid, -1, " ");
- return 1; }
- function HideRegisterTD(playerid) {
- for(new i = 0; i < 31; i++) PlayerTextDrawHide(playerid, RegisterTD[i]);
- CancelSelectTextDraw(playerid), InRegister[playerid] = 0;
- return 1; }
- function BanPlayerr(playerid,reason[]) Ban(playerid);
- function KickPlayerr(playerid) Kick(playerid);
- function onLogin(playerid) {
- switch(cache_num_rows()) {
- case 0: {
- IncercariParola[playerid] ++;
- SCMf(playerid, COLOR_SERVER, ""SERVER_COLOR"ERROR:{FFFFFF} Parola incorecta, (%d/3) incercari ramase!", IncercariParola[playerid]);
- if(IncercariParola[playerid] == 3) Kick(playerid);
- else ShowLoginTD(playerid);
- } case 1: {
- //-------USERS DATABASE--------//
- new result[64];
- PlayerInfo[playerid][pSQLID] = cache_get_field_content_int(0, "ID");
- PlayerInfo[playerid][pGender] = cache_get_field_content_int(0, "Gender");
- PlayerInfo[playerid][pReg] = cache_get_field_content_int(0, "Reg");
- cache_get_field_content(0, "Name", result); format(PlayerInfo[playerid][pName], MAX_PLAYER_NAME, result);
- cache_get_field_content(0, "Email", result); format(PlayerInfo[playerid][pEmail], 32, result);
- cache_get_field_content(0, "Password", result); format(PlayerInfo[playerid][pPassword], 32, result);
- JucatorLogat[playerid] = 1; HideLoginTD(playerid);
- SetPlayerPos(playerid, 2780.6936,-1812.8245,11.8438);
- SCMf(playerid, COLOR_SERVER, "(SERVER):{FFFFFF} %s bine ai revenit pe server.", GetName(playerid));
- SpawnPlayer(playerid);
- }
- } return 1; }
- function insertAccount(playerid) {
- PlayerInfo[playerid][pSQLID] = cache_insert_id();
- printf("%s s-a inregistrat cu SQLID-ul #%d", GetName(playerid), PlayerInfo[playerid][pSQLID]);
- return 1; }
- function checkAccount(playerid) {
- switch(cache_num_rows()) {
- case 0: ShowRegisterTD(playerid);
- case 1: {
- PlayerInfo[playerid][pReg] = cache_get_field_content_int(0, "Reg");
- if(PlayerInfo[playerid][pReg] == 0) ShowRegisterTD(playerid);
- ShowLoginTD(playerid);
- }
- } return 1; }
- //
- //-----------TASKS----------//
- task OneSecond[1000]() {
- foreach(new i: Player) {
- if(ErrorTimer[i] > 0) {
- ErrorTimer[i] --;
- if(ErrorTimer[i] <= 0) for(new x = 0; x < 2; x++) PlayerTextDrawHide(i, ErrorTD[x]);
- } } }
- //
- //----------COMMANDS-------//
- //
- //----------OTHERS---------//
- main() {}
- #pragma dynamic 65536 //64 KB
- //
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement