[Pomoc] zabrana koristenja komande sethp manjim admin levelima


Započeo salews, Jun 03, 2014, 23:10:19 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

salews

Skripta koju koristim:Ravens
Detaljan opis problema:pokušavo sam da napravim al kako god sam napravio nece da radi..
Ako neko moze da napravi da manji admin ne moze vlasniku setati hp...
Admine uporedite da idu od 1 do 1338..
Dio koda:
CMD:sethp(playerid, params[])
{
	if(IsPlayerConnected(playerid))
	{
		new giveplayerid, health, giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME], string[128];
		GetPlayerName(playerid, sendername, sizeof(sendername));
		if(sscanf(params,"uD",giveplayerid,health)) return SCM(playerid, COLOR_GRAD2, "Koriscenje: /sethp [playerID/DeoImena] [health]");
		if(PlayerInfo[playerid][pGmDuty] == 1 || PlayerInfo[playerid][pAdminDuty] == 1 || PlayerInfo[playerid][Admin] >= 1338)
		{
			if(PlayerInfo[playerid][Admin] >= 1 || PlayerInfo[playerid][pBanPower] >= 1)
			{
				if(giveplayerid != INVALID_PLAYER_ID)
				{
					if(health > 100 && PlayerInfo[playerid][Admin] < 1337) return SCM(playerid, COLOR_GREY, "** Ne mozete postaviti HP igracu na vise od 100!");
					SafeSetPlayerHealth(giveplayerid, health);
					if(PlayerInfo[playerid][Admin] < 1338) return SCM(playerid, COLOR_GREY, "Niste ovlasceni da koristite ovo na Vlasniku!");
					{
   						SCM(playerid, COLOR_GREY,"* Ne mozete staviti vlasniku helte!");
					}
					GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
					format(string, 256, "[ADMIN]: %s has set %s's (%d) hp to %d.", sendername,giveplayer,giveplayerid,health);
					ABroadCast(COLOR_LIGHTRED,string, 5);
					new y, m, d;
					new h,mi,s;
					getdate(y,m,d);
					gettime(h,mi,s);
					format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s Has Set %s's HP to: [%d]",d,m,y,h,mi,s,sendername,giveplayer,health);
					GiveLog(string);
				}
			}
			else
			{
				SCM(playerid, COLOR_GRAD1, "** Niste ovlasceni da koristite ovu komandu!");
			}
		}
		else
		{
			SCM(playerid, COLOR_GRAD1, "** Ne mozete da se setujete helte dok niste na duznosti!");
			return 1;
		}
	}
	return 1;
}



Tako isto napravite i za komandu goto da se manji admin level ne moze portati do vlasnika 1338.
Kod:
CMD:goto(playerid,params[])
{
	if(IsPlayerConnected(playerid) && !IsPlayerInRangeOfPoint(playerid, 100,-5.2383,1526.3005,12.7500))
	{
		if(PlayerInfo[playerid][pGmDuty] == 1 || PlayerInfo[playerid][pAdminDuty] == 1 || PlayerInfo[playerid][Admin] >= 1338)
		{
			if(PlayerInfo[playerid][pVirWorld] == 603)
			{
				ClearChatbox(playerid, 3);
				SCM(playerid, COLOR_LIGHTGREEN, "_________________________ HoMe_________________________");
				SCM(playerid, COLOR_LIGHTGREEN, "Hvala na vasoj poseti.");
				SCM(playerid, COLOR_LIGHTGREEN, "Dodjite opet ;).");
				SCM(playerid, COLOR_LIGHTGREEN, "________________________________________________________________");
				ClearChatbox(playerid, 3);
				SafeSetPlayerHealth(playerid, PlayerInfo[playerid][pHealth]);
				SetPlayerArmor(playerid, PlayerInfo[playerid][pArmor]);
			}
			if(PlayerInfo[playerid][pJailed] == 0)
			{
				new string[128], giveplayerid, giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME];
				new Float:plocx,Float:plocy,Float:plocz;
				if(sscanf(params, "u", giveplayerid)) return SCM(playerid, COLOR_WHITE, "Koriscenje: /goto [ID Igraca/Deo Imena]");
				if(giveplayerid != INVALID_PLAYER_ID)
				{
					if(PlayerInfo[playerid][Admin] >= 1 || PlayerInfo[playerid][pGameMaster] >= 1)
					{
						if(PlayerInfo[giveplayerid][pVirWorld] == 603)
						{
							SCM(playerid, COLOR_LIGHTGREEN, "Igrac se nalazi u bezbednoj Silent Zoni ne mozete da se teleportujete do njega.");
							return 1;
						}
						GetPlayerPos(giveplayerid, plocx, plocy, plocz);
						if(PlayerInfo[giveplayerid][pInt] > 0)
						{
							SafeSetPlayerInterior(playerid,PlayerInfo[giveplayerid][pInt]);
							PlayerInfo[playerid][pLocal] = PlayerInfo[giveplayerid][pLocal];
						}
						else
						{
							SafeSetPlayerInterior(playerid,0);
						}
						if(GetPlayerState(playerid) == 2)
						{
							new tmpcar = GetPlayerVehicleID(playerid);
							Mrtav[playerid] = 1;
							KillTimer(stopanticheat[playerid]);
							stopanticheat[playerid] = SetTimerEx("resumeanticheat", 2000, false, "i", playerid);
							SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
							PlayerInfo[playerid][pPos_x] = plocx, PlayerInfo[playerid][pPos_y] = plocy+4, PlayerInfo[playerid][pPos_z] = plocz;
							TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
						}
						else
						{
							SafeSetPlayerPos(playerid,plocx,plocy+2, plocz);
						}
						SetPlayerVirtualWorld(playerid, PlayerInfo[giveplayerid][pVirWorld]);
						GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid,sendername,sizeof(sendername));
						if(PlayerInfo[playerid][pSex] == 1)
						{
							format(string, sizeof(string), "[ADMIN]: %s se teleportovao do %s", sendername, giveplayer);
							ABroadCast(COLOR_LIGHTRED, string, 5);
						}
						else if(PlayerInfo[playerid][pSex] == 2)
						{
						format(string, sizeof(string), "[ADMIN]: %s se teleportovala do %s", sendername, giveplayer);
						ABroadCast(COLOR_LIGHTRED, string, 5);
						}
						DisablePlayerCheckpoint(playerid);
						OnPlayerExitFood(playerid);
						if(BizzEntered[giveplayerid] != 9999)
						{
							BizzEntered[playerid] = BizzEntered[giveplayerid];
						}
						new y, m, d;
						new h,mi,s;
						getdate(y,m,d);
						gettime(h,mi,s);
						format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s se teleportovao do %s",d,m,y,h,mi,s,sendername,giveplayer);
						TelesLog(string);
					}
					else
					{
						SCM(playerid, COLOR_GRAD1, "** Niste ovlasceni da koristite ovu komandu!");
						return 1;
					}
				}
				else
				{
					format(string, sizeof(string), "   %d igrac nije aktivan.", giveplayerid);
					SCM(playerid, COLOR_GRAD1, string);
					return 1;
				}
			}
			else
			{
				GameTextForPlayer(playerid, "~r~NALAZITE SE U ZATVORU!", 5000, 3);
				return 1;
			}
		}
		else
		{
			SCM(playerid, COLOR_GRAD1, "** Ne mozete da se teleportujete dok niste na duznosti!");
			return 1;
		}
	}
	else
	{
		GameTextForPlayer(playerid, "~r~NALAZITE SE U GULAGU!", 5000, 3);
	}
	return 1;
}

CMD:sethp(playerid, params[])
{
	if(IsPlayerConnected(playerid))
	{
		new giveplayerid, health, giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME], string[128];
		GetPlayerName(playerid, sendername, sizeof(sendername));
		if(sscanf(params,"uD",giveplayerid,health)) return SCM(playerid, COLOR_GRAD2, "Koriscenje: /sethp [playerID/DeoImena] [health]");
		if(PlayerInfo[playerid][pPromoter] <= 1338 && PlayerInfo[giveplayerid][pAdmin] >= 1338) return SCM(playerid, COLOR_GREY, "Niste ovlasceni da koristite ovo na Vlasniku!");
		if(PlayerInfo[playerid][pGmDuty] == 1 || PlayerInfo[playerid][pAdminDuty] == 1 || PlayerInfo[playerid][Admin] >= 1338) return SCM(playerid, COLOR_GRAD1, "** Ne mozete da se setujete helte dok niste na duznosti!");
		if(PlayerInfo[playerid][Admin] <= 0)return SCM(playerid, COLOR_GRAD1, "** Niste ovlasceni da koristite ovu komandu!");
		if(giveplayerid != INVALID_PLAYER_ID)
		{
					if(health > 100 && PlayerInfo[playerid][Admin] < 1337) return SCM(playerid, COLOR_GREY, "** Ne mozete postaviti HP igracu na vise od 100!");
					SafeSetPlayerHealth(giveplayerid, health);
					GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
					format(string, 256, "[ADMIN]: %s has set %s's (%d) hp to %d.", sendername,giveplayer,giveplayerid,health);
					ABroadCast(COLOR_LIGHTRED,string, 5);
					new y, m, d;
					new h,mi,s;
					getdate(y,m,d);
					gettime(h,mi,s);
					format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s Has Set %s's HP to: [%d]",d,m,y,h,mi,s,sendername,giveplayer,health);
					GiveLog(string);
		}

	}
	return 1;
}


CMD:goto(playerid,params[])
{
	if(IsPlayerConnected(playerid) && !IsPlayerInRangeOfPoint(playerid, 100,-5.2383,1526.3005,12.7500))
	{
		if(PlayerInfo[playerid][pGmDuty] == 1 || PlayerInfo[playerid][pAdminDuty] == 1 || PlayerInfo[playerid][Admin] >= 1338)
		{
			if(PlayerInfo[playerid][pVirWorld] == 603)
			{
				ClearChatbox(playerid, 3);
				SCM(playerid, COLOR_LIGHTGREEN, "_________________________ HoMe_________________________");
				SCM(playerid, COLOR_LIGHTGREEN, "Hvala na vasoj poseti.");
				SCM(playerid, COLOR_LIGHTGREEN, "Dodjite opet ;).");
				SCM(playerid, COLOR_LIGHTGREEN, "________________________________________________________________");
				ClearChatbox(playerid, 3);
				SafeSetPlayerHealth(playerid, PlayerInfo[playerid][pHealth]);
				SetPlayerArmor(playerid, PlayerInfo[playerid][pArmor]);
			}
			if(PlayerInfo[playerid][pJailed] == 0)
			{
				new string[128], giveplayerid, giveplayer[MAX_PLAYER_NAME],sendername[MAX_PLAYER_NAME];
				new Float:plocx,Float:plocy,Float:plocz;
				if(sscanf(params, "u", giveplayerid)) return SCM(playerid, COLOR_WHITE, "Koriscenje: /goto [ID Igraca/Deo Imena]");
				if(PlayerInfo[playerid][pPromoter] <= 1338 && PlayerInfo[giveplayerid][pAdmin] >= 1338) return SCM(playerid, COLOR_GREY, "Niste ovlasceni da koristite ovo na Vlasniku!");
				if(giveplayerid != INVALID_PLAYER_ID)
				{
					if(PlayerInfo[playerid][Admin] >= 1 || PlayerInfo[playerid][pGameMaster] >= 1)
					{
						if(PlayerInfo[giveplayerid][pVirWorld] == 603)
						{
							SCM(playerid, COLOR_LIGHTGREEN, "Igrac se nalazi u bezbednoj Silent Zoni ne mozete da se teleportujete do njega.");
							return 1;
						}
						GetPlayerPos(giveplayerid, plocx, plocy, plocz);
						if(PlayerInfo[giveplayerid][pInt] > 0)
						{
							SafeSetPlayerInterior(playerid,PlayerInfo[giveplayerid][pInt]);
							PlayerInfo[playerid][pLocal] = PlayerInfo[giveplayerid][pLocal];
						}
						else
						{
							SafeSetPlayerInterior(playerid,0);
						}
						if(GetPlayerState(playerid) == 2)
						{
							new tmpcar = GetPlayerVehicleID(playerid);
							Mrtav[playerid] = 1;
							KillTimer(stopanticheat[playerid]);
							stopanticheat[playerid] = SetTimerEx("resumeanticheat", 2000, false, "i", playerid);
							SetVehiclePos(tmpcar, plocx, plocy+4, plocz);
							PlayerInfo[playerid][pPos_x] = plocx, PlayerInfo[playerid][pPos_y] = plocy+4, PlayerInfo[playerid][pPos_z] = plocz;
							TelePos[playerid][0] = 0.0;TelePos[playerid][1] = 0.0;
						}
						else
						{
							SafeSetPlayerPos(playerid,plocx,plocy+2, plocz);
						}
						SetPlayerVirtualWorld(playerid, PlayerInfo[giveplayerid][pVirWorld]);
						GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
						GetPlayerName(playerid,sendername,sizeof(sendername));
						if(PlayerInfo[playerid][pSex] == 1)
						{
							format(string, sizeof(string), "[ADMIN]: %s se teleportovao do %s", sendername, giveplayer);
							ABroadCast(COLOR_LIGHTRED, string, 5);
						}
						else if(PlayerInfo[playerid][pSex] == 2)
						{
						format(string, sizeof(string), "[ADMIN]: %s se teleportovala do %s", sendername, giveplayer);
						ABroadCast(COLOR_LIGHTRED, string, 5);
						}
						DisablePlayerCheckpoint(playerid);
						OnPlayerExitFood(playerid);
						if(BizzEntered[giveplayerid] != 9999)
						{
							BizzEntered[playerid] = BizzEntered[giveplayerid];
						}
						new y, m, d;
						new h,mi,s;
						getdate(y,m,d);
						gettime(h,mi,s);
						format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s se teleportovao do %s",d,m,y,h,mi,s,sendername,giveplayer);
						TelesLog(string);
					}
					else
					{
						SCM(playerid, COLOR_GRAD1, "** Niste ovlasceni da koristite ovu komandu!");
						return 1;
					}
				}
				else
				{
					format(string, sizeof(string), "   %d igrac nije aktivan.", giveplayerid);
					SCM(playerid, COLOR_GRAD1, string);
					return 1;
				}
			}
			else
			{
				GameTextForPlayer(playerid, "~r~NALAZITE SE U ZATVORU!", 5000, 3);
				return 1;
			}
		}
		else
		{
			SCM(playerid, COLOR_GRAD1, "** Ne mozete da se teleportujete dok niste na duznosti!");
			return 1;
		}
	}
	else
	{
		GameTextForPlayer(playerid, "~r~NALAZITE SE U GULAGU!", 5000, 3);
	}
	return 1;
}
Poslednja Izmena: Jun 04, 2014, 06:07:25 PRE PODNE od [SF]C++
69

salews