mam nadzieje ze za bancfg niedostane warna
Da rade przerobic ten kod (to tylko przyklad jak to mniej wiecej wyglada) chce zeby
to
if(get_user_flags(iTarget) & ADMIN_IMMUNITY){
client_print(id, print_console, "Nie mozesz zbanowac Admina!")
return 1;
}
a w menu wyglada to mniej wiecej tak
if(get_user_flags(tempid) & ADMIN_IMMUNITY){ to poprostu nie można zbanowac gracza ktory ma dostep do amx_banconfigmenu
odwolywalo sie do flag umieszczonych tu
register_concmd("amx_banconfig", "cmdBanConfig", ADMIN_IMMUNITY, "<#name/userid> <#time>");
register_concmd("amx_banconfigmenu","BanConfigMenu", ADMIN_IMMUNITY);
}
to znaczy jezeli ktos w cmdacess.ini zmieni flage amx_banconfig lub amx_banconfigmenu na ADMIN_BAN to nie bedzie mozna zbanowac gracza z flaga ADMIN_BAN, jezeli ustawi amx_banconfig na admin slay, a banconfigmenu na admin_kick to nie bedzie mozna zbanowac gracza z flagami admin_ban i admin_kick poprostu nie bedzie mozna zbanowac tych osob
jest to do wykonania?
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Ban Config"
#define VERSION "1.0"
#define AUTHOR "Alka"
new const gBanKey[] = "_ban";
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
register_concmd("amx_banconfig", "cmdBanConfig", ADMIN_IMMUNITY, "<#name/userid> <#time>");
register_concmd("amx_banconfigmenu","BanConfigMenu", ADMIN_IMMUNITY);
}
public cmdBanConfig(id, level, cid)
{
if(!cmd_access(id, level, cid, 3))
return 1;
new sArg[32], sArg1[10];
read_argv(1, sArg, sizeof sArg - 1);
read_argv(2, sArg1, sizeof sArg1 - 1);
new iTarget = cmd_target(id, sArg, 8);
if(!iTarget)
return 1;
if(get_user_flags(iTarget) & ADMIN_IMMUNITY){
client_print(id, print_console, "Nie mozesz zbanowac Admina!")
return 1;
}
new iBanTime = ((str_to_num(sArg1) * 60) + get_systime());
if(str_to_num(sArg1) <= 0)
iBanTime = 9999999999;
client_cmd(iTarget, "developer 1;wait;setinfo %s %d", gBanKey, iBanTime);
switch(get_cvar_num("amx_show_activity"))
{
case 0: { return 1; }
case 1:
{
new sTargetName[32];
get_user_name(iTarget, sTargetName, sizeof sTargetName - 1);
client_print(0, print_chat, "ADMIN: ban %s.", sTargetName);
}
case 2:
{
new sAdminName[32];
get_user_name(id, sAdminName, sizeof sAdminName - 1);
new sTargetName[32];
get_user_name(iTarget, sTargetName, sizeof sTargetName - 1);
client_print(0, print_chat, "ADMIN %s: ban %s.", sAdminName, sTargetName);
}
}
server_cmd("kick #%d ^"Banned!^"", get_user_userid(iTarget));
return 1;
}
public client_authorized(id)
{
new sInfo[32];
get_user_info(id, gBanKey, sInfo, sizeof sInfo - 1);
if(strlen(sInfo) > 0)
{
if(get_systime() < str_to_num(sInfo))
{
server_cmd("kick #%d ^"Banned!^"", get_user_userid(id));
return;
}
}
}
tutaj oczywiscie niema nigdzie banconfig menu to jest tylko przykladowy kodMam nadzieje ze mnie dobrze zrozumieliscie chodzi glownie o to ze osoba ktora ma dostep do menu niemoze sie sama zbanowac i osoba ktora ma dostep do amx_banconfig tez nie moze sie sama zbanowac
Jest ktos tutaj co sie bardzo dobrze zna i da rade w tym pomoc?
Dodano 14 czerwiec 2011 - 14:37:
dodam ze slyszalem o get_cvar_flags ale nie wiem jak uzyc
Głownie chodzi o to zeby immunitet miala ta osoba co ma dostep do menu nawet jesli zmieni sie dostep do menu w cmdacess to sie zmieni flaga immunitetu na ta co jest ustawiony dostep do amx_banconfig i amx_banconfigmenu
Użytkownik amxxmaster edytował ten post 14.06.2011 16:48


Dodatki SourceMod



Temat jest zamknięty






