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;
}
Hvala ovdje moze Katanac neki sa debljim lancem :D