Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <dini>
- //#include <dudb>
- #include <sscanf2>
- #include <zcmd>
- #include <foreach>
- #undef MAX_PLAYERS
- #define MAX_PLAYERS 20 //set this to your max players
- #define TEAM_GANG 0
- #define TEAM_LSPD 1
- #define REGISTER_ID 1 // The dialog ID for login
- #define LOGIN_ID 2
- #define SUCCESFULL_ID 3
- #define COLOR_MESSAGE 0x00C7FFAA
- #define COLOR_LIGHTBLUE 0x33CCFFAA
- #define COLOR_BLUE 0x0000BBAA
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_GREEN 0x33AA33AA
- #define COLOR_RED 0xFF0000FF
- #define COLOR_YELLOW 0xFFFF0088
- #define COLOR_ORANGE 0xFF9900AA
- #define COLOR_WHITE 0xFFFFFFAA
- #define COLOR_LIGHTRED 0xFF6347AA
- #define COLOR_LIGHTBLUE 0x33CCFFAA
- #define COLOUR_LIGHTBLUE 0x33CCFFAA
- #define COLOR_LIGHTGREEN 0x9ACD32AA
- #define COLOR_GREEN2 0x33FF33AA
- #define COLOR_ERROR 0xFF0000AA
- #define COLOR_MSG 0x00FFFFFF
- #define COLOR_PINK 0xFF66FFAA
- #define COLOR_WHITE 0xFFFFFFAA
- #define COLOR_GREEN1 0x33AA33AA
- #define COLOR_BROWN 0xA52A2AAA
- #define COLOR_PURPLE 0x800080AA
- #define COLOR_BLACK 0x000000AA
- #define COLOR_GREEN1 0x33AA33AA
- new bool:loggedin[MAX_PLAYERS];
- new bool:serverrestart;
- forward SavePlayer(playerid);
- main()
- {
- print("\n----------------------------------");
- print(" Malvin's DM Server");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- // Don't use these lines if it's a filterscript
- SetGameModeText("My new DM-server");
- AddPlayerClass(21,1442.5562,-1668.0573,13.5469,91.7770,0,0,0,0,0,0); // GANSTER_SPAWN
- AddPlayerClass(285,1515.7882,-1668.3331,14.0469,273.5353,0,0,0,0,0,0); // POLICE_SPAWN
- serverrestart = false;
- return 1;
- }
- public OnGameModeExit()
- {
- /*for(new id; id < 10; id ++)
- {
- print("LOOP BEGIN");
- SavePlayer(id);
- print("LOOP ENDg");
- }*/
- serverrestart = true;
- return 1;
- }
- public SavePlayer(playerid)
- {
- printf("DEBUG: ID%d - STEP 1", playerid);
- if(loggedin[playerid])
- {
- new file[128];
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- format(file,sizeof(file),"/Users/%s.ini",name);
- printf("DEBUG: ID%d - STEP 2", playerid);
- if(dini_Exists(file))
- {
- printf("DEBUG: %d",GetPVarInt(playerid, "admin"));
- dini_IntSet(file, "admin", GetPVarInt(playerid, "admin"));
- dini_IntSet(file, "money", GetPVarInt(playerid, "money"));
- dini_IntSet(file, "score",GetPVarInt(playerid, "score"));
- dini_IntSet(file, "kills",GetPVarInt(playerid, "kills"));
- dini_IntSet(file, "deaths",GetPVarInt(playerid, "deaths"));
- printf("DEBUG: ID%d - STEP 3", playerid);
- }
- }
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerPos(playerid, 1442.5562,-1648.0573,15.5469);
- SetPlayerFacingAngle(playerid, 180);
- SetPlayerCameraPos(playerid, 1442.5562,-1668.0573,15.5469);
- SetPlayerCameraLookAt(playerid, 1442.5562,-1648.0573,15.5469);
- if(loggedin[playerid]) return 1;
- new name[MAX_PLAYER_NAME];
- new file[128];
- GetPlayerName(playerid, name, sizeof(name));
- format(file,sizeof(file),"/Users/%s.ini",name);
- if(!fexist(file))
- {
- ShowPlayerDialog(playerid, REGISTER_ID, DIALOG_STYLE_INPUT, "Register", "Please enter a password to register your account\n\n", "Register", "Exit");
- }
- else
- {
- ShowPlayerDialog(playerid, LOGIN_ID, DIALOG_STYLE_INPUT, "Login", "Please enter a password to login to your account\n\n", "Login", "Exit");
- }
- return 1;
- }
- /*
- Commands Here
- */
- CMD:stats(playerid, params[])
- {
- new string[256];
- format(string, 256, "Stats: Money: $%d || Admin: %d || Score: %d || Kills: %d || Deaths %d", GetPVarInt(playerid, "money"),GetPVarInt(playerid, "admin"), GetPlayerScore(playerid),GetPVarInt(playerid, "kills"),GetPVarInt(playerid, "deaths") );
- SendClientMessage(playerid, 0xFF0000,string);
- return 1;
- }
- CMD:makeadmin(playerid, params[])
- {
- new id, level,string[128],name[MAX_PLAYER_NAME];
- //if(GetPVarInt(playerid, "admin") != 1) return SendClientMessage(playerid, COLOR_RED, "[ERROR] You are not an admin");
- if(sscanf(params,"ii",id,level)) return SendClientMessage(playerid, COLOR_RED, "[ERROR] /makeadmin [Playerid] [Adminlevel]");
- SetPVarInt(id,"admin", level);
- GetPlayerName(playerid, name, MAX_PLAYER_NAME);
- if(level == 1)
- {
- format(string, 128, "[NOTICE] %s has made you admin!", name);
- SendClientMessage(id, COLOR_RED, string);
- }
- else if(level == 0)
- {
- format(string, 128, "[NOTICE] %s has remove you from the admin team!", name);
- SendClientMessage(id, COLOR_RED, string);
- }
- return 1;
- }
- CMD:admins(playerid, params[])
- {
- new id;
- SendClientMessage(playerid,COLOR_GREEN,"Admins:");
- for(id = 0; id < MAX_PLAYERS; id++)
- {
- new name[256];
- GetPlayerName(id, name, sizeof(name));
- if(GetPVarInt(id, "admin") == 1)
- {
- SendClientMessage(playerid, COLOR_GREEN, name);
- }
- }
- return 1;
- }
- CMD:kill(playerid, params[])
- {
- new id, string_youkilled[256],string_killedyou[256],name_admin[MAX_PLAYER_NAME],name_player[MAX_PLAYER_NAME];
- if(GetPVarInt(playerid, "admin") != 1) return SendClientMessage(playerid, COLOR_RED, "[ERROR] You are not an admin");
- if(sscanf(params,"ii",id)) return SendClientMessage(playerid, COLOR_RED, "[ERROR] /kill [Playerid]");
- SetPlayerHealth(id, 0);
- GetPlayerName(playerid,name_admin,MAX_PLAYER_NAME);
- GetPlayerName(id,name_player,MAX_PLAYER_NAME);
- format(string_youkilled,256, "[NOTICE] You have killed %s", name_player);
- format(string_killedyou,256, "[NOTICE] You have been killed by admin %s", name_admin);
- SendClientMessage(playerid,COLOR_GREEN,string_youkilled);
- SendClientMessage(id,COLOR_GREEN,string_killedyou);
- return 1;
- }
- CMD:commands(playerid, params[])
- {
- SendClientMessage(playerid, COLOR_GREEN,"[GENERAL COMMANDS] /stats || /help || /admins");
- if(GetPVarInt(playerid, "admin") == 1)
- {
- SendClientMessage(playerid, COLOR_YELLOW,"[ADMIN COMMANDS] /makeadmin || /kill");
- }
- }
- /*
- No more commands
- */
- public OnPlayerConnect(playerid)
- {
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- if(!serverrestart)
- {
- SavePlayer(playerid);
- }
- loggedin[playerid] = false;
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- 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 OnPlayerCommandText(playerid, cmdtext[])
- {
- return 0;
- }
- 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)
- {
- if(loggedin[playerid] != true) return 0;
- 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[])
- {
- if(dialogid == REGISTER_ID)
- {
- if(!response) return ShowPlayerDialog(playerid, REGISTER_ID, DIALOG_STYLE_INPUT, "Register", "Please enter a password to register your account\n\n", "Register", "Exit");
- new file[128], pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof(pname));
- format(file, sizeof(file), "\\Users\\%s.ini", pname);
- dini_Create(file);
- dini_Set(file, "password", inputtext);
- dini_IntSet(file, "admin",0);
- dini_IntSet(file, "score", 0);
- dini_IntSet(file, "money", 800);
- dini_IntSet(file, "kills", 0);
- dini_IntSet(file, "deaths", 0);
- SetPVarInt(playerid, "money", 800);
- SetPVarInt(playerid, "admin", 0);
- SetPVarInt(playerid, "kills", 0);
- SetPVarInt(playerid, "deaths", 0);
- SetPVarInt(playerid, "score", 0);
- loggedin[playerid] = true;
- GivePlayerMoney(playerid, 800);
- ShowPlayerDialog(playerid, SUCCESFULL_ID, DIALOG_STYLE_MSGBOX, "Congrats!", "Your account has succesfully been created", "Okay","");
- }
- if(dialogid == LOGIN_ID)
- {
- new file[128];
- new pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof(pname));
- format(file, sizeof(file), "\\Users\\%s.ini", pname);
- if(!strlen(inputtext)) return SendClientMessage(playerid, COLOR_RED, "[SYSTEM]: /login [password]");
- if(strcmp(dini_Get(file, "password"), inputtext) != 0)
- {
- ShowPlayerDialog(playerid, LOGIN_ID, DIALOG_STYLE_INPUT, "Login", "WRONG PASSWORD!\nPlease enter a password to login to your account\n\n", "Login", "Exit");
- }
- else
- {
- loggedin[playerid] = true;
- SetPVarInt(playerid, "admin", dini_Int(file, "admin"));
- SetPVarInt(playerid, "money", dini_Int(file, "money"));
- SetPVarInt(playerid, "kills", dini_Int(file, "kills"));
- SetPVarInt(playerid, "deaths", dini_Int(file, "deaths"));
- SetPVarInt(playerid, "score", dini_Int(file, "score"));
- SetPlayerScore(playerid, dini_Int(file, "score"));
- GivePlayerMoney(playerid, dini_Int(file, "money"));
- SendClientMessage(playerid,COLOR_RED, "[NOTICE] You are now succesfully logged in!");
- }
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment