
Стаж: 16 лет
Сообщений: 4505
Благодарностей: 3256
Полезность: 793
|
Оба используют hamsandwich, после обновы до 1.8.2 перестали работать, ос linux Я упустил чет, что нужно подправить? Код:
#include <amxmodx> #include <fakemeta> #include <hamsandwich>
#define PLUGIN_NAME "Anti Flash" #define PLUGIN_VERSION "1.3" #define PLUGIN_AUTHOR "Crush32"
new Float:old_gametime; new mp_friendlyfire; new owner;
public plugin_init() { register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR); RegisterHam(Ham_Think, "grenade", "Ham_FEThink_grenade", 0); register_forward(FM_FindEntityInSphere, "fm_FEFindEntityInSphere", 0); mp_friendlyfire = get_cvar_pointer("mp_friendlyfire"); }
public Ham_FEThink_grenade(ent) { static model[32]; pev(ent, pev_model, model, 31); if( equal(model, "models/w_flashbang.mdl") ) { if( (owner=pev(ent, pev_owner))<1 ) owner = 0; old_gametime = get_gametime(); } else { owner = 0; old_gametime = 0.0; } }
public fm_FEFindEntityInSphere(start, Float:origin[3], Float:radius) { if( radius!=1500.0 || old_gametime!=get_gametime() ) return FMRES_IGNORED; static hit, trace, Float:user_origin[3], Float:absmax[3], Float:fraction, ff, owner_team; hit = start; ff = clamp(get_pcvar_num(mp_friendlyfire), 0, 1); if( owner ) owner_team = get_user_team(owner); else owner_team = -1; // run the same check to see what its result will be while( (hit=engfunc(EngFunc_FindEntityInSphere, hit, origin, radius))>0 ) { // hit a non- or dead-player if( !is_user_alive(hit) ) { forward_return(FMV_CELL, hit); return FMRES_SUPERCEDE; } // aim for the body eyes pev(hit, pev_origin, user_origin); pev(hit, pev_absmax, absmax); user_origin[2] = (absmax[2]-20.0); engfunc(EngFunc_TraceLine, origin, user_origin, DONT_IGNORE_MONSTERS, 0, trace); // hit player eyes, grenade ok if( get_tr2(trace, TR_pHit)==hit ) { // start backup check (de_dust2 B bug - outmap bug) engfunc(EngFunc_TraceLine, user_origin, origin, DONT_IGNORE_MONSTERS, hit, trace); // hit player eyes with backup check get_tr2(trace, TR_flFraction, fraction); if( fraction==1.0 ) { if( ff || owner==hit || owner_team!=get_user_team(hit) ) { forward_return(FMV_CELL, hit); return FMRES_SUPERCEDE; } } } } // grenade could not hit anyones eyes, cancel the check forward_return(FMV_CELL, -1); return FMRES_SUPERCEDE; }
Код:
#include <amxmodx> #include <cstrike> #include <fun> #include <hamsandwich> #include <colorchat> #include <fakemeta>
#define VIP_ACCESS ADMIN_LEVEL_H #define OFFSET_PRIMARYWEAPON 116 #define DAMAGE_RECIEVED
new const PLUGIN[] = "VIP plugins" new const VERSION[] = "1.3 BETA" new const AUTHOR[] = "unknown"
new vip_info; new vip_connect; new vip_damage;
new g_HudSync new g_HudSync2 new g_roundCount new g_round_money[33]
public plugin_init() { register_plugin( PLUGIN, VERSION, AUTHOR )
register_event("TextMsg", "Event_GameRestart", "a", "2=#Game_Commencing", "2=#Game_will_restart_in"); register_event( "Damage", "eventDamage", "b", "2!0", "3=0", "4!0" ); register_event("ResetHUD", "ResetHUD", "be"); register_logevent("round_end", 2, "1=Round_End"); RegisterHam(Ham_Spawn, "player", "Vip_Grenade_Player", 1); register_clcmd( "vipmenu", "weapon_menu" );
vip_info = register_cvar("vip_informer", "0" ); vip_connect = register_cvar("vip_connect", "1" ); vip_damage = register_cvar( "vip_damage", "1" ); g_HudSync = CreateHudSyncObj() #if defined DAMAGE_RECIEVED g_HudSync2 = CreateHudSyncObj() #endif }
public weapon_menu(id) { if(!(get_user_flags(id) & VIP_ACCESS)) { ColorChat(id, GREEN, "^x03[^x04 VIP ^x03]^x01 Только ^x04VIP^x01 может пользоватся этой командой.") return PLUGIN_HANDLED }
new menu = menu_create("\rVIP", "menu_weap")
menu_additem(menu, "Взять \rDeagle", "1") menu_additem(menu, "Взять \rAK-47", "2") menu_additem(menu, "Взять \rM4A1", "3") menu_additem(menu, "Взять \rFAMAS", "4") menu_additem(menu, "Взять \rAWP", "5") menu_additem(menu, "Взять \r16000$", "6")
menu_setprop(menu, MPROP_EXITNAME, "Выход") menu_display(id, menu, 0)
return PLUGIN_HANDLED } public menu_weap(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED } new data[6], iName[64], access, callback menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1: CmdDeagle(id) case 2: CmdAk47(id) case 3: CmdM4a1(id) case 4: CmdFamas(id) case 5: Cmdawp(id) case 6: CmdMoney(id) } return PLUGIN_HANDLED } public Event_GameRestart() { g_roundCount = 1 }
public round_end() { new szPlayers[32]; new szNum, szPlayer;
get_players(szPlayers, szNum);
for(new i; i < szNum; i++) { szPlayer = szPlayers[i];
if(!is_user_alive(szPlayer) || !is_user_connected(szPlayer) || cs_get_user_team(szPlayer) == CS_TEAM_CT || cs_get_user_team(szPlayer) == CS_TEAM_SPECTATOR) continue; g_round_money[szPlayer]-- } g_roundCount++ }
public client_putinserver(id) { set_task(2.0, "vip_connected", id); client_cmd(id, "bind ^"F4^" ^"vipmenu^"")
}
public ResetHUD(id) { set_task(0.5, "VIP", id + 6910) } public VIP(TaskID) { new id = TaskID - 6910 if ( get_user_flags ( id ) & VIP_ACCESS ) { message_begin(MSG_ALL, get_user_msgid("ScoreAttrib")) write_byte(id) write_byte(4) message_end() } return PLUGIN_HANDLED }
public Vip_Grenade_Player(id) { if( is_user_alive ( id ) && get_user_flags ( id ) & VIP_ACCESS ) { give_item(id, "weapon_hegrenade"); give_item(id, "weapon_flashbang"); give_item(id, "weapon_smokegrenade"); give_item( id, "item_thighpack" ) cs_set_user_bpammo(id, CSW_FLASHBANG, 2); cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM); cs_set_user_bpammo( id, CSW_AWP, 30 ); cs_set_user_bpammo( id, CSW_AK47, 90 ); cs_set_user_bpammo( id, CSW_M4A1, 90 ); } }
public vip_connected(id) { if( get_pcvar_num ( vip_connect ) ) if( get_user_flags ( id ) & VIP_ACCESS ) { new name[32]; get_user_name(id, name, 31); ColorChat(0, GREEN, "^x03[^x04 VIP ® ^x03]^x01 На сервер зашёл VIP персона ^x04%s^x01", name); } }
public Vip_Informer(id) { if( get_pcvar_num ( vip_info ) ) { show_motd(id, "vip.txt", "VIP's система"); } }
public eventDamage(id) { if(get_pcvar_num(vip_damage)) { new attacker = get_user_attacker(id) new damage = read_data(2) if (is_user_connected(attacker) && get_user_flags(attacker) & VIP_ACCESS) { set_hudmessage(0, 100, 200, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1) ShowSyncHudMsg(attacker, g_HudSync, "%i", damage) } else if (is_user_connected(attacker) && get_user_flags(id) & VIP_ACCESS) { set_hudmessage(255, 0, 0, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1) ShowSyncHudMsg(id, g_HudSync2, "%i", damage) } } }
public CmdDeagle(id) { if(!(get_user_flags(id) & VIP_ACCESS)) { ColorChat(id, GREEN, "^x03[^x04 VIP ^x03]^x01 Только ^x04АДМИН^x01 может пользоватся этой командой.") return PLUGIN_HANDLED } if(is_user_alive(id)) { give_item(id,"weapon_deagle") cs_set_user_bpammo( id, CSW_DEAGLE, 35 ); } return PLUGIN_CONTINUE }
public CmdAk47(id) { if(!(get_user_flags(id) & VIP_ACCESS)) { ColorChat(id, GREEN, "^x03[^x04 VIP ^x03]^x01 Только ^x04VIP^x01 может пользоватся этой командой.") return PLUGIN_HANDLED } if (g_roundCount < 2) { ColorChat(id, GREEN, "^x03[^x04 VIP ^x03]^x01 Это оружие доступно только с 2 раунда!") return PLUGIN_HANDLED }
if (get_pdata_int(id, OFFSET_PRIMARYWEAPON) && (get_user_flags(id) & VIP_ACCESS)) { return PLUGIN_HANDLED } else { give_item(id,"weapon_ak47") cs_set_user_bpammo( id, CSW_AK47, 90 ); }
return PLUGIN_CONTINUE }
public CmdM4a1(id) { if(!(get_user_flags(id) & VIP_ACCESS)) { ColorChat(id, GREEN, "^x03[^x04 VIP ^x03]^x01 Только ^x04VIP^x01 может пользоватся этой командой.") return PLUGIN_HANDLED } if (g_roundCount < 2) { ColorChat(id, GREEN, "^x03[^x04 VIP ^x03]^x01 Это оружие доступно только с 2 раунда!") return PLUGIN_HANDLED }
if (get_pdata_int(id, OFFSET_PRIMARYWEAPON) && (get_user_flags(id) & VIP_ACCESS)) { return PLUGIN_HANDLED } else { give_item(id,"weapon_m4a1") cs_set_user_bpammo( id, CSW_M4A1, 90 ); }
return PLUGIN_CONTINUE
}
public CmdFamas(id) { if(!(get_user_flags(id) & VIP_ACCESS)) { ColorChat(id, GREEN, "^x03[^x04 VIP ^x03]^x01 Только ^x04VIP^x01 может пользоватся этой командой.") return PLUGIN_HANDLED } if (g_roundCount < 2) { ColorChat(id, GREEN, "^x03[^x04 VIP ^x03]^x01 Это оружие доступно только с 2 раунда!") return PLUGIN_HANDLED }
if (get_pdata_int(id, OFFSET_PRIMARYWEAPON) && (get_user_flags(id) & VIP_ACCESS)) { return PLUGIN_HANDLED } else { give_item(id,"weapon_famas") cs_set_user_bpammo( id, CSW_FAMAS, 90 ); }
return PLUGIN_CONTINUE }
public Cmdawp(id) { if(!(get_user_flags(id) & VIP_ACCESS)) { ColorChat(id, GREEN, "^x03[^x04 VIP ^x03]^x01 Только ^x04VIP^x01 может пользоватся этой командой.") return PLUGIN_HANDLED } if (g_roundCount < 3) { ColorChat(id, GREEN, "^x03[^x04 VIP ^x03]^x01 Это оружие доступно только с 3 раунда!") return PLUGIN_HANDLED } if (get_pdata_int(id, OFFSET_PRIMARYWEAPON) && (get_user_flags(id) & VIP_ACCESS)) { return PLUGIN_HANDLED } else { give_item(id,"weapon_awp") cs_set_user_bpammo( id, CSW_AWP, 30 ); } return PLUGIN_CONTINUE }
public CmdMoney(id) { if(!(get_user_flags(id) & VIP_ACCESS)) { ColorChat(id, GREEN, "^x03[^x04 VIP ^x03]^x01 Только ^x04VIP^x01 может пользоватся этой командой.") return PLUGIN_HANDLED } if (g_roundCount < 3) { ColorChat(id, GREEN, "^x03[^x04 VIP ^x03]^x01 Деньги доступны только с 3 раунда!") return PLUGIN_HANDLED } if (get_pdata_int(id, OFFSET_PRIMARYWEAPON) && (get_user_flags(id) & VIP_ACCESS)) { } else { g_round_money[id] = 5 cs_set_user_money(id, 16000) } return PLUGIN_CONTINUE } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par } */ п.с. компилил как надо
|