Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ///////////////////////////////////////////////////////////////
- // Simple Base Admin System ///////////////////////////////////
- ///////////////////////////////////////////////////////////////
- #include <a_samp>
- #include <dudb>
- #define COLOR_RED 0xFF0000AA
- #define COLOR_YELLOW 0xFFFF00AA
- #define COLOR_GREEN 0x00FF00AA
- new logged[MAX_PLAYERS];
- new adminlevel[MAX_PLAYERS];
- new money[MAX_PLAYERS];
- new playername[MAX_PLAYER_NAME];
- main()
- {
- print("===============================");
- print("");
- print("===============================");
- }
- public OnGameModeInit()
- {
- SetGameModeText("Blank Script");
- AddPlayerClass(93, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraPos(playerid, 1968.3783, 1345.1572, 17.3746);
- SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- logged[playerid] = 0;
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if(logged[playerid] == 0)
- {
- SendClientMessage(playerid, COLOR_RED, "You are not logged in! Use /login [password]!");
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256],tmp[256], tmp2[256];
- new idx;
- new string[256];
- cmd = strtok(cmdtext, idx);
- GetPlayerName(playerid, playername, sizeof(playername));
- if(strcmp(cmd, "/register", true) == 0)
- {
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /register (password)");
- }
- else
- {
- if (!dini_Exists(udb_encode(playername)))
- {
- dini_Create(udb_encode(playername));
- dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
- dini_IntSet(udb_encode(playername), "adminlevel", 0);
- dini_IntSet(udb_encode(playername), "money", 0);
- format(string, sizeof(string), "Account %s created! You can now login with /login %s", playername, tmp);
- SendClientMessage(playerid, COLOR_YELLOW, string);
- }
- else
- {
- format(string, sizeof(string), "%s is already registered.", playername,tmp);
- SendClientMessage(playerid, COLOR_RED, string);
- }
- }
- return 1;
- }
- if(strcmp(cmd, "/login", true) == 0)
- {
- if(logged[playerid] == 1)
- {
- SendClientMessage(playerid, COLOR_RED, "You are already logged in!");
- return 1;
- }
- tmp = strtok(cmdtext, idx);
- if(!strlen(tmp))
- {
- SendClientMessage(playerid, COLOR_YELLOW, "USAGE: /login [password]");
- }
- else
- {
- if (dini_Exists(udb_encode(playername)))
- {
- tmp2 = dini_Get(udb_encode(playername), "password");
- if (udb_hash(tmp) != strval(tmp2))
- {
- SendClientMessage(playerid, COLOR_RED, "Wrong/Invalid Password!");
- }
- else
- {
- logged[playerid] = 1;
- money[playerid] = dini_Int(udb_encode(playername), "money");
- adminlevel[playerid] = dini_Int(udb_encode(playername), "adminlevel");
- format(string, sizeof(string), "%s, you are now logged in . You got admin level %d and have %d dollar", playername, adminlevel[playerid], money[playerid]);
- SendClientMessage(playerid, COLOR_GREEN, string);
- GivePlayerMoney(playerid, money[playerid]);
- }
- }
- else
- {
- format(string, sizeof(string), "You are not registerid Type /register [password] to create an account!", playername);
- SendClientMessage(playerid, COLOR_RED, string);
- }
- }
- return 1;
- }
- if(strcmp(cmd, "/makemeadmin", true) == 0)
- {
- if(IsPlayerAdmin(playerid))
- {
- if(logged[playerid] == 1)
- {
- if(adminlevel[playerid] != 3)
- {
- adminlevel[playerid] = 5;
- SendClientMessage(playerid, COLOR_GREEN, "You are now maxlevel admin!");
- }
- else
- {
- SendClientMessage(playerid, COLOR_RED, "You are already maxlevel admin!");
- }
- }
- else
- {
- SendClientMessage(playerid, COLOR_RED, "Please, first login: /login [password]");
- }
- }
- else
- {
- SendClientMessage(playerid, COLOR_RED, "You must first login with rcon! (/rcon login [rcon-pass])");
- }
- return 1;
- }
- return 0;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- money[playerid] = GetPlayerMoney(playerid);
- dini_IntSet(udb_encode(playername), "money", money[playerid]);
- dini_IntSet(udb_encode(playername), "adminlevel", adminlevel[playerid]);
- logged[playerid] = 0;
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement