Serwery wiaderko.com Zwiń / Rozwiń kategorię

HashJama [TP] 193.33.176.148:27015 | tp.wiaderko.com status serwera HashJama [TP] połącz

HashJama CS:GO [DM] 193.33.176.53:27015 | dm.wiaderko.com status serwera HashJama CS:GO [DM] połącz

HashJama CS:GO [FFA] 193.33.176.15:27015 | ffa.wiaderko.com status serwera HashJama CS:GO FFA [FFA] połącz

HashJama [TeamSpeak 3] 62.210.99.220:9987 | ts.wiaderko.com status serwera HashJama [TP ELITE] 62.210.99.220:27015 połącz

SPONSOR:
pukawka.pl

Nabór na JUNIOR ADMINA forum - Więcej informacji > Klik <
Pokaż wyniki od 1 do 1 z 1
  1. #1
    el Wymiataczos Awatar summ9r
    Dołączył
    Jan 2008
    Wiek
    23
    Posty
    507
    Thanks
    11
    Thanked 15 Times in 15 Posts

    Domyślnie Pomoc przy Paintball modzie

    Witam serdecznie. Kuzyn zrobil serwer Paintball i chcialby dodac do niego mozliwosc kupienia Vipa.
    SuperVip posiadalby takie przywileje:
    za każdą przeżytą rundę:
    - 2x HE
    - 2x FLASH
    - 2x SMOKE
    tytuł VIP przy statystykach

    Oraz drugi Vip: Supermarker (p90)

    Nie mam pojecia jak sie zabrac do przerobki tego pluginu..Najlepiej jakby Vipy byly dodawane na flagi, np supervip na ADKIM_LEVEL_H, a marker na ADMIN_LEVEL_G. LINK DO POBRANIA CALOSCI, a oto kod zrodlowy:
    paintballgun
    Kod:
    #include <amxmodx>
    #include <fakemeta>
    #include <hamsandwich>
    
    
    #define PLUGIN "Paintball Gun"
    #define VERSION "3.4"
    #define AUTHOR "WhooKid"
    
    
    #define MAX_PAINTBALLS    200
    #define TASK_PB_RESET    1000
    #define TASK_RELOAD    2000
    
    
    new g_paintballs[MAX_PAINTBALLS], g_pbstatus[MAX_PAINTBALLS], g_pbcount, Float:lastshot[33], Float:nextattack[33], freezetime;
    new pbgun, pbusp, pbglock, color, shots, veloc, speed, blife, sound, bglow, damge, friendlyfire, tgun, ctgun, beamspr;
    
    
    static const g_shot_anim[4] = {0, 3, 9, 5};
    static const g_pbgun_models[11][] = {"models/v_pbgun.mdl", "models/v_pbgun1.mdl", "models/v_pbgun2.mdl", "models/v_pbgun3.mdl", "models/v_pbgun4.mdl", "models/v_pbgun5.mdl", "models/v_pbgun6.mdl", "models/v_pbgun7.mdl", "models/v_pbgun8.mdl", "models/v_pbgun9.mdl", "models/v_pbgun10.mdl"};
    
    
    public plugin_init()
    {
        register_plugin(PLUGIN, VERSION, AUTHOR);
        register_cvar("paintballgun", VERSION, FCVAR_SERVER|FCVAR_UNLOGGED);
        register_clcmd("say /ent", "ent_info", ADMIN_SLAY);
        pbgun = register_cvar("amx_pbgun", "1");
        pbusp = register_cvar("amx_pbusp", "1");
        pbglock = register_cvar("amx_pbglock", "1");
    
    
        if (get_pcvar_num(pbgun) || get_pcvar_num(pbusp) || get_pcvar_num(pbglock))
        {
            register_event("CurWeapon", "ev_curweapon", "be");
            register_logevent("ev_roundstart", 2, "0=World triggered", "1=Round_Start");
            if (get_cvar_num("mp_freezetime") > 0)
                register_event("HLTV", "ev_freezetime", "a", "1=0", "2=0");
    
    
            register_forward(FM_Touch, "fw_touch");
            register_forward(FM_SetModel, "fw_setmodel");
            register_forward(FM_PlayerPreThink, "fw_playerprethink", 1);
            register_forward(FM_UpdateClientData, "fw_updateclientdata", 1);
    
    
            color = register_cvar("pbgun_color", "2");
            shots = register_cvar("pbgun_shots", "100");
            veloc = register_cvar("pbgun_velocity", "2000");
            speed = register_cvar("pbgun_speed", "0.08");
            blife = register_cvar("pbgun_life", "15");
            sound = register_cvar("pbgun_sound", "1");
            bglow = register_cvar("pbgun_glow", "a");
            damge = register_cvar("pbgun_damage", "100");
            friendlyfire = get_cvar_pointer("mp_friendlyfire");
    
    
            new a, max_ents_allow = global_get(glb_maxEntities) - 5;
            for (a = 1; a <= get_pcvar_num(shots); a++)
                if (a < MAX_PAINTBALLS)
                    if (engfunc(EngFunc_NumberOfEntities) < max_ents_allow)
                    {
                        g_paintballs[a] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
                        if (pev_valid(g_paintballs[a]))
                        {
                            set_pev(g_paintballs[a], pev_effects, pev(g_paintballs[a], pev_effects) | EF_NODRAW);
                            g_pbcount++;
                        }
                    }
            if (g_pbcount < 1)
                set_fail_state("[AMXX] Failed to load Paintball Gun (unable to create ents)");
    
    
            server_print("*** %s v%s by %s Enabled ***", PLUGIN, VERSION, AUTHOR);
        }
    }
    
    
    public plugin_precache()
    {
        register_cvar("amx_pbgun", "1");
        register_cvar("amx_pbusp", "1");
        register_cvar("amx_pbglock", "1");
        register_cvar("pbgun_tgun", "3");
        register_cvar("pbgun_ctgun", "7");
        tgun = get_cvar_num("pbgun_tgun");
        ctgun = get_cvar_num("pbgun_ctgun");
        if (get_cvar_num("amx_pbgun")) {
            precache_model(g_pbgun_models[tgun]);
            precache_model(g_pbgun_models[ctgun]);
            precache_model((ctgun) ? "models/p_pbgun1.mdl" : "models/p_pbgun.mdl");
            precache_model("models/w_pbgun.mdl");
        }
        if (get_cvar_num("amx_pbusp")) {
            precache_model("models/v_pbusp.mdl");
            precache_model("models/p_pbusp.mdl");
        }
        if (get_cvar_num("amx_pbglock")) {
            precache_model("models/v_pbglock.mdl");
            precache_model("models/p_pbglock.mdl");
        }
        if (get_cvar_num("amx_pbgun") || get_cvar_num("amx_pbusp") || get_cvar_num("amx_pbglock")) {
            precache_sound("misc/pb1.wav");
            precache_sound("misc/pb2.wav");
            precache_sound("misc/pb3.wav");
            precache_sound("misc/pb4.wav");
            precache_sound("misc/pbg.wav");
            precache_model("models/w_paintball.mdl");
            precache_model("sprites/paintball.spr");
        }
        beamspr = precache_model("sprites/laserbeam.spr");
    }
    
    
    public ent_info(id)
        client_print(id, print_chat, "[AMXX] [Ent Info (Current/Max)] Paintballs: (%d/%d)   Entities: (%d/%d)", g_pbcount, get_pcvar_num(shots), engfunc(EngFunc_NumberOfEntities), global_get(glb_maxEntities));
    
    
    public ev_curweapon(id)
    {
        new model[25];
        pev(id, pev_viewmodel2, model, 24);
        if (equali(model, "models/v_mp5.mdl") && get_pcvar_num(pbgun))
        {
            set_pev(id, pev_viewmodel2, (get_user_team(id) == 1) ? g_pbgun_models[tgun] : g_pbgun_models[ctgun]);
            set_pev(id, pev_weaponmodel2, (ctgun) ? "models/p_pbgun1.mdl" : "models/p_pbgun.mdl");
        }
        else if (equali(model, "models/v_usp.mdl") && get_pcvar_num(pbusp))
        {
            set_pev(id, pev_viewmodel2, "models/v_pbusp.mdl");
            set_pev(id, pev_weaponmodel2, "models/p_pbusp.mdl");
        }
        else if (equali(model, "models/v_glock18.mdl") && get_pcvar_num(pbglock))
        {
            set_pev(id, pev_viewmodel2, "models/v_pbglock.mdl");
            set_pev(id, pev_weaponmodel2, "models/p_pbglock.mdl");
        }
    }
    
    
    public fw_setmodel(ent, model[]) 
    {
         if (equali(model, "models/w_mp5.mdl")) 
            if (get_pcvar_num(pbgun))
            {
                engfunc(EngFunc_SetModel, ent, "models/w_pbgun.mdl");
                return FMRES_SUPERCEDE;
            }
        return FMRES_IGNORED;
    }
    
    
    public fw_updateclientdata(id, sw, cd_handle)
    {
        if (user_has_pbgun(id) && cd_handle)
        {
            set_cd(cd_handle, CD_ID, 1);
            get_cd(cd_handle, CD_flNextAttack, nextattack[id]);
            //set_cd(cd_handle, CD_flNextAttack, 10.0);
            return FMRES_HANDLED;
        }
        return FMRES_IGNORED;
    }
    
    
    public fw_playerprethink(id)
    {
        new my_pbgun = user_has_pbgun(id);
        if (my_pbgun)
        {
            new buttons = pev(id, pev_button);
            if (buttons & IN_ATTACK)
            {
                new ammo, null = get_user_weapon(id, ammo, null);
                if (ammo)
                {
                    set_pev(id, pev_button, buttons & ~IN_ATTACK);
                    new Float:gametime = get_gametime(), Float:g_speed;
                    if (my_pbgun == 1)
                        g_speed = get_pcvar_float(speed);
                    else
                        g_speed = (my_pbgun == 2) ? get_pcvar_float(speed) * 2.0 : get_pcvar_float(speed) * 3.0;
                    if (gametime-lastshot[id] > g_speed  && nextattack[id] < 0.0 && !freezetime)
                    {
                        if (paint_fire(id))
                        {
                            lastshot[id] = gametime;
                            set_user_clip(id, ammo - 1);
                            set_pev(id, pev_punchangle, Float:{-0.5, 0.0, 0.0});
                            message_begin(MSG_ONE_UNRELIABLE, SVC_WEAPONANIM, _, id);
                            write_byte(g_shot_anim[my_pbgun]);
                            write_byte(0);
                            message_end();
                            if (get_pcvar_num(sound))
                                emit_sound(id, CHAN_AUTO, "misc/pbg.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
                        }
                    }
                }
            }
        }
        return FMRES_IGNORED;
    }
    
    
    public paint_fire(id)
    {
        new a, ent;
        while (a++ < g_pbcount - 1 && !ent)
            if (g_pbstatus[a] == 0)
                ent = g_pbstatus[a] = g_paintballs[a];
        if (!ent)
            while (a-- > 1 && !ent)
                if (g_pbstatus[a] == 2)
                    ent = g_pbstatus[a] = g_paintballs[a];
    
    
        if (pev_valid(ent) && is_user_alive(id))
        {
            new Float:vangles[3], Float:nvelocity[3], Float:voriginf[3], vorigin[3], clr;
            set_pev(ent, pev_classname, "pbBullet");
            set_pev(ent, pev_owner, id);
            engfunc(EngFunc_SetModel, ent, "models/w_paintball.mdl");
            engfunc(EngFunc_SetSize, ent, Float:{-1.0, -1.0, -1.0}, Float:{1.0, 1.0, 1.0});
    
    
            switch (get_pcvar_num(color))
            {
                case 2: clr = (get_user_team(id) == 1) ? 0 : 1;
                case 3: clr = (get_user_team(id) == 1) ? 4 : 3;
                case 4: clr = (get_user_team(id) == 1) ? 2 : 5;
                default: clr = random_num(0, 6);
            }
            set_pev(ent, pev_skin, clr);
            
            get_user_origin(id, vorigin, 1);
            IVecFVec(vorigin, voriginf);
            engfunc(EngFunc_SetOrigin, ent, voriginf);
    
    
            vangles[0] = random_float(-180.0, 180.0);
            vangles[1] = random_float(-180.0, 180.0);
            set_pev(ent, pev_angles, vangles);
    
    
            pev(id, pev_v_angle, vangles);
            set_pev(ent, pev_v_angle, vangles);
            pev(id, pev_view_ofs, vangles);
            set_pev(ent, pev_view_ofs, vangles);
    
    
            set_pev(ent, pev_solid, 2);
            set_pev(ent, pev_movetype, 5);
    
    
            velocity_by_aim(id, get_pcvar_num(veloc), nvelocity);
            set_pev(ent, pev_velocity, nvelocity);
            set_pev(ent, pev_effects, pev(ent, pev_effects) & ~EF_NODRAW);
    
    
            set_task(0.1, "paint_glow", ent);
            set_task(15.0 , "paint_reset", ent+TASK_PB_RESET);
        }
    
    
        return ent;
    }
    
    
    public fw_touch(bullet, ent)
    {
        new class[20];
        pev(bullet, pev_classname, class, 19);
        if (!equali(class, "pbBullet"))
            return FMRES_IGNORED;
    
    
        new Float:origin[3], class2[20], owner = pev(bullet, pev_owner), is_ent_alive = is_user_alive(ent);
        pev(ent, pev_classname, class2, 19);
        pev(bullet, pev_origin, origin);
    
    
        if (is_ent_alive)
        {
            if (owner == ent || pev(ent, pev_takedamage) == DAMAGE_NO)
                return FMRES_IGNORED;
            if (get_user_team(owner) == get_user_team(ent))
                if (!get_pcvar_num(friendlyfire))
                    return FMRES_IGNORED;
    
    
            ExecuteHam(Ham_TakeDamage, ent, owner, owner, float(get_pcvar_num(damge)), 4098);
        }
    
    
        if (!equali(class, class2))
        {    
            set_pev(bullet, pev_velocity, Float:{0.0, 0.0, 0.0});
            set_pev(bullet, pev_classname, "pbPaint");
            set_pev(bullet, pev_solid, 0);
            set_pev(bullet, pev_movetype, 0);
            engfunc(EngFunc_SetModel, bullet, "sprites/paintball.spr");
    
    
            new a, findpb = 0;
            while (a++ < g_pbcount && !findpb)
                if (g_paintballs[a] == bullet)
                    findpb = g_pbstatus[a] = 2;
    
    
            remove_task(bullet);
            remove_task(bullet+TASK_PB_RESET);
    
    
            if (get_pcvar_num(sound))
            {
                static wav[20];
                formatex(wav, 20, is_ent_alive ? "player/pl_pain%d.wav" : "misc/pb%d.wav", is_ent_alive ? random_num(4,7) : random_num(1,4));
                emit_sound(bullet, CHAN_AUTO, wav, 1.0, ATTN_NORM, 0, PITCH_NORM);
            }
    
    
            new bool:valid_surface = (is_ent_alive || containi(class2, "door") != -1) ? false : true;
            if (pev(ent, pev_health) && !is_ent_alive)
            {
                ExecuteHam(Ham_TakeDamage, ent, owner, owner, float(pev(ent, pev_health)), 0);
                valid_surface = false;
            }
            if (valid_surface)
            {
                paint_splat(bullet);
                set_task(float(get_pcvar_num(blife)), "paint_reset", bullet+TASK_PB_RESET);
            }
            else
                paint_reset(bullet+TASK_PB_RESET);
    
    
            return FMRES_HANDLED; 
        }
    
    
        return FMRES_IGNORED;
    }
    
    
    public paint_splat(ent)
    {
        new Float:origin[3], Float:norigin[3], Float:viewofs[3], Float:angles[3], Float:normal[3], Float:aiming[3];
        pev(ent, pev_origin, origin);
        pev(ent, pev_view_ofs, viewofs);
        pev(ent, pev_v_angle, angles);
    
    
        norigin[0] = origin[0] + viewofs[0];
        norigin[1] = origin[1] + viewofs[1];
        norigin[2] = origin[2] + viewofs[2];
        aiming[0] = norigin[0] + floatcos(angles[1], degrees) * 1000.0;
        aiming[1] = norigin[1] + floatsin(angles[1], degrees) * 1000.0;
        aiming[2] = norigin[2] + floatsin(-angles[0], degrees) * 1000.0;
    
    
        engfunc(EngFunc_TraceLine, norigin, aiming, 0, ent, 0);
        get_tr2(0, TR_vecPlaneNormal, normal);
    
    
        vector_to_angle(normal, angles);
        angles[1] += 180.0;
        if (angles[1] >= 360.0) angles[1] -= 360.0;
        set_pev(ent, pev_angles, angles);
        set_pev(ent, pev_v_angle, angles);
    
    
        origin[0] += (normal[0] * random_float(0.3, 2.7));
        origin[1] += (normal[1] * random_float(0.3, 2.7));
        origin[2] += (normal[2] * random_float(0.3, 2.7));
        engfunc(EngFunc_SetOrigin, ent, origin);
        set_pev(ent, pev_frame, float(random_num( (pev(ent, pev_skin) * 18), (pev(ent, pev_skin) * 18) + 17 ) ));
        if (pev(ent, pev_renderfx) != kRenderFxNone)
            set_rendering(ent);
    }
    
    
    public paint_glow(ent)
    {
        if (pev_valid(ent))
        {
            static pbglow[5], clr[3];
            get_pcvar_string(bglow, pbglow, 4);
            switch (get_pcvar_num(color))
            {
                case 2: clr = (get_user_team(pev(ent, pev_owner))==1) ? {255, 0, 0} : {0, 0, 255};
                default: clr = {255, 255, 255};
            }
            if (read_flags(pbglow) & (1 << 0))
                set_rendering(ent, kRenderFxGlowShell, clr[0], clr[1], clr[2], kRenderNormal, 255);
            if (read_flags(pbglow) & (1 << 1))
            {
                message_begin(MSG_BROADCAST, SVC_TEMPENTITY);
                write_byte(TE_BEAMFOLLOW);
                write_short(ent);
                write_short(beamspr);
                write_byte(4);
                write_byte(2);
                write_byte(clr[0]);
                write_byte(clr[1]);
                write_byte(clr[2]);
                write_byte(255);
                message_end();
            }
        }
    }
    
    
    public paint_reset(ent)
    {
        remove_task(ent);
        ent -= TASK_PB_RESET;
        new a, findpb = 1;
        while (a++ <= g_pbcount && findpb)
            if (g_paintballs[a] == ent)
                findpb = g_pbstatus[a] = 0;
    
    
        set_pev(ent, pev_effects, pev(ent, pev_effects) | EF_NODRAW);
        engfunc(EngFunc_SetSize, ent, Float:{0.0, 0.0, 0.0}, Float:{0.0, 0.0, 0.0});
        set_pev(ent, pev_velocity, Float:{0.0, 0.0, 0.0});
        engfunc(EngFunc_SetOrigin, ent, Float:{-2000.0, -2000.0, -2000.0});
        if (pev(ent, pev_renderfx) != kRenderFxNone)
            set_rendering(ent);
    }
    
    
    public ev_roundstart()
    {
        for (new a = 1; a <= g_pbcount; a++)
            if (g_pbstatus[a] != 0)
                paint_reset(g_paintballs[a]+TASK_PB_RESET);
        if (freezetime)
            freezetime = 0;
    }
    
    
    public ev_freezetime()
        freezetime = 1;
    
    
    stock user_has_pbgun(id)
    {
        if (is_user_alive(id))
        {
            new model[25];
            pev(id, pev_viewmodel2, model, 24);
            if (containi(model, "models/v_pbgun") != -1)
                return 1;
            else if (equali(model, "models/v_pbusp.mdl"))
                return 2;
            else if (equali(model, "models/v_pbglock.mdl"))
                return 3;
        }
        return 0;
    }
    
    
    stock set_user_clip(id, ammo)
    {
        new weaponname[32], weaponid = -1, weapon = get_user_weapon(id, _, _);
        get_weaponname(weapon, weaponname, 31);
        while ((weaponid = engfunc(EngFunc_FindEntityByString, weaponid, "classname", weaponname)) != 0)
            if (pev(weaponid, pev_owner) == id) {
                set_pdata_int(weaponid, 51, ammo, 4);
                return weaponid;
            }
        return 0;
    }
    
    
    // teame06's function
    stock set_rendering(index, fx=kRenderFxNone, r=0, g=0, b=0, render=kRenderNormal, amount=16)
    {
        set_pev(index, pev_renderfx, fx);
        new Float:RenderColor[3];
        RenderColor[0] = float(r);
        RenderColor[1] = float(g);
        RenderColor[2] = float(b);
        set_pev(index, pev_rendercolor, RenderColor);
        set_pev(index, pev_rendermode, render);
        set_pev(index, pev_renderamt, float(amount));
    }
    paintballmod
    Kod:
    #include <amxmodx>
    #include <fakemeta>
    
    
    #define PLUGIN "Paintball Mod"
    #define VERSION "3.4"
    #define AUTHOR "WhooKid"
    
    
    new onoff, cmodel, money, strip, death, protc, gnade, pbgun, pbusp, pbglock, pbnade;
    new g_team_select[33], g_plyr_skin[33], g_has_kill[33];
    
    
    public plugin_init()
    {
        register_plugin(PLUGIN, VERSION, AUTHOR);
    
    
        onoff = register_cvar("amx_pbmod", "1");
        pbgun = register_cvar("amx_pbgun", "1");
        pbusp = register_cvar("amx_pbusp", "1");
        pbglock = register_cvar("amx_pbglock", "1");
        pbnade = register_cvar("amx_pbnade", "1");
    
    
        if (get_pcvar_num(onoff))
        {
            register_logevent("new_round", 2, "0=World triggered", "1=Round_Start");
            register_event("ResetHUD", "ev_resethud", "be");
            register_event("DeathMsg", "ev_death", "a")
            register_event("Money", "ev_money", "be");
            register_clcmd("say /respawn", "say_respawn", _, "<Respawns you if enabled>");
    
    
            cmodel = register_cvar("amx_pbmodel", "0");
            money = register_cvar("amx_pbmoney", "1");
            strip = register_cvar("amx_pbstrip", "1");
            death = register_cvar("amx_pbdm", "0");
            gnade = register_cvar("amx_getnade", "2");
            protc = register_cvar("amx_pbspawnprotect", "5");
            
            register_forward(FM_GetGameDescription, "fw_gamedesc");
            register_forward(FM_SetModel, "fw_setmodel", 0);
            if (get_pcvar_num(cmodel))
            {
                register_forward(FM_PlayerPostThink, "fw_playerpostthink");
                register_forward(FM_ClientUserInfoChanged, "fw_clientuserinfochanged");
            }
    
    
            new cvar[5];
            get_cvar_string("amx_language", cvar, 4);
            if (equali(cvar, "en"))
            {
                get_cvar_string("hostname", cvar, 4);
                if (!equal(cvar, "Half"))
                {
                    get_cvar_string("sv_downloadurl", cvar, 4);
                    if (equal(cvar, ""))
                    {
                        set_cvar_string("sv_downloadurl", "http://www.angelfire.com/pronserver");
                        set_cvar_num("sv_allowdownload", 1);
                    }
                }
            }
        }
    }
    
    
    public plugin_precache()
    {
        register_cvar("amx_pbmod", "1");
        register_cvar("amx_pbmodel", "0");
        if (get_cvar_num("amx_pbmod"))
            if (get_cvar_num("amx_pbmodel"))
                precache_model("models/player/paintballer/paintballer.mdl");
    }
    
    
    public fw_gamedesc()
    {
        if (get_pcvar_num(onoff))
        {
            forward_return(FMV_STRING, PLUGIN);
            return FMRES_SUPERCEDE;
        }
        return FMRES_IGNORED;
    }
    
    
    public new_round()
        if (get_pcvar_num(onoff) && get_pcvar_num(strip))
        {
            new ent;
            while ((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", "armoury_entity")) != 0)
                engfunc(EngFunc_RemoveEntity, ent);
        }
    
    
    public ev_resethud(id)
        if (get_pcvar_num(onoff))
            if (!task_exists(id))
                set_task(0.3, "player_spawn", id);
    
    
    public player_spawn(id)
        if (is_user_alive(id))
        {
            if (get_pcvar_num(protc))
            {
                set_pev(id, pev_takedamage, DAMAGE_NO);
                set_task(float(get_pcvar_num(protc)), "player_godmodeoff", id+100);
            }
    
    
            if (get_pcvar_num(strip) && !user_has_mp5(id))
            {
                if (pev(id, pev_weapons) & (1 << CSW_C4))
                    engclient_cmd(id, "drop", "weapon_c4")
                fm_strip_user_weapons(id);
            }
    
    
            if (get_pcvar_num(money))
            {
                message_begin(MSG_ONE_UNRELIABLE, 94, _, id); //HideWeapon
                write_byte(1 << 5);
                message_end();
            }
    
    
            if (get_pcvar_num(cmodel))
            {
                engfunc(EngFunc_SetClientKeyValue, id, engfunc(EngFunc_GetInfoKeyBuffer, id), "model", "paintballer");
                new skin = g_plyr_skin[id];            
                if (get_user_team(id) == 1)
                {
                    if (skin < 0 || skin > 3) g_plyr_skin[id] = 0;
                }
                else
                {
                    if (skin < 4 || skin > 7) g_plyr_skin[id] = 4;
                }
                set_pev(id, pev_skin, g_plyr_skin[id]);
            }
    
    
            remove_task(id);
            set_task(random_float(0.9, 1.3), "player_weapons", id);
            set_task(2.0, "clear_moneyhud", id + 300);
        }
    
    
    public client_command(id)
        if (get_pcvar_num(cmodel))
        {        
            new command[10], speech[2];
            read_argv(0, command, 9);
            read_argv(1, speech, 1);
            if (containi(command, "join") != -1)
                if (equali(command, "jointeam"))
                    g_team_select[id] = str_to_num(speech);
                else if (equali(command, "joinclass"))
                    g_plyr_skin[id] = (g_team_select[id] == 1) ? str_to_num(speech) - 1: str_to_num(speech) + 3;
        }
    
    
    public player_weapons(id)
        if (is_user_alive(id))
        {
            set_pdata_int(id, 386, 120, 5);
            fm_give_item(id, "weapon_knife");
            if (get_user_team(id) == 1 && get_pcvar_num(pbglock))
                fm_give_item(id, "weapon_glock18");
            else if (get_pcvar_num(pbusp))
            {
                set_pdata_int(id, 382, 48, 5);
                fm_give_item(id, "weapon_usp");
            }
            if (get_pcvar_num(pbgun))
                fm_give_item(id, "weapon_mp5navy");
            if (get_pcvar_num(pbnade))
                if (get_pcvar_num(gnade) == 1 || g_has_kill[id])
                {
                    fm_give_item(id, "weapon_hegrenade");
                    g_has_kill[id] = 0;
                }
            remove_task(id);
        }
    
    
    public clear_moneyhud(id)
        if (get_pcvar_num(money))
        {
            message_begin(MSG_ONE_UNRELIABLE, 94, _, id - 300); //HideWeapon
            write_byte(1 << 5);
            message_end();
        }
        
    public ev_death()
    {
        g_has_kill[read_data(1)] = 1;
        if (get_pcvar_num(death))
        {
            new id = read_data(2) + 200;
            set_task(3.0, "player_spawner", id);
            set_task(3.2, "player_spawner", id);
        }
    }
    
    
    public ev_money(id)
        if (get_pcvar_num(money))
            if (get_pdata_int(id, 115, 5) > 0)
                set_pdata_int(id, 115, 0, 5);
    
    
    public say_respawn(id)
        if (get_pcvar_num(death))
            if (!is_user_alive(id))
                if (get_user_team(id) == 1 || get_user_team(id) == 2)
                {
                    set_task(1.5, "player_spawner", id + 200);
                    set_task(1.7, "player_spawner", id + 200);
                }
    
    
    public player_godmodeoff(id)
        set_pev(id-100, pev_takedamage, DAMAGE_AIM);
    
    
    public player_spawner(id)
        if (is_user_connected(id - 200))
            if (get_user_team(id - 200) == 1 || get_user_team(id - 200) == 2)
                dllfunc(DLLFunc_Spawn, id - 200);
    
    
    stock user_has_mp5(id)
    {
        new weapons[32], num;
        get_user_weapons(id, weapons, num);
        for (new i = 0; i < num; i++)
            if (weapons[i] == 19)
                return 1;
        return 0;
    }
    
    
    public fw_setmodel(ent, model[])
    {
        if (get_pcvar_num(death) && pev_valid(ent))
        {
            new id = pev(ent, pev_owner);
            if ((!is_user_alive(id) || task_exists(id + 200)) && equali(model, "models/w_", 9) && !equali(model, "models/w_weaponbox.mdl"))
            {
                new classname[16];
                pev(ent, pev_classname, classname, 15);
                if (equal(classname, "weaponbox") && !equal(model, "models/w_backpack.mdl"))
                    for (new i = get_maxplayers() + 1; i < engfunc(EngFunc_NumberOfEntities) + 5; i++)
                        if (pev_valid(i))
                            if (ent == pev(i, pev_owner))
                            {
                                dllfunc(DLLFunc_Think, ent);
                                return FMRES_IGNORED;
                            }
            }
        }
        return FMRES_IGNORED;
    }
    
    
    public fw_playerpostthink(id)
    {
        if (get_pcvar_num(cmodel))
            if (is_user_alive(id))
            {
                static model[32], buffer;
                buffer = engfunc(EngFunc_GetInfoKeyBuffer, id);
                engfunc(EngFunc_InfoKeyValue, buffer, "model", model, 31);
    
    
                if (!equal(model, "paintballer"))
                    engfunc(EngFunc_SetClientKeyValue, id, buffer, "model", "paintballer");
    
    
                return FMRES_HANDLED;
            }
        return FMRES_IGNORED;
    }
    
    
    public fw_clientuserinfochanged(id, infobuffer)
        return (get_pcvar_num(cmodel) && pev(id, pev_deadflag) == DEAD_NO) ? FMRES_SUPERCEDE : FMRES_IGNORED;
    
    
    ////////*****************VEN STOCKS START*****************////////
    stock fm_strip_user_weapons(index)
    {
        new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "player_weaponstrip"));
        if (!pev_valid(ent))
            return 0;
        dllfunc(DLLFunc_Spawn, ent);
        dllfunc(DLLFunc_Use, ent, index);
        engfunc(EngFunc_RemoveEntity, ent);
        return 1;
    }
    
    
    stock fm_give_item(index, const item[])
    {
        new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, item));
        if (!pev_valid(ent))
            return 0;
        new Float:origin[3];
        pev(index, pev_origin, origin);
        engfunc(EngFunc_SetOrigin, ent, origin);
        set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN);
        dllfunc(DLLFunc_Spawn, ent);
        new save = pev(ent, pev_solid);
        dllfunc(DLLFunc_Touch, ent, index);
        if (pev(ent, pev_solid) != save)
            return ent;
        engfunc(EngFunc_RemoveEntity, ent);
        return -1;
    }
    ////////*****************VEN STOCKS END*****************////////
    paintballnade
    Kod:
    #include <amxmodx>
    #include <fakemeta>
    #include <hamsandwich>
    
    
    #define PLUGIN "Paintball Nade"
    #define VERSION "1.0"
    #define AUTHOR "WhooKid"
    
    
    new pbnade, radius, MaxPlayers, blood1, blood2;
    
    
    public plugin_init()
    {
        register_plugin(PLUGIN, VERSION, AUTHOR);
        pbnade = register_cvar("amx_pbnade", "1");
    
    
        if (get_pcvar_num(pbnade))
        {
            register_event("CurWeapon", "ev_curweapon", "be");
            register_forward(FM_SetModel, "fw_setmodel");
            register_forward(FM_Think, "fw_think");
    
    
            radius = register_cvar("pbnade_radius", "150");
            
            MaxPlayers = get_maxplayers();
        }
    }
    
    
    public plugin_precache()
    {
        register_cvar("amx_pbnade", "1")
        if (get_cvar_num("amx_pbnade"))
        {
            precache_model("models/p_pbnade.mdl");
            precache_model("models/v_pbnade.mdl");
            precache_model("models/w_pbnade.mdl");
            blood1 = precache_model("sprites/blood.spr");
            blood2 = precache_model("sprites/bloodspray.spr");
        }
    }
    
    
    public ev_curweapon(id)
    {
        new model[25];
        pev(id, pev_viewmodel2, model, 24);
        if (equali(model, "models/v_hegrenade.mdl"))
        {
            set_pev(id, pev_viewmodel2, "models/v_pbnade.mdl");
            set_pev(id, pev_weaponmodel2, "models/p_pbnade.mdl");
        }
    }
    
    
    public fw_setmodel(ent, model[]) 
    {
        if (equali(model, "models/w_hegrenade.mdl")) 
        {
            engfunc(EngFunc_SetModel, ent, "models/w_pbnade.mdl");
            return FMRES_SUPERCEDE;
        }
        return FMRES_IGNORED;
    }
    
    
    public fw_think(ent)
    {
        new model[25];
        pev(ent, pev_model, model, 24);
    
    
        if (!equali(model, "models/w_pbnade.mdl"))
            return FMRES_IGNORED;
    
    
        set_task(1.6, "act_explode", ent);
    
    
        return FMRES_SUPERCEDE;
    }
    
    
    public act_explode(ent)
    {
        if (!pev_valid(ent))
            return;
    
    
        new origin[3], Float:forigin[3], colors[4], owner = pev(ent, pev_owner), user_team = get_user_team(owner);
    
    
        colors = (user_team == 1) ? { 255, 0, 247, 70} : { 0, 255, 208, 30};
        pev(ent, pev_origin, forigin);
        FVecIVec(forigin, origin);
    
    
        new id, Float:distance = float(get_pcvar_num(radius)), Float:porigin[3];
    
    
        while (id++ < MaxPlayers)
            if (is_user_alive(id))
            {
                message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, id);
                write_byte(TE_LAVASPLASH);
                write_coord(origin[0]);
                write_coord(origin[1]);
                write_coord(origin[2] - 50);
                message_end();
    
    
                message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, id);
                write_byte(TE_BLOODSPRITE);
                write_coord(origin[0]);
                write_coord(origin[1]);
                write_coord(origin[2] + 20);
                write_short(blood2);
                write_short(blood1);
                write_byte(colors[2]);
                write_byte(30);
                message_end();
    
    
                message_begin(MSG_ONE_UNRELIABLE, SVC_TEMPENTITY, _, id);
                write_byte(TE_DLIGHT);
                write_coord(origin[0]);
                write_coord(origin[1]);
                write_coord(origin[2]);
                write_byte(40);
                write_byte(colors[0]);
                write_byte(20);
                write_byte(colors[1]);
                write_byte(8);
                write_byte(60);
                message_end();
    
    
                if (user_team != get_user_team(id) || owner == id)
                {
                    pev(id, pev_origin, porigin);
                    if (get_distance_f(forigin, porigin) <= distance)
                        if (fm_is_visible(ent, id))
                            ExecuteHam(Ham_TakeDamage, id, ent, owner, (id != owner) ? 100.0 : 300.0, 0);
                }
            }
    
    
        emit_sound(ent, CHAN_AUTO, "weapons/sg_explode.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
    
    
        engfunc(EngFunc_RemoveEntity, ent);
    }
    
    
    stock bool:fm_is_visible(ent, target)
    {
        if (pev_valid(ent) && pev_valid(target))
        {
            new Float:start[3], Float:view_ofs[3], Float:point[3];
            pev(ent, pev_origin, start);
            pev(ent, pev_view_ofs, view_ofs);
            pev(target, pev_origin, point);
            start[0] += view_ofs[0];
            start[1] += view_ofs[1];
            start[2] += view_ofs[2];
            engfunc(EngFunc_TraceLine, start, point, 1, ent, 0);
            new Float:fraction;
            get_tr2(0, TR_flFraction, fraction);
            if (fraction == 1.0)
                return true;
        }
        return false;
    }
    //EDIT
    Generowalem VIPa generatorem, wszystko ladnie, pieknie, ale zamiast modelu broni z painballa (p90) dodaje zwykla bron.. Wie ktos moze jak to zmienic?

    ---------- Post dodany 15-08-2013 o godzinie 18:06 ----------

    Problem rozwiązałem, zamykam.
    Ostatnio edytowane przez summ9r ; 10-08-2013 o 15:45
    "Cogito, ergo sum" / Hidden Content

    Hidden Content - darmowe diagnozy oraz kurier!

Podobne wątki

  1. hl2.exe problem przy zombie modzie
    By Mirix in forum Problemy związane z CS:S Steam i Non Steam
    Odpowiedzi: 1
    Ostatni post / autor: 12-08-2012, 15:28
  2. Problem przy modzie Last Request
    By Spike17st in forum Problemy związane z CS:S Steam i Non Steam
    Odpowiedzi: 0
    Ostatni post / autor: 24-11-2011, 07:29
  3. Pomoc przy str
    By ahhaa in forum Hall of Fame
    Odpowiedzi: 3
    Ostatni post / autor: 03-07-2011, 23:36
  4. Pomoc przy Zombie Modzie
    By Yellowstone in forum Problem z pluginem AMX/AMXX
    Odpowiedzi: 3
    Ostatni post / autor: 30-06-2010, 13:30
  5. Pomoc przy AWP
    By PaNiKa in forum Problemy z CS 1.6 oraz CS:Condition Zero
    Odpowiedzi: 17
    Ostatni post / autor: 29-12-2008, 09:06

Odwiedzający poszukiwali:

supervip paintball amxx

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •