Конфликт между плагинами, Amx_Chicken и CSDM 2.1.2 |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
+
) или ссылку на плагин который вызывает у вас вопросы.
|
|
Конфликт между плагинами, Amx_Chicken и CSDM 2.1.2 |
I to doo
|
13.6.2013, 17:35
Сообщение
|
|
|
Здраствуйте, возник конфликт плагинов, между Amx_Chicken
Скрытый текст /* AMX Mod X Script Chickenmod: Rebirth by T(+)rget http://djeyl.net/forum/index.php?showtopic=39888 Ported to AMX Mod X by syphilis Added ML by KWo based on ML existing in AMX' version of this plugin Changes from T(+)rget's AMX Version: * Removed translation information * Boolean cstrike_running renamed to cs_running * Used get_configsdir() instead of hardcoded path * Changed AMX natives to AMX Mod X natives * Included the comment block that you are reading * Changed some client_print() messages to console_print() * Added FakeMeta forwards for emitsound, traceline, and setmodel * Added plugin_modules() Installation: 1) Compile or download the plugin and place it in your plugins folder. 2) Download the "extras" zip file, an extract that file to your cstrike folder. 3) Download the config file (chicken.cfg) and place the file in your default configs folder. 4) Add an entry for amx_chickens.amxx to plugins.ini. 5) Make sure you have the following modules enabled on your server: cstrike, engine, and fakemeta. For usage details see the forums link given above, or the chicken.cfg file */ #include <amxmodx> #include <amxmisc> #include <cstrike> #include <engine> #include <fakemeta> //---------------------------------------------------------------------------------------------- /* ACCESS LEVELS */ new ACCESS_MENU new ACCESS_SETTINGS /* MENU FLAGS */ new MenuFlags[33] new MenuPFlags[33] new g_menuPlayers[33][32] new g_menuPlayersNum[33] new MenuGrv = 5 new MenuHP = 50 new MenuSpd = 40 /* CONFIG SETUP */ new Team3 new bool:ChickenTeam1 new bool:ChickenTeam2 new bool:ChickenTeam3 new bool:ChickenAll new bool:HealthProtect new bool:ChickenTalk new bool:ChickenTeamTalk new bool:ChickenSelf new bool:ChickenBomb new bool:ChickenGlow new bool:ChickenGrenades new ChickenHealth new ChickenGravity new ChickenSpeed new ChickenHP = 35 /* OTHER */ new feather new bool:cs_running new bool:UserFlags[33] new bool:CSound[33] new bool:FreezeTime new ChickName[33][32] new UserOldName[33][32] new bool:ChickenName new bomber new bool:nodmg[33] new gmsgSetFOV new ChickenVision = 135 new Float:cView[3] = {0.0, 0.0, 0.0} new Float:nView[3] = {0.0, 0.0, 17.0} //---------------------------------------------------------------------------------------------- public c_chicken(id, level, cid) { if(id != 0) { if(!cmd_access(id, level, cid, 2)) { return PLUGIN_HANDLED } } new arg[32] read_argv(1, arg, 31) if(arg[0] == '@') { new users[32], inum, team = str_to_num(arg[1]) get_players(users, inum, "a") if(team == 1 && ChickenTeam1 == false) { ChickenTeam1 = true for(new i = 0; i < inum; ++i) { if(get_user_team(users[i]) == 1) { chicken_user(users[i]) } set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10) show_hudmessage(0, "%L", LANG_PLAYER, "TEAM_T_TRANSF_INTO_CHICKENS") } if(get_cvar_num("amx_chicken_sfx")) { chicken_sound(0) } return PLUGIN_HANDLED } else if(team == 1 && ChickenTeam1) { console_print(id, "%L", id, "TEAM_T_ALREADY_CHICKENS") } else if(team == 2 && ChickenTeam2 == false) { ChickenTeam2 = true for(new i = 0; i < inum; ++i) { if(get_user_team(users[i]) == 2) { chicken_user(users[i]) } set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10) show_hudmessage(0, "%L", LANG_PLAYER, "TEAM_CT_TRANSF_INTO_CHICKENS") } if(get_cvar_num("amx_chicken_sfx")) { chicken_sound(0) } return PLUGIN_HANDLED } else if(team == 2 && ChickenTeam2) { console_print(id, "%L", id, "TEAM_CT_ALREADY_CHICKENS") } else if(team == 3 && cs_running && ChickenTeam3 == false) { new map[32] get_mapname(map, 31) if(!contain(map, "as_")) { ChickenTeam3 = true chicken_user(Team3) if(get_cvar_num("amx_chicken_sfx")) { emit_sound(Team3, CHAN_ITEM, "misc/chicken0.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) } } return PLUGIN_HANDLED } else if(team == 3 && cs_running && ChickenTeam3) { console_print(id, "%L", id, "VIP_ALREADY_CHICKEN") } else { console_print(id, cs_running ? ("%L", id, "USAGE_CH_WITH_VIP") : ("%L", id, "USAGE_CH_WITHOUT_VIP")) } return PLUGIN_HANDLED } else if(arg[0] == '*') { if(ChickenAll == false) { ChickenAll = true chicken_user(0) set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10) show_hudmessage(0, "%L", LANG_PLAYER, "EVERY1_TRANSF_INTO_CHICKENS") if(get_cvar_num("amx_chicken_sfx")) { chicken_sound(0) } } else { console_print(id, "%L", id, "EVERY1_ALREADY_CHICKENS") } return PLUGIN_HANDLED } else { new user[32], player = cmd_target(id, arg, 7) get_user_name(player, user, 31) if(!player) { return PLUGIN_HANDLED } if(UserFlags[player] == false) { chicken_user(player) set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10) if(get_cvar_num("amx_chicken_sfx")) { emit_sound(player, CHAN_ITEM, "misc/chicken0.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) } show_hudmessage(0, "%L", LANG_PLAYER, "PL_TRANSF_INTO_CHICKEN", user) } else { console_print(id, "%L", id, "PL_ALREADY_CHICKEN", user) } } return PLUGIN_HANDLED } //---------------------------------------------------------------------------------------------- public c_unchicken(id, level, cid) { if(id != 0) { if(!cmd_access(id, level, cid, 2)) { return PLUGIN_HANDLED } } new arg[32] read_argv(1, arg, 31) if(arg[0] == '@') { new users[32], inum, team = str_to_num(arg[1]) get_players(users, inum, "a") if(team == 1 && ChickenTeam1) { ChickenTeam1 = false for(new i = 0; i < inum; ++i) { if(get_user_team(users[i]) == 1) { unchicken_user(users[i]) } set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10) show_hudmessage(0, "%L", LANG_PLAYER, "TEAM_T_REST_INTO_HUMANS") } if(get_cvar_num("amx_chicken_sfx")) { chicken_sound(5) } return PLUGIN_HANDLED } else if(team == 1 && ChickenTeam1 == false) { console_print(id, "%L", id, "TEAM_T_ALREADY_HUMANS") } else if(team == 2 && ChickenTeam2) { ChickenTeam2 = false for(new i = 0; i < inum; ++i) { if(get_user_team(users[i]) == 2) { unchicken_user(users[i]) } set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10) show_hudmessage(0, "%L", LANG_PLAYER, "TEAM_CT_REST_INTO_HUMANS") } if(get_cvar_num("amx_chicken_sfx")) { chicken_sound(5) } return PLUGIN_HANDLED } else if(team == 2 && ChickenTeam2 == false) { console_print(id, "%L", id, "TEAM_CT_ALREADY_HUMANS") } else if(team == 3 && cs_running && ChickenTeam3) { new map[32] get_mapname(map, 31) if(!contain(map, "as_")) { ChickenTeam3 = false unchicken_user(Team3) if(get_cvar_num("amx_chicken_sfx")) { emit_sound(Team3, CHAN_ITEM, "misc/cow.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) } } return PLUGIN_HANDLED } else if(team == 3 && cs_running && ChickenTeam3 == false) { console_print(id, "%L", id, "VIP_ALREADY_HUMAN") } else { console_print(id, cs_running ? ("%L", id, "USAGE_UNCH_WITH_VIP") : ("%L", id, "USAGE_UNCH_WITHOUT_VIP")) } return PLUGIN_HANDLED } else if(arg[0] == '*') { if(ChickenAll == true) { ChickenAll = false unchicken_user(0) set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10) show_hudmessage(0, "%L", LANG_PLAYER, "EVERY1_REST_INTO_HUMANS") if(get_cvar_num("amx_chicken_sfx")) { chicken_sound(5) } } else { console_print(id, "%L", id, "EVERY1_ALREADY_HUMANS") } return PLUGIN_HANDLED } else { new user[32], player = cmd_target(id, arg, 7) get_user_name(player, user, 31) if(!player) { return PLUGIN_HANDLED } if(UserFlags[player]) { unchicken_user(player) set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10) if(get_cvar_num("amx_chicken_sfx")) { emit_sound(player, CHAN_ITEM, "misc/cow.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) } show_hudmessage(0, "%L", LANG_PLAYER, "PL_RESTORED_INTO_HUMAN", user) } else { console_print(id, "%L", id, "PL_ALREADY_HUMAN", user) } } return PLUGIN_HANDLED } //---------------------------------------------------------------------------------------------- /* SAY COMMAND CODE */ public chickensay(id) { if(is_user_bot(id)) { return PLUGIN_CONTINUE } new words[32] read_args(words, 31) if(UserFlags[id]) { if(ChickenSelf) { if(equali(words, "^"/unchickenme^"")) { if(!is_user_alive(id)) { client_print(id, 3, "%L", id, "CANT_TURN_BACK_INTO_HUMAN") } else { unchicken_user(id) emit_sound(id, CHAN_ITEM, "misc/cow.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10) show_hudmessage(0, "%L", LANG_PLAYER, "REST_HUMAN_HIMSELF", UserOldName[id]) user_kill(id, 1) } return PLUGIN_HANDLED } } if(ChickenTalk && is_user_alive(id) && !is_user_bot(id)) { saying_match(id) return PLUGIN_HANDLED } } else if(equali(words, "^"/chickenme^"")) { if(ChickenSelf) { if(get_user_health(id) <= ChickenHP) { client_print(id, 3, "%L", id, "CANT_TURN_CHICKEN_LOW_HEALTH") return PLUGIN_HANDLED } if(!is_user_alive(id)) { client_print(id, 3, "%L", id, "CANT_TURN_CHICKEN_DEATH") return PLUGIN_HANDLED } else { chicken_user(id) emit_sound(id, CHAN_ITEM, "misc/chicken0.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10) new user[33] get_user_name(id, user, 32) show_hudmessage(0, "%L", LANG_PLAYER, "TRANSF_HIMSELF_INTO_CHICKEN", user) return PLUGIN_HANDLED } } } return PLUGIN_CONTINUE } //---------------------------------------------------------------------------------------------- /* SAY_TEAM COMMAND CODE */ public chickenteamsay(id) { if(ChickenTeamTalk && UserFlags[id] && is_user_alive(id) && !is_user_bot(id)) { saying_match(id) return PLUGIN_HANDLED } return PLUGIN_CONTINUE } //---------------------------------------------------------------------------------------------- /* SAY/SAY_TEAM CHICKEN CODE */ saying_match(id) { new user[33], ChickenMsg = random(4) get_user_name(id, user, 32) if(ChickenMsg == 0) { client_print(0, 3, "%s: buk buk", user) chicken_sound(1) } else if(ChickenMsg == 1) { client_print(0, 3, "%s: buk buk", user) chicken_sound(2) } else if(ChickenMsg == 2) { client_print(0, 3, "%s: buk buk", user) chicken_sound(3) } else { client_print(0, 3, "%s: buGAWK", user) chicken_sound(4) } return PLUGIN_HANDLED } //---------------------------------------------------------------------------------------------- /* SOUND SFX CODE */ chicken_sound(sndno) { if(!get_cvar_num("amx_chicken_sfx")) { return PLUGIN_HANDLED } new users[32], inum get_players(users, inum, "c") for(new i = 0; i < inum; ++i) { switch(sndno) { case 0: client_cmd(users[i], "speak sound/misc/chicken0") case 1: client_cmd(users[i], "speak sound/misc/chicken1") case 2: client_cmd(users[i], "speak sound/misc/chicken2") case 3: client_cmd(users[i], "speak sound/misc/chicken3") case 4: client_cmd(users[i], "speak sound/misc/chicken4") case 5: client_cmd(users[i], "speak sound/misc/cow") } } return PLUGIN_HANDLED } //---------------------------------------------------------------------------------------------- /* SHOW MENU CODE */ public amx_chick_menu(id, level, cid) { if(!cmd_access(id, level, cid, 1)) { return PLUGIN_HANDLED } MenuFlags[id] = 1 show_chickenmenu(id) return PLUGIN_HANDLED } //---------------------------------------------------------------------------------------------- show_chickenmenu(id) { new menuoption[10][64], smenu[64], menubody[512] new keys for(new z = 0; z < 10; ++z) menuoption[z][0] = 0 // clear string switch(MenuFlags[id]) { case 1: /* Main Menu */ { format(smenu, 63, "%L", id, "MAIN_MENU") format(menuoption[0], 63, "1. %L^n", id, "PLAYERS_MENU") format(menuoption[1], 63, "2. %L^n", id, "TEAM_MENU") if(id && get_user_flags(id) & ACCESS_SETTINGS != ACCESS_SETTINGS) {} else { format(menuoption[2], 63, "3. %L^n", id, "SETTINGS_MENU") keys |= (1<<2) } format(menuoption[9], 63, "^n0. %L", id, "EXIT") keys |= (1<<0)|(1<<1)|(1<<9) format(menubody, 511, "%L", id, "CHICKENMOD_OPTIONS", smenu, menuoption[0], menuoption[1], menuoption[2], menuoption[3], menuoption[4], menuoption[5], menuoption[6], menuoption[7], menuoption[8], menuoption[9]) show_menu(id, keys, menubody, -1, "[ChickenMod]") } case 2: /* Players Menu */ { switch(MenuPFlags[id]) { default: { get_players(g_menuPlayers[id], g_menuPlayersNum[id]) new b = 0, i, user[32], menu = MenuPFlags[id], start = menu * 7 if(start >= g_menuPlayersNum[id]) { start = MenuPFlags[id] = 0 } new len = format(menubody, 511, "%L", id, "CHICKENMOD_PLAYERS", ++menu, (g_menuPlayersNum[id] / 7 + ((g_menuPlayersNum[id] % 7) ? 1 : 0))) new pkeys = (1<<8)|(1<<9), end = start + 7 if(end > g_menuPlayersNum[id]) { end = g_menuPlayersNum[id] } for(new a = start; a < end; ++a) { i = g_menuPlayers[id][a] get_user_name(i, user, 31) if(!is_user_alive(i)) { ++b len += format(menubody[len], 511 - len, "\d%d. %s\R%L^n\w", b, user, id, "DEAD") } else { pkeys |= (1<<b) len += format(menubody[len], 511 - len, "%d. %s\R\y%L^n\w", ++b, user, id, UserFlags[i] ? "CHICKEN" : "HUMAN") } } if(end != g_menuPlayersNum[id]) { len += format(menubody[len], 511 - len, "^n8. %L^n^n9. %L^n0. %L", id, "MORE", id, "BACK", id, "EXIT") pkeys |= (1<<7) } else { len += format(menubody[len], 511 - len, "^n9. %L^n0. %L", id, "BACK", id, "EXIT") } show_menu(id, pkeys, menubody, -1, "[ChickenMod]") } } } case 3: /* Team Menu */ { format(smenu, 63, "%L", id, "TEAM_MENU") format(menuoption[0], 63, "1. %L\R\y%L^n\w", id, "TERRORISTS", id, ChickenTeam1 ? "YES" : "NO") format(menuoption[1], 63, "2. %L\R\y%L^n\w", id, "COUNTER-TERRORISTS", id, ChickenTeam2 ? "YES" : "NO") format(menuoption[2], 63, "3. %L\R\y%L^n\w", id, "EVERYONE", id, ChickenAll ? "YES" : "NO") new map[32] get_mapname(map, 31) if(equali(map, "as_", 3)) // KWo - 20.11.2005 { format(menuoption[3], 63, "4. VIP\R\y%L^n\w", id, ChickenTeam3 ? "YES" : "NO") } format(menuoption[8], 63, "^n9. %L", id, "BACK") format(menuoption[9], 63, "^n0. %L", id, "EXIT") keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<8)|(1<<9) format(menubody, 511, "%L", id, "CHICKENMOD_OPTIONS", smenu, menuoption[0], menuoption[1], menuoption[2], menuoption[3], menuoption[4], menuoption[5], menuoption[6], menuoption[7], menuoption[8], menuoption[9]) show_menu(id, keys, menubody, -1, "[ChickenMod]") } case 4: /* Setting Menu 1*/ { format(smenu, 63, "%L", id, "SETTINGS_MENU") format(menuoption[0], 63, "1. %L\R\y%L^n\w", id, "CHICKEN_BOMBING", id, ChickenBomb ? "ON" : "OFF") format(menuoption[1], 63, "2. %L\R\y%L^n\w", id, "CHICKEN_GRENADES", id, ChickenGrenades ? "ON" : "OFF") format(menuoption[2], 63, "3. %L\R\y%L^n\w", id, "CHICKEN_GLOWING", id, ChickenGlow ? "ON" : "OFF") format(menuoption[3], 63, "4. %L\R\y%L^n\w", id, "HEALTH_PROTECTION", id, HealthProtect ? "ON" : "OFF") format(menuoption[4], 63, "5. %L\R\y%L^n\w", id, "CHICKEN_NAMING", id, ChickenName ? "ON" : "OFF") format(menuoption[5], 63, "6. %L\R\y%L^n\w", id, "CHICKEN_SELF_ABILITY", id, ChickenSelf ? "ON" : "OFF") format(menuoption[6], 63, "7. %L\R\y%L^n^n\w", id, "CHICKEN_TALKING", id, ChickenTalk ? "ON" : "OFF") format(menuoption[7], 63, "8. %L^n^n", id, "MORE") format(menuoption[8], 63, "9. %L^n", id, "BACK") format(menuoption[9], 63, "0. %L", id, "EXIT") keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9) format(menubody, 511, "%L", id, "CHICKENMOD_OPTIONS", smenu, menuoption[0], menuoption[1], menuoption[2], menuoption[3], menuoption[4], menuoption[5], menuoption[6], menuoption[7], menuoption[8], menuoption[9]) show_menu(id, keys, menubody, -1, "[ChickenMod]") } case 5: /* Setting Menu 2*/ { format(smenu, 63, "%L", id, "SETTINGS_MENU") format(menuoption[0], 63, "1. %L\R\y%L^n\w", id, "CHICKEN_TEAM_TALKING", id, ChickenTeamTalk ? "ON" : "OFF") format(menuoption[1], 63, ChickenSelf ? "2. %L\R\y%i^n\w" : "\d2. %L\R%i^n\w", id, "NOT_ALLOWED_CHICKEN", ChickenHP) format(menuoption[2], 63, "3. %L\R\y%i^n\w", id, "CHICKEN_HEALTH", ChickenHealth) format(menuoption[3], 63, "4. %L\R\y%i^n\w", id, "CHICKEN_GRAVITY", ChickenGravity) format(menuoption[4], 63, "5. %L\R\y%i^n\w", id, "CHICKEN_SPEED", ChickenSpeed) format(menuoption[5], 63, "6. %L\R\y%i^n\w", id, "CHICKEN_VISION", ChickenVision) format(menuoption[6], 63, "7. %L\R\y%L^n^n\w", id, "CHICKEN_SPEC_EFF", id, get_cvar_num("amx_chicken_sfx") ? "ON" : "OFF") format(menuoption[8], 63, "9. %L^n", id, "BACK") format(menuoption[9], 63, "0. %L", id, "EXIT") keys = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<8)|(1<<9) format(menubody, 511, "%L", id, "CHICKENMOD_OPTIONS", smenu, menuoption[0], menuoption[1], menuoption[2], menuoption[3], menuoption[4], menuoption[5], menuoption[6], menuoption[7], menuoption[8], menuoption[9]) show_menu(id, keys, menubody, -1, "[ChickenMod]") } } return PLUGIN_HANDLED } //---------------------------------------------------------------------------------------------- /* ACTION MENU CODE */ public action_chickenmenu(id, key) { if(MenuFlags[id] == 1) { switch(key) { case 0: MenuFlags[id] = 2 // PLAYERS MENU BUTTON (1) case 1: MenuFlags[id] = 3 // TEAM MENU BUTTON (2) case 2: MenuFlags[id] = 4 // SETTINGS MENU BUTTON (3) case 9: // EXIT BUTTON (0) { // Menu Fix (Popup) MenuFlags[id] = 0 return PLUGIN_HANDLED } } // Bypass Update System show_chickenmenu(id) return PLUGIN_HANDLED } else if(MenuFlags[id] == 2) { switch(key) { case 7: // MORE BUTTON (8) { ++MenuPFlags[id] // Bypass Update System show_chickenmenu(id) return PLUGIN_HANDLED } case 8: // BACK BUTTON (9) { if(MenuPFlags[id] > 0) { // Bypass Update System --MenuPFlags[id] show_chickenmenu(id) return PLUGIN_HANDLED } else { // Bypass Update System MenuFlags[id] = 1 show_chickenmenu(id) return PLUGIN_HANDLED } } case 9: // EXIT BUTTON (0) { // Menu Fix (Popup) MenuFlags[id] = 0 return PLUGIN_HANDLED } default: { new player = g_menuPlayers[id][MenuPFlags[id] * 7 + key] new user[33] get_user_name(player, user, 32) if(UserFlags[player]) { unchicken_user(player) set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10) if(get_cvar_num("amx_chicken_sfx")) { emit_sound(player, CHAN_ITEM, "misc/cow.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) } show_hudmessage(0, "%L", LANG_PLAYER, "PL_RESTORED_INTO_HUMAN", user) } else { chicken_user(player) set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10) if(get_cvar_num("amx_chicken_sfx")) { emit_sound(player, CHAN_ITEM, "misc/chicken0.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) } show_hudmessage(0, "%L", LANG_PLAYER, "PL_TRANSF_INTO_CHICKEN", user) } } } } else if(MenuFlags[id] == 3) { new users[32], inum get_players(users, inum, "a") switch(key) { case 0: { if(ChickenTeam1 == false) { ChickenTeam1 = true for(new i = 0; i < inum; ++i) { if(get_user_team(users[i]) == 1) { chicken_user(users[i]) } if(get_cvar_num("amx_chicken_sfx")) { chicken_sound(0) } set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10) show_hudmessage(0, "%L", LANG_PLAYER, "TEAM_T_TRANSF_INTO_CHICKENS") } } else { ChickenTeam1 = false for(new i = 0; i < inum; ++i) { if(get_user_team(users[i]) == 1) { unchicken_user(users[i]) } if(get_cvar_num("amx_chicken_sfx")) { chicken_sound(5) } set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10) show_hudmessage(0, "%L", LANG_PLAYER, "TEAM_T_REST_INTO_HUMANS") } } } case 1: { if(ChickenTeam2 == false) { ChickenTeam2 = true for(new i = 0; i < inum; ++i) { if(get_user_team(users[i]) == 2) { chicken_user(users[i]) } if(get_cvar_num("amx_chicken_sfx")) { chicken_sound(0) } set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10) show_hudmessage(0, "%L", LANG_PLAYER, "TEAM_CT_TRANSF_INTO_CHICKENS") } } else { ChickenTeam2 = false for(new i = 0; i < inum; ++i) { if(get_user_team(users[i]) == 2) { unchicken_user(users[i]) } if(get_cvar_num("amx_chicken_sfx")) { chicken_sound(5) } set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10) show_hudmessage(0, "%L", LANG_PLAYER, "TEAM_CT_REST_INTO_HUMANS") } } } case 2: { if(ChickenAll == false) { ChickenAll = true chicken_user(0) if(get_cvar_num("amx_chicken_sfx")) { chicken_sound(0) } set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10) show_hudmessage(0, "%L", LANG_PLAYER, "EVERY1_TRANSF_INTO_CHICKENS") } else { ChickenAll = false unchicken_user(0) if(get_cvar_num("amx_chicken_sfx")) { chicken_sound(5) } set_hudmessage(255, 25, 255, 0.05, 0.65, 2, 0.1, 4.0, 0.02, 0.02, 10) show_hudmessage(0, "%L", LANG_PLAYER, "EVERY1_REST_INTO_HUMANS") } } case 3: { if(cs_running) { new map[32] get_mapname(map, 31) if(!contain(map, "as_")) { if(ChickenTeam3 == false) { ChickenTeam3 = true chicken_user(Team3) if(get_cvar_num("amx_chicken_sfx")) { emit_sound(Team3, CHAN_ITEM, "misc/chicken0.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) } } else if(ChickenTeam3) { ChickenTeam3 = false unchicken_user(Team3) if(get_cvar_num("amx_chicken_sfx")) { emit_sound(Team3, CHAN_ITEM, "misc/cow.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) } } } } } case 8: // BACK BUTTON (9) { // Bypass Update System MenuFlags[id] = 1 show_chickenmenu(id) return PLUGIN_HANDLED } case 9: // EXIT BUTTON (0) { // Menu Fix (Popup) MenuFlags[id] = 0 return PLUGIN_HANDLED } } } else if(MenuFlags[id] == 4) { switch(key) { case 0: { ChickenBomb ? (ChickenBomb = false) : (ChickenBomb = true) } case 1: { ChickenGrenades ? (ChickenGrenades = false) : (ChickenGrenades = true) } case 2: { ChickenGlow ? (ChickenGlow = false) : (ChickenGlow = true) call_glow(0) } case 3: { HealthProtect ? (HealthProtect = false) : (HealthProtect = true) } case 4: { ChickenName ? (ChickenName = false) : (ChickenName = true) } case 5: { ChickenSelf ? (ChickenSelf = false) : (ChickenSelf = true) } case 6: { ChickenTalk ? (ChickenTalk = false) : (ChickenTalk = true) } case 7: // MORE BUTTON (8) { // Bypass Update System MenuFlags[id] = 5 show_chickenmenu(id) return PLUGIN_HANDLED } case 8: // BACK BUTTON (9) { // Bypass Update System MenuFlags[id] = 1 show_chickenmenu(id) return PLUGIN_HANDLED } case 9: // EXIT BUTTON (0) { // Menu Fix (Popup) MenuFlags[id] = 0 return PLUGIN_HANDLED } } } else if(MenuFlags[id] == 5) { switch(key) { case 0: { ChickenTeamTalk ? (ChickenTeamTalk = false) : (ChickenTeamTalk = true) } case 1: { if(!ChickenSelf) { // Bypass Update System show_chickenmenu(id) return PLUGIN_HANDLED } else if(ChickenHP + MenuGrv > 100 || ChickenHP > 100) { ChickenHP = 0 } else { ChickenHP += MenuGrv } } case 2: { new health = ChickenHealth if(HealthProtect) { if(health + MenuHP > 255 || health > 255) { ChickenHealth = 1 } else { ChickenHealth = (health += MenuHP) } } else { ChickenHealth = (health += MenuHP) } } case 3: { new gravity = ChickenGravity if(gravity + MenuGrv > 100 || gravity > 100) { ChickenGravity = 0 } else { ChickenGravity = (gravity += MenuGrv) } call_gravity(0) // Update all Chickens to new gravity setting } case 4: { new speed = ChickenSpeed if(speed + MenuSpd > 400 || speed > 400) { ChickenSpeed = 0 } else { ChickenSpeed = (speed += MenuSpd) } call_speed(0) // Update all Chickens to new speed setting } case 5: { if(ChickenVision + MenuGrv > 255 || ChickenVision > 255) { ChickenVision = 0 } else { ChickenVision += MenuGrv } call_vision(0) // Update all Chickens to new vision setting } case 6: { set_cvar_num("amx_chicken_sfx", get_cvar_num("amx_chicken_sfx") ? 0 : 1) } case 8: // BACK BUTTON (9) { // Bypass Update System MenuFlags[id] = 4 show_chickenmenu(id) return PLUGIN_HANDLED } case 9: // EXIT BUTTON (0) { // Menu Fix (Popup) MenuFlags[id] = 0 return PLUGIN_HANDLED } } } update_menu() return PLUGIN_HANDLED } //---------------------------------------------------------------------------------------------- /* MENU UPDATER */ update_menu() { new admins[32], inum get_players(admins, inum) for(new i = 0; i < inum; ++i) { if(MenuFlags[admins[i]] > 1) { show_chickenmenu(admins[i]) } } } //---------------------------------------------------------------------------------------------- public get_weapon(id) { if(UserFlags[id]) { new ammo, clip, wid wid = get_user_weapon(id, clip, ammo) // 29 = Knife, 4 = HEGRENADE, 6 = C4 if(wid != 29 && (!ChickenGrenades || wid != 4) && (!ChickenBomb || wid != 6)) { engclient_cmd(id, "weapon_knife") entity_set_string(id, EV_SZ_viewmodel, "") entity_set_string(id, EV_SZ_weaponmodel, "") } if(wid == 4 || wid == 6) { entity_set_string(id, EV_SZ_viewmodel, "") entity_set_string(id, EV_SZ_weaponmodel, "") } if(!FreezeTime) { call_speed(id) } } } //---------------------------------------------------------------------------------------------- /* VIP DETECTION CODE */ public detect_vip(id) { Team3 = id if(ChickenTeam3 && UserFlags[id] == false) { chicken_user(id) } } //---------------------------------------------------------------------------------------------- /* BOMB DETECTION CODE */ public got_bomb(id) { if(UserFlags[id]) { bomber = id } else { bomber = 0 } } //---------------------------------------------------------------------------------------------- /* FIELD OF VIEW EVENT CODE */ public check_fov(id) { if(UserFlags[id]) { set_vision(id) } } //---------------------------------------------------------------------------------------------- /* RESETHUD EVENT CODE */ public chicken_update(id) { if(UserFlags[id]) { nodmg[id] = true call_glow(id) call_health(id) call_gravity(id) call_speed(id) call_vision(id) call_name(id) } new team = get_user_team(id) if(ChickenTeam1) { if(1 == team && UserFlags[id] == false) { chicken_user(id) } } if(ChickenTeam2) { if(2 == team && UserFlags[id] == false) { chicken_user(id) } } if(ChickenAll) { if(0 > team && 5 < team) { if(UserFlags[id] == false) { chicken_user(id) } } } update_menu() } //---------------------------------------------------------------------------------------------- /* NEWROUND EVENT CODE */ public round_start() { FreezeTime = false set_task(0.01, "call_speed", 0) } //---------------------------------------------------------------------------------------------- /* ROUND END EVENT CODE */ public round_end() { FreezeTime = true } public game_start() { FreezeTime = true } //---------------------------------------------------------------------------------------------- /* CONNECTION CODE */ public client_putinserver(id) { update_menu() } //---------------------------------------------------------------------------------------------- /* INFO CHANGE CODE */ public client_infochanged(id) { if(ChickenName && UserFlags[id] && !is_user_bot(id)) { new newname[33], oldname[33] get_user_info(id, "name", newname, 32) get_user_name(id, oldname, 32) if(!equal(oldname, newname)) { set_user_info(id, "name", ChickName[id]) } } update_menu() } //---------------------------------------------------------------------------------------------- /* DAMAGE EVENT CODE */ public damage_event(id) { if(get_user_health(id) > 0 && UserFlags[id] && !nodmg) { new orig[3] get_user_origin(id, orig) create_gibs(id, orig, 5, 10, 5) } if(nodmg[id]) { nodmg[id] = false } } //--------------------------------------------------------------------------------------------- /* DEATH EVENT CODE */ public death_event(id) { update_menu() new vid = read_data(2) if(UserFlags[vid]) { set_rendering(vid, kRenderFxNone, 0, 0, 0, kRenderTransAdd, 0) new orig[3] get_user_origin(vid, orig) create_gibs(vid, orig, 5, 30, 30) } } //---------------------------------------------------------------------------------------------- /* DISCONNECT CODE */ public client_disconnect(id) { if(UserFlags[id]) { UserFlags[id] = false } if(MenuFlags[id] > 0) { MenuFlags[id] = 0 } update_menu() } //---------------------------------------------------------------------------------------------- /* END CODE */ public plugin_end() { unchicken_user(0) } //---------------------------------------------------------------------------------------------- public client_prethink(id) { new Float:pView[3] entity_get_vector(id, EV_VEC_view_ofs, pView) // Chicken View offset if(UserFlags[id] && is_user_alive(id)) { if(pView[2] != cView[2]) { entity_set_vector(id, EV_VEC_view_ofs, cView) } } } //---------------------------------------------------------------------------------------------- public emitsound(entity, channel, const sample[]) { //client_print(0, 3, "Entity ID = %d Sound = %s", entity, sample) if(entity > 32 || entity < 1) return FMRES_IGNORED if(equal(sample, "common/wpn_denyselect.wav")) return FMRES_SUPERCEDE // Using sound is annoying ;) if(sample[0] == 'w' && sample[1] == 'e' && sample[8] == 'k' && sample[9] == 'n' && UserFlags[entity]) { if(sample[14] == 'd') { return FMRES_SUPERCEDE } switch(sample[15]) { case 'l': //slash { if(!CSound[entity]) { new iPitch = random_num(100, 120) switch(random_num(0, 3)) { case 0: emit_sound(entity, CHAN_VOICE, "misc/chicken1.wav", 1.0, ATTN_NORM, 0, iPitch) case 1: emit_sound(entity, CHAN_VOICE, "misc/chicken2.wav", 1.0, ATTN_NORM, 0, iPitch) case 2: emit_sound(entity, CHAN_VOICE, "misc/chicken3.wav", 1.0, ATTN_NORM, 0, iPitch) case 3: emit_sound(entity, CHAN_VOICE, "misc/chicken4.wav", 1.0, ATTN_NORM, 0, iPitch) } CSound[entity] = true set_task(0.8, "reset_sound", entity) } return FMRES_SUPERCEDE } case 't': //stab { emit_sound(entity, CHAN_WEAPON, "weapons/knife_hit3.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } } switch(sample[17]) { case '2': { emit_sound(entity, CHAN_WEAPON, "weapons/knife_hit1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } case '4': { emit_sound(entity, CHAN_WEAPON, "weapons/knife_hit3.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } case 'w': { return FMRES_SUPERCEDE //remove wallhit } } } // Remove death sounds and replace with killChicken if(sample[0] == 'p' && sample[3] == 'y' && sample[5] == 'r' && UserFlags[entity]) { switch(sample[7]) { case 'b': { new orig[3] get_user_origin(entity, orig) create_gibs(entity, orig, 5, 10, 5) return FMRES_SUPERCEDE } case 'd': { emit_sound(entity, CHAN_VOICE, "misc/killChicken.wav", 1.0, ATTN_NORM, 0, PITCH_NORM) return FMRES_SUPERCEDE } } } return FMRES_IGNORED } //---------------------------------------------------------------------------------------------- public reset_sound(id) { CSound[id] = false } //---------------------------------------------------------------------------------------------- public set_model(edict, const model[]) { if (!is_valid_ent(edict)) return FMRES_IGNORED new id = entity_get_edict(edict, EV_ENT_owner) if(equal(model, "models/w_c4.mdl") && UserFlags[bomber]) { entity_set_model(edict, "models/w_goldenEgg.mdl") return FMRES_SUPERCEDE } if(equal(model, "models/w_hegrenade.mdl") && UserFlags[id]) { new Float:orig[3] entity_get_vector(id, EV_VEC_origin, orig) entity_set_model(edict, "models/w_easterEgg.mdl") entity_set_vector(edict, EV_VEC_velocity, Float:{0.0, 0.0, 0.0}) entity_set_origin(edict, orig) return FMRES_SUPERCEDE } return FMRES_IGNORED } //---------------------------------------------------------------------------------------------- /* PRECACHE CODE */ public plugin_precache() { // Models precache_model("models/player/chicken/chicken.mdl") precache_model("models/w_easterEgg.mdl") precache_model("models/w_goldenEgg.mdl") feather = precache_model("models/feather.mdl") // Sounds precache_sound("misc/chicken0.wav") precache_sound("misc/chicken1.wav") precache_sound("misc/chicken2.wav") precache_sound("misc/chicken3.wav") precache_sound("misc/chicken4.wav") precache_sound("misc/cow.wav") precache_sound("misc/killChicken.wav") precache_sound("misc/knife_hit1.wav") precache_sound("misc/knife_hit3.wav") } //---------------------------------------------------------------------------------------------- /* INITIATION CODE */ public plugin_init() { cs_running = (is_running("cstrike") || is_running("czero")) ? true : false register_plugin("ChickenMod: Rebirth", "1.0a", "T(+)rget") register_dictionary("chicken.txt") new config[64] get_configsdir(config, 63) format(config, 63, "%s/chicken.cfg", config) loadcfg(config) if(cs_running) { register_cvar("chicken_version", "1.0", FCVAR_SERVER|FCVAR_SPONLY) register_menucmd(register_menuid("[ChickenMod]"), 1023, "action_chickenmenu") register_event("Battery", "detect_vip", "b", "1=200") register_event("CurWeapon", "get_weapon", "b") gmsgSetFOV = get_user_msgid("SetFOV") register_event("SetFOV", "check_fov", "be", "1=90") register_event("Damage", "damage_event", "b") register_event("DeathMsg", "death_event", "a") register_event("ResetHUD", "chicken_update", "b") register_logevent("round_start", 2, "0=World triggered", "1=Round_Start") register_logevent("round_end", 2, "0=World triggered", "1=Round_End") register_event("TextMsg", "game_start", "a", "2=#Game_Commencing", "2=#Game_will_restart_in") register_event("BarTime", "got_bomb", "be", "1=3") register_srvcmd("c_chicken", "c_chicken", ACCESS_MENU, "<authid, nick, #userid, @1/2/3 (1 = Terrorists, 2 = Counter-Terrorists, 3 = VIP) or * (all)>") register_srvcmd("c_unchicken", "c_unchicken", ACCESS_MENU, "<authid, nick, #userid, @1/2/3 (1 = Terrorists, 2 = Counter-Terrorists, 3 = VIP) or * (all)>") register_clcmd("amx_chicken", "c_chicken", ACCESS_MENU, "<authid, nick, #userid, @1/2/3 (1 = Terrorists, 2 = Counter-Terrorists, 3 = VIP) or * (all)>") register_clcmd("amx_unchicken", "c_unchicken", ACCESS_MENU, "<authid, nick, #userid, @1/2/3 (1 = Terrorists, 2 = Counter-Terrorists, 3 = VIP) or * (all)>") register_clcmd("say /chickenmenu", "amx_chick_menu", ACCESS_MENU, "- [ChickenMod]: User Interface") register_clcmd("say", "chickensay") register_clcmd("say_team", "chickenteamsay") register_clcmd("say /chickenme", "chickensay", 0, "- chicken yourself") register_clcmd("say /unchickenme", "chickensay", 0, "- unchicken yourself") register_cvar("amx_chicken_sfx", "1") format(config, 63, "exec %s", config) server_cmd(config) register_forward(FM_SetModel, "set_model") register_forward(FM_EmitSound, "emitsound") register_forward(FM_TraceLine, "forward_traceline", 1) } else { log_message("ChickenMod:Rebirth - error: failed to load plugin (Counter-Strike Only)") } } public plugin_modules() { require_module("cstrike") require_module("engine") require_module("fakemeta") } //---------------------------------------------------------------------------------------------- /* LOAD/READ CONFIG CODE */ loadcfg(filename[]) { if(file_exists(filename)) { new readdata[128], set[30], val[30], len for(new i = 0; i < 100 && read_file(filename, i, readdata, 127, len); ++i) { parse(readdata, set, 29, val, 29) if(equal(set, "ChickenVision")) { ChickenVision = str_to_num(val) } if(equal(set, "HealthProtect")) { if(!equal(val, "0")) { HealthProtect = true } } if(equal(set, "ChickenName")) { if(!equal(val, "0")) { ChickenName = true } } if(equal(set, "ChickenSelf")) { if(!equal(val, "0")) { ChickenSelf = true } } if(equal(set, "ChickenHP")) { ChickenHP = str_to_num(val) } if(equal(set, "ChickenTalk")) { if(!equal(val, "0")) { ChickenTalk = true } } if(equal(set, "ChickenTeamTalk")) { if(!equal(val, "0")) { ChickenTeamTalk = true } } if(equal(set, "ChickenBomb")) { if(!equal(val, "0")) { ChickenBomb = true } } if(equal(set, "ChickenGrenades")) { if(!equal(val, "0")) { ChickenGrenades = true } } if(equal(set, "ChickenGlow")) { if(!equal(val, "0")) { ChickenGlow = true } } if(equal(set, "ChickenHealth")) { if(HealthProtect) { if(str_to_num(val) > 255) { ChickenHealth = 255 } else { ChickenHealth = str_to_num(val) } } else { ChickenHealth = str_to_num(val) } } if(equal(set, "ChickenGravity")) { if(str_to_num(val) > 100) { ChickenGravity = 100 } else { ChickenGravity = str_to_num(val) } } if(equal(set, "ChickenSpeed")) { if(str_to_num(val) > 400) { ChickenSpeed = 400 } else { ChickenSpeed = str_to_num(val) } } if(equal(set, "MenuGrv")) { MenuGrv = str_to_num(val) } if(equal(set, "MenuHP")) { MenuHP = str_to_num(val) } if(equal(set, "MenuSpd")) { MenuSpd = str_to_num(val) } if(equal(set, "ACCESS_MENU")) { ACCESS_MENU = str_to_num(val) } if(equal(set, "ACCESS_SETTINGS")) { ACCESS_SETTINGS = str_to_num(val) } } } return PLUGIN_HANDLED } //---------------------------------------------------------------------------------------------- /* GENERIC CODE */ //---------------------------------------------------------------------------------------------- public create_gibs(id, vec[3], velocity, random, amount) { // gibs new Float:size[3] entity_get_vector(id, EV_VEC_size, size) message_begin(MSG_PVS, SVC_TEMPENTITY, vec) write_byte(108) // TE_BREAKMODEL // position write_coord(vec[0]) write_coord(vec[1]) write_coord(vec[2]) // size write_coord(floatround(size[0])) write_coord(floatround(size[1])) write_coord(floatround(size[2])) // velocity write_coord(0) write_coord(0) write_coord(velocity) //10 // randomization write_byte(random) //30 // Model write_short(feather) //model id# // # of shards write_byte(amount) //30 // duration write_byte(300);// 15.0 seconds // flags write_byte(0x04) // BREAK_FLESH message_end() } //---------------------------------------------------------------------------------------------- /* CHICKEN CODE */ public chicken_user(id) { if(id == 0) { call_func("chicken_user") } else if(UserFlags[id] == false && is_user_alive(id)) { UserFlags[id] = true if(get_cvar_num("amx_chicken_sfx")) { new origin[3] get_user_origin(id, origin) transform(origin) } if(!is_user_bot(id)) { new user[33] get_user_name(id, user, 32) copy(UserOldName[id], 32, user) format(ChickName[id], 32, "Chicken #%i", id) if(ChickenName) { set_user_info(id, "name", ChickName[id]) } } call_glow(id) call_health(id) call_gravity(id) call_speed(id) call_vision(id) cs_set_user_model(id, "chicken") } return PLUGIN_HANDLED } //---------------------------------------------------------------------------------------------- /* UNCHICKEN CODE */ public unchicken_user(id) { if(id == 0) { call_func("unchicken_user") } else if(UserFlags[id] && is_user_alive(id)) { UserFlags[id] = false if(get_cvar_num("amx_chicken_sfx")) { new origin[3] get_user_origin(id, origin) transform(origin) } if(ChickenName && !is_user_bot(id)) { set_user_info(id, "name", UserOldName[id]) } if(entity_get_float(id, EV_FL_health) > 100.0) { entity_set_float(id, EV_FL_health, 100.0) } entity_set_float(id, EV_FL_gravity, 1.0) entity_set_float(id, EV_FL_maxspeed, 240.0) set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255) set_vision(id) entity_set_vector(id, EV_VEC_view_ofs, nView) cs_reset_user_model(id) } return PLUGIN_HANDLED } //---------------------------------------------------------------------------------------------- /* CALL CONTROLLER FOR ID 0 (All Players) */ public call_func(func[]) { new users[32], inum get_players(users, inum, "a") for(new i = 0; i < inum; ++i) { if(users[i] > 0) { set_task(0.01, func, users[i]) } } } //---------------------------------------------------------------------------------------------- public call_glow(id) { if(id == 0) { call_func("call_glow") } else if(UserFlags[id] && is_user_alive(id)) { set_rendering(id, kRenderFxGlowShell, (get_user_team(id) == 1 && ChickenGlow) ? 250 : 0, 0, (get_user_team(id) == 2 && ChickenGlow) ? 250 : 0, kRenderTransAlpha, 255) } } //---------------------------------------------------------------------------------------------- public call_health(id) { if(UserFlags[id] && is_user_alive(id)) { entity_set_float(id, EV_FL_health, float(ChickenHealth)) } } //---------------------------------------------------------------------------------------------- public call_gravity(id) { if(id == 0) { call_func("call_gravity") } else if(UserFlags[id] && is_user_alive(id)) { entity_set_float(id, EV_FL_gravity, float(ChickenGravity) / 100.0) } } //---------------------------------------------------------------------------------------------- public call_speed(id) { if(id == 0) { call_func("call_speed") } else if(UserFlags[id] && is_user_alive(id)) { entity_set_float(id, EV_FL_maxspeed, float(ChickenSpeed)) } } //---------------------------------------------------------------------------------------------- public call_vision(id) { if(id == 0) { call_func("call_vision") } else if(UserFlags[id] && is_user_alive(id)) { set_vision(id) } } //---------------------------------------------------------------------------------------------- public call_name(id) { if(id == 0) { call_func("call_name") } else if(ChickenName && UserFlags[id] && !is_user_bot(id)) { set_user_info(id, "name", ChickName[id]) } update_menu() } //---------------------------------------------------------------------------------------------- /* HITZONES DATA */ public forward_traceline(Float:v1[3], Float:v2[3], noMonsters, pentToSkip) { new entity1 = pentToSkip new entity2 = get_tr(TR_pHit) // victim new hitzone = (1<<get_tr(TR_iHitgroup)) if (!is_valid_ent(entity1) || !is_valid_ent(entity2)) { return FMRES_IGNORED } if (entity1 != entity2 && is_user_alive(entity1) && is_user_alive(entity2)) { if(UserFlags[entity2]) { if(hitzone != 64 && hitzone != 128) { set_tr(TR_flFraction,1.0) // KWo 19.11.2005 return FMRES_SUPERCEDE } } return FMRES_IGNORED } return FMRES_IGNORED } //---------------------------------------------------------------------------------------------- /* VISION DATA */ public set_vision(id) { if(UserFlags[id]) { message_begin(MSG_ONE, gmsgSetFOV, {0,0,0}, id) write_byte(ChickenVision) message_end() engclient_cmd(id, "weapon_knife") entity_set_string(id, EV_SZ_viewmodel, "") entity_set_string(id, EV_SZ_weaponmodel, "") } else { message_begin(MSG_ONE, gmsgSetFOV, {0,0,0}, id) write_byte(90) // default_fov = 90 message_end() } } //---------------------------------------------------------------------------------------------- /* CHICKEN SFX */ public transform(vec[3]) { message_begin(MSG_PVS, SVC_TEMPENTITY, vec) write_byte(11) // TE_TELEPORT write_coord(vec[0]) write_coord(vec[1]) write_coord(vec[2]) message_end() } И CSDM 2.1.2 Скрытый текст https://c-s.net.ua/forum/topic16891.html Если привратиться в курицу и умиреть, игрок постоянно будет умирать. В чем проблема может быть?
Отредактировал: I to doo, - 13.6.2013, 17:41
|
|
|
|
![]() ![]() |