// Renkler: [1] Sari, [2] Yesil, [3] Beyaz, [4] Mavi, [5] Kirmizi, [6] Takim Rengi
#include <amxmodx>
#include <amxmisc>
#define YONETICI_ADMIN ADMIN_IMMUNITY
#define NORMAL_ADMIN ADMIN_BAN
#define SLOT_ADMIN ADMIN_RESERVATION
#define USER_ADMIN ADMIN_USER
#define ADMIN_LISTEN ADMIN_BAN
new message[192]
new YoneticiNickRengi, AdminNickRengi, SlotNickRengi, UserNickRengi;
new YoneticiMesajRengi, AdminMesajRengi, SlotMesajRengi, UserMesajRengi;
new AdminListen, alive[11], strName[191], strText[191]
new const user[] = "SERVERIP";
new const kurucu[] = "Gawiscanse-Yonetici";
new const admin[] = "Gawiscanse-Admin";
new const slot[] = "Gawiscanse-Slot";
public plugin_init() {
register_plugin("Renkli Yazma", "1.0", "Anonim / edit: Berk")
register_clcmd("say", "hook_say")
register_clcmd("say_team", "hook_sayteam")
register_message (get_user_msgid ("SayText"), "avoid_duplicated")
YoneticiNickRengi = register_cvar("yonetici_nick_color", "2")
AdminNickRengi = register_cvar("admin_nick_color", "6")
SlotNickRengi = register_cvar("slot_nick_color", "6")
UserNickRengi = register_cvar("user_nick_color", "6")
YoneticiMesajRengi = register_cvar("yonetici_mesaj_color", "5")
AdminMesajRengi = register_cvar("admin_mesaj_color", "2")
SlotMesajRengi = register_cvar("slot_mesaj_color", "2")
UserMesajRengi = register_cvar("user_mesaj_color", "1")
AdminListen = register_cvar("amx_listen", "1")
}
public avoid_duplicated (msgId, msgDest, receiver)
{
return PLUGIN_HANDLED
}
public hook_say(id)
{
read_args(message, 191)
remove_quotes(message)
if(message[0] == '@' || message[0] == '!' || equal(message, "")) return PLUGIN_CONTINUE;
new name[32]
get_user_name(id, name, 31)
new bool:User = false
new bool:Slot = false
new bool:Admin = false
new bool:Yonetici = false
if(get_user_flags(id) & YONETICI_ADMIN) Yonetici = true
else if(get_user_flags(id) & NORMAL_ADMIN) Admin = true
else if(get_user_flags(id) & SLOT_ADMIN) Slot = true
else if(get_user_flags(id) & USER_ADMIN) User = true
new isAlive
if(is_user_alive(id))
{
isAlive = 1
alive = "^x01"
}
else
{
isAlive = 0
alive = "^x01*OLU*"
}
static color[10]
if(Yonetici)
{
Admin = false
Slot = false
User = false
switch(get_pcvar_num(YoneticiNickRengi))
{
case 1: {
format (strName, 191, "^x04%s %s %s", kurucu, alive, name)
}
case 2: {
format (strName, 191, "^x04%s %s ^x04%s", kurucu, alive, name)
}
case 3: {
color = "SPECTATOR"
format (strName, 191, "^x04%s %s ^x03%s", kurucu, alive, name)
}
case 4: {
color = "CT"
format (strName, 191, "^x04%s %s ^x03%s", kurucu, alive, name)
}
case 5: {
color = "TERRORIST"
format (strName, 191, "^x04%s %s ^x03%s", kurucu, alive, name)
}
case 6: {
get_user_team(id, color, 9)
format (strName, 191, "^x04%s %s ^x03%s", kurucu, alive, name)
}
}
switch(get_pcvar_num(YoneticiMesajRengi))
{
case 1: {
format (strText, 191, "%s", message)
}
case 2: {
format (strText, 191, "^x04%s", message)
}
case 3: {
copy (color, 9, "SPECTATOR")
format (strText, 191, "^x03%s", message)
}
case 4: {
copy (color, 9, "CT")
format (strText, 191, "^x03%s", message)
}
case 5: {
copy (color, 9, "TERRORIST")
format (strText, 191, "^x03%s", message)
}
}
}
else if(Admin)
{
Yonetici = false
Slot = false
User = false
switch(get_pcvar_num(AdminNickRengi))
{
case 1: {
format (strName, 191, "^x04%s %s %s", admin, alive, name)
}
case 2: {
format (strName, 191, "^x04%s %s ^x04%s", admin, alive, name)
}
case 3: {
color = "SPECTATOR"
format (strName, 191, "^x04%s %s ^x03%s", admin, alive, name)
}
case 4: {
color = "CT"
format (strName, 191, "^x04%s %s ^x03%s", admin, alive, name)
}
case 5: {
color = "TERRORIST"
format (strName, 191, "^x04%s %s ^x03%s", admin, alive, name)
}
case 6: {
get_user_team(id, color, 9)
format (strName, 191, "^x04%s %s ^x03%s", admin, alive, name)
}
}
switch(get_pcvar_num(AdminMesajRengi))
{
case 1: {
format (strText, 191, "%s", message)
}
case 2: {
format (strText, 191, "^x04%s", message)
}
case 3: {
copy (color, 9, "SPECTATOR")
format (strText, 191, "^x03%s", message)
}
case 4: {
copy (color, 9, "CT")
format (strText, 191, "^x03%s", message)
}
case 5: {
copy (color, 9, "TERRORIST")
format (strText, 191, "^x03%s", message)
}
}
}
else if(Slot)
{
Yonetici = false
Admin = false
User = false
switch(get_pcvar_num(SlotNickRengi))
{
case 1: {
format (strName, 191, "^x04%s %s %s", slot, alive, name)
}
case 2: {
format (strName, 191, "^x04%s %s ^x04%s", slot, alive, name)
}
case 3: {
color = "SPECTATOR"
format (strName, 191, "^x04%s %s ^x03%s", slot, alive, name)
}
case 4: {
color = "CT"
format (strName, 191, "^x04%s %s ^x03%s", slot, alive, name)
}
case 5: {
color = "TERRORIST"
format (strName, 191, "^x04%s %s ^x03%s", slot, alive, name)
}
case 6: {
get_user_team(id, color, 9)
format (strName, 191, "^x04%s %s ^x03%s", slot, alive, name)
}
}
switch(get_pcvar_num(SlotMesajRengi))
{
case 1: {
format (strText, 191, "%s", message)
}
case 2: {
format (strText, 191, "^x04%s", message)
}
case 3: {
copy (color, 9, "SPECTATOR")
format (strText, 191, "^x03%s", message)
}
case 4: {
copy (color, 9, "CT")
format (strText, 191, "^x03%s", message)
}
case 5: {
copy (color, 9, "TERRORIST")
format (strText, 191, "^x03%s", message)
}
}
}
else if(User)
{
Yonetici = false
Admin = false
Slot = false
switch(get_pcvar_num(UserNickRengi))
{
case 1: {
format (strName, 191, "^x04%s %s %s", yTag, alive, name)
}
case 2: {
format (strName, 191, "^x04%s %s ^x04%s", yTag, alive, name)
}
case 3: {
color = "SPECTATOR"
format (strName, 191, "^x04%s %s ^x03%s", yTag, alive, name)
}
case 4: {
color = "CT"
format (strName, 191, "^x04%s %s ^x03%s", yTag, alive, name)
}
case 5: {
color = "TERRORIST"
format (strName, 191, "^x04%s %s ^x03%s", yTag, alive, name)
}
case 6: {
get_user_team(id, color, 9)
format (strName, 191, "^x04%s %s ^x03%s", yTag, alive, name)
}
}
switch(get_pcvar_num(UserMesajRengi))
{
case 1: {
format (strText, 191, "%s", message)
}
case 2: {
format (strText, 191, "^x04%s", message)
}
case 3: {
copy (color, 9, "SPECTATOR")
format (strText, 191, "^x03%s", message)
}
case 4: {
copy (color, 9, "CT")
format (strText, 191, "^x03%s", message)
}
case 5: {
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_sayteam(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] == '!' || equal(message, "")) return PLUGIN_CONTINUE;
new name[32]
get_user_name(id, name, 31)
new bool:User = false
new bool:Slot = false
new bool:Admin = false
new bool:Yonetici = false
if(get_user_flags(id) & YONETICI_ADMIN) Yonetici = true
else if(get_user_flags(id) & NORMAL_ADMIN) Admin = true
else if(get_user_flags(id) & SLOT_ADMIN) Slot = true
else if(get_user_flags(id) & USER_ADMIN) User = true
new isAlive
if(is_user_alive(id))
{
isAlive = 1
alive = "^x01"
}
else
{
isAlive = 0
alive = "^x01*OLU*"
}
static color[10]
if(Yonetici)
{
Admin = false
Slot = false
User = false
switch(get_pcvar_num(YoneticiNickRengi))
{
case 1: {
format (strName, 191, "%s(%s) %s", alive, playerTeamName, name)
}
case 2: {
format (strName, 191, "%s(%s) ^x04%s", alive, playerTeamName, name)
}
case 3: {
color = "SPECTATOR"
format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
}
case 4: {
color = "CT"
format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
}
case 5: {
color = "TERRORIST"
format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
}
case 6: {
get_user_team (id, color, 9)
format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
}
}
switch(get_pcvar_num(YoneticiMesajRengi))
{
case 1: {
format (strText, 191, "%s", message)
}
case 2: {
format (strText, 191, "^x04%s", message)
}
case 3: {
copy (color, 9, "SPECTATOR")
format (strText, 191, "^x03%s", message)
}
case 4: {
copy (color, 9, "CT")
format (strText, 191, "^x03%s", message)
}
case 5: {
copy (color, 9, "TERRORIST")
format (strText, 191, "^x03%s", message)
}
}
}
else if(Admin)
{
Yonetici = false
Slot = false
User = false
switch(get_pcvar_num(AdminNickRengi))
{
case 1: {
format (strName, 191, "%s(%s) %s", alive, playerTeamName, name)
}
case 2: {
format (strName, 191, "%s(%s) ^x04%s", alive, playerTeamName, name)
}
case 3: {
color = "SPECTATOR"
format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
}
case 4: {
color = "CT"
format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
}
case 5: {
color = "TERRORIST"
format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
}
case 6: {
get_user_team (id, color, 9)
format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
}
}
switch(get_pcvar_num(AdminMesajRengi))
{
case 1: {
format (strText, 191, "%s", message)
}
case 2: {
format (strText, 191, "^x04%s", message)
}
case 3: {
copy (color, 9, "SPECTATOR")
format (strText, 191, "^x03%s", message)
}
case 4: {
copy (color, 9, "CT")
format (strText, 191, "^x03%s", message)
}
case 5: {
copy (color, 9, "TERRORIST")
format (strText, 191, "^x03%s", message)
}
}
}
else if(Slot)
{
Yonetici = false
Admin = false
User = false
switch(get_pcvar_num(SlotNickRengi))
{
case 1: {
format (strName, 191, "%s(%s) %s", alive, playerTeamName, name)
}
case 2: {
format (strName, 191, "%s(%s) ^x04%s", alive, playerTeamName, name)
}
case 3: {
color = "SPECTATOR"
format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
}
case 4: {
color = "CT"
format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
}
case 5: {
color = "TERRORIST"
format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
}
case 6: {
get_user_team (id, color, 9)
format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
}
}
switch(get_pcvar_num(SlotMesajRengi))
{
case 1: {
format (strText, 191, "%s", message)
}
case 2: {
format (strText, 191, "^x04%s", message)
}
case 3: {
copy (color, 9, "SPECTATOR")
format (strText, 191, "^x03%s", message)
}
case 4: {
copy (color, 9, "CT")
format (strText, 191, "^x03%s", message)
}
case 5: {
copy (color, 9, "TERRORIST")
format (strText, 191, "^x03%s", message)
}
}
}
else if(User)
{
Yonetici = false
Admin = false
Slot = false
switch(get_pcvar_num(UserNickRengi))
{
case 1: {
format (strName, 191, "%s(%s) %s", alive, playerTeamName, name)
}
case 2: {
format (strName, 191, "%s(%s) ^x04%s", alive, playerTeamName, name)
}
case 3: {
color = "SPECTATOR"
format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
}
case 4: {
color = "CT"
format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
}
case 5: {
color = "TERRORIST"
format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
}
case 6: {
get_user_team (id, color, 9)
format (strName, 191, "%s(%s) ^x03%s", alive, playerTeamName, name)
}
}
switch(get_pcvar_num(UserMesajRengi))
{
case 1: {
format (strText, 191, "%s", message)
}
case 2: {
format (strText, 191, "^x04%s", message)
}
case 3: {
copy (color, 9, "SPECTATOR")
format (strText, 191, "^x03%s", message)
}
case 4: {
copy (color, 9, "CT")
format (strText, 191, "^x03%s", message)
}
case 5: {
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_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_cvar_num ("amx_listen", newListen)
set_pcvar_num (AdminListen, newListen)
return PLUGIN_HANDLED
}
public sendMessage(color[], alive)
{
new teamName[10]
for(new player = 1; player < get_maxplayers(); player++)
{
if(!is_user_connected(player))
continue
if(alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(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 < get_maxplayers(); player++)
{
if(get_user_team(player) == playerTeam || get_pcvar_num(AdminListen) && get_user_flags(player) & ADMIN_LISTEN)
{
if(alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_pcvar_num(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, get_user_msgid ("TeamInfo"), _, player)
write_byte (player)
write_string (team)
message_end()
}
public writeMessage (player, message[])
{
message_begin (MSG_ONE, get_user_msgid ("SayText"), {0, 0, 0}, player)
write_byte (player)
write_string (message)
message_end ()
}