| Дата поста: |
В теме: |
За сообщение: |
Спасибо сказали: |
| 21.8.2014, 14:43 |
[Metamod] WHBlocker 1.5.692
|
Цитата(Bloo @ 21.8.2014, 13:38)  CH0CAPIC, там действие какое то выполняется. Подобное было мной замечено на карте cs_alpain, когда вызываешь кабинку. Сайленту сообщал. Сейчас проверил и карту de_mon, где есть эскалатор и кораблик. Как выяснилось, блокер вызывыет падение сервера во время включения определённого механизма (будь это машина, кораблик, эскалатор...Одним словом, все, что движется) |
Bloo |
| 18.8.2014, 15:44 |
Помогите с плагином
|
|
gribnik |
| 27.7.2014, 2:02 |
Флаг доступа в Меню Сервера
|
Цитата(firante @ 26.7.2014, 23:18)  Legenda,Код:
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <amxmisc> #include <hamsandwich> #include <colorchat> new chat[33] #pragma tabsize 0 #define PLUGIN "Меню сервера ProStrike Public ©" #define VERSION "2.1a" #define AUTHOR "aline" new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN U_KEY_8|MENU_KEY_9|MENU_KEY_0 new keys2 = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN U_KEY_8|MENU_KEY_9|MENU_KEY_0 new keys3 = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN U_KEY_8|MENU_KEY_9|MENU_KEY_0 new keys4 = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN U_KEY_8|MENU_KEY_9|MENU_KEY_0 public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_menu("Menu 1", keys, "func_menu") register_clcmd("say /menu", "server_menu" ) register_clcmd("", "server_menu2" ) register_menu("Menu 2", keys2, "func_menu2") register_clcmd("say /shop", "server_menu3" ) register_menu("Menu 3", keys3, "func_menu3") register_clcmd("say /administration", "server_menu4",ADMIN_IMMINITY,"-nore menu for admin" ) register_menu("Menu 4", keys4, "func_menu4") } public client_authorized(id) { client_cmd(id, "^"bind^" F3 ^"say /menu^"") } public server_menu(id) { static flag flag = get_user_flags(id) new name[32] get_user_name(id, name, 31) static menu[650], iLen iLen = 0 iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\wМеню сервера | Привет: \y%s^n^n", name) iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wОбнулить счёт^n") keys |= MENU_KEY_1 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \wЗаглушить игрока^n") keys |= MENU_KEY_2 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \wПередать деньги^n") keys |= MENU_KEY_3 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \wТоп игроков^n^n") keys |= MENU_KEY_4 if(!chat[id]) { iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5. \wЯзык чата \d[ \yАнглийский \d]^n") keys |= MENU_KEY_5 } else { iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5. \wЯзык чата \d[ \yРусский \d]^n") keys |= MENU_KEY_5 } if(flag & ADMIN_LEVEL_H) { iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r6. \wВотебан \d[ \yДоступно \d]^n^n") keys |= MENU_KEY_6 } else { iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r6. \dВотебан [ \rНедоступно \d]^n^n") keys |= MENU_KEY_6 } if(flag & ADMIN_IMMUNITY) { iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r7. \wЦентр администрации \d[ \yДоступно \d]^n") keys |= MENU_KEY_7 } else { iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r7. \dЦентр администрации [ \rНедоступно \d]^n") keys |= MENU_KEY_7 } iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r8. \wМагазин сервера^n^n") keys |= MENU_KEY_8 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r9. \wДалее^n") keys |= MENU_KEY_9 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r0. \wВыход^n") keys |= MENU_KEY_0 if(get_user_flags(id) & ADMIN_IMMUNITY) { menu_display(id, 0) } if(!(get_user_flags(id) & ADMIN_IMMUNITY)) { ColorChat(id, DontChange, "^4[^3Menu^4] ^4У вас нет доступа для входа в ^3админ центр.") return } show_menu(id, keys, menu, -1, "Menu 1") return PLUGIN_HANDLED } public func_menu(id, key) { switch(key) { case 0: client_cmd(id, "say /rs") case 1: client_cmd(id, "say /mute") case 2: client_cmd(id, "say /tm") case 3: client_cmd(id, "say /top") case 4: { if(chat[id]) { client_cmd(id, "say /eng") chat[id] = 0 server_menu(id) } else { client_cmd(id, "say /rus") chat[id] = 1 server_menu(id) } } case 5: client_cmd(id, "say /voteban") case 6: client_cmd(id, "say /administration") case 7: client_cmd(id, "say /shop") case 8: server_menu2(id) } return PLUGIN_HANDLED } public server_menu2(id) { new name[32] get_user_name(id, name, 31) static menu[650], iLen iLen = 0 iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\wМеню сервера | Привет: \y%s^n^n", name) iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wАдмины онлайн^n") keys2 |= MENU_KEY_1 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \wВипы онлайн^n") keys2 |= MENU_KEY_2 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \wМодераторы онлайн^n^n") keys2 |= MENU_KEY_3 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r4. \wПолная статистика игроков^n") keys2 |= MENU_KEY_4 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r5. \wРанк на сервере^n") keys2 |= MENU_KEY_5 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r6. \wСписок званий^n^n") keys2 |= MENU_KEY_6 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r7. \wСписок доступных комманд^n") keys2 |= MENU_KEY_7 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r8. \wПравила сервера^n^n") keys2 |= MENU_KEY_8 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r9. \wНазад^n") keys2 |= MENU_KEY_9 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r0. \wВыход^n^n") keys2 |= MENU_KEY_0 show_menu(id, keys2, menu, -1, "Menu 2") return PLUGIN_HANDLED } public func_menu2(id, key) { switch(key) { case 0: client_cmd(id, "say /admins") case 1: client_cmd(id, "say /vips") case 2: client_cmd(id, "say /moderators") case 3: client_cmd(id, "say /stats") case 4: client_cmd(id, "say /rank") case 5: client_cmd(id, "say /alist") case 6: client_cmd(id, "say /say") case 7: client_cmd(id, "say /rules") case 8: server_menu(id) } return PLUGIN_HANDLED } public server_menu3(id) { new name[32] get_user_name(id, name, 31) static menu[650], iLen iLen = 0 iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\wМагазин сервера | Привет: \y%s^n^n", name) iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wЗаказать админку^n") keys3 |= MENU_KEY_1 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \wЗаказать випку^n") keys3 |= MENU_KEY_2 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \wЗаказать модераторство^n^n") keys3 |= MENU_KEY_3 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r9. \wНазад^n") keys3 |= MENU_KEY_9 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r0. \wВыход^n") keys3 |= MENU_KEY_0 show_menu(id, keys3, menu, -1, "Menu 3") return PLUGIN_HANDLED } public func_menu3(id, key) { switch(key) { case 0: client_cmd(id, "say /buyadmin") case 1: client_cmd(id, "say /buyvip") case 2: client_cmd(id, "say /buymoder") case 8: server_menu(id) } return PLUGIN_HANDLED } public server_menu4(id) { if (!cmd_access(id, level, cid, 0)) return PLUGIN_HANDLED
static flag flag = get_user_flags(id) new name[32] get_user_name(id, name, 31) static menu[650], iLen iLen = 0 iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\wЦентр администрации | Привет: \y%s^n^n", name) if(flag & ADMIN_BAN) { iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wМеню админа \d[ \yДоступно \d]^n") keys4 |= MENU_KEY_1 } else { iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \dМеню админа [ \rНедоступно \d]^n") keys4 |= MENU_KEY_1 } if(flag & ADMIN_LEVEL_G) { iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \wМеню модератора \d[ \yДоступно \d]^n") keys4 |= MENU_KEY_2 } else { iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \dМеню модератора [ \rНедоступно \d]^n") keys4 |= MENU_KEY_2 } if(flag & ADMIN_LEVEL_H) { iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \wМеню випа \d[ \yДоступно \d]^n^n") keys4 |= MENU_KEY_3 } else { iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r3. \dМеню випа [ \rНедоступно \d]^n^n") keys4 |= MENU_KEY_3 } iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r9. \wНазад^n") keys4 |= MENU_KEY_9 iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r0. \wВыход^n") keys4 |= MENU_KEY_0 show_menu(id, keys4, menu, -1, "Menu 4") return PLUGIN_HANDLED } public func_menu4(id, key) { switch(key) { case 0: client_cmd(id, "say /adminmenu") case 1: client_cmd(id, "say /modermenu") case 2: client_cmd(id, "say /vipmenu") case 8: server_menu(id) } return PLUGIN_HANDLED } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par } */ register_clcmd("say /administration", "server_menu4",ADMIN_IMMINITY,"-nore menu for admin" ) у тебя ошибка "ADMIN_IMMINITY" поправ ADMIN_IMMUNITY |
Legenda |
| 26.7.2014, 22:43 |
Флаг доступа в Меню Сервера
|
возьми пример отсюда, если тебя поможет. Код:
#include <amxmodx> #include <amxmisc>
#define PLUGIN "Base Builder Menu" #define VERSION "1.0" #define AUTHOR "CH0CAPIC"
#define VIP ADMIN_KICK #define VIP2 ADMIN_LEVEL_E
new keysmenu = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9)
new SayText;
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("bbmenu", "bb_menu") register_clcmd("say /menu", "bb_menu") register_clcmd("chooseteam", "bb_menu") register_menu("Game Menu", keysmenu, "menu_game") SayText = get_user_msgid("SayText") }
public plugin_natives() register_native("bb_menu", "bb_menu", 1)
public bb_menu(id) { static menu[500], len len = 0 // Title len += formatex(menu[len], charsmax(menu) - len, "[Base Builder] Server Menu ^n^n") len += formatex(menu[len], charsmax(menu) - len, "\y[1]. \wExtra Items^n", id) len += formatex(menu[len], charsmax(menu) - len, "\y[2]. \wZombie Classes^n", id) len += formatex(menu[len], charsmax(menu) - len, "\y[3]. \wRevive Me^n", id) len += formatex(menu[len], charsmax(menu) - len, "\y[4]. \wBuy Health^n^n", id) len += formatex(menu[len], charsmax(menu) - len, "\y[5]. \rAdmin Menu^n", id) len += formatex(menu[len], charsmax(menu) - len, "\y[6]. \rVip Menu^n^n", id)
len += formatex(menu[len], charsmax(menu) - len, "^n^n\r0.\w Gamosvla", id) show_menu(id, keysmenu, menu, -1, "Game Menu") return PLUGIN_HANDLED }
public menu_game(id, key) { switch (key) { case 0: { if(get_user_team(id) == 2) { client_cmd(id, "extra") } else { print_col_chat(id, "^4[Base Builder]^1 Extra Items Just For CT :)") } } case 1: { client_cmd(id, "class") } case 2: { client_cmd(id, "say /revive") } case 3: { print_col_chat(id, "^4[Base Builder]^1 Jer Jerobit Es Funqcia Miuwvdomelia") } case 4: { if(get_user_flags(id) & VIP) { print_col_chat(id, "^4[Base Builder]^1 Jer Jerobit Es Funqcia Miuwvdomelia") } else { print_col_chat(id, "^4[Base Builder]^1 Iyide Admini Jer :), Say /yidva") } } case 5: { if(get_user_flags(id) & VIP2) { print_col_chat(id, "^4[Base Builder]^1 Jer Jerobit Es Funqcia Miuwvdomelia") } else { print_col_chat(id, "^4[Base Builder]^1 Iyide Vipi Jer :), Say /yidva") } } } return PLUGIN_HANDLED; }
public client_connect(id) client_cmd(id, "bind F3 bbmenu");
stock print_col_chat(const id, const input[], any:...) { new count = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!g", "^4"); replace_all(msg, 190, "!y", "^1"); replace_all(msg, 190, "!t", "^3"); 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, SayText, _, players[i]); write_byte(players[i]); write_string(msg); message_end(); } } } } |
firante |
| 24.7.2014, 13:12 |
Spawn Lotery, AmmoPack
|
Цитата(Safety1st @ 24.7.2014, 1:02)  CH0CAPIC, почему из шапки код удалён? Не надо так. исправил, проста там запутался и не то удалил. |
Safety1st |
| 25.5.2014, 19:18 |
jail break mod headshot
|
убить нельзя и значка тоже нету
целишся в голову а показывает простой убийство |
tato2013 |
| 25.5.2014, 16:49 |
jail break mod headshot
|
Цитата(tato2013 @ 25.5.2014, 15:36)  Жадность,потому что он наверно тратил деньги исправлял,а тут все получат без багов! если не знаешь не говори. вот |
tato2013 |
| 14.5.2014, 22:10 |
bazooka_india на базе awp_india
|
Цитата(yukish @ 14.5.2014, 21:06)  CH0CAPIC
Я сразу не понял, но скомпилировав и опробовав ваш плагин понял, что он способен работать только с ВАШЕЙ версией базуки, а с той базукой, что Я выложил он работать не будет. Всё правильно? все правильно я их соединил для меня, если хочешь: Код:
#include <amxmodx> #include <fun> #include <engine> #include <fakemeta> #include <fakemeta_util> #include <hamsandwich> #include <cstrike>
#define PLUGIN "Awp_India Bazooka" #define VERSION "1.0" #define AUTHOR "Yes"
#define weapon_at4cs "weapon_m249" #define CSW_AT4CS CSW_M249
#define TASK_CHECKRELOAD 111112 #define TASK_RELOAD 111113
//new g_at4cs new g_had_at4cs[33], Float:g_lastfire[33], Float:g_lastaim[33], g_aiming[33], g_smoke_id, g_spr_trail, g_spr_exp, is_reloading[33], cvar_radius, cvar_maxdamage
new const v_model[] = "models/CsDeLuxGe/v_at4ex.mdl" new const p_model[] = "models/CsDeLuxGe/p_at4ex.mdl" new const w_model[] = "models/CsDeLuxGe/w_at4ex.mdl" new const s_model[] = "models/CsDeLuxGe/s_rocket.mdl"
new const at4cs_sound[5][] = { "weapons/at4-1.wav", // Fire Sound "weapons/at4_clipin1.wav", // Clip in 1 "weapons/at4_clipin2.wav", // Clip in 2 "weapons/at4_clipin3.wav", // Clip in 3 "weapons/at4_draw.wav" // Draw }
new ent1, ent2
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("CurWeapon", "event_curweapon", "be", "1=1") register_event("HLTV", "event_newround", "a", "1=0", "2=0") register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1) register_forward(FM_CmdStart, "fw_CmdStart") register_forward(FM_SetModel, "fw_SetModel") register_think("at4ex_rocket", "fw_rocket_think") register_touch("at4ex_rocket", "*", "fw_rocket_touch") RegisterHam(Ham_Weapon_Reload, weapon_at4cs, "fw_WeaponReload") RegisterHam(Ham_Item_AddToPlayer, weapon_at4cs, "fw_AddToPlayer", 1) cvar_radius = register_cvar("zp_at4cs_radius", "1.0") cvar_maxdamage = register_cvar("zp_at4cs_maxdamage", "50.0") register_clcmd("weapon_at4cs", "hook_weapon") new mapname[32] get_mapname(mapname,31) if(equali(mapname,"awp_india")) { ents_removing() RegisterHam(Ham_Spawn, "player", "Player_Spawn", 1) } }
public ents_removing() { while((ent1 = find_ent_by_class(ent1,"game_player_equip") != 0) || (ent2 = find_ent_by_class(ent2, "player_weaponstrip") != 0)) { remove_entity(find_ent_by_class(ent1, "game_player_equip")) remove_entity(find_ent_by_class(ent2, "player_weaponstrip")) } }
public Player_Spawn(id) { if(is_user_alive(id)) { strip_user_weapons(id) give_bazooka(id) give_item(id, "weapon_knife") } }
public hook_weapon(id) { engclient_cmd(id, weapon_at4cs) return PLUGIN_HANDLED }
public plugin_precache() { engfunc(EngFunc_PrecacheModel, v_model) engfunc(EngFunc_PrecacheModel, p_model) engfunc(EngFunc_PrecacheModel, w_model) engfunc(EngFunc_PrecacheModel, s_model) engfunc(EngFunc_PrecacheGeneric, "sprites/weapon_at4cs.txt") engfunc(EngFunc_PrecacheGeneric, "sprites/at4cs.spr") g_smoke_id = engfunc(EngFunc_PrecacheModel, "sprites/effects/rainsplash.spr") g_spr_trail = engfunc(EngFunc_PrecacheModel,"sprites/xbeam3.spr") g_spr_exp = engfunc(EngFunc_PrecacheModel,"sprites/zerogxplode.spr") for(new i = 0; i < sizeof(at4cs_sound); i++) engfunc(EngFunc_PrecacheSound, at4cs_sound[i]) }
public give_bazooka(id) { g_had_at4cs[id] = 1 is_reloading[id] = 0 g_aiming[id] = 0 fm_give_item(id, weapon_at4cs) static at4cs at4cs = fm_get_user_weapon_entity(id, CSW_AT4CS)
cs_set_weapon_ammo(at4cs, 1) cs_set_user_bpammo(id, CSW_AT4CS, 10) return PLUGIN_CONTINUE }
public plugin_natives() register_native("give_bazooka", "give_bazooka", 1)
public zp_user_infected_post(id) { g_had_at4cs[id] = 0 is_reloading[id] = 0 g_aiming[id] = 0 remove_task(id+TASK_CHECKRELOAD) remove_task(id+TASK_RELOAD) }
public zp_user_humanized_post(id) { g_had_at4cs[id] = 0 is_reloading[id] = 0 g_aiming[id] = 0 remove_task(id+TASK_CHECKRELOAD) remove_task(id+TASK_RELOAD) }
public event_newround() { remove_entity_name("at4ex_rocket") for(new i = 0; i < get_maxplayers(); i++) { if(is_user_alive(i) && is_user_connected(i)) { remove_task(i+TASK_CHECKRELOAD) remove_task(i+TASK_RELOAD) } } }
public event_curweapon(id) { if(!is_user_alive(id) || !is_user_connected(id)) return PLUGIN_HANDLED if(get_user_weapon(id) != CSW_AT4CS || !g_had_at4cs[id]) return PLUGIN_HANDLED set_pev(id, pev_viewmodel2, v_model) set_pev(id, pev_weaponmodel2, p_model) return PLUGIN_CONTINUE }
public fw_UpdateClientData_Post(id, sendweapons, cd_handle) { if(!is_user_alive(id) || !is_user_connected(id)) return FMRES_IGNORED if(get_user_weapon(id) != CSW_AT4CS || !g_had_at4cs[id]) return FMRES_IGNORED set_cd(cd_handle, CD_flNextAttack, halflife_time() + 0.001)
return FMRES_HANDLED }
public fw_AddToPlayer(ent, id) { if(!is_valid_ent(ent) || !is_user_alive(id)) return HAM_IGNORED if(entity_get_int(ent, EV_INT_impulse) == 61296) { g_had_at4cs[id] = 1 entity_set_int(id, EV_INT_impulse, 0) return HAM_HANDLED }
if(g_had_at4cs[id]) { message_begin(MSG_ONE, get_user_msgid("WeaponList"), _, id) write_string("weapon_at4cs"); // WeaponName write_byte(3) // PrimaryAmmoID write_byte(1) // PrimaryAmmoMaxAmount write_byte(-1) // SecondaryAmmoID write_byte(-1) // SecondaryAmmoMaxAmount write_byte(0) // SlotID (0...N) write_byte(4) // NumberInSlot (1...N) write_byte(CSW_AT4CS) // WeaponID write_byte(0) // Flags message_end() } return HAM_HANDLED }
public fw_CmdStart(id, uc_handle, seed) { if(!is_user_alive(id) || !is_user_connected(id)) return FMRES_IGNORED
if(get_user_weapon(id) != CSW_AT4CS || !g_had_at4cs[id]) return FMRES_IGNORED static CurButton CurButton = get_uc(uc_handle, UC_Buttons) if(CurButton & IN_ATTACK) { static Float:CurTime CurTime = get_gametime() static at4cs at4cs = fm_find_ent_by_owner(-1, weapon_at4cs, id) if(cs_get_weapon_ammo(at4cs) > 0 && !is_reloading[id]) { if(CurTime - 4.5 > g_lastfire[id]) { set_weapon_anim(id, 1) emit_sound(id, CHAN_WEAPON, at4cs_sound[0], 1.0, ATTN_NORM, 0, PITCH_NORM) create_rocket(id) static Float:Punch_Angles[3] Punch_Angles[0] = -20.0 Punch_Angles[1] = 0.0 Punch_Angles[2] = 0.0 set_pev(id, pev_punchangle, Punch_Angles) cs_set_weapon_ammo(at4cs, cs_get_weapon_ammo(at4cs) - 1) if(cs_get_weapon_ammo(at4cs) <= 0 && !is_reloading[id]) { if(cs_get_user_bpammo(id, CSW_AT4CS) > 0) { set_task(1.0, "at4cs_reload", id) } } if(cs_get_user_zoom(id)) cs_set_user_zoom(id, CS_RESET_ZOOM, 1) g_lastfire[id] = CurTime } } else { if(!is_reloading[id]) { if(cs_get_user_bpammo(id, CSW_AT4CS) > 0) { if(CurTime - 1.0 > g_lastfire[id]) { at4cs_reload(id) g_lastfire[id] = CurTime } } } } } if(CurButton & IN_ATTACK2) { static Float:CurTime CurTime = get_gametime() if((CurTime - 0.5 > g_lastaim[id]) && !is_reloading[id]) { if(!g_aiming[id]) { cs_set_user_zoom(id, CS_SET_FIRST_ZOOM, 1) g_aiming[id] = 1 } else { cs_set_user_zoom(id, CS_RESET_ZOOM, 1) g_aiming[id] = 0 } g_lastaim[id] = CurTime } } CurButton &= ~IN_ATTACK set_uc(uc_handle, UC_Buttons, CurButton) CurButton &= ~IN_RELOAD set_uc(uc_handle, UC_Buttons, CurButton)
return FMRES_HANDLED }
public fw_SetModel(ent, const model[]) { if(!is_valid_ent(ent)) return FMRES_IGNORED static szClassName[33] entity_get_string(ent, EV_SZ_classname, szClassName, charsmax(szClassName)) if(!equal(szClassName, "weaponbox")) return FMRES_IGNORED static iOwner iOwner = entity_get_edict(ent, EV_ENT_owner) if(equal(model, "models/w_m249.mdl")) { static at4cs at4cs = find_ent_by_owner(-1, "weapon_m249", ent) if(!is_valid_ent(at4cs)) return FMRES_IGNORED; if(g_had_at4cs[iOwner]) { entity_set_int(at4cs, EV_INT_impulse, 61296) g_had_at4cs[iOwner] = 0 entity_set_model(ent, w_model) return FMRES_SUPERCEDE } } return FMRES_IGNORED }
public at4cs_reload(id) { if(is_reloading[id]) return is_reloading[id] = 1 set_weapon_anim(id, 3) set_task(0.1, "checking_reload", id+TASK_CHECKRELOAD, _, _, "b") set_task(4.0, "reload_complete", id+TASK_RELOAD) }
public checking_reload(id) { id -= TASK_CHECKRELOAD if(cs_get_user_zoom(id)) cs_set_user_zoom(id, CS_RESET_ZOOM, 1) if(get_user_weapon(id) != CSW_AT4CS || !g_had_at4cs[id]) { remove_task(id+TASK_CHECKRELOAD) remove_task(id+TASK_RELOAD) is_reloading[id] = 0 } }
public reload_complete(id) { id -= TASK_RELOAD if(!is_reloading[id]) return remove_task(id+TASK_CHECKRELOAD) static at4cs at4cs = fm_find_ent_by_owner(-1, weapon_at4cs, id) cs_set_weapon_ammo(at4cs, 1) cs_set_user_bpammo(id, CSW_AT4CS, cs_get_user_bpammo(id, CSW_AT4CS) - 1) is_reloading[id] = 0 }
public fw_WeaponReload(ent) { static id id = pev(ent, pev_owner) if(!is_user_alive(id) || !is_user_connected(id)) return HAM_IGNORED if(get_user_weapon(id) != CSW_AT4CS || !g_had_at4cs[id]) return HAM_IGNORED static Float:CurTime CurTime = get_gametime() if(!is_reloading[id]) { if(cs_get_user_bpammo(id, CSW_AT4CS) > 0) { if(CurTime - 1.0 > g_lastfire[id]) { at4cs_reload(id) g_lastfire[id] = CurTime } } } return HAM_SUPERCEDE }
public create_rocket(id) { new ent, Float:Origin[3], Float:Angles[3], Float:Velocity[3] ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target")) engfunc(EngFunc_GetAttachment, id, 0, Origin, Angles) pev(id, pev_angles, Angles) set_pev(ent, pev_origin, Origin) set_pev(ent, pev_angles, Angles) set_pev(ent, pev_solid, 2) set_pev(ent, pev_movetype, 5) set_pev(ent, pev_classname, "at4ex_rocket") set_pev(ent, pev_owner, id) engfunc(EngFunc_SetModel, ent, s_model) set_pev(ent, pev_mins, {-1.0, -1.0, -1.0}) set_pev(ent, pev_maxs, {1.0, 1.0, 1.0}) velocity_by_aim(id, 1750, Velocity) set_pev(ent, pev_velocity, Velocity) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BEAMFOLLOW) // TE id write_short(ent) // entity:attachment to follow write_short(g_spr_trail) // sprite index write_byte(25) // life in 0.1's write_byte(2) // line width in 0.1's write_byte(255) // r write_byte(255) // g write_byte(255) // b write_byte(200) // brightness message_end() set_pev(ent, pev_iuser4, 0) set_pev(ent, pev_nextthink, halflife_time() + 0.1) }
public fw_rocket_think(ent) { if(!pev_valid(ent)) return
static Float:Origin[3] pev(ent, pev_origin, Origin) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_SPRITE) engfunc(EngFunc_WriteCoord, Origin[0]) engfunc(EngFunc_WriteCoord, Origin[1]) engfunc(EngFunc_WriteCoord, Origin[2]) write_short(g_smoke_id) write_byte(2) write_byte(200) message_end() if(pev(ent, pev_iuser4) == 0) { static Victim Victim = FindClosesEnemy(ent) if(is_user_alive(Victim)) { set_pev(ent, pev_iuser4, Victim) } } else { static Victim Victim = pev(ent, pev_iuser4) if(is_user_alive(Victim)) { static Float:VicOrigin[3] pev(Victim, pev_origin, VicOrigin) turn_to_target(ent, Origin, Victim, VicOrigin) hook_ent(ent, Victim, 500.0) } else { set_pev(ent, pev_iuser4, 0) } } set_pev(ent, pev_nextthink, halflife_time() + 0.075) }
public fw_rocket_touch(rocket, touch) { if(!pev_valid(rocket)) return if(is_user_alive(touch) && pev(rocket, pev_owner) == touch) return static Float:Origin[3] pev(rocket, pev_origin, Origin) message_begin(MSG_BROADCAST ,SVC_TEMPENTITY) write_byte(TE_EXPLOSION) engfunc(EngFunc_WriteCoord, Origin[0]) engfunc(EngFunc_WriteCoord, Origin[1]) engfunc(EngFunc_WriteCoord, Origin[2]) write_short(g_spr_exp) // sprite index write_byte(20) // scale in 0.1's write_byte(30) // framerate write_byte(0) // flags message_end() static owner, iVictim iVictim = -1 owner = pev(rocket, pev_owner)
while((iVictim = find_ent_in_sphere(iVictim, Origin, get_pcvar_float(cvar_radius))) != 0) { if((0 < iVictim < 32) && is_user_alive(iVictim)) { new Float:MaxDamage, Float:Damage MaxDamage = get_pcvar_float(cvar_maxdamage) Damage = random_float(MaxDamage - random_float(0.0, 100.0), MaxDamage + random_float(0.0, 100.0)) ExecuteHam(Ham_TakeDamage, iVictim, 0, owner, 0, DMG_BULLET) static health health = get_user_health(iVictim) if(health - Damage >= 1) { fm_set_user_health(iVictim, health - floatround(Damage)) } else { death_message(owner, iVictim, 1) } } } engfunc(EngFunc_RemoveEntity, rocket) }
stock set_weapon_anim(id, anim) { set_pev(id, pev_weaponanim, anim)
message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, _, id) write_byte(anim) write_byte(pev(id,pev_body)) message_end() }
stock death_message(Killer, Victim, ScoreBoard) { // Block death msg set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET) ExecuteHamB(Ham_Killed, Victim, Killer, 2) set_msg_block(get_user_msgid("DeathMsg"), BLOCK_NOT) // Death make_deathmsg(Killer, Victim, 0, "")
// Update score board if (ScoreBoard) { message_begin(MSG_BROADCAST, get_user_msgid("ScoreInfo")) write_byte(Killer) // id write_short(pev(Killer, pev_frags)) // frags write_short(cs_get_user_deaths(Killer)) // deaths write_short(0) // class? write_short(get_user_team(Killer)) // team message_end() message_begin(MSG_BROADCAST, get_user_msgid("ScoreInfo")) write_byte(Victim) // id write_short(pev(Victim, pev_frags)) // frags write_short(cs_get_user_deaths(Victim)) // deaths write_short(0) // class? write_short(get_user_team(Victim)) // team message_end() } }
stock FindClosesEnemy(entid) { new Float:Dist new Float:maxdistance=300.0 new indexid=0 for(new i=1;i<=get_maxplayers();i++){ if(is_user_alive(i) && is_valid_ent(i) && can_see_fm(entid, i) && pev(entid, pev_owner) != i && cs_get_user_team(pev(entid, pev_owner)) != cs_get_user_team(i)) { Dist = entity_range(entid, i) if(Dist <= maxdistance) { maxdistance=Dist indexid=i return indexid } } } return 0 }
stock bool:can_see_fm(entindex1, entindex2) { if (!entindex1 || !entindex2) return false
if (pev_valid(entindex1) && pev_valid(entindex1)) { new flags = pev(entindex1, pev_flags) if (flags & EF_NODRAW || flags & FL_NOTARGET) { return false }
new Float:lookerOrig[3] new Float:targetBaseOrig[3] new Float:targetOrig[3] new Float:temp[3]
pev(entindex1, pev_origin, lookerOrig) pev(entindex1, pev_view_ofs, temp) lookerOrig[0] += temp[0] lookerOrig[1] += temp[1] lookerOrig[2] += temp[2]
pev(entindex2, pev_origin, targetBaseOrig) pev(entindex2, pev_view_ofs, temp) targetOrig[0] = targetBaseOrig [0] + temp[0] targetOrig[1] = targetBaseOrig [1] + temp[1] targetOrig[2] = targetBaseOrig [2] + temp[2]
engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) // checks the had of seen player if (get_tr2(0, TraceResult:TR_InOpen) && get_tr2(0, TraceResult:TR_InWater)) { return false } else { new Float:flFraction get_tr2(0, TraceResult:TR_flFraction, flFraction) if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2)) { return true } else { targetOrig[0] = targetBaseOrig [0] targetOrig[1] = targetBaseOrig [1] targetOrig[2] = targetBaseOrig [2] engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) // checks the body of seen player get_tr2(0, TraceResult:TR_flFraction, flFraction) if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2)) { return true } else { targetOrig[0] = targetBaseOrig [0] targetOrig[1] = targetBaseOrig [1] targetOrig[2] = targetBaseOrig [2] - 17.0 engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) // checks the legs of seen player get_tr2(0, TraceResult:TR_flFraction, flFraction) if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2)) { return true } } } } } return false }
stock turn_to_target(ent, Float:Ent_Origin[3], target, Float:Vic_Origin[3]) { if(target) { new Float:newAngle[3] entity_get_vector(ent, EV_VEC_angles, newAngle) new Float:x = Vic_Origin[0] - Ent_Origin[0] new Float:z = Vic_Origin[1] - Ent_Origin[1]
new Float:radians = floatatan(z/x, radian) newAngle[1] = radians * (180 / 3.14) if (Vic_Origin[0] < Ent_Origin[0]) newAngle[1] -= 180.0 entity_set_vector(ent, EV_VEC_angles, newAngle) } }
stock hook_ent(ent, victim, Float:speed) { static Float:fl_Velocity[3] static Float:VicOrigin[3], Float:EntOrigin[3]
pev(ent, pev_origin, EntOrigin) pev(victim, pev_origin, VicOrigin) static Float:distance_f distance_f = get_distance_f(EntOrigin, VicOrigin)
if (distance_f > 10.0) { new Float:fl_Time = distance_f / speed
fl_Velocity[0] = (VicOrigin[0] - EntOrigin[0]) / fl_Time fl_Velocity[1] = (VicOrigin[1] - EntOrigin[1]) / fl_Time fl_Velocity[2] = (VicOrigin[2] - EntOrigin[2]) / fl_Time } else { fl_Velocity[0] = 0.0 fl_Velocity[1] = 0.0 fl_Velocity[2] = 0.0 }
entity_set_vector(ent, EV_VEC_velocity, fl_Velocity) }
|
yukish |
| 14.5.2014, 15:28 |
помогите срочно как бороться с обход баном?
|
найди вот этот plugin CsxBans 1.7. он может банить под сеть, у него хорошие функции.  я не говорил что можно банить под сеть через простой бан систему |
rus26 |
| 14.5.2014, 15:05 |
помогите срочно как бороться с обход баном?
|
а кикнуть player возможна ? кикни напиши amx_last увидишь его ip и steamid . next: amx_addban ip 0 amx_addban "steamid" 0 |
rus26 |
| 13.5.2014, 17:32 |
bazooka_india на базе awp_india
|
Цитата(serfreeman1337 @ 13.5.2014, 16:27)  Там натив Код:
give_bazooka(id) Код:
public plugin_natives() register_native("give_bazooka", "give_bazooka", 1)  |
yukish |
| 13.5.2014, 14:37 |
bazooka_india на базе awp_india
|
простой способ думаю должен работать Код:
#include <amxmodx> #include <fun> #include <cstrike> #include <engine> #include <hamsandwich> native give_bazooka(id)
new ent1, ent2 public plugin_init() { register_plugin("AWP_INDIA Weapon Giver", "0.3", "S0m3Th1nG_AwFul!") new mapname[32] get_mapname(mapname,31) if(equali(mapname,"awp_india")) { ents_removing() RegisterHam(Ham_Spawn, "player", "Player_Spawn", 1) } } public ents_removing() { while((ent1 = find_ent_by_class(ent1,"game_player_equip") != 0) || (ent2 = find_ent_by_class(ent2, "player_weaponstrip") != 0)) { remove_entity(find_ent_by_class(ent1, "game_player_equip")) remove_entity(find_ent_by_class(ent2, "player_weaponstrip")) } } public Player_Spawn(id) { if(is_user_alive(id)) { strip_user_weapons(id) give_bazooka(id) give_item(id, "weapon_knife") } } |
yukish |
| 13.5.2014, 14:30 |
bazooka_india на базе awp_india
|
возьми вот этот bazooka вчера нашел. простой, нету лишних добавок, толка есть zoom как у awp Код:
#include <amxmodx> #include <engine> #include <fakemeta> #include <fakemeta_util> #include <hamsandwich> #include <cstrike>
#define PLUGIN "[aBc JB] Bazooka Duel" #define VERSION "1.0" #define AUTHOR "Dias/ Editet By CH0CaPIC For JB"
#define weapon_at4cs "weapon_m249" #define CSW_AT4CS CSW_M249
#define TASK_CHECKRELOAD 111112 #define TASK_RELOAD 111113
new g_at4cs new g_had_at4cs[33], Float:g_lastfire[33], Float:g_lastaim[33], g_aiming[33], g_smoke_id, g_spr_trail, g_spr_exp, is_reloading[33], cvar_radius, cvar_maxdamage
new const v_model[] = "models/aBcJB_SNK1/v_at4ex.mdl" new const p_model[] = "models/aBcJB_SNK1/p_at4ex.mdl" new const w_model[] = "models/aBcJB_SNK1/w_at4ex.mdl" new const s_model[] = "models/aBcJB_SNK1/s_rocket.mdl"
new const at4cs_sound[5][] = { "weapons/at4-1.wav", // Fire Sound "weapons/at4_clipin1.wav", // Clip in 1 "weapons/at4_clipin2.wav", // Clip in 2 "weapons/at4_clipin3.wav", // Clip in 3 "weapons/at4_draw.wav" // Draw }
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("CurWeapon", "event_curweapon", "be", "1=1") register_event("HLTV", "event_newround", "a", "1=0", "2=0") register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1) register_forward(FM_CmdStart, "fw_CmdStart") register_forward(FM_SetModel, "fw_SetModel") register_think("at4ex_rocket", "fw_rocket_think") register_touch("at4ex_rocket", "*", "fw_rocket_touch") RegisterHam(Ham_Weapon_Reload, weapon_at4cs, "fw_WeaponReload") RegisterHam(Ham_Item_AddToPlayer, weapon_at4cs, "fw_AddToPlayer", 1) cvar_radius = register_cvar("zp_at4cs_radius", "300.0") cvar_maxdamage = register_cvar("zp_at4cs_maxdamage", "650.0") register_clcmd("weapon_at4cs", "hook_weapon") register_clcmd("say /bz", "give_bazooka") }
public hook_weapon(id) { engclient_cmd(id, weapon_at4cs) return PLUGIN_HANDLED }
public plugin_precache() { engfunc(EngFunc_PrecacheModel, v_model) engfunc(EngFunc_PrecacheModel, p_model) engfunc(EngFunc_PrecacheModel, w_model) engfunc(EngFunc_PrecacheModel, s_model) engfunc(EngFunc_PrecacheGeneric, "sprites/weapon_at4cs.txt") engfunc(EngFunc_PrecacheGeneric, "sprites/at4cs.spr") g_smoke_id = engfunc(EngFunc_PrecacheModel, "sprites/effects/rainsplash.spr") g_spr_trail = engfunc(EngFunc_PrecacheModel,"sprites/xbeam3.spr") g_spr_exp = engfunc(EngFunc_PrecacheModel,"sprites/zerogxplode.spr") for(new i = 0; i < sizeof(at4cs_sound); i++) engfunc(EngFunc_PrecacheSound, at4cs_sound[i]) }
public give_bazooka(id, itemid) { if(itemid != g_at4cs) return PLUGIN_HANDLED g_had_at4cs[id] = 1 is_reloading[id] = 0 g_aiming[id] = 0 fm_give_item(id, weapon_at4cs) static at4cs at4cs = fm_get_user_weapon_entity(id, CSW_AT4CS)
cs_set_weapon_ammo(at4cs, 1) cs_set_user_bpammo(id, CSW_AT4CS, 10) return PLUGIN_CONTINUE }
public plugin_natives() register_native("give_bazooka", "give_bazooka", 1)
public zp_user_infected_post(id) { g_had_at4cs[id] = 0 is_reloading[id] = 0 g_aiming[id] = 0 remove_task(id+TASK_CHECKRELOAD) remove_task(id+TASK_RELOAD) }
public zp_user_humanized_post(id) { g_had_at4cs[id] = 0 is_reloading[id] = 0 g_aiming[id] = 0 remove_task(id+TASK_CHECKRELOAD) remove_task(id+TASK_RELOAD) }
public event_newround() { remove_entity_name("at4ex_rocket") for(new i = 0; i < get_maxplayers(); i++) { if(is_user_alive(i) && is_user_connected(i)) { remove_task(i+TASK_CHECKRELOAD) remove_task(i+TASK_RELOAD) } } }
public event_curweapon(id) { if(!is_user_alive(id) || !is_user_connected(id)) return PLUGIN_HANDLED if(get_user_weapon(id) != CSW_AT4CS || !g_had_at4cs[id]) return PLUGIN_HANDLED set_pev(id, pev_viewmodel2, v_model) set_pev(id, pev_weaponmodel2, p_model) return PLUGIN_CONTINUE }
public fw_UpdateClientData_Post(id, sendweapons, cd_handle) { if(!is_user_alive(id) || !is_user_connected(id)) return FMRES_IGNORED if(get_user_weapon(id) != CSW_AT4CS || !g_had_at4cs[id]) return FMRES_IGNORED set_cd(cd_handle, CD_flNextAttack, halflife_time() + 0.001)
return FMRES_HANDLED }
public fw_AddToPlayer(ent, id) { if(!is_valid_ent(ent) || !is_user_alive(id)) return HAM_IGNORED if(entity_get_int(ent, EV_INT_impulse) == 61296) { g_had_at4cs[id] = 1 entity_set_int(id, EV_INT_impulse, 0) return HAM_HANDLED }
if(g_had_at4cs[id]) { message_begin(MSG_ONE, get_user_msgid("WeaponList"), _, id) write_string("weapon_at4cs"); // WeaponName write_byte(3) // PrimaryAmmoID write_byte(1) // PrimaryAmmoMaxAmount write_byte(-1) // SecondaryAmmoID write_byte(-1) // SecondaryAmmoMaxAmount write_byte(0) // SlotID (0...N) write_byte(4) // NumberInSlot (1...N) write_byte(CSW_AT4CS) // WeaponID write_byte(0) // Flags message_end() } return HAM_HANDLED }
public fw_CmdStart(id, uc_handle, seed) { if(!is_user_alive(id) || !is_user_connected(id)) return FMRES_IGNORED
if(get_user_weapon(id) != CSW_AT4CS || !g_had_at4cs[id]) return FMRES_IGNORED static CurButton CurButton = get_uc(uc_handle, UC_Buttons) if(CurButton & IN_ATTACK) { static Float:CurTime CurTime = get_gametime() static at4cs at4cs = fm_find_ent_by_owner(-1, weapon_at4cs, id) if(cs_get_weapon_ammo(at4cs) > 0 && !is_reloading[id]) { if(CurTime - 4.5 > g_lastfire[id]) { set_weapon_anim(id, 1) emit_sound(id, CHAN_WEAPON, at4cs_sound[0], 1.0, ATTN_NORM, 0, PITCH_NORM) create_rocket(id) static Float:Punch_Angles[3] Punch_Angles[0] = -20.0 Punch_Angles[1] = 0.0 Punch_Angles[2] = 0.0 set_pev(id, pev_punchangle, Punch_Angles) cs_set_weapon_ammo(at4cs, cs_get_weapon_ammo(at4cs) - 1) if(cs_get_weapon_ammo(at4cs) <= 0 && !is_reloading[id]) { if(cs_get_user_bpammo(id, CSW_AT4CS) > 0) { set_task(1.0, "at4cs_reload", id) } } if(cs_get_user_zoom(id)) cs_set_user_zoom(id, CS_RESET_ZOOM, 1) g_lastfire[id] = CurTime } } else { if(!is_reloading[id]) { if(cs_get_user_bpammo(id, CSW_AT4CS) > 0) { if(CurTime - 1.0 > g_lastfire[id]) { at4cs_reload(id) g_lastfire[id] = CurTime } } } } } if(CurButton & IN_ATTACK2) { static Float:CurTime CurTime = get_gametime() if((CurTime - 0.5 > g_lastaim[id]) && !is_reloading[id]) { if(!g_aiming[id]) { cs_set_user_zoom(id, CS_SET_FIRST_ZOOM, 1) g_aiming[id] = 1 } else { cs_set_user_zoom(id, CS_RESET_ZOOM, 1) g_aiming[id] = 0 } g_lastaim[id] = CurTime } } CurButton &= ~IN_ATTACK set_uc(uc_handle, UC_Buttons, CurButton) CurButton &= ~IN_RELOAD set_uc(uc_handle, UC_Buttons, CurButton)
return FMRES_HANDLED }
public fw_SetModel(ent, const model[]) { if(!is_valid_ent(ent)) return FMRES_IGNORED static szClassName[33] entity_get_string(ent, EV_SZ_classname, szClassName, charsmax(szClassName)) if(!equal(szClassName, "weaponbox")) return FMRES_IGNORED static iOwner iOwner = entity_get_edict(ent, EV_ENT_owner) if(equal(model, "models/w_m249.mdl")) { static at4cs at4cs = find_ent_by_owner(-1, "weapon_m249", ent) if(!is_valid_ent(at4cs)) return FMRES_IGNORED; if(g_had_at4cs[iOwner]) { entity_set_int(at4cs, EV_INT_impulse, 61296) g_had_at4cs[iOwner] = 0 entity_set_model(ent, w_model) return FMRES_SUPERCEDE } } return FMRES_IGNORED }
public at4cs_reload(id) { if(is_reloading[id]) return is_reloading[id] = 1 set_weapon_anim(id, 3) set_task(0.1, "checking_reload", id+TASK_CHECKRELOAD, _, _, "b") set_task(4.0, "reload_complete", id+TASK_RELOAD) }
public checking_reload(id) { id -= TASK_CHECKRELOAD if(cs_get_user_zoom(id)) cs_set_user_zoom(id, CS_RESET_ZOOM, 1) if(get_user_weapon(id) != CSW_AT4CS || !g_had_at4cs[id]) { remove_task(id+TASK_CHECKRELOAD) remove_task(id+TASK_RELOAD) is_reloading[id] = 0 } }
public reload_complete(id) { id -= TASK_RELOAD if(!is_reloading[id]) return remove_task(id+TASK_CHECKRELOAD) static at4cs at4cs = fm_find_ent_by_owner(-1, weapon_at4cs, id) cs_set_weapon_ammo(at4cs, 1) cs_set_user_bpammo(id, CSW_AT4CS, cs_get_user_bpammo(id, CSW_AT4CS) - 1) is_reloading[id] = 0 }
public fw_WeaponReload(ent) { static id id = pev(ent, pev_owner) if(!is_user_alive(id) || !is_user_connected(id)) return HAM_IGNORED if(get_user_weapon(id) != CSW_AT4CS || !g_had_at4cs[id]) return HAM_IGNORED static Float:CurTime CurTime = get_gametime() if(!is_reloading[id]) { if(cs_get_user_bpammo(id, CSW_AT4CS) > 0) { if(CurTime - 1.0 > g_lastfire[id]) { at4cs_reload(id) g_lastfire[id] = CurTime } } } return HAM_SUPERCEDE }
public create_rocket(id) { new ent, Float:Origin[3], Float:Angles[3], Float:Velocity[3] ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target")) engfunc(EngFunc_GetAttachment, id, 0, Origin, Angles) pev(id, pev_angles, Angles) set_pev(ent, pev_origin, Origin) set_pev(ent, pev_angles, Angles) set_pev(ent, pev_solid, 2) set_pev(ent, pev_movetype, 5) set_pev(ent, pev_classname, "at4ex_rocket") set_pev(ent, pev_owner, id) engfunc(EngFunc_SetModel, ent, s_model) set_pev(ent, pev_mins, {-1.0, -1.0, -1.0}) set_pev(ent, pev_maxs, {1.0, 1.0, 1.0}) velocity_by_aim(id, 1750, Velocity) set_pev(ent, pev_velocity, Velocity) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_BEAMFOLLOW) // TE id write_short(ent) // entity:attachment to follow write_short(g_spr_trail) // sprite index write_byte(25) // life in 0.1's write_byte(2) // line width in 0.1's write_byte(255) // r write_byte(255) // g write_byte(255) // b write_byte(200) // brightness message_end() set_pev(ent, pev_iuser4, 0) set_pev(ent, pev_nextthink, halflife_time() + 0.1) }
public fw_rocket_think(ent) { if(!pev_valid(ent)) return
static Float:Origin[3] pev(ent, pev_origin, Origin) message_begin(MSG_BROADCAST, SVC_TEMPENTITY) write_byte(TE_SPRITE) engfunc(EngFunc_WriteCoord, Origin[0]) engfunc(EngFunc_WriteCoord, Origin[1]) engfunc(EngFunc_WriteCoord, Origin[2]) write_short(g_smoke_id) write_byte(2) write_byte(200) message_end() if(pev(ent, pev_iuser4) == 0) { static Victim Victim = FindClosesEnemy(ent) if(is_user_alive(Victim)) { set_pev(ent, pev_iuser4, Victim) } } else { static Victim Victim = pev(ent, pev_iuser4) if(is_user_alive(Victim)) { static Float:VicOrigin[3] pev(Victim, pev_origin, VicOrigin) turn_to_target(ent, Origin, Victim, VicOrigin) hook_ent(ent, Victim, 500.0) } else { set_pev(ent, pev_iuser4, 0) } } set_pev(ent, pev_nextthink, halflife_time() + 0.075) }
public fw_rocket_touch(rocket, touch) { if(!pev_valid(rocket)) return if(is_user_alive(touch) && pev(rocket, pev_owner) == touch) return static Float:Origin[3] pev(rocket, pev_origin, Origin) message_begin(MSG_BROADCAST ,SVC_TEMPENTITY) write_byte(TE_EXPLOSION) engfunc(EngFunc_WriteCoord, Origin[0]) engfunc(EngFunc_WriteCoord, Origin[1]) engfunc(EngFunc_WriteCoord, Origin[2]) write_short(g_spr_exp) // sprite index write_byte(20) // scale in 0.1's write_byte(30) // framerate write_byte(0) // flags message_end() static owner, iVictim iVictim = -1 owner = pev(rocket, pev_owner)
while((iVictim = find_ent_in_sphere(iVictim, Origin, get_pcvar_float(cvar_radius))) != 0) { if((0 < iVictim < 32) && is_user_alive(iVictim)) { new Float:MaxDamage, Float:Damage MaxDamage = get_pcvar_float(cvar_maxdamage) Damage = random_float(MaxDamage - random_float(0.0, 100.0), MaxDamage + random_float(0.0, 100.0)) ExecuteHam(Ham_TakeDamage, iVictim, 0, owner, 0, DMG_BULLET) static health health = get_user_health(iVictim) if(health - Damage >= 1) { fm_set_user_health(iVictim, health - floatround(Damage)) } else { death_message(owner, iVictim, 1) } } } engfunc(EngFunc_RemoveEntity, rocket) }
stock set_weapon_anim(id, anim) { set_pev(id, pev_weaponanim, anim)
message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, _, id) write_byte(anim) write_byte(pev(id,pev_body)) message_end() }
stock death_message(Killer, Victim, ScoreBoard) { // Block death msg set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET) ExecuteHamB(Ham_Killed, Victim, Killer, 2) set_msg_block(get_user_msgid("DeathMsg"), BLOCK_NOT) // Death make_deathmsg(Killer, Victim, 0, "")
// Update score board if (ScoreBoard) { message_begin(MSG_BROADCAST, get_user_msgid("ScoreInfo")) write_byte(Killer) // id write_short(pev(Killer, pev_frags)) // frags write_short(cs_get_user_deaths(Killer)) // deaths write_short(0) // class? write_short(get_user_team(Killer)) // team message_end() message_begin(MSG_BROADCAST, get_user_msgid("ScoreInfo")) write_byte(Victim) // id write_short(pev(Victim, pev_frags)) // frags write_short(cs_get_user_deaths(Victim)) // deaths write_short(0) // class? write_short(get_user_team(Victim)) // team message_end() } }
stock FindClosesEnemy(entid) { new Float:Dist new Float:maxdistance=300.0 new indexid=0 for(new i=1;i<=get_maxplayers();i++){ if(is_user_alive(i) && is_valid_ent(i) && can_see_fm(entid, i) && pev(entid, pev_owner) != i && cs_get_user_team(pev(entid, pev_owner)) != cs_get_user_team(i)) { Dist = entity_range(entid, i) if(Dist <= maxdistance) { maxdistance=Dist indexid=i return indexid } } } return 0 }
stock bool:can_see_fm(entindex1, entindex2) { if (!entindex1 || !entindex2) return false
if (pev_valid(entindex1) && pev_valid(entindex1)) { new flags = pev(entindex1, pev_flags) if (flags & EF_NODRAW || flags & FL_NOTARGET) { return false }
new Float:lookerOrig[3] new Float:targetBaseOrig[3] new Float:targetOrig[3] new Float:temp[3]
pev(entindex1, pev_origin, lookerOrig) pev(entindex1, pev_view_ofs, temp) lookerOrig[0] += temp[0] lookerOrig[1] += temp[1] lookerOrig[2] += temp[2]
pev(entindex2, pev_origin, targetBaseOrig) pev(entindex2, pev_view_ofs, temp) targetOrig[0] = targetBaseOrig [0] + temp[0] targetOrig[1] = targetBaseOrig [1] + temp[1] targetOrig[2] = targetBaseOrig [2] + temp[2]
engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) // checks the had of seen player if (get_tr2(0, TraceResult:TR_InOpen) && get_tr2(0, TraceResult:TR_InWater)) { return false } else { new Float:flFraction get_tr2(0, TraceResult:TR_flFraction, flFraction) if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2)) { return true } else { targetOrig[0] = targetBaseOrig [0] targetOrig[1] = targetBaseOrig [1] targetOrig[2] = targetBaseOrig [2] engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) // checks the body of seen player get_tr2(0, TraceResult:TR_flFraction, flFraction) if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2)) { return true } else { targetOrig[0] = targetBaseOrig [0] targetOrig[1] = targetBaseOrig [1] targetOrig[2] = targetBaseOrig [2] - 17.0 engfunc(EngFunc_TraceLine, lookerOrig, targetOrig, 0, entindex1, 0) // checks the legs of seen player get_tr2(0, TraceResult:TR_flFraction, flFraction) if (flFraction == 1.0 || (get_tr2(0, TraceResult:TR_pHit) == entindex2)) { return true } } } } } return false }
stock turn_to_target(ent, Float:Ent_Origin[3], target, Float:Vic_Origin[3]) { if(target) { new Float:newAngle[3] entity_get_vector(ent, EV_VEC_angles, newAngle) new Float:x = Vic_Origin[0] - Ent_Origin[0] new Float:z = Vic_Origin[1] - Ent_Origin[1]
new Float:radians = floatatan(z/x, radian) newAngle[1] = radians * (180 / 3.14) if (Vic_Origin[0] < Ent_Origin[0]) newAngle[1] -= 180.0 entity_set_vector(ent, EV_VEC_angles, newAngle) } }
stock hook_ent(ent, victim, Float:speed) { static Float:fl_Velocity[3] static Float:VicOrigin[3], Float:EntOrigin[3]
pev(ent, pev_origin, EntOrigin) pev(victim, pev_origin, VicOrigin) static Float:distance_f distance_f = get_distance_f(EntOrigin, VicOrigin)
if (distance_f > 10.0) { new Float:fl_Time = distance_f / speed
fl_Velocity[0] = (VicOrigin[0] - EntOrigin[0]) / fl_Time fl_Velocity[1] = (VicOrigin[1] - EntOrigin[1]) / fl_Time fl_Velocity[2] = (VicOrigin[2] - EntOrigin[2]) / fl_Time } else { fl_Velocity[0] = 0.0 fl_Velocity[1] = 0.0 fl_Velocity[2] = 0.0 }
entity_set_vector(ent, EV_VEC_velocity, fl_Velocity) } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1066\\ f0\\ fs16 \n\\ par } */
|
yukish |
| 12.5.2014, 21:16 |
C4 timer
|
Код:
#include <amxmodx> #include <csx> #include <dhudmessage> #define PLUGIN "[SoNeeKK1] Bomb Timer" #define VERSION "0.5" #define AUTHOR "SoNeeKK1" new g_c4timer, pointnum; new bool:b_planted = false; public plugin_init() { register_plugin(PLUGIN,VERSION,AUTHOR); pointnum = get_cvar_pointer("mp_c4timer"); register_logevent("newRound", 2, "1=Round_Start"); register_logevent("endRound", 2, "1=Round_End"); register_logevent("endRound", 2, "1&Restart_Round_"); } public newRound() { g_c4timer = -1; remove_task(652450); b_planted = false; } public endRound() { g_c4timer = -1; remove_task(652450); } public bomb_planted() { b_planted = true; g_c4timer = get_pcvar_num(pointnum); dispTime() set_task(1.0, "dispTime", 652450, "", 0, "b"); } public bomb_defused() { if(b_planted) { remove_task(652450); b_planted = false; } } public bomb_explode() { if(b_planted) { remove_task(652450); b_planted = false; } } public dispTime() { if(!b_planted) { remove_task(652450); return; } if(g_c4timer >= 0) { if(g_c4timer > 13) set_dhudmessage(150, 150, 0, 0.03, 0.62, 0, 1.0, 1.0, 0.01, 0.01); else if(g_c4timer > 7) set_dhudmessage(0, 255, 0, 0.03, 0.62, 0, 1.0, 1.0, 0.01, 0.01); else set_dhudmessage(255, 0, 0, 0.03, 0.62, 0, 1.0, 1.0, 0.01, 0.01); show_dhudmessage(0,"BooMb TimER: %d", g_c4timer); set_task(1.0, "bomb_voice", 8038, "", 0, "b") --g_c4timer; } }
public bomb_voice() { if (--g_c4timer > 0) { switch(g_c4timer) { case 1:client_cmd(0, "mp3 play sound/misc/Play4Fun/1_sec") case 2:client_cmd(0, "mp3 play sound/misc/Play4Fun/2_sec") case 3:client_cmd(0, "mp3 play sound/misc/Play4Fun/3_sec") case 4:client_cmd(0, "mp3 play sound/misc/Play4Fun/4_sec") case 5:client_cmd(0, "mp3 play sound/misc/Play4Fun/5_sec") case 6:client_cmd(0, "mp3 play sound/misc/Play4Fun/6_sec") case 7:client_cmd(0, "mp3 play sound/misc/Play4Fun/7_sec") case 8:client_cmd(0, "mp3 play sound/misc/Play4Fun/8_sec") case 9:client_cmd(0, "mp3 play sound/misc/Play4Fun/9_sec") case 10:client_cmd(0, "mp3 play sound/misc/Play4Fun/10_sec") case 20:client_cmd(0, "mp3 play sound/misc/Play4Fun/20_sec") case 30:client_cmd(0, "mp3 play sound/misc/Play4Fun/30_sec") } }else remove_task(8038) }
public plugin_precache() { precache_generic ("sound/misc/Play4Fun/1_sec.mp3") precache_generic ("sound/misc/Play4Fun/2_sec.mp3") precache_generic ("sound/misc/Play4Fun/3_sec.mp3") precache_generic ("sound/misc/Play4Fun/4_sec.mp3") precache_generic ("sound/misc/Play4Fun/5_sec.mp3") precache_generic ("sound/misc/Play4Fun/6_sec.mp3") precache_generic ("sound/misc/Play4Fun/7_sec.mp3") precache_generic ("sound/misc/Play4Fun/8_sec.mp3") precache_generic ("sound/misc/Play4Fun/9_sec.mp3") precache_generic ("sound/misc/Play4Fun/10_sec.mp3") precache_generic ("sound/misc/Play4Fun/20_sec.mp3") precache_generic ("sound/misc/Play4Fun/30_sec.mp3") } вот попробуй |
victor7073 |
| 2.5.2014, 0:14 |
Ищу плагин /rs
|
я забыл со звукам:
cvar: rs_sound 1/0 |
Adrenal1n4ik |
| 2.5.2014, 0:10 |
Ищу плагин /rs
|
вот попробуй |
Adrenal1n4ik |
| 27.4.2014, 10:32 |
PrivateMessage
|
Developercsnetу этих нету меню, там надо писать так say /pm name sms. я хочу как на снимке . Цитата(Fred Perry @ 26.4.2014, 23:04)  Код:
#include <amxmodx> #include <amxmisc> #include <fun> #include <cstrike>
#define PLUGIN "PrivateMessage" #define VERSION "1.0" #define AUTHOR "CrAsH"
new szPlayerPM[33] new szPlayerPMBlockAll[33] new szPlayerPMBlock[33][33]
static const g_Sound[] = "pm/sms.wav"
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /pm", "MainMenu") register_clcmd("say_team /pm", "MainMenu")
register_clcmd("pm", "PMessage")
register_dictionary("pm.txt") }
public plugin_precache() { precache_sound( g_Sound ) }
public MainMenu(id) { new szTitle[512] new szItem[512]
formatex(szTitle, charsmax( szTitle ), "%L", id, "PM_MAINMENU_TITLE") new szMenu = menu_create(szTitle, "MainMenu_handler" )
formatex(szItem, charsmax( szItem ), "%L", id, "PM_MAINMENU_ITEM_1") menu_additem(szMenu, szItem, "1", 0 )
formatex(szItem, charsmax( szItem ), "%L", id, "PM_MAINMENU_ITEM_2") menu_additem(szMenu, szItem, "2", 0 )
menu_setprop(szMenu, MPROP_EXIT, MEXIT_ALL ) menu_setprop(szMenu, MPROP_NEXTNAME, "Далее") menu_setprop(szMenu, MPROP_BACKNAME, "Назад") menu_setprop(szMenu, MPROP_EXITNAME, "Выход") menu_display(id, szMenu, 0)
return PLUGIN_HANDLED }
public MainMenu_handler(id, szMenu, szItem) { if(szItem == MENU_EXIT) { menu_destroy( szMenu ) return PLUGIN_HANDLED }
new szData[6], szName[64], szAccess, szCallback menu_item_getinfo(szMenu, szItem, szAccess, szData, charsmax( szData ), szName, charsmax( szName ), szCallback)
new szKey = str_to_num( szData ) switch( szKey ) { case 1: { PlayerMenu(id) }
case 2: { BlockMenu(id) } } menu_destroy( szMenu ) return PLUGIN_HANDLED }
public PlayerMenu(id) { new szTitle[512] new szItem[512]
formatex(szTitle, charsmax( szTitle ), "%L", id, "PM_PLAYERMENU_TITLE") new szMenu = menu_create(szTitle, "PlayerMenu_handler")
new szPlayers[32] new szPlayer, szNum new szName[32], szPlayerNum[10]
get_players(szPlayers, szNum)
for(new i; i < szNum; i++) { szPlayer = szPlayers[i]
if(szPlayer == id || is_user_bot(szPlayer) || !is_user_connected(szPlayer) || is_user_hltv(szPlayer)) continue
get_user_name(szPlayer, szName, charsmax( szName )) num_to_str(szPlayer, szPlayerNum, charsmax( szPlayerNum ))
if(szPlayerPMBlock[szPlayer][id]) { formatex(szItem, charsmax( szItem ), "%L", id, "PM_PLAYERMENU_BLOCKED", szName) menu_additem(szMenu, szItem, szPlayerNum, ADMIN_ADMIN) }else if(szPlayerPMBlockAll[szPlayer]) { formatex(szItem, charsmax( szItem ), "%L", id, "PM_PLAYERMENU_BLOCKED", szName) menu_additem(szMenu, szItem, szPlayerNum, ADMIN_ADMIN) }else{ menu_additem(szMenu, szName, szPlayerNum, 0) } } menu_setprop(szMenu, MPROP_EXIT, MEXIT_ALL ) menu_setprop(szMenu, MPROP_NEXTNAME, "Далее") menu_setprop(szMenu, MPROP_BACKNAME, "Назад") menu_setprop(szMenu, MPROP_EXITNAME, "Выход") menu_display(id, szMenu, 0)
return PLUGIN_HANDLED }
public PlayerMenu_handler(id, szMenu, szItem) { if(szItem == MENU_EXIT) { menu_destroy( szMenu ) return PLUGIN_HANDLED }
new szData[6], szName[64], szAccess, szCallback menu_item_getinfo(szMenu, szItem, szAccess, szData, charsmax( szData ), szName, charsmax( szName ), szCallback)
new szPlayer = str_to_num( szData )
szPlayerPM[id] = szPlayer client_cmd(id, "messagemode pm") ChatColor(id, "%L", id, "PM_SEND_INFO")
menu_destroy( szMenu ) return PLUGIN_HANDLED }
public BlockMenu(id) { new szTitle[512] new szItem[512]
formatex(szTitle, charsmax( szTitle ), "%L", id, "PM_BLOCKMENU_TITLE") new szMenu = menu_create(szTitle, "BlockMenu_handler")
if(!szPlayerPMBlockAll[id]) { formatex(szItem, charsmax( szItem ), "%L", id, "PM_BLOCKMENU_ITEM_1") menu_additem(szMenu, szItem, "1", 0 ) }else{ formatex(szItem, charsmax( szItem ), "%L", id, "PM_BLOCKMENU_ITEM_1_1") menu_additem(szMenu, szItem, "1", 0 ) }
new szPlayers[32] new szPlayer, szNum new szName[32], szPlayerNum[10]
get_players(szPlayers, szNum)
for(new i; i < szNum; i++) { szPlayer = szPlayers[i]
if(szPlayer == id || is_user_bot(szPlayer) || !is_user_connected(szPlayer) || is_user_hltv(szPlayer)) continue
get_user_name(szPlayer, szName, charsmax( szName )) num_to_str(szPlayer + 1, szPlayerNum, charsmax( szPlayerNum ))
if(szPlayerPMBlock[id][szPlayer]) { formatex(szItem, charsmax( szItem ), "%L", id, "PM_PLAYERMENU_BLOCKED", szName) menu_additem(szMenu, szItem, szPlayerNum, 0) }else if(szPlayerPMBlockAll[id]) { menu_additem(szMenu, szName, szPlayerNum, ADMIN_ADMIN) }else{ menu_additem(szMenu, szName, szPlayerNum, 0) } } menu_setprop(szMenu, MPROP_EXIT, MEXIT_ALL ) menu_setprop(szMenu, MPROP_NEXTNAME, "Далее") menu_setprop(szMenu, MPROP_BACKNAME, "Назад") menu_setprop(szMenu, MPROP_EXITNAME, "Выход") menu_display(id, szMenu, 0)
return PLUGIN_HANDLED }
public BlockMenu_handler(id, szMenu, szItem) { if(szItem == MENU_EXIT) { menu_destroy( szMenu ) return PLUGIN_HANDLED }
new szData[6], szName[64], szAccess, szCallback menu_item_getinfo(szMenu, szItem, szAccess, szData, charsmax( szData ), szName, charsmax( szName ), szCallback)
new szItemID = str_to_num( szData )
if(szItemID == 1) { if(!szPlayerPMBlockAll[id]) { szPlayerPMBlockAll[id] = true ChatColor(id, "%L", id, "PM_BLOCK_ALL") }else{ szPlayerPMBlockAll[id] = false ChatColor(id, "%L", id, "PM_UNBLOCK_ALL") } }else{ new szPlayer = szItemID - 1
new szNameBlock[32] get_user_name(szPlayer, szNameBlock, charsmax( szNameBlock ))
if(!szPlayerPMBlock[id][szPlayer]) { szPlayerPMBlock[id][szPlayer] = true ChatColor(id, "%L", id, "PM_BLOCK_PLAYER", szNameBlock) }else{ szPlayerPMBlock[id][szPlayer] = false ChatColor(id, "%L", id, "PM_UNBLOCK_PLAYER", szNameBlock) } }
menu_destroy( szMenu ) return PLUGIN_HANDLED }
public PMessage(id) { if(!szPlayerPM[id]) { ChatColor(id, "%L", id, "PM_NOPLAYER") return PLUGIN_HANDLED }
if(!is_user_connected(szPlayerPM[id])) { ChatColor(id, "%L", id, "PM_NOPLAYER_CONNECT") return PLUGIN_HANDLED }
new szMessage[192]
read_args(szMessage, charsmax( szMessage )) remove_quotes( szMessage )
while (replace(szMessage, charsmax( szMessage ), "q", "й")) {} while (replace(szMessage, charsmax( szMessage ), "w", "ц")) {} while (replace(szMessage, charsmax( szMessage ), "e", "у")) {} while (replace(szMessage, charsmax( szMessage ), "r", "к")) {} while (replace(szMessage, charsmax( szMessage ), "t", "е")) {} while (replace(szMessage, charsmax( szMessage ), "y", "н")) {} while (replace(szMessage, charsmax( szMessage ), "u", "г")) {} while (replace(szMessage, charsmax( szMessage ), "i", "ш")) {} while (replace(szMessage, charsmax( szMessage ), "o", "щ")) {} while (replace(szMessage, charsmax( szMessage ), "p", "з")) {} while (replace(szMessage, charsmax( szMessage ), "[", "х")) {} while (replace(szMessage, charsmax( szMessage ), "]", "ъ")) {} while (replace(szMessage, charsmax( szMessage ), "a", "ф")) {} while (replace(szMessage, charsmax( szMessage ), "s", "ы")) {} while (replace(szMessage, charsmax( szMessage ), "d", "в")) {} while (replace(szMessage, charsmax( szMessage ), "f", "а")) {} while (replace(szMessage, charsmax( szMessage ), "g", "п")) {} while (replace(szMessage, charsmax( szMessage ), "h", "р")) {} while (replace(szMessage, charsmax( szMessage ), "j", "о")) {} while (replace(szMessage, charsmax( szMessage ), "k", "л")) {} while (replace(szMessage, charsmax( szMessage ), "l", "д")) {} while (replace(szMessage, charsmax( szMessage ), ";", "ж")) {} while (replace(szMessage, charsmax( szMessage ), "'", "э")) {} while (replace(szMessage, charsmax( szMessage ), "z", "я")) {} while (replace(szMessage, charsmax( szMessage ), "x", "ч")) {} while (replace(szMessage, charsmax( szMessage ), "c", "с")) {} while (replace(szMessage, charsmax( szMessage ), "v", "м")) {} while (replace(szMessage, charsmax( szMessage ), "b", "и")) {} while (replace(szMessage, charsmax( szMessage ), "n", "т")) {} while (replace(szMessage, charsmax( szMessage ), "m", "ь")) {} while (replace(szMessage, charsmax( szMessage ), ",", "б")) {} while (replace(szMessage, charsmax( szMessage ), ".", "ю")) {} while (replace(szMessage, charsmax( szMessage ), "Q", "Й")) {} while (replace(szMessage, charsmax( szMessage ), "W", "Ц")) {} while (replace(szMessage, charsmax( szMessage ), "E", "У")) {} while (replace(szMessage, charsmax( szMessage ), "R", "К")) {} while (replace(szMessage, charsmax( szMessage ), "T", "Е")) {} while (replace(szMessage, charsmax( szMessage ), "Y", "Н")) {} while (replace(szMessage, charsmax( szMessage ), "U", "Г")) {} while (replace(szMessage, charsmax( szMessage ), "I", "Ш")) {} while (replace(szMessage, charsmax( szMessage ), "O", "Щ")) {} while (replace(szMessage, charsmax( szMessage ), "P", "З")) {} while (replace(szMessage, charsmax( szMessage ), "{", "Х")) {} while (replace(szMessage, charsmax( szMessage ), "}", "Ъ")) {} while (replace(szMessage, charsmax( szMessage ), "A", "Ф")) {} while (replace(szMessage, charsmax( szMessage ), "S", "Ы")) {} while (replace(szMessage, charsmax( szMessage ), "D", "В")) {} while (replace(szMessage, charsmax( szMessage ), "F", "А")) {} while (replace(szMessage, charsmax( szMessage ), "G", "П")) {} while (replace(szMessage, charsmax( szMessage ), "H", "Р")) {} while (replace(szMessage, charsmax( szMessage ), "J", "О")) {} while (replace(szMessage, charsmax( szMessage ), "K", "Л")) {} while (replace(szMessage, charsmax( szMessage ), "L", "Д")) {} while (replace(szMessage, charsmax( szMessage ), ":", "Ж")) {} while (replace(szMessage, charsmax( szMessage ), "Z", "Я")) {} while (replace(szMessage, charsmax( szMessage ), "X", "Ч")) {} while (replace(szMessage, charsmax( szMessage ), "C", "С")) {} while (replace(szMessage, charsmax( szMessage ), "V", "М")) {} while (replace(szMessage, charsmax( szMessage ), "B", "И")) {} while (replace(szMessage, charsmax( szMessage ), "N", "Т")) {} while (replace(szMessage, charsmax( szMessage ), "M", "Ь")) {} while (replace(szMessage, charsmax( szMessage ), "<", "Б")) {} while (replace(szMessage, charsmax( szMessage ), ">", "Ю")) {} new szNamePlayer[32], szNamePlayerPM[32]
get_user_name(id, szNamePlayer, charsmax( szNamePlayer )) get_user_name(szPlayerPM[id], szNamePlayerPM, charsmax( szNamePlayerPM ))
ChatColor(id, "%L", id, "PM_SEND", szNamePlayerPM, szMessage) ChatColor(szPlayerPM[id], "%L", id, "PM_SEND", szNamePlayer, szMessage) client_cmd(szPlayerPM[id], "spk %s", g_Sound)
szPlayerPM[id] = 0 return PLUGIN_HANDLED }
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") replace_all(msg, 190, "!y", "^1") replace_all(msg, 190, "!t", "^3") 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(); } } } } сейчас попробую |
Safety1st |
| 20.4.2014, 22:28 |
Nano Costum, переделка
|
Цитата(Fred Perry @ 20.4.2014, 20:54)  Все норм компилируется Код:
#include <amxmodx> #include <fakemeta_util> #include <cstrike> #define PLUGIN "Nano Costum" #define VERSION "1.0" #define AUTHOR "Na" new SayText new g_tool_packs, g_tool_p_invis, g_tool_p_speed, g_tool_speed, g_tool_p_god, g_tool_max_packs, g_tool_time new g_mtool_item, g_tool_glow_god, g_tool_timelimit, g_tool_regen, g_tool_regen_time new g_Number[32], Energy_Packs[32] new Float:g_time_reload[32] new bool:g_Item[32], g_ability[32], g_ability_esc[32], g_times[32], delete[32], g_speed[32] new buy_sound[] = { "items/gunpickup2.wav" } new deactivated[] = { "items/suitchargeno1.wav" } new invisible_on[] = { "fvox/activated.wav" } new invisible_off[] = { "fvox/deactivated.wav" } new speed_on[] = { "fvox/activated.wav" } new speed_off[] = { "fvox/deactivated.wav" } new godmode_on[] = { "fvox/activated.wav" } new godmode_off[] = { "fvox/deactivated.wav" } new g_MsgHud1 new g_spawn_counter[33] = 0 public plugin_init() { g_MsgHud1 = CreateHudSyncObj() g_tool_packs = register_cvar("extra_packs", "20") // Number of energy packs to extra Item Energy Suit g_tool_regen = register_cvar("regen_energy", "1") // Regeneration Energy packs? < 1 | 0 > g_tool_regen_time = register_cvar("regen_time", "1.0") // (If energy_regen = 1) Time Regeneration energy. g_tool_time = register_cvar("energy_time", "0.5") // Everyone Х will get seconds energy packs g_tool_p_invis = register_cvar("invisible_packs", "1") // Number Energy packs, has used on energy_time (Invisible) g_tool_p_speed = register_cvar("speed_packs", "1") // Number Energy packs, has used on energy_time (Speed) g_tool_speed = register_cvar("speed_added", "1000.0") // Speed for Humans g_tool_p_god = register_cvar("godmone_packs", "2") // Number Energy packs, has used on energy_time (GODMODE) g_tool_glow_god = register_cvar("godmode_glow", "1") // Glow On, or off? < 1 | 0 > g_tool_max_packs = register_cvar("max_packs", "20") // Number Max Energy Packs? g_tool_timelimit = register_cvar("timelimit", "2.0") // Time after which it will be possible to use ability again register_concmd("nano", "nanocostum") register_concmd("say /nano", "nanocostum") register_concmd("mod","Choosen_Mode") register_event("ResetHUD", "newSpawn", "be") register_plugin(PLUGIN, VERSION, AUTHOR) register_event("DeathMsg", "Death_attacker", "a") register_forward(FM_PlayerPreThink, "fw_PlayerPreThink") register_clcmd("mtool", "Multimode_Begin") SayText = get_user_msgid("SayText") register_dictionary("energy_suit.txt") register_cvar("NCCost","3000") } public plugin_precache() { precache_sound( buy_sound ) precache_sound( deactivated ) precache_sound( speed_on ) precache_sound( speed_off ) precache_sound( invisible_on ) precache_sound( invisible_off ) precache_sound( godmode_on ) precache_sound( godmode_off ) } public nanocostum(id) { if(cs_get_user_money(id)<get_cvar_num("NCCost")) { client_print(id,print_chat,"Tqven Ar Gaqvt Sakmarisi $ Rom Iyidot Nano Costumi, Tqven Gchirdebat $%d",get_cvar_num("NCCost")) return PLUGIN_HANDLED } cs_set_user_money(id,cs_get_user_money(id) - get_cvar_num("NCCost"),1) set_task(0.0,"give_lom",id) return PLUGIN_HANDLED } public give_lom(id, item) { if( (item == g_mtool_item) && !g_Item[id]) { g_ability[id] = true; g_times[id] = true; g_Item[id] = true; delete[id] = true; g_Number[id] = 0; client_cmd(id, "bind F1 mtool"); client_print(id, print_center, "[Nano Costumi: Uxilavi]") emit_sound(id, CHAN_STREAM, buy_sound, 1.0, ATTN_NORM, 0, PITCH_NORM) ChatColor(id, "!y%L", LANG_PLAYER, "EXTRA_MTOOL") Energy_Packs[id] = get_pcvar_num(g_tool_packs); if(get_pcvar_num(g_tool_regen) == 1) set_task(1.0, "Regeneration_Energy", id) set_task(0.1, "Show_Hud", id, _, _, "b") } else { if( (item == g_mtool_item) && g_Item[id] ) { ChatColor(id, "!y %L", LANG_PLAYER, "EXTRA_ON") } } } public Regeneration_Energy(id) { if(g_ability[id] && is_user_alive(id)) { if(Energy_Packs[id] < get_pcvar_num(g_tool_max_packs)) { Energy_Packs[id] = Energy_Packs[id] + 1; set_task(get_pcvar_float(g_tool_regen_time), "Regeneration_Energy", id) } else set_task(1.0, "Regeneration_Energy", id) } else { set_task(1.0, "Regeneration_Energy", id) } } public newSpawn(id) { g_spawn_counter[id]++ if (g_spawn_counter[id] > 2) { fm_set_user_godmode(id, 0) g_speed[id] = false; g_Item[id] = false; g_times[id] = false; delete[id] = false; g_spawn_counter[id] = 0 } } public Death_attacker() { new id = read_data(2) if (g_spawn_counter[id] > 2) { g_speed[id] = false; g_Item[id] = false; g_times[id] = false; delete[id] = false; } } public Show_Hud(id) { if( is_user_alive(id) && delete[id]) { if(!g_ability[id]) { set_hudmessage(200, 60, 0, 0.47, 0.85, 0, 1.0, get_pcvar_float(g_tool_time), 0.0, 0.0, -1) ShowSyncHudMsg(id, g_MsgHud1,"%L", LANG_PLAYER, "MTOOL_STATUS", Energy_Packs[id]) } else { set_hudmessage(0, 200, 0, 0.47, 0.85, 0, 1.0, get_pcvar_float(g_tool_time), 0.0, 0.0, -1) ShowSyncHudMsg(id, g_MsgHud1,"%L", LANG_PLAYER, "MTOOL_STATUS", Energy_Packs[id]) } } else remove_task(id); } public fw_PlayerPreThink(id) { if (!is_user_alive(id)) return; if(g_Item[id] && g_speed[id] ) fm_set_user_maxspeed( id , fm_get_user_maxspeed(id) + get_pcvar_float(g_tool_speed)) else fm_set_user_maxspeed( id , 250.0 ) if(Choosen_Mode(id) && g_Item[id] && g_ability[id]) { g_time_reload[id] = get_gametime(); g_Number[id] = g_Number[id] + 1; switch(g_Number[id]) { case 0: client_print(id, print_center, "[Nano Costumi: Uchinaroba]") case 1: client_print(id, print_center, "[Nano Costumi: Siswrafe]") case 2: client_print(id, print_center, "[Nano Costumi: Usikvdiloba]") case 3: client_print(id, print_center, "[Nano Costumi: Gravitacia]") case 4: { client_print(id, print_center, "[Nano Costumi: Uxilavoba]") g_Number[id] = 0; } } } } public Choosen_Mode(id) { if (!g_Item[id] && g_ability[id] ) return false static buttons buttons = pev(id, pev_button) if (!(buttons & IN_RELOAD) && !is_user_bot(id)) return false static Float:reload reload = 0.3; if ( (get_gametime() - g_time_reload[id]) < reload) return false return true } public Multimode_Begin(id) { if(g_Item[id] && is_user_alive(id) && (Energy_Packs[id] >= 1) && g_times[id]) { switch( g_Number[id] ) { case 0: { if(g_ability[id]) { g_ability_esc[id] = false; emit_sound(id, CHAN_STREAM, invisible_on, 1.0, ATTN_NORM, 0, PITCH_NORM) set_task(0.1, "Invisible", id) } else { g_ability_esc[id] = true; emit_sound(id, CHAN_STREAM, invisible_off, 1.0, ATTN_NORM, 0, PITCH_NORM) set_task(0.1, "Invisible", id) } } case 1: { if(g_ability[id]) { g_ability_esc[id] = false; emit_sound(id, CHAN_STREAM, speed_on, 1.0, ATTN_NORM, 0, PITCH_NORM) set_task(0.1, "Speed_Form", id) } else { g_ability_esc[id] = true; emit_sound(id, CHAN_STREAM, speed_off, 1.0, ATTN_NORM, 0, PITCH_NORM) set_task(0.1, "Speed_Form", id) } } case 2: { if(g_ability[id]) { g_ability_esc[id] = false; emit_sound(id, CHAN_STREAM, godmode_on, 1.0, ATTN_NORM, 0, PITCH_NORM) set_task(0.1, "GodMode", id) } else { g_ability_esc[id] = true; emit_sound(id, CHAN_STREAM, godmode_off, 1.0, ATTN_NORM, 0, PITCH_NORM) set_task(0.1, "GodMode", id) } } case 3: { if(g_ability[id]) { g_ability_esc[id] = false; emit_sound(id, CHAN_STREAM, godmode_on, 1.0, ATTN_NORM, 0, PITCH_NORM) set_task(0.1, "gravity_form", id) } else { g_ability_esc[id] = true; emit_sound(id, CHAN_STREAM, godmode_off, 1.0, ATTN_NORM, 0, PITCH_NORM) set_task(0.1, "gravity_form", id) } } } } else { if( (Energy_Packs[id] < 1) && g_Item[id]) ChatColor(id, "!y %L", LANG_PLAYER, "NO_ENERGY") g_speed[id] = false; } } public Reset_Ability(id) g_times[id] = true; public Invisible(id) { g_ability[id] = false; if(Energy_Packs[id] > 0 && !g_ability_esc[id]) { fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0) Energy_Packs[id] = Energy_Packs[id] - get_pcvar_num(g_tool_p_invis); set_task(get_pcvar_float(g_tool_time), "Invisible", id); } else { if(!g_ability_esc[id]) { g_ability[id] = true; ChatColor(id, "!y %L", LANG_PLAYER, "ENERGY_END") Energy_Packs[id] = 0; emit_sound(id, CHAN_STREAM, deactivated, 1.0, ATTN_NORM, 0, PITCH_NORM) fm_set_rendering( id, 0, 0, 0, 0, kRenderNormal, 25 ) } else { g_ability[id] = true; fm_set_rendering( id, 0, 0, 0, 0, kRenderNormal, 25 ) } g_times[id] = false; set_task(get_pcvar_float(g_tool_timelimit), "Reset_Ability", id) } } public gravity_form(id) { g_ability[id] = false; if(Energy_Packs[id] > 0 && !g_ability_esc[id]) { fm_set_user_gravity(id, 0.3) Energy_Packs[id] = Energy_Packs[id] - get_pcvar_num(g_tool_p_invis); set_task(get_pcvar_float(g_tool_time), "gravity_form", id); } else { if(!g_ability_esc[id]) { g_ability[id] = true; ChatColor(id, "!y %L", LANG_PLAYER, "ENERGY_END") Energy_Packs[id] = 0; emit_sound(id, CHAN_STREAM, deactivated, 1.0, ATTN_NORM, 0, PITCH_NORM) fm_set_user_gravity(id, 1.0) } else { g_ability[id] = true; fm_set_user_gravity(id, 1.0) } g_times[id] = false; set_task(get_pcvar_float(g_tool_timelimit), "Reset_Ability", id) } } public Speed_Form(id) { g_ability[id] = false; if(Energy_Packs[id] > 0 && !g_ability_esc[id]) { g_speed[id] = true; Energy_Packs[id] = Energy_Packs[id] - get_pcvar_num(g_tool_p_speed); set_task(get_pcvar_float(g_tool_time), "Speed_Form", id); } else { if(!g_ability_esc[id]) { emit_sound(id, CHAN_STREAM, deactivated, 1.0, ATTN_NORM, 0, PITCH_NORM) ChatColor(id, "!y %L", LANG_PLAYER, "ENERGY_END") g_speed[id] = false; Energy_Packs[id] = 0; g_ability[id] = true; } else g_ability[id] = true; g_speed[id] = false; g_times[id] = false; set_task(get_pcvar_float(g_tool_timelimit), "Reset_Ability", id) } } public GodMode(id) { g_ability[id] = false; if(Energy_Packs[id] > 0 && !g_ability_esc[id]) { fm_set_user_godmode(id, 1) if(get_pcvar_num(g_tool_glow_god) == 1) fm_set_rendering(id, kRenderFxGlowShell, 200, 200, 0, kRenderNormal, 12) Energy_Packs[id] = Energy_Packs[id] - get_pcvar_num(g_tool_p_god); set_task(get_pcvar_float(g_tool_time), "GodMode", id); } else { if(!g_ability_esc[id]) { emit_sound(id, CHAN_STREAM, deactivated, 1.0, ATTN_NORM, 0, PITCH_NORM) ChatColor(id, "!y %L", LANG_PLAYER, "ENERGY_END") Energy_Packs[id] = 0; g_ability[id] = true; fm_set_rendering( id, 0, 0, 0, 0, kRenderNormal, 25 ) } else { g_ability[id] = true; fm_set_rendering( id, 0, 0, 0, 0, kRenderNormal, 25 ) } fm_set_user_godmode(id, 0) g_times[id] = false; set_task(get_pcvar_float(g_tool_timelimit), "Reset_Ability", id) } } 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, "!y", "^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, SayText, _, players[i]) write_byte(players[i]); write_string(msg); message_end(); } } } } спасибо большое, но не сохраняет на respawn  |
Justmw |
| 20.4.2014, 0:54 |
HUD Message в начале раунда
|
Цитата(trollface @ 19.4.2014, 23:45)  CH0CAPIC, там же не 1 должно быть... а 1.0 . тут дробные числа. я вообще хорошо не разбираюсь но нигде не видел что для effect Был 1.0 or 2.0 |
seregabeliko |
|