26.08.2012, 08:55
Hello,
i create a approval system.
It doesn't work properly.
How to fix it?
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;
}