Approval System
#1

Hello,
i create a approval system.

It doesn't work properly.
How to fix it?

pawn Код:
CMD:setlevel(playerid, params[])
{
    new alevel, id, string[128];
    if(pData[playerid][Login] == 0) return SendClientMessage(playerid, COLOR_RED, "*** Please login first! ***");
    if(pData[playerid][Admin] >= 5 || IsPlayerAdmin(playerid))
    {
        if(sscanf(params, "ui", id, alevel)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /setlevel [playerid] [1 | 5]");
        if(alevel > 5 || alevel < 0) return SendClientMessage(playerid, COLOR_RED, "Invalid Admin Level!, Valid Admin Level - 1 to 5");
        if(alevel == pData[id][Admin]) return SendClientMessage(playerid, COLOR_RED, "*** That player is already in that adminlevel! ***");
        if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "*** Player not connected ***");
        if(strfind(GetpName(playerid), "Sakura", false) != -1)
        {
            if(pData[playerid][Approve] == 1) return SendClientMessage(playerid, COLOR_RED, "*** Please wait your making ADMIN is on approval! ***");
            format(string, sizeof(string), "NOTICE: Sorry %s, The server is now secured from your abuse, Wait for approval of owners...", GetpName(playerid));
            SendClientMessage(playerid, COLOR_RED, string);
            format(string, sizeof(string), "APPROVE: %s, is asking for Admin Making approval, /approve to approve it, /ignoreit to ignore it", GetpName(playerid));
            SendClientMessage(ReturnUser("Kakashi"), COLOR_WHITE, string);
            format(string, sizeof(string), "APPROVE: %s, is asking for Admin Making approval, /approve to approve it, /ignoreit to ignore it", GetpName(playerid));
            SendClientMessage(ReturnUser("SysteM32"), COLOR_WHITE, string);
            pData[playerid][Approve] = 1;
            pData[ReturnUser("Romel")][Approve] = 1;
            pData[ReturnUser("SysteM32")][Approve] = 1;
            StoreID[playerid] = id;
            StoreLVL[playerid] = alevel;
            StoreHoster[playerid] = playerid;
            StoreID[ReturnUser("Romel")] = id;
            StoreID[ReturnUser("SysteM32")] = id;
            StoreLVL[ReturnUser("Romel")] = alevel;
            StoreLVL[ReturnUser("SysteM32")] = alevel;
            StoreHoster[ReturnUser("Romel")] = playerid;
            StoreHoster[ReturnUser("SysteM32")] = playerid;
            if(!IsPlayerConnected(ReturnUser("Romel")) || !IsPlayerConnected(ReturnUser("SysteM32")))
            {
                format(string, sizeof(string), "SECURITY: %s(%d) has been kicked for Fail Approve", GetpName(playerid), playerid);
                format(string, sizeof(string), "OOPPSS: Sorry %s, The owners are not connected, You've been kicked!", GetpName(playerid));
                SendClientMessage(playerid, COLOR_RED, string);
                pData[playerid][Approve] = 0;
                Kick(playerid);
            }
            return 0;
        }
        switch(alevel)
        {
            case 0: AdminR = "Player";
            case 1: AdminR = "Moderator";
            case 2: AdminR = "Administrator";
            case 3: AdminR = "Junior Administrator";
            case 4: AdminR = "Head Administrator";
            case 5: AdminR = "Server Owner/Co-Owner";
        }
        pData[id][Admin] = alevel;
        format(string, sizeof(string), "Administrator %s(%d) has make %s(%d) as Admin Level %d | - %s", GetpName(playerid), playerid, GetpName(id), id, pData[id][Admin], AdminR);
        SendClientMessageToAll(COLOR_YELLOW, string);
        format(string, sizeof(string), "*** You make %s(%d) as admin %d | - %s", GetpName(id), id, pData[id][Admin], AdminR);
        SendClientMessage(playerid, COLOR_GREEN, string);
        if(pData[id][Admin] > alevel) GameTextForPlayer(id, "~r~Demoted", 3000, 5);
        if(pData[id][Admin] < alevel) GameTextForPlayer(id, "~g~Promoted", 3000, 5);
        format(string, sizeof(string), "*** Administrator %s(%d) has make you as Admin Level %d | - %s ***", GetpName(playerid), playerid, pData[id][Admin], AdminR);
        SendClientMessage(id, COLOR_YELLOW, string);
        if(pData[id][Admin] < alevel) return
        format(string, sizeof(string), "*** Congratulations, You are now known as Admin %s ***", GetpName(id));
        SendClientMessage(id, COLOR_GREEN, string);
    }
    else return SendClientMessage(playerid, COLOR_RED, "*** You are not Server Owner/Co-Owner ***");
    return 1;
}

CMD:setvip(playerid, params[])
{
    new vlevel, id, string[128];
    if(pData[playerid][Login] == 0) return SendClientMessage(playerid, COLOR_RED, "*** Please login first! ***");
    if(pData[playerid][Admin] >= 5 || IsPlayerAdmin(playerid))
    {
        if(sscanf(params, "ui", id, vlevel)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /setvip [playerid] [1/2]");
        if(vlevel > 2 || vlevel < 0) return SendClientMessage(playerid, COLOR_RED, "Invalid Admin Level!, Valid Admin Level - 1 to 2");
        if(vlevel == pData[id][VIP]) return SendClientMessage(playerid, COLOR_RED, "*** That player is already in that viplevel! ***");
        if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_RED, "*** Player not connected ***");
        if(strfind(GetpName(playerid), "Sakura", false) != -1)
        {
            if(pData[playerid][Approve2] == 1) return SendClientMessage(playerid, COLOR_RED, "*** Please wait your making V.I.P is on approval! ***");
            format(string, sizeof(string), "NOTICE: Sorry %s, The server is now secured from your abuse, Wait for approval of owners...", GetpName(playerid));
            SendClientMessage(playerid, COLOR_RED, string);
            format(string, sizeof(string), "APPROVE: %s, is asking for Admin Making approval, /approve to approve it, /ignoreit to ignore it", GetpName(playerid));
            SendClientMessage(ReturnUser("Romel"), COLOR_WHITE, string);
            format(string, sizeof(string), "APPROVE: %s, is asking for Admin Making approval, /approve to approve it, /ignoreit to ignore it", GetpName(playerid));
            SendClientMessage(ReturnUser("SysteM32"), COLOR_WHITE, string);
            pData[playerid][Approve2] = 1;
            pData[ReturnUser("Romel")][Approve2] = 1;
            pData[ReturnUser("SysteM32")][Approve2] = 1;
            StoreID[playerid] = id;
            StoreLVL[playerid] = vlevel;
            StoreHoster[playerid] = playerid;
            StoreID[ReturnUser("Romel")] = id;
            StoreID[ReturnUser("SysteM32")] = id;
            StoreLVL[ReturnUser("Romel")] = vlevel;
            StoreLVL[ReturnUser("SysteM32")] = vlevel;
            StoreHoster[ReturnUser("Romel")] = playerid;
            StoreHoster[ReturnUser("SysteM32")] = playerid;
            if(!IsPlayerConnected(ReturnUser("Romel")) ) || !IsPlayerConnected(ReturnUser("SysteM32")))
            {
                format(string, sizeof(string), "SECURITY: %s(%d) has been kicked for Fail Approve", GetpName(playerid), playerid);
                format(string, sizeof(string), "OOPPSS: Sorry %s, The owners are not connected, You've been kicked!", GetpName(playerid));
                SendClientMessage(playerid, COLOR_RED, string);
                pData[playerid][Approve2] = 0;
                Kick(playerid);
            }
            return 0;
        }
        switch(vlevel)
        {
            case 0: AdminR = "Player";
            case 1: AdminR = "VIP";
            case 2: AdminR = "Premium VIP";
        }
        pData[id][VIP] = vlevel;
        SpawnPlayer(id);
        dini_IntSet(DataPath(playerid), "VIP", vlevel);
        format(string, sizeof(string), "Administrator %s(%d) has make %s(%d) as VIP Level %d | - %s", GetpName(playerid), playerid, GetpName(id), id, pData[id][VIP], AdminR);
        SendClientMessageToAll(COLOR_YELLOW, string);
        format(string, sizeof(string), "*** You make %s(%d) as vip %d | - %s", GetpName(id), id, pData[id][VIP], AdminR);
        SendClientMessage(playerid, COLOR_GREEN, string);
        if(pData[id][VIP] > vlevel) GameTextForPlayer(id, "~r~Demoted", 3000, 5);
        if(pData[id][VIP] < vlevel) GameTextForPlayer(id, "~g~Promoted", 3000, 5);
        format(string, sizeof(string), "*** Administrator %s(%d) has make you as VIP Level %d | - %s ***", GetpName(playerid), playerid, pData[id][VIP], AdminR);
        SendClientMessage(id, COLOR_YELLOW, string);
        if(pData[id][Admin] < vlevel) return
        format(string, sizeof(string), "*** Congratulations, You are now known as VIP %s ***", GetpName(id));
        SendClientMessage(id, COLOR_GREEN, string);
    }
    else return SendClientMessage(playerid, COLOR_RED, "*** You are not Server Owner/Co-Owner ***");
    return 1;
}

CMD:approve(playerid, params[])
{
    new string[128], approve[30];
    if(strfind(GetpName(playerid), "Romel", false) != 1 || strcmp(GetpName(playerid), "SysteM32", true) == 0)
    {
        if(sscanf(params, "s[30]", approve)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /approve [admin/vip]");
        if(strcmp(params, "admin", true) == 0)
        {
            if(pData[playerid][Approve] == 0) return SendClientMessage(playerid, COLOR_RED, "*** You have not receive any approval ***");
            else if(pData[playerid][Approve] == 1)
            {
                format(string, sizeof(string), "Administrator %s(%d) has make %s(%d) as Admin Level %d", GetpName(StoreHoster[playerid]), StoreHoster[playerid], GetpName(StoreID[StoreHoster[playerid]]), StoreID[StoreHoster[playerid]], StoreLVL[StoreHoster[playerid]]);
                SendClientMessageToAll(COLOR_YELLOW, string);
                StoreID[playerid] = 0;
                StoreLVL[playerid] = 0;
                StoreHoster[playerid] = 0;
                StoreID[ReturnUser("Sakura")] = 0;
                StoreLVL[ReturnUser("Sakura")] = 0;
                StoreHoster[ReturnUser("Sakura")] = 0;
                pData[StoreID[StoreHoster[playerid]]][Admin] = StoreLVL[StoreHoster[playerid]];
                pData[playerid][Approve] = 0;
                pData[StoreHoster[playerid]][Approve] = 0;
            }
        }
        else if(strcmp(params, "vip", true) == 0)
        {
            if(pData[playerid][Approve2] == 0) return SendClientMessage(playerid, COLOR_RED, "*** You have not receive any approval ***");
            else if(pData[playerid][Approve2] == 1)
            {
                format(string, sizeof(string), "Administrator %s(%d) has make %s(%d) as Admin Level %d", GetpName(StoreHoster[playerid]), StoreHoster[playerid], GetpName(StoreID[StoreHoster[playerid]]), StoreID[StoreHoster[playerid]], StoreLVL[StoreHoster[playerid]]);
                SendClientMessageToAll(COLOR_YELLOW, string);
                StoreID[playerid] = 0;
                StoreLVL[playerid] = 0;
                StoreHoster[playerid] = 0;
                StoreID[ReturnUser("Sakura")] = 0;
                StoreLVL[ReturnUser("Sakura")] = 0;
                StoreHoster[ReturnUser("Sakura")] = 0;
                pData[StoreID[StoreHoster[playerid]]][VIP] = StoreLVL[StoreHoster[playerid]];
                pData[playerid][Approve2] = 0;
                pData[StoreHoster[playerid]][Approve2] = 0;
            }
        }
        else return SendClientMessage(playerid, COLOR_RED, "*** Available to approve, Admin and VIP only! ***");
    }
    else return SendClientMessage(playerid, COLOR_RED, "*** You are not the server owner ***");
    return 1;
}

CMD:ignoreit(playerid, params[])
{
    new string[128], approve[30];
    if(strfind(GetpName(playerid), "Romel", false) != 1 || strcmp(GetpName(playerid), "SysteM32", false) != 1)
    {
        if(sscanf(params, "s[30]", approve)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /ignoreit [admin/vip]");
        if(strcmp(params, "admin", true) == 0)
        {
            if(pData[playerid][Approve] == 0) return SendClientMessage(playerid, COLOR_RED, "*** You have not receive any approval ***");
            else if(pData[playerid][Approve] == 1)
            {
                format(string, sizeof(string), "KICK: %s(%d) has been kicked for Fail Approval", GetpName(StoreHoster[playerid]), StoreHoster[playerid]);
                SendClientMessageToAll(COLOR_RED, string);
                StoreID[playerid] = 0;
                StoreLVL[playerid] = 0;
                StoreHoster[playerid] = 0;
                StoreID[ReturnUser("Sakura")] = 0;
                StoreLVL[ReturnUser("Sakura")] = 0;
                StoreHoster[ReturnUser("Sakura")] = 0;
                pData[playerid][Approve] = 0;
                Kick(StoreHoster[playerid]);
                pData[StoreHoster[playerid]][Approve] = 0;
            }
        }
        else if(strcmp(params, "vip", true) == 0)
        {
            if(pData[playerid][Approve2] == 0) return SendClientMessage(playerid, COLOR_RED, "*** You have not receive any approval ***");
            else if(pData[playerid][Approve2] == 1)
            {
                format(string, sizeof(string), "KICK: %s(%d) has been kicked for Fail Approval", GetpName(StoreHoster[playerid]), StoreHoster[playerid]);
                SendClientMessageToAll(COLOR_RED, string);
                StoreID[playerid] = 0;
                StoreLVL[playerid] = 0;
                StoreHoster[playerid] = 0;
                StoreID[ReturnUser("Sakura")] = 0;
                StoreLVL[ReturnUser("Sakura")] = 0;
                StoreHoster[ReturnUser("Sakura")] = 0;
                pData[StoreID[playerid]][Admin] = StoreLVL[playerid];
                pData[playerid][Approve2] = 0;
                Kick(StoreHoster[playerid]);
                pData[StoreHoster[playerid]][Approve2] = 0;
            }
        }
        else return SendClientMessage(playerid, COLOR_RED, "*** Available to approve, Admin and VIP only! ***");
    }
    else return SendClientMessage(playerid, COLOR_RED, "*** You are not the server owner ***");
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)