De curand eu cu amicii mei neam hotarat sa deschidem un server de mod cache :), dar am intampinat o problema la crearea lui, adica aceea ca, atunci cand imi intru pe server imi arata 2 meniuri de alegere a echipelor, iar cateodata numa unu ( acel default care nu ii in tabel ) .
Cand imi arata meniu default nu ma lasa sa intru la nici o echipa si ma tine spec .
Oare de ce ?? :)
aici aveti sursa pluginului de baza :
- cache.sma | Afiseaza codul
#include <amxmodx> #include <amxmisc> #include <fakemeta> /* Cache-Cache by KRoT@L * * Ported to AMXx by INeedHelp * * Fakemeta Convertion by xPaw */ #define ACCESS_HAS ADMIN_RCON #define PLUGIN_NAME "Cache-Cache (H&S)" #define HAS_VERSION "1.1" new hidesongs[][] = { "Prospero03", "Prospero05", "Suspense05", "Suspense03", "Suspense01" } new seekerssongs[][] = { "Half-Life03", "Half-Life04", "Half-Life05", "Half-Life06", "Half-Life07", "Half-Life09", "Half-Life10", "Half-Life14", "Half-Life15" } new seekedsongs[][] = { "Half-Life01", "Half-Life02", "Half-Life08", "Half-Life11", "Half-Life12", "Half-Life13", "Half-Life16", "Half-Life17" } new mincats = 1; new mice = 2; new Float:hidetime = 50.0; new flashlight[33]; new color[33]; new g_color[][] = { {100,0,0},{0,100,0},{0,0,100},{0,100,100},{100,0,100},{100,100,0}, {100,0,60},{100,60,0},{0,100,60},{60,100,0},{0,60,100},{60,0,100}, {100,50,50},{50,100,50},{50,50,100},{0,50,50},{50,0,50},{50,50,0} } new skies[][] = { "space" }; new flashlight_custom, flashlight_radius, flashlight_only_ct; new gmsgFlashlight, gmsgTeamInfo; new active; new phase; new killed[32]; new s_gravity, s_roundtime, s_freezetime, s_limitteams, s_autoteambalance, s_alltalk, s_footsteps, s_friendlyfire, s_startmoney; // Used to save original server CVars values new Float:s_buytime; new transferring[33]; new gmsgScreenFade; new inround = 0; new counter; new hasdbg = 0; new amx_hs_light, amx_hs_flash, radius_cvar; new autolaunch; new g_opt[33][2]; new g_decompte; // Fakemeta Convertion #define OFFSET_TEAM 114 #define OFFSET_NVGOGGLES 129 #define HAS_NVGOGGLES (1<<0) #define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1)) #define fm_is_valid_ent(%1) pev_valid(%1) enum { FM_TEAM_UNASSIGNED, FM_TEAM_T, FM_TEAM_CT, FM_TEAM_SPECTATOR, FM_TEAM_MAX }; stock get_maxcats() { new playersnum, Float:div, ndiv, result; playersnum = get_playersnum(1); div = float(playersnum) / 6; ndiv = floatround(div,floatround_floor); if( ndiv < mincats ) result = mincats; else result = ndiv; return result; } public plugin_init() { register_plugin(PLUGIN_NAME, HAS_VERSION, "djeyL/INeedHelp/xPaw"); register_cvar("amx_cc_version", HAS_VERSION, FCVAR_SERVER); set_cvar_string("amx_cc_version", HAS_VERSION) register_cvar("amx_cc_decompte", "0"); amx_hs_light = register_cvar("hns_light","1"); amx_hs_flash = register_cvar("hns_flash","2"); radius_cvar = register_cvar("hns_radius_cvar","100"); autolaunch = register_cvar("hns_autolaunch","1"); flashlight_custom = register_cvar("hns_flashlight_custom","1"); flashlight_radius = register_cvar("hns_flashlight_radius","20"); flashlight_only_ct = register_cvar("hns_flashlight_only_ct","1"); register_concmd("amx_hideandseek", "hideandseek", ACCESS_HAS, "- <on|off|mincats x|mice x|hidetime x>"); register_clcmd("jointeam", "jointeam"); register_clcmd("chooseteam", "chooseteam"); register_clcmd("buy", "buy"); register_event("SendAudio", "endround", "a", "2&%!MRAD_terwin", "2&%!MRAD_ctwin", "2&%!MRAD_rounddraw"); register_event("TextMsg", "gamestart", "a", "2&#Game_C", "2&#Game_w"); register_event("RoundTime", "newround", "bc"); register_event("CurWeapon", "switchweapon", "be", "1=1"); register_event("DeathMsg", "deathmsg", "a"); register_event("ScreenFade", "FlashedEvent", "be","4=255","5=255","6=255","7>199"); register_event("ShowMenu", "teamselect", "b","4&#Team_Select"); register_event("Flashlight", "event_flashlight", "b"); register_forward(FM_PlayerPreThink, "fwdPlayerPreThink"); active = 0; gmsgScreenFade = get_user_msgid("ScreenFade"); gmsgFlashlight = get_user_msgid("Flashlight"); gmsgTeamInfo = get_user_msgid( "TeamInfo" ); set_cvar_num("mp_flashlight",1); set_task(15.0, "lauchgame", 165); } public client_putinserver(id) { random_num(0, sizeof( g_color ) - 1); } public lauchgame(taskid) { if(!get_pcvar_num(autolaunch)) return; server_cmd("amx_hideandseek on"); } public plugin_precache() { new fog = fm_create_entity("env_fog"); //DispatchKeyValue(fog, "density", "0.000650"); fm_set_kvd(fog, "density", "0.000650"); new r = random_num(1, 128); new g = random_num(1, 128); new b = random_num(1, 128); new rouge[3], vert[3], bleu[3]; num_to_str(r,rouge,2); num_to_str(g,vert,2); num_to_str(b,bleu,2); new test[12]; formatex(test,11,"%s %s %s",rouge,vert,bleu); //DispatchKeyValue(fog,"rendercolor",test); fm_set_kvd(fog,"rendercolor",test); new rand = random_num(0, sizeof(skies)-1); set_cvar_string("sv_skyname", skies[rand]); } public client_connect(id) { if(!is_user_bot(id)) { get_user_info(id,"_vgui_menus",g_opt[id],1); set_user_info(id,"_vgui_menus","0"); } } public client_disconnect(id) { new i; transferring[id] = 0; for (i=0; i<32; i++) { if (killed == id) { break; } } if(i == 32) return; if (killed == id) { for (i++; i<32 && killed!=0; i++) { killed[i-1] = killed; } killed = 0; } } public teamselect(id) { if(!is_user_bot(id)) { if(active != 0) { new i, players[32]; get_players(players,i); if (i == 1) inround = 1; transferring[id] = 1; client_cmd(id, "jointeam 1"); } set_user_info(id,"_vgui_menus",g_opt[id]); } } public hideandseek(id, level, cid) { new arg[16]; new pnum; new cts; new players[32]; new i; if (read_argv(1, arg, 15) == 0) { console_print(id, "* Hide & Seek plugin v%s is currently %s [hidetime:%d,mincats:%d,mice:%d]", HAS_VERSION, active ? "running!" : "stopped.", floatround(hidetime), mincats, mice); return PLUGIN_HANDLED; } if (!cmd_access(id, level, cid, 1)) { return PLUGIN_HANDLED; } if (equal(arg, "mincats") || equal(arg, "chatsmin")) { if (read_argv(2, arg, 15) == 0) { console_print(id, "* Hide & Seek: mincats = %d", mincats); return PLUGIN_HANDLED; } else { if (cmd_access(id, level, cid, 1)) { if (active != 0) { console_print(id, "* Hide & Seek: you can not change game rules right now!"); return PLUGIN_HANDLED; } i = str_to_num(arg); if (i>0) { mincats = i; console_print(id, "* Hide & Seek: 'mincats' set to %d", mincats); } else { console_print(id, "* Hide & Seek: invalid 'mincats' value (minimum: 1)"); } return PLUGIN_HANDLED; } } } else if (equal(arg, "mice") || equal(arg, "souris")) { if (read_argv(2, arg, 15) == 0) { console_print(id, "* Hide & Seek: mice = %d", mice); return PLUGIN_HANDLED; } else { if (cmd_access(id, level, cid, 1)) { if (active != 0) { console_print(id, "* Hide & Seek: you can not change game rules right now!"); return PLUGIN_HANDLED; } i = str_to_num(arg); if (i>=0) { mice = i; console_print(id, "* Hide & Seek: 'mice' set to %d", mice); } else { console_print(id, "* Hide & Seek: invalid 'mice' value (minimum: 0)"); } return PLUGIN_HANDLED; } } } else if (equal(arg, "hidetime") || equal(arg, "dureeplanque")) { if (read_argv(2, arg, 15) == 0) { console_print(id, "* Hide & Seek: hidetime = %d seconds", floatround(hidetime)); return PLUGIN_HANDLED; } else { if (cmd_access(id, level, cid, 1)) { if (active != 0) { console_print(id, "* Hide & Seek: you can not change game rules right now!"); return PLUGIN_HANDLED; } i = str_to_num(arg); if (i>=15) { hidetime = float(i); console_print(id, "* Hide & Seek: 'hidetime' set to %d seconds", floatround(hidetime)); } else { console_print(id, "* Hide & Seek: invalid 'hidetime' value (minimum: 15 seconds)"); } return PLUGIN_HANDLED; } } } else if ((equali(arg, "on") || equal(arg, "1") || equal(arg, "start")) && active == 0) { client_print(0, print_chat, "[Cache Mod] O sesiune a fost inceputa !"); new ConfigsDir[128] get_configsdir(ConfigsDir, 127) server_cmd("exec %s/has-on.cfg", ConfigsDir); active = 1; phase = 0; s_gravity = get_cvar_num("sv_gravity"); s_roundtime = get_cvar_num("mp_roundtime"); s_freezetime = get_cvar_num("mp_freezetime"); s_limitteams = get_cvar_num("mp_limitteams"); s_autoteambalance = get_cvar_num("mp_autoteambalance"); s_alltalk = get_cvar_num("sv_alltalk"); s_footsteps = get_cvar_num("mp_footsteps"); s_friendlyfire = get_cvar_num("mp_friendlyfire"); s_startmoney = get_cvar_num("mp_startmoney"); s_buytime = get_cvar_float("mp_buytime"); server_cmd("amx_restrict on"); set_cvar_num("sv_gravity", 150); set_cvar_num("mp_roundtime", 3); set_cvar_num("mp_freezetime", 0); set_cvar_num("mp_limitteams", 0); set_cvar_num("mp_autoteambalance", 0); set_cvar_num("sv_alltalk", 1); set_cvar_num("mp_friendlyfire", 0); set_cvar_num("mp_startmoney", 16000); set_cvar_num("mp_buytime", 5); if(get_pcvar_num(amx_hs_light)) fm_set_lights("d"); new maxcats = get_maxcats(); get_players(players, cts, "e", "CT"); if (cts > maxcats) { for (i=maxcats; i<cts; i++) { if (hasdbg) client_print(0, print_chat,"* Hide'n'Seek[init]: Already enough CTs") fm_set_user_team(players, FM_TEAM_T); } } else if (cts < mincats) { get_players(players, pnum, "e", "TERRORIST"); for (i=0; cts<mincats && i<pnum; i++) { if (hasdbg) client_print(0, print_chat, "* Hide'n'Seek[init]: Need more CTs") fm_set_user_team(players, FM_TEAM_CT); cts++; } } set_task(2.0, "plugin_timer", 412563, "", 0, "b") } else if ((equali(arg, "off") || equal(arg, "0") || equal(arg, "stop")) && active != 0) { client_print(0, print_chat, "[Cache Mod] Sesiune terminata !"); new ConfigsDir[128] get_configsdir(ConfigsDir, 127) server_cmd("exec %s/has-off.cfg", ConfigsDir) active = 0; if (task_exists(412563)) remove_task(412563); set_cvar_num("sv_gravity", s_gravity); set_cvar_num("mp_roundtime", s_roundtime); set_cvar_num("mp_freezetime", s_freezetime); set_cvar_num("mp_limitteams", s_limitteams); set_cvar_num("mp_autoteambalance", s_autoteambalance); set_cvar_num("sv_alltalk", s_alltalk); set_cvar_num("mp_footsteps", s_footsteps); set_cvar_num("mp_friendlyfire", s_friendlyfire); set_cvar_num("mp_startmoney", s_startmoney); set_cvar_float("mp_buytime", s_buytime); server_cmd("amx_restrict off"); if(get_pcvar_num(amx_hs_light)) fm_set_lights("d") remove_task(412564); remove_task(412565); remove_task(412566); remove_task(147258); get_players(players, pnum); for(i=0; i<pnum; i++) { fm_set_user_maxspeed(players, 240.0); fm_set_user_gravity(players, 1.0); fm_set_user_godmode(players, 0); } set_cvar_num("sv_restart", 2); } return PLUGIN_HANDLED; } public plugin_timer() { new ts[32]; new cts[32]; new tnum; new ctnum; new i; new specialcase = 0; new maxcats = get_maxcats(); get_players(ts, tnum, "e", "TERRORIST"); get_players(cts, ctnum, "e", "CT"); if(ctnum==0) specialcase = 1; if(tnum>=mice && ctnum>=mincats) { if(active == 1) { client_print(0, print_chat, "[Cache Mod] Sunt destui jucatori , incepem jocul !"); active = 2; set_cvar_num("sv_restart", 1); } else if (active == 3) { if (phase == 1) { for(i=0; i<tnum; i++) { fm_set_user_maxspeed(ts[i], 400.0); fm_set_user_gravity(ts[i], 1.0); } for(i=0; i<ctnum; i++) { fm_set_user_maxspeed(cts[i], 0.1); fm_set_user_gravity(cts[i], 10.0); } } else if (phase == 2) { for(i=0; i<tnum; i++) { fm_set_user_maxspeed(ts[i], 0.1); fm_set_user_gravity(ts[i], 10.0); } for(i=0; i<ctnum; i++) { fm_set_user_maxspeed(cts[i], 400.0); fm_set_user_gravity(cts[i], 1.0); } } } } else { if (ctnum < mincats) { for(i=tnum-1; i>=0 && ctnum<maxcats; i--) { if (hasdbg) client_print(0,print_chat,"* Hide'n'Seek[timer]: Not enough CTs") fm_set_user_team(ts[i], FM_TEAM_CT); ctnum++; tnum--; } } else if (ctnum>maxcats) { for(i=ctnum-maxcats; i>=0 && tnum<mice; i--) { if (hasdbg) client_print(0,print_chat,"* Hide'n'Seek[timer]: Too many CTs"); fm_set_user_team(cts[i], FM_TEAM_T); ctnum --; tnum ++; } } if (ctnum>=mincats && ctnum<=maxcats && tnum>=mice) { if(!specialcase) set_cvar_num("sv_restart", 1); } else { if (active == 1) { set_hudmessage(0, 255, 0, 0.05, 0.4, 0, 6.0, 5.0, 0.5, 0.15, 7); show_hudmessage(0, "[Cache Mod] Nu sunt destui jucatori !"); } else { set_hudmessage(0, 255, 0, 0.05, 0.4, 0, 6.0, 5.0, 0.5, 0.15, 7); show_hudmessage(0, "[Cache Mod] Nu sunt destui jucatori !"); active = 1; remove_task(412564); remove_task(412565); for(i=0; i<tnum; i++) { fm_set_user_maxspeed(ts[i], 240.0); fm_set_user_gravity(ts[i], 1.0); } for(i=0; i<ctnum; i++) { fm_set_user_maxspeed(cts[i], 240.0); fm_set_user_gravity(cts[i], 1.0); } if(get_pcvar_num(amx_hs_light)) fm_set_lights("d"); set_cvar_num("sv_restart", 1); } } } get_players(ts, tnum, "b"); for(tnum--; tnum>=0; tnum--) { fm_set_user_maxspeed(ts[tnum], 240.0); fm_set_user_gravity(ts[tnum], 1.0); } } public newround() { new players[32]; new pnum; new i; new maxcats = get_maxcats(); if (read_data(1) == floatround(get_cvar_float("mp_roundtime")*60.0)) { remove_task(147258); inround = 1; if(active < 2) return; get_players(players, pnum, "e", "CT"); get_players(players, i, "e", "TERRORIST"); if (pnum>=mincats && pnum<=maxcats && i>=mice) { set_hudmessage(0, 255, 0, 0.05, 0.4, 0, 6.0, 5.0, 0.5, 0.15, 7); show_hudmessage(0, "[Cache Mod] Teroristi , aveti %d secunde sa va ascundeti !", floatround(hidetime)); client_cmd(0, "spk radio/com_getinpos"); set_cvar_num("mp_footsteps", 0); if (active == 2) active = 3; phase = 1; if(get_pcvar_num(amx_hs_light)) fm_set_lights("d"); for (i=0; i<32; i++) { killed[i] = 0; } get_players(players,pnum,"e","TERRORIST"); new a = random_num(0, sizeof(hidesongs) - 1); for (i=0; i<pnum; i++) { engclient_cmd(players[i], "weapon_knife"); fm_set_user_godmode(players[i], 1); fm_set_user_nvg(players[i], 1); flashlight[players[i]] = 0 client_cmd(players[i], "mp3 play media/%s", hidesongs[a]); } get_players(players,pnum,"e","CT"); for (i=0; i<pnum; i++) { engclient_cmd(players[i], "weapon_knife"); f2b(players[i], 1); fm_set_user_godmode(players[i], 1); fm_set_user_nvg(players[i], 0); printad(players[i], hidetime); client_cmd(players[i], "mp3 play media/%s", hidesongs[a]); } remove_task(412564); set_task(hidetime, "round_timer", 412564); remove_task(412565); set_task(hidetime - 3.0, "soon_timer", 412565); remove_task(412566); counter = floatround(hidetime); set_task(1.0, "countdown", 412566, "", 0, "b"); new decompte = get_cvar_num("amx_cc_decompte"); if(decompte > 0) { new Float:tasktime = get_cvar_float("mp_roundtime")*60.0 - float(decompte); if(tasktime > 4.0) set_task(tasktime-3.0, "lancerDecompte", 789456+decompte); } } } } public lancerDecompte(id) { g_decompte = id - 789456; set_task(1.0, "afficherDecompte", 147258, "", 0, "b"); } public afficherDecompte() { set_hudmessage(255, 255, 255, 0.05, 0.45, 0, 1.0, 1.0, 0.2, 0.2, 8); g_decompte--; if(g_decompte == 0) { new players[32], inum, id; get_players(players, inum, "ae", "TERRORIST"); for(new i = 0; i < inum; i++) { id = players[i]; set_pdata_int(id, 444, get_user_deaths(id) - 1); user_kill(id, 1); } remove_task(147258); return } show_hudmessage(0, "%ds before the end !", g_decompte); } public countdown() { set_hudmessage(255, 20, 0, 0.10, 0.50, 0, 1.0, 1.0, 0.2, 0.2, 9); counter--; show_hudmessage(0, "%d", counter); } public round_timer() { new players[32]; new pnum; if (active == 3) { remove_task(412566); client_print(0, print_chat, "[Cache Cache] CT , gaseste-i pe teroristi si omoara-i"); client_cmd(0, "spk radio/com_go"); phase = 2; if(get_pcvar_num(amx_hs_light)) fm_set_lights("a"); get_players(players, pnum, "ae", "CT"); new a = random_num(0, sizeof(seekerssongs) - 1); for (pnum--; pnum>=0; pnum--) { f2b(players[pnum], 0); client_cmd(players[pnum], "mp3 play media/%s",seekerssongs[a]); fm_give_item(players[pnum], "weapon_knife"); fm_give_item(players[pnum], "weapon_deagle"); fm_give_item(players[pnum], "ammo_50ae"); fm_give_item(players[pnum], "ammo_50ae"); fm_give_item(players[pnum], "ammo_50ae"); fm_give_item(players[pnum], "ammo_50ae"); fm_give_item(players[pnum], "ammo_50ae"); fm_give_item(players[pnum], "ammo_50ae"); fm_give_item(players[pnum], "weapon_m4a1"); fm_give_item(players[pnum], "ammo_556nato"); fm_give_item(players[pnum], "ammo_556nato"); fm_give_item(players[pnum], "ammo_556nato"); fm_give_item(players[pnum], "ammo_556nato"); fm_give_item(players[pnum], "ammo_556nato"); fm_give_item(players[pnum], "ammo_556nato"); new flashs = get_pcvar_num(amx_hs_flash); if(flashs ==1) fm_give_item(players[pnum], "weapon_flashbang"); else if(flashs ==2) { fm_give_item(players[pnum], "weapon_flashbang"); fm_give_item(players[pnum], "weapon_flashbang"); } } a = random_num(0, sizeof(seekedsongs) - 1); get_players(players, pnum, "ae", "TERRORIST"); for (pnum--; pnum>=0; pnum--) { fm_set_user_godmode(players[pnum], 0); client_cmd(players[pnum], "mp3 play media/%s",seekedsongs[a]); fm_set_user_maxspeed(players[pnum], 400.0) } } } public soon_timer() { if (active == 3) { client_print(0, print_chat,"[Cache Mod] Teroristi , incetati sa sariti sau va veti izbi de pamant !"); client_cmd(0, "spk radio/position"); } } public jointeam(id) { if (active == 0) { return PLUGIN_CONTINUE; } if (transferring[id] == 1) { transferring[id] = 0; return PLUGIN_CONTINUE; } return PLUGIN_HANDLED; } public chooseteam(id) { if (active == 0) { return PLUGIN_CONTINUE; } return PLUGIN_HANDLED; } public switchweapon(id) { if(!active) return; if( active > 0 && active < 3 ) { fm_set_user_maxspeed(id, 400.0); return; } new weapon = read_data(2); new team = get_user_team(id); switch( phase ) { case 1: { if( weapon != CSW_KNIFE ) { if(is_user_bot(id)) engclient_cmd(id, "weapon_knife"); else client_cmd(id, "weapon_knife"); } switch( team ) { case 2: { fm_set_user_maxspeed(id, 0.1); } case 1: { fm_set_user_maxspeed(id, 400.0); } } } case 2: { switch( team ) { case 1: { fm_set_user_maxspeed(id, 0.1); if( weapon != CSW_KNIFE ) { if(is_user_bot(id)) engclient_cmd(id, "weapon_knife"); else client_cmd(id, "weapon_knife"); } } case 2: { fm_set_user_maxspeed(id, 400.0); } } } } } public buy(id) { if (active == 3) { new team[32]; get_user_team(id, team, 31); if (equali(team, "TERRORIST")) { return PLUGIN_HANDLED; } } return PLUGIN_CONTINUE; } public deathmsg() { new i; new team[32]; new victim = read_data(2); flashlight[victim] = 0; if (active == 3) { printad(victim, 1000.0); get_user_team(victim, team, 31); if (equali(team, "TERRORIST")) { client_cmd(0, "spk radio/enemydown"); for (i=0; i<32 && killed[i]!=0; i++) { } if (i == 32) { for (i=1; i<32; i++) killed[i-1] = killed[i]; } killed[i] = victim; } } } public gamestart() { remove_task(147258); } public endround() { inround = 0; if (active) { set_task(2.5,"delayed_endround"); if(get_pcvar_num(amx_hs_light)) fm_set_lights("d"); } } public delayed_endround() { remove_task(147258); new newcats = 0; new players[32]; new cts[32]; new ctnum; new pnum; new i; if (active != 3) { return PLUGIN_CONTINUE; } remove_task(412564); remove_task(412565); remove_task(412566); get_players(cts, ctnum, "e", "CT"); get_players(players, pnum, "e", "TERRORIST"); if (ctnum<mincats || pnum<mice) { client_print(0, print_chat,"[Cache Mod] Anti-teroristul a iesit , vom face niste schimbari la echipe !"); return PLUGIN_CONTINUE; } new maxcats = get_maxcats(); get_players(players,pnum,"ae","TERRORIST"); for (i=0; i<pnum && newcats<maxcats; i++) { if (hasdbg) client_print(0,print_chat,"* Hide'n'Seek[endround]: Was still alive, moving to CTs") fm_set_user_team(players[i], FM_TEAM_CT); newcats++; } if (newcats < maxcats) { for (i=31; i>=0 && killed[i]==0; i--) { } for (; i>=0 && newcats<maxcats; i--) { if (hasdbg) client_print(0,print_chat,"* Hide'n'Seek[endround]: Was killed, moving to CTs"); fm_set_user_team(killed[i], FM_TEAM_CT); newcats++; } } for(i=0; i < ctnum; i++) { if (hasdbg) client_print(0,print_chat,"* HnS: Was a CT, moving to Ts"); fm_set_user_team(cts[i], FM_TEAM_T); } return PLUGIN_CONTINUE; } public printad(id, Float:duration) { set_hudmessage(255, 127, 0, -1.0, 0.1, 2, 1.0, duration, 0.0, 1.0, 8); show_hudmessage(id, ":: [ Cache Mod V%s ] ::", HAS_VERSION); } stock f2b(id, type) { message_begin(MSG_ONE_UNRELIABLE, gmsgScreenFade, _, id); write_short(5000); write_short(5000); write_short(type==1?5:0); write_byte(0); write_byte(20); write_byte(40); write_byte(255); message_end(); } public emitsound(entity, const sample[]) { if(!get_pcvar_num(amx_hs_flash)) return PLUGIN_CONTINUE; if(!equali(sample,"weapons/flashbang-1.wav") && !equali(sample,"weapons/flashbang-2.wav")) return PLUGIN_CONTINUE; flashbang_explode(entity); return PLUGIN_CONTINUE; } public flashbang_explode(greindex) { if(!fm_is_valid_ent(greindex)) return; new Float:origin[3]; //entity_get_vector(greindex,EV_VEC_origin,origin); pev(greindex,pev_origin,origin); message_begin(MSG_BROADCAST,SVC_TEMPENTITY); write_byte(27); write_coord(floatround(origin[0])); write_coord(floatround(origin[1])); write_coord(floatround(origin[2])); write_byte(get_pcvar_num(radius_cvar)); write_byte(205); write_byte(255); write_byte(205); write_byte(150); write_byte(200); message_end(); } public FlashedEvent(id) { if(get_pcvar_num(amx_hs_flash)) return PLUGIN_HANDLED; return PLUGIN_CONTINUE; } public event_flashlight(id) { if(!get_pcvar_num(flashlight_custom)) return; //new CsTeams:team = cs_get_user_team(id) new team = get_user_team(id) if(team != 2 && get_pcvar_num(flashlight_only_ct)) { flashlight[id] = 0; } else { if(flashlight[id]) { flashlight[id] = 0; color[id] = random_num(0, sizeof( g_color ) - 1); } else { flashlight[id] = 1; } } message_begin(MSG_ONE,gmsgFlashlight,_,id); write_byte(flashlight[id]); write_byte(100); message_end(); //entity_set_int(id,EV_INT_effects,entity_get_int(id,EV_INT_effects) & ~EF_DIMLIGHT); set_pev(id,pev_effects,pev(id,pev_effects) & ~EF_DIMLIGHT); } public fwdPlayerPreThink(id) { if(!get_pcvar_num(flashlight_custom)) return; new a = color[id]; if(flashlight[id]) { new origin[3]; get_user_origin(id,origin,3); message_begin(MSG_BROADCAST,SVC_TEMPENTITY); write_byte(TE_DLIGHT); write_coord(origin[0]); write_coord(origin[1]); write_coord(origin[2]); write_byte(get_pcvar_num(flashlight_radius)); write_byte(g_color[a][0]); write_byte(g_color[a][1]); write_byte(g_color[a][2]); write_byte(1); write_byte(60); message_end(); } } // Stocks stock fm_give_item(index, const item[]) { if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5) && !equal(item, "tf_weapon_", 10)) return 0; new ent = fm_create_entity(item); if (!pev_valid(ent)) return 0; new Float:origin[3]; pev(index, pev_origin, origin); set_pev(ent, pev_origin, origin); set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN); dllfunc(DLLFunc_Spawn, ent); new save = pev(ent, pev_solid); dllfunc(DLLFunc_Touch, ent, index); if (pev(ent, pev_solid) != save) return ent; engfunc(EngFunc_RemoveEntity, ent); return -1; } stock fm_set_user_gravity(index, Float:gravity = 1.0) { set_pev(index, pev_gravity, gravity); return 1; } stock fm_set_user_godmode(index, godmode = 0) { set_pev(index, pev_takedamage, godmode == 1 ? DAMAGE_NO : DAMAGE_AIM); return 1; } stock fm_set_user_maxspeed(index, Float:speed = -1.0) { engfunc(EngFunc_SetClientMaxspeed, index, speed); set_pev(index, pev_maxspeed, speed); return 1; } stock fm_set_user_nvg(index, nvgoggles = 1) { new current = get_pdata_int(index, OFFSET_NVGOGGLES); if( !(current & HAS_NVGOGGLES) && nvgoggles ) { current |= HAS_NVGOGGLES; } else if( (current & HAS_NVGOGGLES) && !nvgoggles ) { current &= ~HAS_NVGOGGLES; } else { return 0; } set_pdata_int(index, OFFSET_NVGOGGLES, current); return 1; } fm_set_lights(const lights[]) engfunc(EngFunc_LightStyle, 0, lights); stock fm_set_kvd(entity, const key[], const value[], const classname[] = "") { if (classname[0]) set_kvd(0, KV_ClassName, classname); else { new class[32]; pev(entity, pev_classname, class, sizeof class - 1); set_kvd(0, KV_ClassName, class); } set_kvd(0, KV_KeyName, key); set_kvd(0, KV_Value, value); set_kvd(0, KV_fHandled, 0); return dllfunc(DLLFunc_KeyValue, entity, 0); } stock fm_set_user_team(client, team) { set_pdata_int(client, OFFSET_TEAM, team); static const TeamInfo[FM_TEAM_MAX][] = { "UNASSIGNED", "TERRORIST", "CT", "SPECTATOR" }; message_begin(MSG_ALL, gmsgTeamInfo); write_byte(client); write_string(TeamInfo[team]); message_end(); }
Aici aveti cele doua poze cu meniurile care apar :
- imagini | Afiseaza codul