Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- #include <a_samp>
- #include <dini>
- new connected;
- new reserver[MAX_PLAYERS];
- #define RED 0xFF0000FF
- #define AQUAGREEN 0x00CACAFB
- #define SERVERSLOTS 5 //Change this to your amount of server slots. IMPORTANT!
- #define RESERVEDSLOTS 5 //Replace "5" with the amount of slots you want to reserve.
- public OnFilterScriptInit()
- {
- connected = 0;
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new pn[MAX_PLAYER_NAME],connect[128];
- //---------------------------------------------------------------
- GetPlayerName(playerid, pn, sizeof(pn));
- format(connect, sizeof(connect), "/rslots/%s.ini", pn );
- if(dini_Exists(connect))
- {
- new string[264];
- string = dini_Get(connect, "reserver");
- if(strcmp(string, "true", false) == 0)
- {
- reserver[playerid] = 1;
- }
- }
- //---------------------------------------------------------------
- if(connected >= (SERVERSLOTS-RESERVEDSLOTS) && reserver[playerid] < 1)
- {
- new string[128];
- SendClientMessage(playerid,RED,"SERVER: You have been kicked for using a reserved slot.");
- format(string, sizeof(string), "SERVER: %d slots of total %d slots are reserved, %d slots currently used.",RESERVEDSLOTS,SERVERSLOTS,connected);
- SendClientMessageToAll(RED, string);
- Kick(playerid);
- }
- else
- {
- connected++;
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- connected--;
- reserver[playerid] = 0;
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256],tmp[256];
- new string[256],idx;
- if(strcmp(cmd,"/reserveslot",true) == 0) if(IsPlayerAdmin(playerid))
- {
- new pn[MAX_PLAYER_NAME], connect[48];
- tmp = strtok(cmdtext,idx);
- if(!strlen(tmp)) return SendClientMessage(playerid,AQUAGREEN,"[ ! ] USAGE: /reserveslot (playerid)");
- new guy = strval(tmp);
- if(!IsPlayerConnected(guy)) return SendClientMessage(playerid,AQUAGREEN,"[ ! ] Player is not connected !");
- GetPlayerName(guy, pn, sizeof(pn));
- format(connect, sizeof(connect), "/rslots/%s.ini", pn );
- if(dini_Exists(connect))
- {
- dini_Set(connect, "reserver", "true");
- }
- else
- {
- dini_Create(connect);
- dini_Set(connect, "reserver", "true");
- }
- format(string,sizeof(string),"[ ! ] A admin has given you a reserved slot!");
- SendClientMessage(guy,AQUAGREEN,string);
- format(string,sizeof(string),"[ ! ] You have given ID %d a reserved slot.",guy);
- SendClientMessage(playerid,AQUAGREEN,string);
- dini_Set(connect, "reserver", "true");
- return 1;
- }
- if(strcmp(cmd,"/takeslot",true) == 0) if(IsPlayerAdmin(playerid))
- {
- new pn[MAX_PLAYER_NAME], connect[48];
- tmp = strtok(cmdtext,idx);
- if(!strlen(tmp)) return SendClientMessage(playerid,AQUAGREEN,"[ ! ] USAGE: /takeslot (playerid)");
- new guy = strval(tmp);
- if(!IsPlayerConnected(guy)) return SendClientMessage(playerid,AQUAGREEN,"[ ! ] Player is not connected !");
- GetPlayerName(guy, pn, sizeof(pn));
- format(connect, sizeof(connect), "/rslots/%s.ini", pn );
- if(dini_Exists(connect))
- {
- dini_Set(connect, "reserver", "true");
- }
- format(string,sizeof(string),"[ ! ] A admin has given you a reserved slot!");
- SendClientMessage(guy,AQUAGREEN,string);
- format(string,sizeof(string),"[ ! ] You have given ID %d a reserved slot.",guy);
- SendClientMessage(playerid,AQUAGREEN,string);
- dini_Set(connect, "reserver", "true");
- return 1;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement