Va multumesc anticipat!
- | Afiseaza codul
#include <amxmodx> #include <engine> #include <cstrike> #include <fakemeta> #include <hamsandwich> #include <fun> #include <xs> //#pragma semicolon 1 new const PLUGIN[] = "Spawn_knife"; new const VERSION[] = "1.2"; new const AUTHOR[] = "GbR & Evolution"; #define ADMIN_LEVEL ADMIN_LEVEL_A #define is_user_admin(%1) (get_user_flags(%1) & ADMIN_LEVEL) #define VIP_LEVEL ADMIN_LEVEL_H #define is_user_vip(%1) (get_user_flags(%1) & VIP_LEVEL) new bool: HaveGuillotine[33]; new bool: HaveKatana[33]; new bool: HavexFotherUpgrade[33]; new bool: HaveGreenDragon[33]; new bool: HaveHuntedKnife[33]; new bool: HavePuppeteer[33]; new bool: HaveRegeneratorElf[33]; new bool: HaveJoker[33]; new stock bool: HaveKnifeChoosen[33]; new const HaveGuillotineVModel[66] = "models/furien_knife/v_guillotine.mdl"; new const HaveGuillotineWModel[66] = "models/furien_knife/w_guillotine.mdl"; new const HaveKatanaModel[66] = "models/furien_knife/v_katana.mdl"; new const HavexFotherUpgradeVModel[66] = "models/furien_knife/v_katanad.mdl"; new const HavexFotherUpgradePModel[66] = "models/furien_knife/p_katanad.mdl"; static stock const xFotherUpgrade_sound[][] = { "weapons/katanad_stab_miss.wav", "weapons/katanad_stab.wav", "weapons/katanad_slash3.wav", "weapons/katanad_slash2.wav", "weapons/katanad_slash1.wav", "weapons/katanad_hit2.wav", "weapons/katanad_hit1.wav", "weapons/katanad_draw.wav" }; new const HaveGreenDragonVModel[66] = "models/furien_knife/v_dragonsword2.mdl"; new const HaveGreenDragonPModel[66] = "models/furien_knife/p_dragonsword.mdl"; static stock const GreenDragon_sound[][] = { "weapons/dragonsword_draw.wav", "weapons/dragonsword_hit1.wav", "weapons/dragonsword_hit2.wav", "weapons/dragonsword_idle.wav", "weapons/dragonsword_slash1.wav", "weapons/dragonsword_slash2.wav", "weapons/dragonsword_stab_hit.wav", "weapons/dragonsword_wall.wav" }; new const HaveHuntedKnifeModel[66] = "models/furien_knife/v_hunted_knife.mdl"; new const HavePuppeteerModel[66] = "models/furien_knife/v_puppeteer(new).mdl"; //new Puppeteer_blood; new const HaveRegeneratorElfModel[66] = "models/furien_knife/v_elf_christmas.mdl"; new const HaveJokerVModel[66] = "models/furien_knife/v_joker.mdl"; new const HaveJokerPModel[66] = "models/furien_knife/p_joker.mdl"; static stock const Joker_sound[][] = { "joker/joker_deploy1.wav", // 0 "joker/joker_hwall.wav", // 1 "joker/joker_slash1.wav", // 2 "joker/joker_stab.wav", // 3 "joker/joker1.wav", // 4 "joker/joker2.wav" // 5 }; static const stock Joker_blood[][] = { "sprites/blood.spr", "sprites/bloodspray.spr" }; static g_Blood[sizeof Joker_blood] //Native native fcs_get_user_credits(id); native fcs_set_user_credits(id, credits); #define KNIFE_KNOCK 5 #define BLOOD 3 public plugin_precache() { //Puppeteer_blood = precache_model("sprites/puppeteer.spr") precache_model(HaveGuillotineVModel); precache_model(HaveGuillotineWModel); precache_model(HaveKatanaModel); precache_model(HavexFotherUpgradeVModel); precache_model(HavexFotherUpgradePModel); precache_model(HaveGreenDragonVModel); precache_model(HaveGreenDragonPModel); precache_model(HaveHuntedKnifeModel); precache_model(HavePuppeteerModel); precache_model(HaveRegeneratorElfModel); precache_model(HaveJokerVModel); precache_model(HaveJokerPModel); for(new i = 0; i <= charsmax(Joker_sound); i++) { precache_sound(Joker_sound); } for(new i = 0; i <= charsmax(Joker_blood); i++) { g_Blood = precache_model(Joker_blood); } for(new i = 0; i <= charsmax(GreenDragon_sound); i++) { precache_sound(GreenDragon_sound); } for(new i = 0; i <= charsmax(xFotherUpgrade_sound); i++) { precache_sound(xFotherUpgrade_sound); } } public client_putinserver(id) { HaveGuillotine[id] = false; HaveKatana[id] = false; HavexFotherUpgrade[id] = false; HavePuppeteer[id] = false; HaveGreenDragon[id] = false; HaveHuntedKnife[id] = false; HaveRegeneratorElf[id] = false; HaveJoker[id] = false; } public client_disconnect(id) { client_putinserver(id); } public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_clcmd("say /knife","ClCmdSayKnife"); register_event("CurWeapon", "CurrentWeapon", "be", "1=1"); RegisterHam(Ham_Spawn, "player", "hamPlayerSpawnPost", 1); RegisterHam(Ham_TakeDamage, "player", "Player_TakeDamage"); register_forward(FM_SetModel, "fw_SetModel"); register_forward(FM_EmitSound, "fw_EmitSounds"); //register_event("DeathMsg","hook_death","a"); RegisterHam(Ham_TakeDamage, "player", "TakeDamage_Post", 1) } public TakeDamage_Post(victim, inflictor, attacker, Float:damage, damagetype) { if(!is_user_alive(attacker) || !is_user_alive(victim)) return HAM_IGNORED if(HaveJoker[attacker] && get_user_weapon(attacker) == CSW_KNIFE && get_user_team(attacker) == 1) { //return HAM_IGNORED new Float:Origin[3], Float:Origin2[3], Float:Velocity[3] pev(attacker, pev_origin, Origin) pev(victim, pev_origin, Origin2) xs_vec_sub(Origin2, Origin, Velocity) xs_vec_normalize(Velocity, Velocity) xs_vec_mul_scalar(Velocity, (KNIFE_KNOCK * 100.0), Velocity) if(Velocity[2] <= 100.0) Velocity[2] = random_float(150.0, 250.0) message_begin(MSG_BROADCAST, SVC_TEMPENTITY); write_byte(TE_BLOODSPRITE); engfunc(EngFunc_WriteCoord, Origin2[0]) engfunc(EngFunc_WriteCoord, Origin2[1]) engfunc(EngFunc_WriteCoord, Origin2[2]) write_short(g_Blood[0]) write_short(g_Blood[1]) write_byte(77) write_byte(BLOOD) message_end() set_pev(victim, pev_velocity, Velocity) //return HAM_HANDLED } /*if(HavePuppeteer[attacker] && get_user_weapon(attacker) == CSW_KNIFE && get_user_team(attacker) == 1) { //return HAM_IGNORED new Float:Origin[3], Float:Origin2[3], Float:Velocity[3] pev(attacker, pev_origin, Origin) pev(victim, pev_origin, Origin2) xs_vec_sub(Origin2, Origin, Velocity) xs_vec_normalize(Velocity, Velocity) xs_vec_mul_scalar(Velocity, (KNIFE_KNOCK * 100.0), Velocity) if(Velocity[2] <= 100.0) Velocity[2] = random_float(150.0, 250.0) message_begin(MSG_BROADCAST, SVC_TEMPENTITY); write_byte(TE_BLOODSPRITE); engfunc(EngFunc_WriteCoord, Origin2[0]) engfunc(EngFunc_WriteCoord, Origin2[1]) engfunc(EngFunc_WriteCoord, Origin2[2]) write_short(Puppeteer_blood) //write_short(g_Blood[1]) write_byte(77) write_byte(BLOOD) message_end() set_pev(victim, pev_velocity, Velocity) //return HAM_HANDLED }*/ return HAM_HANDLED } /*public hook_death() { static killer,victim; killer = read_data(1); victim = read_data(2); if(is_user_connected(killer) && is_user_connected(victim) && get_user_team(killer) == 1 && get_user_team(victim) == 2 && get_user_weapon(id) == CSW_KNIFE && HaveJoker[killer]) { new Float:iVictimOrigin[3] pev(victim, pev_origin, iVictimOrigin) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(115) write_coord(floatround(iVictimOrigin[0]+random_num(-20,20))) write_coord(floatround(iVictimOrigin[1]+random_num(-20,20))) write_coord(floatround(iVictimOrigin[2]+random_num(-20,20))) write_short(g_Blood[0]) write_short(g_Blood[1]) write_byte(248) write_byte(scale) message_end() } }*/ /* public KnifeSound(id, channel, sample[], Float:volume, Float:attn, flags, pitch) { if(!equal(sample, "weapons/knife_", 14) || !Knife[id]) return FMRES_IGNORED if(equal(sample[8], "knife_hitwall", 13)) PlaySound(id, 1) else if(equal(sample[8], "knife_hit", 9)) switch(random(2)) { case 0:PlaySound(id, 4) case 1:PlaySound(id, 5) } if(equal(sample[8], "knife_slash", 11)) PlaySound(id, 2) if(equal(sample[8], "knife_stab", 10)) PlaySound(id, 3) if(equal(sample[8], "knife_deploy", 12)) PlaySound(id, 0) return FMRES_SUPERCEDE } stock PlaySound(Ent, Sound) engfunc(EngFunc_EmitSound, Ent, CHAN_WEAPON, SoundList[_:Sound], VOL_NORM, ATTN_NORM, 0, PITCH_NORM) */ public fw_EmitSounds(const id, const channel, const sample[]) { if(is_user_alive(id)) { if(HavexFotherUpgrade[id]) { for(new i = 0; i < sizeof xFotherUpgrade_sound; i++) { if(equal(sample, xFotherUpgrade_sound)) { emit_sound(id, channel, xFotherUpgrade_sound, 1.0, ATTN_NORM, 0, PITCH_NORM); // random?? return FMRES_SUPERCEDE; } } } if(HaveGreenDragon[id]) { for(new i = 0; i < sizeof GreenDragon_sound; i++) { if(equal(sample, GreenDragon_sound)) { emit_sound(id, channel, GreenDragon_sound, 1.0, ATTN_NORM, 0, PITCH_NORM); return FMRES_SUPERCEDE; } } } if(HaveJoker[id]) { for(new i = 0; i < sizeof Joker_sound; i++) { if(equal(sample, Joker_sound)) { emit_sound(id, channel, Joker_sound[i], 1.0, ATTN_NORM, 0, PITCH_NORM); return FMRES_SUPERCEDE; } } } } return FMRES_IGNORED; } public CurrentWeapon(id) { if(HaveGuillotine [id] && get_user_weapon(id) == CSW_KNIFE) { set_pev(id, pev_viewmodel2, HaveGuillotineVModel); } if(HaveKatana [id] && get_user_weapon(id) == CSW_KNIFE) { set_pev(id, pev_viewmodel2, HaveKatanaModel); } if(HavexFotherUpgrade [id] && get_user_weapon(id) == CSW_KNIFE) { set_pev(id, pev_viewmodel2, HavexFotherUpgradeVModel); // this set's the player model (what you see when people holding the gun) entity_set_string(id, EV_SZ_weaponmodel, HavexFotherUpgradePModel) } if(HavePuppeteer [id] && get_user_weapon(id) == CSW_KNIFE) { set_pev(id, pev_viewmodel2, HavePuppeteerModel); } if(HaveGreenDragon [id] && get_user_weapon(id) == CSW_KNIFE) { set_pev(id, pev_viewmodel2, HaveGreenDragonVModel); // this set's the player model (what you see when people holding the gun) entity_set_string(id, EV_SZ_weaponmodel, HaveGreenDragonPModel) } if(HaveHuntedKnife [id] && get_user_weapon(id) == CSW_KNIFE) { set_pev(id, pev_viewmodel2, HaveHuntedKnifeModel); } if(HaveRegeneratorElf [id] && get_user_weapon(id) == CSW_KNIFE) { set_pev(id, pev_viewmodel2, HaveRegeneratorElfModel); } if(HaveJoker [id] && get_user_weapon(id) == CSW_KNIFE) { set_pev(id, pev_viewmodel2, HaveJokerVModel); // this set's the player model (what you see when people holding the gun) entity_set_string(id, EV_SZ_weaponmodel, HaveJokerPModel) } } public fw_SetModel(entity, model[]) { // check if its a valid entity or else we'll get errors if(!is_valid_ent(entity)) return FMRES_IGNORED // checks if it's the model we want to change if(!equali(model, HaveGuillotineWModel)) return FMRES_IGNORED new className[33] entity_get_string(entity, EV_SZ_classname, className, 32) // dropped weapons map weapons c4 + grenades if(equal(className, "weaponbox") || equal(className, "armoury_entity") || equal(className, "grenade")) { // set's the world model (what you see on the ground) entity_set_model(entity, HaveGuillotineWModel) return FMRES_SUPERCEDE } return FMRES_IGNORED } public hamPlayerSpawnPost(id) { if(is_user_alive(id)) { if(cs_get_user_team(id) == CS_TEAM_T) { ShowMenuKnife(id); HaveKnifeChoosen[id] = false; HaveGuillotine[id] = false; HaveKatana[id] = false; HavexFotherUpgrade[id] = false; HavePuppeteer[id] = false; HaveGreenDragon[id] = false; HaveHuntedKnife[id] = false; HaveRegeneratorElf[id] = false; HaveJoker[id] = false; } } } public ShowMenuKnife(id) { new show_credits[128]; formatex(show_credits, charsmax(show_credits), "\rFurien Knife Menu^n\yCredite: \w%d", fcs_get_user_credits(id)); new menu = menu_create (show_credits, "KnifeMenu"); menu_additem (menu, "Guillotine", "1"); menu_additem (menu, "Katana", "2"); menu_additem (menu, "xFotherUpgrade^n", "3"); menu_additem (menu, "GreenDragon \r[ \y20 Credits \r]", "4"); menu_additem (menu, "Hunted Knife \r[ \y25 Credits \r]", "5"); if(is_user_admin(id)) { menu_additem (menu, "Puppeteer \r[ \rONLY ADMIN \r]", "6"); } else { menu_additem (menu, "Puppeteer \r[ \dONLY ADMIN \r]", "6"); } if(is_user_vip(id)) { menu_additem (menu, "Regenerator Elf \r[ \rONLY VIP \r]", "7"); } else { menu_additem (menu, "Regenerator Elf \r[ \dONLY VIP \r]", "7"); } if(is_user_vip(id)) { menu_additem (menu, "Joker \r[ \rONLY VIP \r]", "8"); } else { menu_additem (menu, "Joker \r[ \dONLY VIP \r]", "8"); } menu_setprop (menu, MPROP_EXIT, MEXIT_ALL); menu_display (id, menu, 0); return 1; } public KnifeMenu (id, menu, item) { if(item == MENU_EXIT) { return 1; } new data [6], szName [64]; new access, callback; menu_item_getinfo (menu, item, access, data,charsmax (data), szName,charsmax (szName), callback); new key = str_to_num (data); switch (key) { case 1: { if(!is_user_alive(id)) { ChatColor(id, "!g[Furien] !nTrebue sa fii in viata pentru a alege un cutit"); } else { HaveGuillotine[id] = true; HaveKatana[id] = false; HavexFotherUpgrade[id] = false; HavePuppeteer[id] = false; HaveGreenDragon[id] = false; HaveHuntedKnife[id] = false; HaveRegeneratorElf[id] = false; HaveJoker[id] = false; CurrentWeapon(id); HaveKnifeChoosen[id] = true; ChatColor(id, "!g[Furien] !nAti ales cutitul !tGuillotine"); } } case 2: { if(!is_user_alive(id)) { ChatColor(id, "!g[Furien] !nTrebue sa fii in viata pentru a alege un cutit"); } else { HaveGuillotine[id] = false; HaveKatana[id] = true; HavexFotherUpgrade[id] = false; HavePuppeteer[id] = false; HaveGreenDragon[id] = false; HaveHuntedKnife[id] = false; HaveRegeneratorElf[id] = false; HaveJoker[id] = false; CurrentWeapon(id); HaveKnifeChoosen[id] = true; ChatColor(id, "!g[Furien] !nAti ales cutitul !tKatana"); } } case 3: { if(!is_user_alive(id)) { ChatColor(id, "!g[Furien] !nTrebue sa fii in viata pentru a alege un cutit"); } else { HaveGuillotine[id] = false; HaveKatana[id] = false; HavexFotherUpgrade[id] = true; HavePuppeteer[id] = false; HaveGreenDragon[id] = false; HaveHuntedKnife[id] = false; HaveRegeneratorElf[id] = false; HaveJoker[id] = false; CurrentWeapon(id); HaveKnifeChoosen[id] = true; ChatColor(id, "!g[Furien] !nAti ales cutitul !txFotherUpgrade"); } } case 4: { new iCredits = fcs_get_user_credits (id) - 20; if (iCredits < 0) { ChatColor(id, "!g[Furien] !nNu aveti destule credite pentru a cumpara !tGreenDragon"); ShowMenuKnife(id); return 1; } if(!is_user_alive(id)) { ChatColor(id, "!g[Furien] !nTrebue sa fii in viata pentru a alege un cutit"); } else { HaveGuillotine[id] = false; HaveKatana[id] = false; HavexFotherUpgrade[id] = false; HavePuppeteer[id] = false; HaveGreenDragon[id] = true; HaveHuntedKnife[id] = false; HaveRegeneratorElf[id] = false; HaveJoker[id] = false; CurrentWeapon(id); HaveKnifeChoosen[id] = true; fcs_set_user_credits(id, iCredits); ChatColor(id, "!g[Furien] !nAti cumparat cutitul !tGreen Dragon !npentru !t20 credite"); } } case 5: { new iCredits = fcs_get_user_credits (id) - 25; if (iCredits < 0) { ChatColor(id, "!g[Furien] !nNu aveti destule credite pentru a cumpara !tHuned Knife"); ShowMenuKnife(id); return 1; } if(!is_user_alive(id)) { ChatColor(id, "!g[Furien] !nTrebue sa fii in viata pentru a alege un cutit"); } else { HaveGuillotine[id] = false; HaveKatana[id] = false; HavexFotherUpgrade[id] = false; HavePuppeteer[id] = false; HaveGreenDragon[id] = false; HaveHuntedKnife[id] = true; HaveRegeneratorElf[id] = false; HaveJoker[id] = false; CurrentWeapon(id); HaveKnifeChoosen[id] = true; fcs_set_user_credits(id, iCredits); ChatColor(id, "!g[Furien] !nAti cumparat cutitul !tHunted Knife !npentru !t25 credite"); } } case 6: { if(!is_user_alive(id)) { ChatColor(id, "!g[Furien] !nTrebue sa fii in viata pentru a alege un cutit"); } if(is_user_admin(id)) { HaveGuillotine[id] = false; HaveKatana[id] = false; HavexFotherUpgrade[id] = false; HavePuppeteer[id] = true; HaveGreenDragon[id] = false; HaveHuntedKnife[id] = false; HaveRegeneratorElf[id] = false; HaveJoker[id] = false; CurrentWeapon(id); HaveKnifeChoosen[id] = true; set_user_health(id, get_user_health(id) +155); ChatColor(id, "!g[Furien VIP] !nAti ales cutitul !tPuppeteer"); } else { ChatColor(id, "!g[Furien VIP] !nPentru mai multe detalii add !gY!M: ![email protected]"); ShowMenuKnife(id); } } case 7: { if(!is_user_alive(id)) { ChatColor(id, "!g[Furien] !nTrebue sa fii in viata pentru a alege un cutit"); } if(is_user_vip(id)) { HaveGuillotine[id] = false; HaveKatana[id] = false; HavexFotherUpgrade[id] = false; HavePuppeteer[id] = false; HaveGreenDragon[id] = false; HaveHuntedKnife[id] = false; HaveRegeneratorElf[id] = true; HaveJoker[id] = false; CurrentWeapon(id); HaveKnifeChoosen[id] = true; set_user_health(id, get_user_health(id) +155); ChatColor(id, "!g[Furien VIP] !nAti ales cutitul !tRegenerator Elf"); } else { ChatColor(id, "!g[Furien VIP] !nPentru mai multe detalii add !gY!M: ![email protected]"); ShowMenuKnife(id); } } case 8: { if(!is_user_alive(id)) { ChatColor(id, "!g[Furien] !nTrebue sa fii in viata pentru a alege un cutit"); } if(is_user_vip(id)) { HaveGuillotine[id] = false; HaveKatana[id] = false; HavexFotherUpgrade[id] = false; HavePuppeteer[id] = false; HaveGreenDragon[id] = false; HaveHuntedKnife[id] = false; HaveRegeneratorElf[id] = false; HaveJoker[id] = true; CurrentWeapon(id); HaveKnifeChoosen[id] = true; set_user_health(id, get_user_health(id) +155); ChatColor(id, "!g[Furien VIP] !nAti ales cutitul !tJoker"); } else { ChatColor(id, "!g[Furien VIP] !nPentru mai multe detalii add !gY!M: ![email protected]"); ShowMenuKnife(id); } } } menu_destroy (menu); return 1; } public Player_TakeDamage (iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits ) { if(iInflictor == iAttacker && HaveGuillotine [iAttacker] && is_user_alive(iAttacker) && get_user_weapon(iAttacker) == CSW_KNIFE && cs_get_user_team(iAttacker) == CS_TEAM_T) { SetHamParamFloat(4, fDamage * 1.3); return HAM_HANDLED; } if(iInflictor == iAttacker && HaveKatana [iAttacker] && is_user_alive(iAttacker) && get_user_weapon(iAttacker) == CSW_KNIFE && cs_get_user_team(iAttacker) == CS_TEAM_T) { SetHamParamFloat(4, fDamage * 1.5); return HAM_HANDLED; } if(iInflictor == iAttacker && HavexFotherUpgrade [iAttacker] && is_user_alive(iAttacker) && get_user_weapon(iAttacker) == CSW_KNIFE && cs_get_user_team(iAttacker) == CS_TEAM_T) { SetHamParamFloat(4, fDamage * 1.8); return HAM_HANDLED; } if(iInflictor == iAttacker && HavePuppeteer [iAttacker] && is_user_alive(iAttacker) && get_user_weapon(iAttacker) == CSW_KNIFE && cs_get_user_team(iAttacker) == CS_TEAM_T) { SetHamParamFloat(4, fDamage * 4.0); return HAM_HANDLED; } if(iInflictor == iAttacker && HaveGreenDragon [iAttacker] && is_user_alive(iAttacker) && get_user_weapon(iAttacker) == CSW_KNIFE && cs_get_user_team(iAttacker) == CS_TEAM_T) { SetHamParamFloat(4, fDamage * 2.5); return HAM_HANDLED; } if(iInflictor == iAttacker && HaveHuntedKnife [iAttacker] && is_user_alive(iAttacker) && get_user_weapon(iAttacker) == CSW_KNIFE && cs_get_user_team(iAttacker) == CS_TEAM_T) { SetHamParamFloat(4, fDamage * 3.2); return HAM_HANDLED; } if(iInflictor == iAttacker && HaveRegeneratorElf [iAttacker] && is_user_alive(iAttacker) && get_user_weapon(iAttacker) == CSW_KNIFE && cs_get_user_team(iAttacker) == CS_TEAM_T) { SetHamParamFloat(4, fDamage * 5.0); return HAM_HANDLED; } if(iInflictor == iAttacker && HaveJoker [iAttacker] && is_user_alive(iAttacker) && get_user_weapon(iAttacker) == CSW_KNIFE && cs_get_user_team(iAttacker) == CS_TEAM_T) { SetHamParamFloat(4, fDamage * 5.0); return HAM_HANDLED; } return HAM_IGNORED; } public ClCmdSayKnife(id) { if(cs_get_user_team(id) == CS_TEAM_T && HaveKnifeChoosen[id]) { ChatColor(id, "!g[Furien] !nTi-ai ales deja !tKnife !nin runda aceasta, asteapta pina runda urmatoare!" ); return 1; } if(cs_get_user_team(id) == CS_TEAM_CT || HaveKnifeChoosen[id] || !is_user_alive(id)) { return 1; } ShowMenuKnife(id); return 0; } stock ChatColor(const id, const input[], any:...) { new count = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!g", "^4"); // Green Color replace_all(msg, 190, "!n", "^1"); // Default Color replace_all(msg, 190, "!t", "^3"); // Team Color replace_all(msg, 190, "!t2", "^0"); // Team2 Color if (id) players[0] = id; else get_players(players, count, "ch"); { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]); write_byte(players[i]); write_string(msg); message_end(); } } } }