#include <a_samp> #include <dini> #include <colors> #undef MAX_PLAYERS #define MAX_PLAYERS 50 #define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1 new iPAdmin[MAX_PLAYERS]; public OnFilterScriptInit() { print("iPermissions v0.1 by iToast loaded!"); return 1; } public OnFilterScriptExit() { print("iPermissions v0.1 by iToast Un-loaded!"); return 1; } public OnPlayerConnect(playerid) { new file[128], name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), "ipermissions\%s.ini", name); if(!dini_Exists(file)) { dini_Create(file); dini_BoolSet(file, "iPAdmin", 0); }else{ iPAdmin[playerid] = dini_Bool(file, "iPAdmin"); } return 1; } public OnPlayerDisconnect(playerid, reason) { iPAdmin[playerid] = 0; return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { dcmd(rip, 3, cmdtext); return false; } dcmd_rip(playerid, params[]) { #pragma unused params if(iPAdmin[playerid] == 1) { new file[128], name[MAX_PLAYER_NAME]; for(new i=0;i<MAX_PLAYERS;i++) { GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), "ipermissions\%s.ini", name); iPAdmin[i] = dini_Bool(file, "iPAdmin"); SendClientMessage(playerid, COLOR_GREEN, "iPermissions reloaded!"); } }else{ SendClientMessage(playerid, COLOR_RED, "You do not have permission to use this command!"); } return 1; }
#define COLOR_GRAD1 0xB4B5B7FF #define COLOR_GRAD2 0xBFC0C2FF #define COLOR_GRAD3 0xCBCCCEFF #define COLOR_GRAD4 0xD8D8D8FF #define COLOR_GRAD5 0xE3E3E3FF #define COLOR_GRAD6 0xF0F0F0FF #define COLOR_GREY 0xAFAFAFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_RED 0xAA3333AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_WHITE 0xFFFFFFAA #define COLOR_FADE1 0xE6E6E6E6 #define COLOR_FADE2 0xC8C8C8C8 #define COLOR_FADE3 0xAAAAAAAA #define COLOR_FADE4 0x8C8C8C8C #define COLOR_FADE5 0x6E6E6E6E #define COLOR_PURPLE 0xC2A2DAAA #define COLOR_DARKBLUE 0x2641FEAA #define COLOR_ALLDEPT 0xFF8282AA
HasPerm(playerid, perm) { new name[MAX_PLAYER_NAME], file[128]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), "ipermissions\%s.ini", name); if(dini_Exists(file)) { if(dini_IsSet(perm)) { return 1; }else{ return 0; } }else{ return 0; } } SetPerm(playerid, perm) { new name[MAX_PLAYER_NAME], file[128]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), "ipermissions\%s.ini", name); if(dini_Exists(file)) { dini_BoolSet(file, perm, 1); return 1; }else{ return 0; } } RemovePerm(playerid, perm) { new name[MAX_PLAYER_NAME], file[128]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), "ipermissions\%s.ini", name); if(dini_Exists(file)) { if(dini_IsSet(file, perm)) { dini_Unset(file, perm); } return 1; }else{ return 0; } } SetStringPerm(playerid, perm, value) { new name[MAX_PLAYER_NAME], file[128]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), "ipermissions\%s.ini", name); if(dini_Exists(file)) { dini_Set(file, perm, value); return 1; }else{ return 0; } } RemoveStringPerm(playerid, perm) { new name[MAX_PLAYER_NAME], file[128]; GetPlayerName(playerid, name, sizeof(name)); format(file, sizeof(file), "ipermissions\%s.ini", name); if(dini_Exists(file)) { if(dini_IsSet(file, perm)) { dini_Unset(file, perm); } return 1; }else{ return 0; } }
w00t you triple bumped your topic on the same day. nice job
![]() other than that. this could be very useful for admin scripts indeed! |