PHP- Kodu:
  #define PLUGIN_NAME "Isme Ozel Mermi Sekmeme" #define PLUGIN_VERSION "0.1" #define PLUGIN_AUTHOR "Mr.Faik" 
#include <amxmodx> #include <amxmisc>#include <cstrike>#include <fakemeta> #include <xs> 
#define MAX_CLIENTS 32 new g_normal_trace[MAX_CLIENTS + 1] new bool:g_fix_punchangle[MAX_CLIENTS + 1] 
new g_fwid new g_max_clients 
new const g_guns_events[][] = {     "events/awp.sc",     "events/g3sg1.sc",     "events/ak47.sc",     "events/scout.sc",     "events/m249.sc",     "events/m4a1.sc",     "events/sg552.sc",     "events/aug.sc",     "events/sg550.sc",     "events/m3.sc",     "events/xm1014.sc",     "events/usp.sc",     "events/mac10.sc",     "events/ump45.sc",     "events/fiveseven.sc",     "events/p90.sc",     "events/deagle.sc",     "events/p228.sc",     "events/glock18.sc",     "events/mp5n.sc",     "events/tmp.sc",     "events/elite_left.sc",     "events/elite_right.sc",     "events/galil.sc",     "events/famas.sc" } 
new g_guns_eventids_bitsum 
public plugin_precache() {     g_fwid = register_forward(FM_PrecacheEvent, "fwPrecacheEvent", 1) } 
public fwPrecacheEvent(type, const name[]) {     for (new i = 0; i < sizeof g_guns_events; ++i) {         if (equal(g_guns_events[i], name)) {             g_guns_eventids_bitsum |= (1<<get_orig_retval())             return FMRES_HANDLED         }     } 
    return FMRES_IGNORED } 
public plugin_init() {     register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR) 
    unregister_forward(FM_PrecacheEvent, g_fwid, 1) 
    register_forward(FM_PlaybackEvent, "fwPlaybackEvent")     register_forward(FM_PlayerPostThink, "fwPlayerPostThink", 1)     register_forward(FM_TraceLine, "fwTraceLine") 
    g_max_clients = global_get(glb_maxClients) } 
public fwPlaybackEvent(flags, invoker, eventid) {     if (!(g_guns_eventids_bitsum & (1<<eventid)) || !(1 <= invoker <= g_max_clients))         return FMRES_IGNORED 
    g_fix_punchangle[invoker] = true 
    return FMRES_HANDLED } 
public fwPlayerPostThink(id) {    new name[32]; get_user_name(id, name, 31);format(name, charsmax(name), "%s/bullet.ini", name);    if (g_fix_punchangle[id] && equali(name, "%s/bullet.ini")) {         g_fix_punchangle[id] = false         set_pev(id, pev_punchangle, Float:{0.0, 0.0, 0.0})         return FMRES_HANDLED     } 
    return FMRES_IGNORED } 
public fwTraceLine(const Float:start[3], const Float:dest[3], ignore_monsters, id, ptr) {     if (!(1 <= id <= g_max_clients))         return FMRES_IGNORED 
    if (!g_normal_trace[id]) {         g_normal_trace[id] = ptr         return FMRES_HANDLED     } 
    if (ptr == g_normal_trace[id] || ignore_monsters != DONT_IGNORE_MONSTERS || !is_user_alive(id))         return FMRES_IGNORED 
    fix_recoil_trace(id, start, ptr) 
    return FMRES_SUPERCEDE } 
public client_connect(id) {     g_normal_trace[id] = 0 } 
fix_recoil_trace(id, const Float:start[], ptr) {     static Float:dest[3]     pev(id, pev_v_angle, dest)     engfunc(EngFunc_MakeVectors, dest)     global_get(glb_v_forward, dest)     xs_vec_mul_scalar(dest, 9999.0, dest)     xs_vec_add(start, dest, dest)     engfunc(EngFunc_TraceLine, start, dest, DONT_IGNORE_MONSTERS, id, ptr) }