Admin Tag Plugininde Hata Var
Merhaba Arkadaşlar Ben Admin Tag Pluginini Kullanıyorum.Bu Pluginde Hata Var.Hatası ; Bir Oyuncu Servere Girdiğinde Yanında Slot Yazıyor.Konuşmaya Bişey Yazıncada Yeşil Yazıyor.O Sorunu Giderebilirmisiniz Acaba? Şimdiden Teşekkürler Cevabınızı Bekliyorum...
SMA ;
PHP- Kodu:
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "Admin Yesil Yazi & Adminlerde Tag"
#define VERSION "2.2"
#define AUTHOR "EDITLEYEN: Optimist"
#define ACCESS_LEVEL ADMIN_IMMUNITY
#define ADMIN_LISTEN ADMIN_LEVEL_C
new message[192]
new sayText
new teamInfo
new maxPlayers
new g_MessageColor
new g_NameColor
new g_AdminListen
new strName[191]
new strText[191]
new alive[11]
new const g_szTag[][] = {
"[Server Sahibi]",
"[Admin]",
"[Slot]"
}
new const g_iTagFlag[sizeof(g_szTag)] = {
ADMIN_RCON,
ADMIN_RCON,
ADMIN_BAN,
ADMIN_RESERVATION
}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_MessageColor = register_cvar("amx_color", "2")
g_NameColor = register_cvar("amx_namecolor", "6")
g_AdminListen = register_cvar("amx_listen", "1")
sayText = get_user_msgid("SayText")
teamInfo = get_user_msgid("TeamInfo")
maxPlayers = get_maxplayers()
register_message(sayText, "avoid_duplicated")
register_concmd("amx_color", "set_color", ACCESS_LEVEL, "<color>")
register_concmd("amx_namecolor", "set_name_color", ACCESS_LEVEL, "<color>")
register_concmd("amx_listen", "set_listen", ACCESS_LEVEL, "<1 | 0>")
register_clcmd("say", "hook_say")
register_clcmd("say_team", "hook_teamsay")
}
public avoid_duplicated(msgId, msgDest, receiver)
{
return PLUGIN_HANDLED
}
get_tag_index(id)
{
new flags = get_user_flags(id)
for(new i = 1; i < sizeof(g_iTagFlag); i++)
{
if(check_admin_flag(flags, g_iTagFlag[i]))
{
return i
}
}
return 0
}
check_admin_flag(flags, flag)
{
if(flag == ADMIN_ADMIN)
{
return ((flags & ~ADMIN_USER) > 0)
}
else if(flag == ADMIN_ALL)
{
return 1
}
return (flags & flag)
}
public hook_say(id)
{
read_args(message, 191)
remove_quotes(message)
if(message[0] == '@' || message[0] == '/' || message[0] == '!' || equal(message, ""))
return PLUGIN_CONTINUE
new name[32]
get_user_name(id, name, 31)
new admin = get_tag_index(id)
new isAlive
if(is_user_alive(id))
{
isAlive = 1
alive = "^x01"
}
else
{
isAlive = 0
alive = "^x01*DEAD* "
}
static color[10]
if(admin)
{
// İsim
switch(get_pcvar_num(g_NameColor))
{
case 1:
format(strName, 191, "^x04%s %s%s", g_szTag[admin], alive, name)
case 2:
format(strName, 191, "^x04%s %s^x04%s ", g_szTag[admin], alive, name)
case 3:
{
color = "SPECTATOR"
format(strName, 191, "^x04%s %s^x03%s ", g_szTag[admin], alive, name)
}
case 4:
{
color = "CT"
format(strName, 191, "^x04%s %s^x03%s", g_szTag[admin], alive, name)
}
case 5:
{
color = "TERRORIST"
format(strName, 191, "^x04%s %s^x03%s", g_szTag[admin], alive, name)
}
case 6:
{
get_user_team(id, color, 9)
format(strName, 191, "^x04%s %s^x03%s", g_szTag[admin], alive, name)
}
}
// Mesaj
switch(get_pcvar_num(g_MessageColor))
{
case 1: // Sari
format(strText, 191, "%s", message)
case 2: // Yesil
format(strText, 191, "^x04%s", message)
case 3: // Beyaz
{
copy(color, 9, "SPECTATOR")
format(strText, 191, "^x03%s", message)
}
case 4: // Mavi
{
copy(color, 9, "CT")
format(strText, 191, "^x03%s", message)
}
case 5: // Kirmizi
{
copy(color, 9, "TERRORIST")
format(strText, 191, "^x03%s", message)
}
}
}
else
{
get_user_team(id, color, 9)
format(strName, 191, "%s^x03%s", alive, name)
format(strText, 191, "%s", message)
}
format(message, 191, "%s^x01 : %s", strName, strText)
sendMessage(color, isAlive)
return PLUGIN_CONTINUE
}
public hook_teamsay(id)
{
new playerTeam = get_user_team(id)
new playerTeamName[19]
switch(playerTeam)
{
case 1:
copy(playerTeamName, 11, "Terrorists")
case 2:
copy(playerTeamName, 18, "Counter-Terrorists")
default:
copy(playerTeamName, 9, "Spectator")
}
read_args(message, 191)
remove_quotes(message)
if(message[0] == '@' || message[0] == '/' || message[0] == '!' || equal(message, ""))
return PLUGIN_CONTINUE
new name[32]
get_user_name(id, name, 31)
new admin = get_tag_index(id)
new isAlive
if(is_user_alive(id))
{
isAlive = 1
alive = "^x01"
}
else
{
isAlive = 0
alive = "^x01*DEAD* "
}
static color[10]
if(admin)
{
// İsim
switch(get_pcvar_num(g_NameColor))
{
case 1:
format(strName, 191, "%s(%s)^x04%s %s", alive, playerTeamName, g_szTag[admin], name)
case 2:
format(strName, 191, "%s(%s)^x04%s ^x04%s", alive, playerTeamName, g_szTag[admin], name)
case 3:
{
color = "SPECTATOR"
format(strName, 191, "%s(%s)^x04%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
}
case 4:
{
color = "CT"
format(strName, 191, "%s(%s)^x04%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
}
case 5:
{
color = "TERRORIST"
format(strName, 191, "%s(%s)^x04%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
}
case 6:
{
get_user_team(id, color, 9)
format(strName, 191, "%s(%s)^x04%s ^x03%s", alive, playerTeamName, g_szTag[admin], name)
}
}
// Message
switch(get_pcvar_num(g_MessageColor))
{
case 1: // Sari
format(strText, 191, "%s", message)
case 2: // Yesil
format(strText, 191, "^x04%s", message)
case 3: // Beyaz
{
copy(color, 9, "SPECTATOR")
format(strText, 191, "^x03%s", message)
}
case 4: // Mavi
{
copy(color, 9, "CT")
format(strText, 191, "^x03%s", message)
}
case 5: // Kirmizi
{
copy(color, 9, "TERRORIST")
format(strText, 191, "^x03%s", message)
}
}
}
else
{
get_user_team(id, color, 9)
format(strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
format(strText, 191, "%s", message)
}
format(message, 191, "%s ^x01: %s", strName, strText)
sendTeamMessage(color, isAlive, playerTeam)
return PLUGIN_CONTINUE
}
public set_color(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED
new arg[1], newColor
read_argv(1, arg, 1)
newColor = str_to_num(arg)
if(newColor >= 1 && newColor <= 5)
{
set_pcvar_num(g_MessageColor, newColor)
if(get_pcvar_num(g_NameColor) != 1 &&
((newColor == 3 && get_pcvar_num(g_NameColor) != 3)
||(newColor == 4 && get_pcvar_num(g_NameColor) != 4)
||(newColor == 5 && get_pcvar_num(g_NameColor) != 5)))
{
set_pcvar_num(g_NameColor, 2)
}
}
return PLUGIN_HANDLED
}
public set_name_color(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED
new arg[1], newColor
read_argv(1, arg, 1)
newColor = str_to_num(arg)
if(newColor >= 1 && newColor <= 6)
{
set_pcvar_num(g_NameColor, newColor)
if((get_pcvar_num(g_MessageColor) != 1
&&((newColor == 3 && get_pcvar_num(g_MessageColor) != 3)
||(newColor == 4 && get_pcvar_num(g_MessageColor) != 4)
||(newColor == 5 && get_pcvar_num(g_MessageColor) != 5)))
|| get_pcvar_num(g_NameColor) == 6)
{
set_pcvar_num(g_MessageColor, 2)
}
}
return PLUGIN_HANDLED
}
public set_listen(id, level, cid)
{
if(!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED
new arg[1], newListen
read_argv(1, arg, 1)
newListen = str_to_num(arg)
set_pcvar_num(g_AdminListen, newListen)
return PLUGIN_HANDLED
}
public sendMessage(color[], alive)
{
new teamName[10]
for(new player = 1; player < maxPlayers; player++)
{
if(!is_user_connected(player))
continue
if(alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
{
get_user_team(player, teamName, 9)
changeTeamInfo(player, color)
writeMessage(player, message)
changeTeamInfo(player, teamName)
}
}
}
public sendTeamMessage(color[], alive, playerTeam)
{
new teamName[10]
for(new player = 1; player < maxPlayers; player++)
{
if(!is_user_connected(player))
continue
if(get_user_team(player) == playerTeam || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
{
if(alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(g_AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
{
get_user_team(player, teamName, 9)
changeTeamInfo(player, color)
writeMessage(player, message)
changeTeamInfo(player, teamName)
}
}
}
}
public changeTeamInfo(player, team[])
{
message_begin(MSG_ONE, teamInfo, _, player)
write_byte(player)
write_string(team)
message_end()
}
public writeMessage(player, message[])
{
message_begin(MSG_ONE, sayText, {0, 0, 0}, player)
write_byte(player)
write_string(message)
message_end()
}
Cevap: Admin Tag Plugininde Hata Var
Her oyuncuda mı slot yazıyor ? Ayrıca ben bu plugini önermiyorum.
admin prefixes plugini daha iyi;
PHP- Kodu:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <nvault>
#define FLAG_LOAD ADMIN_CFG
#define MAX_FLAGS 33
new g_listen, g_custom_current, g_custom_others;
new prefix_count = 0, prefix_collect[MAX_FLAGS][33], flag_listen[2], flag_custom_current[2], flag_custom_others[2], flags_collect[MAX_FLAGS][2], client_prefix[33][33];
new g_saytxt, g_maxplayers, g_nvault;
new g_typed[192], g_message[192], g_name[32], typed_prefix[33];
public plugin_init()
{
register_plugin("Admin Prefixes", "1.0", "m0skVi4a ;]")
g_listen = register_cvar("ap_listen", "0")
g_custom_current = register_cvar("ap_custom_current", "1")
g_custom_others = register_cvar("ap_custom_others", "1")
g_saytxt = get_user_msgid ("SayText")
g_maxplayers = get_maxplayers()
g_nvault = nvault_open("CustomAdminPrefixes")
register_message(g_saytxt, "DuplicateMessage")
register_concmd("ap_reloadfile", "LoadFile")
register_concmd("ap_put", "SetPrefix")
register_concmd("ap_put_player", "SetPlayerPrefix")
register_clcmd("say", "HookSay")
register_clcmd("say_team", "HookSayTeam")
LoadFile(0)
}
public LoadFile(id)
{
if(!(get_user_flags(id) & FLAG_LOAD))
{
console_print(id, "[AdminPrefixes] You do not have the flag, needed for using this option!")
return PLUGIN_HANDLED
}
new config_dir[64], file[128], text[64], prefix[32], flags[2], length, line = 0;
prefix_count = 0
get_configsdir(config_dir, charsmax(config_dir))
formatex(file, charsmax(file), "%s/admin_prefixes.ini", config_dir)
if(!file_exists(file))
{
new error[256]
formatex(error, charsmax(error), "[AdminPrefixes] Admin Prefix file - %s not found!", file)
set_fail_state(error)
}
while(read_file(file, line , text, charsmax(text), length) && prefix_count <= MAX_FLAGS)
{
if(!text[0] || text[0] == '^n' || text[0] == ';')
{
line++
continue
}
parse(text, prefix, charsmax(prefix), flags, charsmax(flags))
if(!prefix[0] || !flags[0])
{
line++
continue
}
if(equal(prefix, "ADMIN_LISTEN"))
{
flag_listen = flags
line++
continue
}
if(equal(prefix, "CUSTOM_CURRENT"))
{
flag_custom_current = flags
line++
continue
}
if(equal(prefix, "CUSTOM_OTHERS"))
{
flag_custom_others = flags
line++
continue
}
replace_all(prefix, charsmax(prefix), "!g", "^x04")
replace_all(prefix, charsmax(prefix), "!t", "^x03")
replace_all(prefix, charsmax(prefix), "!n", "^x01")
prefix_count++
prefix_collect[prefix_count] = prefix
flags_collect[prefix_count] = flags
line++
}
if(flag_listen[0])
{
server_print("[AdminPrefixes] LOADED: Listen Option for players with Flag: %s", flag_listen)
}
if(flag_custom_current[0])
{
server_print("[AdminPrefixes] LOADED: Custom Prefix Option for players with Flag: %s", flag_custom_current)
}
if(flag_custom_others[0])
{
server_print("[AdminPrefixes] LOADED: Setting Custom Prefix Option for players with Flag: %s", flag_custom_others)
}
if(prefix_count > 0)
{
for(new i = 1; i <= prefix_count; i++)
{
server_print("[AdminPrefixes] LOADED: Prefix: %s for players with Flag: %s", prefix_collect[i], flags_collect[i])
}
}
else
{
server_print("[AdminPrefixes] No Prefixes were been found!")
}
get_user_name(id, g_name, charsmax(g_name))
server_print("[AdminPrefixes] Plugin's file was been loaded by %s", g_name)
console_print(id, "[AdminPrefixes] Plugin's file was been loaded!")
for(new i = 1; i <= g_maxplayers; i++)
{
PutClientPrefix(i)
}
return PLUGIN_HANDLED
}
public client_connect(id)
{
client_prefix[id] = ""
set_task(1.0, "PutClientPrefix", id)
}
public client_disconnect(id)
{
client_prefix[id] = ""
}
public PutClientPrefix(id)
{
new nvault_prefix[33];
get_user_name(id, g_name, charsmax(g_name))
new data = nvault_get(g_nvault, g_name, nvault_prefix, charsmax(nvault_prefix))
if(data && get_pcvar_num(g_custom_current) && flag_custom_current[0] && get_user_flags(id) & read_flags(flag_custom_current))
{
client_prefix[id] = nvault_prefix
}
else
{
for(new i = 1; i <= prefix_count; i++)
{
if(get_user_flags(id) & read_flags(flags_collect[i]))
{
client_prefix[id] = prefix_collect[i]
}
}
}
}
public DuplicateMessage(id)
{
return PLUGIN_HANDLED
}
public HookSay(id)
{
read_args(g_typed, charsmax(g_typed))
remove_quotes(g_typed)
if(equal(g_typed, ""))
return PLUGIN_CONTINUE
get_user_name(id, g_name, charsmax(g_name))
if(client_prefix[id][0])
{
if(is_user_alive(id))
{
formatex(g_message, charsmax(g_message), "^4%s^3 %s :^4 %s", client_prefix[id], g_name, g_typed)
}
else
{
formatex(g_message, charsmax(g_message), "^1*DEAD*^4 %s^3 %s :^4 %s", client_prefix[id], g_name, g_typed)
}
}
else
{
if(is_user_alive(id))
{
formatex(g_message, charsmax(g_message), "^3%s :^1 %s", g_name, g_typed)
}
else
{
formatex(g_message, charsmax(g_message), "^1*DEAD*^3 %s :^1 %s", g_name, g_typed)
}
}
for(new i = 1; i <= g_maxplayers; i++)
{
if(!is_user_connected(i))
continue;
if(is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i) || get_pcvar_num(g_listen) && flag_listen[0] && get_user_flags(i) & read_flags(flag_listen))
{
message_begin(MSG_ONE, g_saytxt, {0, 0, 0}, i)
write_byte(id)
write_string(g_message)
message_end()
}
}
return PLUGIN_CONTINUE
}
public HookSayTeam(id)
{
new g_team[18];
read_args(g_typed, charsmax(g_typed))
remove_quotes(g_typed)
if(equal(g_typed, ""))
return PLUGIN_CONTINUE
get_user_name(id, g_name, charsmax(g_name))
switch(cs_get_user_team(id)) {
case CS_TEAM_T: g_team = "Terrorist"
case CS_TEAM_CT: g_team = "Counter-Terrorist"
default: g_team = "Spectator"
}
if(client_prefix[id][0])
{
if(is_user_alive(id))
{
formatex(g_message, charsmax(g_message), "^1(%s)^4 %s^3 %s :^4 %s", g_team, client_prefix[id], g_name, g_typed)
}
else
{
formatex(g_message, charsmax(g_message), "^1*DEAD* (%s)^4 %s^3 %s :^4 %s", g_team, client_prefix[id], g_name, g_typed)
}
}
else
{
if(is_user_alive(id))
{
formatex(g_message, charsmax(g_message), "^1(%s)^3 %s :^1 %s", g_team, g_name, g_typed)
}
else
{
formatex(g_message, charsmax(g_message), "^1*DEAD* (%s)^3 %s :^1 %s", g_team, g_name, g_typed)
}
}
for(new i = 1; i <= g_maxplayers; i++)
{
if(!is_user_connected(i))
continue
if(cs_get_user_team(id) == cs_get_user_team(i) || get_pcvar_num(g_listen) && flag_listen[0] && get_user_flags(i) & read_flags(flag_listen))
{
if(is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i) || get_pcvar_num(g_listen) && flag_listen[0] && get_user_flags(i) & read_flags(flag_listen))
{
message_begin(MSG_ONE, g_saytxt, {0, 0, 0}, i)
write_byte(id)
write_string(g_message)
message_end()
}
}
}
return PLUGIN_CONTINUE
}
public SetPrefix(id)
{
if(!get_pcvar_num(g_custom_current) || !flag_custom_current[0])
{
console_print(id, "[AdminPrefixes] This option is currently disabled!")
return PLUGIN_HANDLED
}
if(!(get_user_flags(id) & read_flags(flag_custom_current)))
{
console_print(id, "[AdminPrefixes] You do not have the flag, needed for using this option!")
return PLUGIN_HANDLED
}
read_args(typed_prefix, charsmax(typed_prefix))
remove_quotes(typed_prefix)
get_user_name(id, g_name, charsmax(g_name))
if(equal(typed_prefix, ""))
{
nvault_remove(g_nvault, g_name)
console_print(id, "[AdminPrefix] You have successfully removed your prefix.")
server_print("[AdminPrefix] Player %s removed his prefix", g_name)
PutClientPrefix(id)
return PLUGIN_HANDLED
}
replace_all(typed_prefix, charsmax(typed_prefix), "!g", "^x04")
replace_all(typed_prefix, charsmax(typed_prefix), "!t", "^x03")
replace_all(typed_prefix, charsmax(typed_prefix), "!n", "^x01")
nvault_set(g_nvault, g_name, typed_prefix)
client_prefix[id] = typed_prefix
console_print(id, "[AdminPrefix] You have successfully changed your prefix to %s", typed_prefix)
server_print("[AdminPrefix] Player %s changed his prefix to %s", g_name, typed_prefix)
return PLUGIN_HANDLED
}
public SetPlayerPrefix(id)
{
if(!get_pcvar_num(g_custom_current) || !flag_custom_current[0] || !get_pcvar_num(g_custom_others) || !flag_custom_others[0])
{
console_print(id, "[AdminPrefixes] This option is currently disabled!")
return PLUGIN_HANDLED
}
if(!(get_user_flags(id) & read_flags(flag_custom_others)))
{
console_print(id, "[AdminPrefixes] You do not have the flag, needed for using this option!")
return PLUGIN_HANDLED
}
new name_tag[64], typed_name[32];
read_args(name_tag, charsmax(name_tag))
remove_quotes(name_tag)
parse(name_tag, typed_name, charsmax(typed_name), typed_prefix, charsmax(typed_prefix))
get_user_name(id, g_name, charsmax(g_name))
new target = cmd_target(id, typed_name, 1)
if(!target)
return PLUGIN_HANDLED
if(equal(typed_prefix, ""))
{
nvault_remove(g_nvault, typed_name)
console_print(id, "[AdminPrefixes] You have successfully removed ^"%s^"'s prefix.", typed_name)
server_print("[AdminPrefixes] Player %s removed ^"%s^"'s prefix", g_name, typed_name)
PutClientPrefix(target)
return PLUGIN_HANDLED
}
replace_all(typed_prefix, charsmax(typed_prefix), "!g", "^x04")
replace_all(typed_prefix, charsmax(typed_prefix), "!t", "^x03")
replace_all(typed_prefix, charsmax(typed_prefix), "!n", "^x01")
nvault_set(g_nvault, typed_name, typed_prefix)
client_prefix[target] = typed_prefix
console_print(id, "[AdminPrefixes] You have successfully changed ^"%s^"'s prefix to %s", typed_name, typed_prefix)
server_print("[AdminPrefixes] Player %s changed ^"%s^"'s prefix to %s", g_name, typed_name, typed_prefix)
return PLUGIN_HANDLED
}
Bu plugini kurun ve configs klasöründe
admin_prefixes.ini
şeklinde bir dosya oluşturun. İçini şu şekilde ayarlayıp;
Kod:
ADMIN_LISTEN l
CUSTOM_CURRENT l
CUSTOM_OTHERS l
"[Slot]" "b"
"[Admin]" "d"
"[Server Sahibi]" "l"
kaydedin.
Cevap: Admin Tag Plugininde Hata Var
Kardeşim Adminlikten Çıkınca Başka Nicke Girince Yanında [Server Sahibi] Yazıyo.Bir Daha Oyundan Çıkıp Girmem Gerekiyor.Bunu Slotdada Denedim.Slotluk Yazıyorum.Giriyorum Yeşil Yazmıyor Ve Yanında Slot Yazmıyor.Ama Çıkıp Girince Oluyor.Yardım Edermisin Bu Konuda?
Cevap: Admin Tag Plugininde Hata Var
Yardimci olacagimda serverinizdeki oto slotu kapatirsanizda olur veya plugini editliyip vereyim.. Seçiminizi yapin vereyim
- - - - - - - - - -
Alıntı:
akcaliberkk Nickli Üyeden Alıntı
Her oyuncuda mı slot yazıyor ? Ayrıca ben bu plugini önermiyorum.
admin prefixes plugini daha iyi;
PHP- Kodu:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <nvault>
#define FLAG_LOAD ADMIN_CFG
#define MAX_FLAGS 33
new g_listen, g_custom_current, g_custom_others;
new prefix_count = 0, prefix_collect[MAX_FLAGS][33], flag_listen[2], flag_custom_current[2], flag_custom_others[2], flags_collect[MAX_FLAGS][2], client_prefix[33][33];
new g_saytxt, g_maxplayers, g_nvault;
new g_typed[192], g_message[192], g_name[32], typed_prefix[33];
public plugin_init()
{
register_plugin("Admin Prefixes", "1.0", "m0skVi4a ;]")
g_listen = register_cvar("ap_listen", "0")
g_custom_current = register_cvar("ap_custom_current", "1")
g_custom_others = register_cvar("ap_custom_others", "1")
g_saytxt = get_user_msgid ("SayText")
g_maxplayers = get_maxplayers()
g_nvault = nvault_open("CustomAdminPrefixes")
register_message(g_saytxt, "DuplicateMessage")
register_concmd("ap_reloadfile", "LoadFile")
register_concmd("ap_put", "SetPrefix")
register_concmd("ap_put_player", "SetPlayerPrefix")
register_clcmd("say", "HookSay")
register_clcmd("say_team", "HookSayTeam")
LoadFile(0)
}
public LoadFile(id)
{
if(!(get_user_flags(id) & FLAG_LOAD))
{
console_print(id, "[AdminPrefixes] You do not have the flag, needed for using this option!")
return PLUGIN_HANDLED
}
new config_dir[64], file[128], text[64], prefix[32], flags[2], length, line = 0;
prefix_count = 0
get_configsdir(config_dir, charsmax(config_dir))
formatex(file, charsmax(file), "%s/admin_prefixes.ini", config_dir)
if(!file_exists(file))
{
new error[256]
formatex(error, charsmax(error), "[AdminPrefixes] Admin Prefix file - %s not found!", file)
set_fail_state(error)
}
while(read_file(file, line , text, charsmax(text), length) && prefix_count <= MAX_FLAGS)
{
if(!text[0] || text[0] == '^n' || text[0] == ';')
{
line++
continue
}
parse(text, prefix, charsmax(prefix), flags, charsmax(flags))
if(!prefix[0] || !flags[0])
{
line++
continue
}
if(equal(prefix, "ADMIN_LISTEN"))
{
flag_listen = flags
line++
continue
}
if(equal(prefix, "CUSTOM_CURRENT"))
{
flag_custom_current = flags
line++
continue
}
if(equal(prefix, "CUSTOM_OTHERS"))
{
flag_custom_others = flags
line++
continue
}
replace_all(prefix, charsmax(prefix), "!g", "^x04")
replace_all(prefix, charsmax(prefix), "!t", "^x03")
replace_all(prefix, charsmax(prefix), "!n", "^x01")
prefix_count++
prefix_collect[prefix_count] = prefix
flags_collect[prefix_count] = flags
line++
}
if(flag_listen[0])
{
server_print("[AdminPrefixes] LOADED: Listen Option for players with Flag: %s", flag_listen)
}
if(flag_custom_current[0])
{
server_print("[AdminPrefixes] LOADED: Custom Prefix Option for players with Flag: %s", flag_custom_current)
}
if(flag_custom_others[0])
{
server_print("[AdminPrefixes] LOADED: Setting Custom Prefix Option for players with Flag: %s", flag_custom_others)
}
if(prefix_count > 0)
{
for(new i = 1; i <= prefix_count; i++)
{
server_print("[AdminPrefixes] LOADED: Prefix: %s for players with Flag: %s", prefix_collect[i], flags_collect[i])
}
}
else
{
server_print("[AdminPrefixes] No Prefixes were been found!")
}
get_user_name(id, g_name, charsmax(g_name))
server_print("[AdminPrefixes] Plugin's file was been loaded by %s", g_name)
console_print(id, "[AdminPrefixes] Plugin's file was been loaded!")
for(new i = 1; i <= g_maxplayers; i++)
{
PutClientPrefix(i)
}
return PLUGIN_HANDLED
}
public client_connect(id)
{
client_prefix[id] = ""
set_task(1.0, "PutClientPrefix", id)
}
public client_disconnect(id)
{
client_prefix[id] = ""
}
public PutClientPrefix(id)
{
new nvault_prefix[33];
get_user_name(id, g_name, charsmax(g_name))
new data = nvault_get(g_nvault, g_name, nvault_prefix, charsmax(nvault_prefix))
if(data && get_pcvar_num(g_custom_current) && flag_custom_current[0] && get_user_flags(id) & read_flags(flag_custom_current))
{
client_prefix[id] = nvault_prefix
}
else
{
for(new i = 1; i <= prefix_count; i++)
{
if(get_user_flags(id) & read_flags(flags_collect[i]))
{
client_prefix[id] = prefix_collect[i]
}
}
}
}
public DuplicateMessage(id)
{
return PLUGIN_HANDLED
}
public HookSay(id)
{
read_args(g_typed, charsmax(g_typed))
remove_quotes(g_typed)
if(equal(g_typed, ""))
return PLUGIN_CONTINUE
get_user_name(id, g_name, charsmax(g_name))
if(client_prefix[id][0])
{
if(is_user_alive(id))
{
formatex(g_message, charsmax(g_message), "^4%s^3 %s :^4 %s", client_prefix[id], g_name, g_typed)
}
else
{
formatex(g_message, charsmax(g_message), "^1*DEAD*^4 %s^3 %s :^4 %s", client_prefix[id], g_name, g_typed)
}
}
else
{
if(is_user_alive(id))
{
formatex(g_message, charsmax(g_message), "^3%s :^1 %s", g_name, g_typed)
}
else
{
formatex(g_message, charsmax(g_message), "^1*DEAD*^3 %s :^1 %s", g_name, g_typed)
}
}
for(new i = 1; i <= g_maxplayers; i++)
{
if(!is_user_connected(i))
continue;
if(is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i) || get_pcvar_num(g_listen) && flag_listen[0] && get_user_flags(i) & read_flags(flag_listen))
{
message_begin(MSG_ONE, g_saytxt, {0, 0, 0}, i)
write_byte(id)
write_string(g_message)
message_end()
}
}
return PLUGIN_CONTINUE
}
public HookSayTeam(id)
{
new g_team[18];
read_args(g_typed, charsmax(g_typed))
remove_quotes(g_typed)
if(equal(g_typed, ""))
return PLUGIN_CONTINUE
get_user_name(id, g_name, charsmax(g_name))
switch(cs_get_user_team(id))
{
case CS_TEAM_T:
{
g_team = "Terrorist"
}
case CS_TEAM_CT:
{
g_team = "Counter-Terrorist"
}
default:
{
g_team = "Spectator"
}
}
if(client_prefix[id][0])
{
if(is_user_alive(id))
{
formatex(g_message, charsmax(g_message), "^1(%s)^4 %s^3 %s :^4 %s", g_team, client_prefix[id], g_name, g_typed)
}
else
{
formatex(g_message, charsmax(g_message), "^1*DEAD* (%s)^4 %s^3 %s :^4 %s", g_team, client_prefix[id], g_name, g_typed)
}
}
else
{
if(is_user_alive(id))
{
formatex(g_message, charsmax(g_message), "^1(%s)^3 %s :^1 %s", g_team, g_name, g_typed)
}
else
{
formatex(g_message, charsmax(g_message), "^1*DEAD* (%s)^3 %s :^1 %s", g_team, g_name, g_typed)
}
}
for(new i = 1; i <= g_maxplayers; i++)
{
if(!is_user_connected(i))
continue
if(cs_get_user_team(id) == cs_get_user_team(i) || get_pcvar_num(g_listen) && flag_listen[0] && get_user_flags(i) & read_flags(flag_listen))
{
if(is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i) || get_pcvar_num(g_listen) && flag_listen[0] && get_user_flags(i) & read_flags(flag_listen))
{
message_begin(MSG_ONE, g_saytxt, {0, 0, 0}, i)
write_byte(id)
write_string(g_message)
message_end()
}
}
}
return PLUGIN_CONTINUE
}
public SetPrefix(id)
{
if(!get_pcvar_num(g_custom_current) || !flag_custom_current[0])
{
console_print(id, "[AdminPrefixes] This option is currently disabled!")
return PLUGIN_HANDLED
}
if(!(get_user_flags(id) & read_flags(flag_custom_current)))
{
console_print(id, "[AdminPrefixes] You do not have the flag, needed for using this option!")
return PLUGIN_HANDLED
}
read_args(typed_prefix, charsmax(typed_prefix))
remove_quotes(typed_prefix)
get_user_name(id, g_name, charsmax(g_name))
if(equal(typed_prefix, ""))
{
nvault_remove(g_nvault, g_name)
console_print(id, "[AdminPrefix] You have successfully removed your prefix.")
server_print("[AdminPrefix] Player %s removed his prefix", g_name)
PutClientPrefix(id)
return PLUGIN_HANDLED
}
replace_all(typed_prefix, charsmax(typed_prefix), "!g", "^x04")
replace_all(typed_prefix, charsmax(typed_prefix), "!t", "^x03")
replace_all(typed_prefix, charsmax(typed_prefix), "!n", "^x01")
nvault_set(g_nvault, g_name, typed_prefix)
client_prefix[id] = typed_prefix
console_print(id, "[AdminPrefix] You have successfully changed your prefix to %s", typed_prefix)
server_print("[AdminPrefix] Player %s changed his prefix to %s", g_name, typed_prefix)
return PLUGIN_HANDLED
}
public SetPlayerPrefix(id)
{
if(!get_pcvar_num(g_custom_current) || !flag_custom_current[0] || !get_pcvar_num(g_custom_others) || !flag_custom_others[0])
{
console_print(id, "[AdminPrefixes] This option is currently disabled!")
return PLUGIN_HANDLED
}
if(!(get_user_flags(id) & read_flags(flag_custom_others)))
{
console_print(id, "[AdminPrefixes] You do not have the flag, needed for using this option!")
return PLUGIN_HANDLED
}
new name_tag[64], typed_name[32];
read_args(name_tag, charsmax(name_tag))
remove_quotes(name_tag)
parse(name_tag, typed_name, charsmax(typed_name), typed_prefix, charsmax(typed_prefix))
get_user_name(id, g_name, charsmax(g_name))
new target = cmd_target(id, typed_name, 1)
if(!target)
return PLUGIN_HANDLED
if(equal(typed_prefix, ""))
{
nvault_remove(g_nvault, typed_name)
console_print(id, "[AdminPrefixes] You have successfully removed ^"%s^"'s prefix.", typed_name)
server_print("[AdminPrefixes] Player %s removed ^"%s^"'s prefix", g_name, typed_name)
PutClientPrefix(target)
return PLUGIN_HANDLED
}
replace_all(typed_prefix, charsmax(typed_prefix), "!g", "^x04")
replace_all(typed_prefix, charsmax(typed_prefix), "!t", "^x03")
replace_all(typed_prefix, charsmax(typed_prefix), "!n", "^x01")
nvault_set(g_nvault, typed_name, typed_prefix)
client_prefix[target] = typed_prefix
console_print(id, "[AdminPrefixes] You have successfully changed ^"%s^"'s prefix to %s", typed_name, typed_prefix)
server_print("[AdminPrefixes] Player %s changed ^"%s^"'s prefix to %s", g_name, typed_name, typed_prefix)
return PLUGIN_HANDLED
}
Bu plugini kurun ve configs klasöründe
admin_prefixes.ini
şeklinde bir dosya oluşturun. İçini şu şekilde ayarlayıp;
Kod:
ADMIN_LISTEN l
CUSTOM_CURRENT l
CUSTOM_OTHERS l
"[Slot]" "b"
"[Admin]" "d"
"[Server Sahibi]" "l"
kaydedin.
Haci plugin hatali ilk kontrol et öyle ver bi daha sen ing sitelerden plugini bulmuşsun atmissin ama kodun içeriğinde adam kendi serverine ayarlamis
Cevap: Admin Tag Plugininde Hata Var
ap_reloadfile yapman gerekiyor. Plugin sadece girişte yetkiye göre kalıcı tag veriyor. Bu yüzden bu plugini öneriyorum. Diğer pluginler her yazı yazışında kontrol ediyor. Bu da performansı boşa kullanması demektir. Nick değişince tagın kalmasının sebebi de bu. Ancak küçük bir değişiklik yaptım. Bunu kullanın.
PHP- Kodu:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <nvault>
#define FLAG_LOAD ADMIN_CFG
#define MAX_FLAGS 33
new g_listen, g_custom_current, g_custom_others;
new prefix_count = 0, prefix_collect[MAX_FLAGS][33], flag_listen[2], flag_custom_current[2], flag_custom_others[2], flags_collect[MAX_FLAGS][2], client_prefix[33][33];
new g_saytxt, g_maxplayers, g_nvault;
new g_typed[192], g_message[192], g_name[32], typed_prefix[33];
public plugin_init()
{
register_plugin("Admin Prefixes", "1.0", "m0skVi4a ;]")
g_listen = register_cvar("ap_listen", "0")
g_custom_current = register_cvar("ap_custom_current", "1")
g_custom_others = register_cvar("ap_custom_others", "1")
g_saytxt = get_user_msgid ("SayText")
g_maxplayers = get_maxplayers()
g_nvault = nvault_open("CustomAdminPrefixes")
register_message(g_saytxt, "DuplicateMessage")
register_concmd("ap_reloadfile", "LoadFile")
register_concmd("ap_put", "SetPrefix")
register_concmd("ap_put_player", "SetPlayerPrefix")
register_clcmd("say", "HookSay")
register_clcmd("say_team", "HookSayTeam")
LoadFile(0)
}
public client_infochanged(id) {
set_task(0.1,"UpdatePrefix",id)
}
public UpdatePrefix(id) {
client_prefix[id] = "";
PutClientPrefix(id)
}
public LoadFile(id)
{
if(!(get_user_flags(id) & FLAG_LOAD))
{
console_print(id, "[AdminPrefixes] You do not have the flag, needed for using this option!")
return PLUGIN_HANDLED
}
new config_dir[64], file[128], text[64], prefix[32], flags[2], length, line = 0;
prefix_count = 0
get_configsdir(config_dir, charsmax(config_dir))
formatex(file, charsmax(file), "%s/admin_prefixes.ini", config_dir)
if(!file_exists(file))
{
new error[256]
formatex(error, charsmax(error), "[AdminPrefixes] Admin Prefix file - %s not found!", file)
set_fail_state(error)
}
while(read_file(file, line , text, charsmax(text), length) && prefix_count <= MAX_FLAGS)
{
if(!text[0] || text[0] == '^n' || text[0] == ';')
{
line++
continue
}
parse(text, prefix, charsmax(prefix), flags, charsmax(flags))
if(!prefix[0] || !flags[0])
{
line++
continue
}
if(equal(prefix, "ADMIN_LISTEN"))
{
flag_listen = flags
line++
continue
}
if(equal(prefix, "CUSTOM_CURRENT"))
{
flag_custom_current = flags
line++
continue
}
if(equal(prefix, "CUSTOM_OTHERS"))
{
flag_custom_others = flags
line++
continue
}
replace_all(prefix, charsmax(prefix), "!g", "^x04")
replace_all(prefix, charsmax(prefix), "!t", "^x03")
replace_all(prefix, charsmax(prefix), "!n", "^x01")
prefix_count++
prefix_collect[prefix_count] = prefix
flags_collect[prefix_count] = flags
line++
}
if(flag_listen[0])
{
server_print("[AdminPrefixes] LOADED: Listen Option for players with Flag: %s", flag_listen)
}
if(flag_custom_current[0])
{
server_print("[AdminPrefixes] LOADED: Custom Prefix Option for players with Flag: %s", flag_custom_current)
}
if(flag_custom_others[0])
{
server_print("[AdminPrefixes] LOADED: Setting Custom Prefix Option for players with Flag: %s", flag_custom_others)
}
if(prefix_count > 0)
{
for(new i = 1; i <= prefix_count; i++)
{
server_print("[AdminPrefixes] LOADED: Prefix: %s for players with Flag: %s", prefix_collect[i], flags_collect[i])
}
}
else
{
server_print("[AdminPrefixes] No Prefixes were been found!")
}
get_user_name(id, g_name, charsmax(g_name))
server_print("[AdminPrefixes] Plugin's file was been loaded by %s", g_name)
console_print(id, "[AdminPrefixes] Plugin's file was been loaded!")
for(new i = 1; i <= g_maxplayers; i++)
{
PutClientPrefix(i)
}
return PLUGIN_HANDLED
}
public client_connect(id)
{
client_prefix[id] = ""
set_task(1.0, "PutClientPrefix", id)
}
public client_disconnect(id)
{
client_prefix[id] = ""
}
public PutClientPrefix(id)
{
new nvault_prefix[33];
get_user_name(id, g_name, charsmax(g_name))
new data = nvault_get(g_nvault, g_name, nvault_prefix, charsmax(nvault_prefix))
if(data && get_pcvar_num(g_custom_current) && flag_custom_current[0] && get_user_flags(id) & read_flags(flag_custom_current))
{
client_prefix[id] = nvault_prefix
}
else
{
for(new i = 1; i <= prefix_count; i++)
{
if(get_user_flags(id) & read_flags(flags_collect[i]))
{
client_prefix[id] = prefix_collect[i]
}
}
}
}
public DuplicateMessage(id)
{
return PLUGIN_HANDLED
}
public HookSay(id)
{
read_args(g_typed, charsmax(g_typed))
remove_quotes(g_typed)
if(equal(g_typed, ""))
return PLUGIN_CONTINUE
get_user_name(id, g_name, charsmax(g_name))
if(client_prefix[id][0])
{
if(is_user_alive(id))
{
formatex(g_message, charsmax(g_message), "^4%s^3 %s :^4 %s", client_prefix[id], g_name, g_typed)
}
else
{
formatex(g_message, charsmax(g_message), "^1*DEAD*^4 %s^3 %s :^4 %s", client_prefix[id], g_name, g_typed)
}
}
else
{
if(is_user_alive(id))
{
formatex(g_message, charsmax(g_message), "^3%s :^1 %s", g_name, g_typed)
}
else
{
formatex(g_message, charsmax(g_message), "^1*DEAD*^3 %s :^1 %s", g_name, g_typed)
}
}
for(new i = 1; i <= g_maxplayers; i++)
{
if(!is_user_connected(i))
continue;
if(is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i) || get_pcvar_num(g_listen) && flag_listen[0] && get_user_flags(i) & read_flags(flag_listen))
{
message_begin(MSG_ONE, g_saytxt, {0, 0, 0}, i)
write_byte(id)
write_string(g_message)
message_end()
}
}
return PLUGIN_CONTINUE
}
public HookSayTeam(id)
{
new g_team[18];
read_args(g_typed, charsmax(g_typed))
remove_quotes(g_typed)
if(equal(g_typed, ""))
return PLUGIN_CONTINUE
get_user_name(id, g_name, charsmax(g_name))
switch(cs_get_user_team(id)) {
case CS_TEAM_T: g_team = "Terrorist"
case CS_TEAM_CT: g_team = "Counter-Terrorist"
default: g_team = "Spectator"
}
if(client_prefix[id][0])
{
if(is_user_alive(id))
{
formatex(g_message, charsmax(g_message), "^1(%s)^4 %s^3 %s :^4 %s", g_team, client_prefix[id], g_name, g_typed)
}
else
{
formatex(g_message, charsmax(g_message), "^1*DEAD* (%s)^4 %s^3 %s :^4 %s", g_team, client_prefix[id], g_name, g_typed)
}
}
else
{
if(is_user_alive(id))
{
formatex(g_message, charsmax(g_message), "^1(%s)^3 %s :^1 %s", g_team, g_name, g_typed)
}
else
{
formatex(g_message, charsmax(g_message), "^1*DEAD* (%s)^3 %s :^1 %s", g_team, g_name, g_typed)
}
}
for(new i = 1; i <= g_maxplayers; i++)
{
if(!is_user_connected(i))
continue
if(cs_get_user_team(id) == cs_get_user_team(i) || get_pcvar_num(g_listen) && flag_listen[0] && get_user_flags(i) & read_flags(flag_listen))
{
if(is_user_alive(id) && is_user_alive(i) || !is_user_alive(id) && !is_user_alive(i) || get_pcvar_num(g_listen) && flag_listen[0] && get_user_flags(i) & read_flags(flag_listen))
{
message_begin(MSG_ONE, g_saytxt, {0, 0, 0}, i)
write_byte(id)
write_string(g_message)
message_end()
}
}
}
return PLUGIN_CONTINUE
}
public SetPrefix(id)
{
if(!get_pcvar_num(g_custom_current) || !flag_custom_current[0])
{
console_print(id, "[AdminPrefixes] This option is currently disabled!")
return PLUGIN_HANDLED
}
if(!(get_user_flags(id) & read_flags(flag_custom_current)))
{
console_print(id, "[AdminPrefixes] You do not have the flag, needed for using this option!")
return PLUGIN_HANDLED
}
read_args(typed_prefix, charsmax(typed_prefix))
remove_quotes(typed_prefix)
get_user_name(id, g_name, charsmax(g_name))
if(equal(typed_prefix, ""))
{
nvault_remove(g_nvault, g_name)
console_print(id, "[AdminPrefix] You have successfully removed your prefix.")
server_print("[AdminPrefix] Player %s removed his prefix", g_name)
PutClientPrefix(id)
return PLUGIN_HANDLED
}
replace_all(typed_prefix, charsmax(typed_prefix), "!g", "^x04")
replace_all(typed_prefix, charsmax(typed_prefix), "!t", "^x03")
replace_all(typed_prefix, charsmax(typed_prefix), "!n", "^x01")
nvault_set(g_nvault, g_name, typed_prefix)
client_prefix[id] = typed_prefix
console_print(id, "[AdminPrefix] You have successfully changed your prefix to %s", typed_prefix)
server_print("[AdminPrefix] Player %s changed his prefix to %s", g_name, typed_prefix)
return PLUGIN_HANDLED
}
public SetPlayerPrefix(id)
{
if(!get_pcvar_num(g_custom_current) || !flag_custom_current[0] || !get_pcvar_num(g_custom_others) || !flag_custom_others[0])
{
console_print(id, "[AdminPrefixes] This option is currently disabled!")
return PLUGIN_HANDLED
}
if(!(get_user_flags(id) & read_flags(flag_custom_others)))
{
console_print(id, "[AdminPrefixes] You do not have the flag, needed for using this option!")
return PLUGIN_HANDLED
}
new name_tag[64], typed_name[32];
read_args(name_tag, charsmax(name_tag))
remove_quotes(name_tag)
parse(name_tag, typed_name, charsmax(typed_name), typed_prefix, charsmax(typed_prefix))
get_user_name(id, g_name, charsmax(g_name))
new target = cmd_target(id, typed_name, 1)
if(!target)
return PLUGIN_HANDLED
if(equal(typed_prefix, ""))
{
nvault_remove(g_nvault, typed_name)
console_print(id, "[AdminPrefixes] You have successfully removed ^"%s^"'s prefix.", typed_name)
server_print("[AdminPrefixes] Player %s removed ^"%s^"'s prefix", g_name, typed_name)
PutClientPrefix(target)
return PLUGIN_HANDLED
}
replace_all(typed_prefix, charsmax(typed_prefix), "!g", "^x04")
replace_all(typed_prefix, charsmax(typed_prefix), "!t", "^x03")
replace_all(typed_prefix, charsmax(typed_prefix), "!n", "^x01")
nvault_set(g_nvault, typed_name, typed_prefix)
client_prefix[target] = typed_prefix
console_print(id, "[AdminPrefixes] You have successfully changed ^"%s^"'s prefix to %s", typed_name, typed_prefix)
server_print("[AdminPrefixes] Player %s changed ^"%s^"'s prefix to %s", g_name, typed_name, typed_prefix)
return PLUGIN_HANDLED
}
Alıntı:
kral0922 Nickli Üyeden Alıntı
Yardimci olacagimda serverinizdeki oto slotu kapatirsanizda olur veya plugini editliyip vereyim.. Seçiminizi yapin vereyim
- - - - - - - - - -
Haci plugin hatali ilk kontrol et öyle ver bi daha sen ing sitelerden plugini bulmuşsun atmissin ama kodun içeriğinde adam kendi serverine ayarlamis
Bu plugini öylece bulup atmadım. Kendi serverlarımda en az 5 ay kullandım. Ayrıca plugin hatalı değil. Bilmediğiniz, anlamadığınız konularda üç kuruşluk edit bilginizle boş boş konuşup laf kalabalığı yapmayın. Tabi ingilizce bilmediğiniz için o sitenin ne sitesi olduğunu da anlamamışsınızdır. Ayrıca, yanlış bilgilendirici mesajlar göndermek bu bölümde ceza alma sebebidir.
Cevap: Admin Tag Plugininde Hata Var
Teşekkürler Plugin Çalıştı.Konu "Çözülmüş İstekler"e Taşınabilir...
Cevap: Admin Tag Plugininde Hata Var
Çözülmüş İsteklere taşındı.