Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- new DB:WhiteDB;
- #define DIALOG_WHITEADD 9547
- #define DIALOG_WHITEDEL 9548
- forward IsPlayerOnWhitelist(PName[]);
- forward KickTimer(playerid);
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" iWhitelist von IntelligenT geladen");
- print("--------------------------------------\n");
- WhiteDB = db_open("whitelist.s3db");
- return 1;
- }
- public OnFilterScriptExit()
- {
- db_close(WhiteDB);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- if(!IsPlayerOnWhitelist(PlayerName(playerid)))
- {
- SpawnPlayer(playerid);
- SendClientMessage(playerid,0xFF4600FF,"_____________Whitelist_____________");
- SendClientMessage(playerid,0xFF4600FF,"| Dein Name ist nicht auf der Whitelist! |");
- SetTimerEx("KickTimer",2000,0,"i",playerid); // Sonst sieht der Spieler den Kick Text nicht und reconnectet ständig.
- }
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new string[350];
- if(dialogid == DIALOG_WHITEADD)
- {
- if(response)
- {
- if(strlen(inputtext) < 1) return SendClientMessage(playerid,0xFFFFFFFF,"Bitte gebe einen {FF8200}Usernamen{FFFFFF} an!");
- if(IsPlayerOnWhitelist(inputtext)) return SendClientMessage(playerid,0xFFFFFFFF,"Der User ist bereits auf der {FF8200}Whitelist{FFFFFF}!");
- format(string,sizeof string,"INSERT INTO whitelist (Name) VALUES ('%s')",inputtext); db_query(WhiteDB,string);
- format(string,sizeof string,"Spieler {FF8200}%s{FFFFFF} wurde erfolgreich auf die {FF8200}Whitelist{FFFFFF} gesetzt!",inputtext); SendClientMessage(playerid,0xFFFFFFFF,string);
- }
- }
- if(dialogid == DIALOG_WHITEDEL)
- {
- if(response)
- {
- if(strlen(inputtext) < 1) return SendClientMessage(playerid,0xFFFFFFFF,"Bitte gebe einen {FF8200}Usernamen{FFFFFF} an!");
- if(!IsPlayerOnWhitelist(inputtext)) return SendClientMessage(playerid,0xFFFFFFFF,"Der User ist nicht auf der {FF8200}Whitelist{FFFFFF}!");
- format(string,sizeof string,"DELETE FROM whitelist WHERE Name = '%s'",inputtext); db_query(WhiteDB,string);
- format(string,sizeof string,"Spieler {FF8200}%s{FFFFFF} wurde erfolgreich von der {FF8200}Whitelist{FFFFFF} entfernt!",inputtext); SendClientMessage(playerid,0xFFFFFFFF,string);
- }
- }
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256];
- new idx;
- cmd = strtok(cmdtext, idx);
- if(IsPlayerAdmin(playerid))
- {
- if (strcmp("/whiteadd", cmdtext, true, 10) == 0)
- {
- ShowPlayerDialog(playerid,DIALOG_WHITEADD,DIALOG_STYLE_INPUT,"{FFFFFF}> Whitelist-System <","{FFFFFF}Gebe den {FF8200}Spielernamen{FFFFFF} an, den sie {FF8200}hinzufügen{FFFFFF} wollen.","Eintragen","Abbrechen");
- return 1;
- }
- if (strcmp("/whitedel", cmdtext, true, 10) == 0)
- {
- ShowPlayerDialog(playerid,DIALOG_WHITEDEL,DIALOG_STYLE_INPUT,"{FFFFFF}> Whitelist-System <","{FFFFFF}Gebe den {FF8200}Spielernamen{FFFFFF} an, den sie {FF8200}entfernen{FFFFFF} wollen.","Entfernen","Abbrechen");
- return 1;
- }
- }
- return 0;
- }
- stock PlayerName(playerid)
- {
- new PName[MAX_PLAYER_NAME];
- GetPlayerName(playerid, PName,sizeof PName);
- return PName;
- }
- public KickTimer(playerid)
- {
- Kick(playerid);
- return 1;
- }
- public IsPlayerOnWhitelist(PName[])
- {
- new query[256];
- format(query,sizeof query,"SELECT * FROM whitelist WHERE Name = '%s'",PName);
- new DBResult:result = db_query(WhiteDB,query);
- new rows = db_num_rows(result);
- db_free_result(result);
- if(rows != 0) return 1;
- else return 0;
- }
- strtok(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement