Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
Zombie Plague 4.3

zablokować możliwość wyrzucania BAZUKI

zombie plague 4.3

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
7 odpowiedzi w tym temacie

#1 ZIGI89

    Życzliwy

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:30
  • GG:
  • Steam:steam
  • Lokalizacja:Łodygowice
Offline

Napisano 04.12.2015 22:49

Witam posiadam  serwer zombi mod 4,3  

prosił bym ,by ktoś przerobił mi tak  bazoke

aby zablokować  możliwość wyrzucenia jej

lub tak aby po przekazaniu  zniknęła 

 

dokładniej chodzi mi  o wyeliminowanie przekazywania sobie bazooki miedzy graczami

wiadomo ze bazuka potrzebuje czasu na przeładowanie 

a gdy ja przekazujemy  sobie miedzy graczami  to  niema tego czasu na przeładowywanie

 

 

z góry dziękuje


Użytkownik ZIGI89 edytował ten post 04.12.2015 22:50

  • +
  • -
  • 0
<img src="http://steamprofile....1:25467514.png" alt="Tekst alternatywny" />

#2 ZIGI89

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:30
  • GG:
  • Steam:steam
  • Lokalizacja:Łodygowice
Offline

Napisano 05.12.2015 00:32

Proszę o połączenie  a nie usuwanie bo zapomniałem dodać  sms

#include <amxmodx>
#include <fun>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>

#define PLUGINNAME    "Extra Item Bazooka"
#define VERSION        "1.0"
#define AUTHOR        "B!gBud"

#define ACCESS_LEVEL    ADMIN_LEVEL_A

#define TE_EXPLOSION    3
#define TE_BEAMFOLLOW    22
#define TE_BEAMCYLINDER    21

#define BAZOOKA_COST 30 // set how may ammopacks the Bazooka costs

new ROCKET_MDL[64] = "models/rpgrocket.mdl"
new ROCKET_SOUND[64] = "weapons/rocketfire1.wav"
new getrocket[64] = "items/9mmclip2.wav"

new bool:rocket[33] = false
new bool:rksound[33] = false
new bool:shot[33] = false

new hasbazooka[33]
new Float:gltime = 0.0
new Float:last_Rocket[33] = 0.0
new explosion, trail, white
new cvar_RocketDelay, cvar_RocketSpeed, cvar_RocketDmg, cvar_Dmg_range, g_item_bazooka

public plugin_init()
{
    register_plugin(PLUGINNAME, VERSION, AUTHOR)
    
    g_item_bazooka = zp_register_extra_item("Bazooka", BAZOOKA_COST, ZP_TEAM_HUMAN, 1)
    register_clcmd("drop","cmdDrop")
    
    new ver[64]
    format(ver,63,"%s v%s",PLUGINNAME,VERSION)
    register_cvar("zp_bz_version",ver,FCVAR_SERVER)    
    
    cvar_RocketDelay=register_cvar("zp_bz_rocket_delay","15.0")
    cvar_RocketSpeed=register_cvar("zp_bz_rocket_speed","1500")
    cvar_RocketDmg=register_cvar("zp_bz_rocket_damage","800")
    cvar_Dmg_range=register_cvar("zp_bz_damage_radius","350")
    
    register_event("CurWeapon", "check_models", "be", "1=1")
    register_event("DeathMsg", "player_die", "a")
    register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
    
    register_forward(FM_StartFrame, "fm_startFrame")
    register_forward(FM_EmitSound, "emitsound")
}

public plugin_precache()
{
    precache_model("models/p_rpg.mdl")
    precache_model("models/v_rpg.mdl")
    precache_model("models/w_rpg.mdl")
    
    precache_model(ROCKET_MDL)
    precache_sound(ROCKET_SOUND)
    precache_sound(getrocket)
    
    explosion = precache_model("sprites/zerogxplode.spr")
    trail = precache_model("sprites/smoke.spr")
    white = precache_model("sprites/white.spr")
}

public client_putinserver(id)
{
    rocket[id] = false
}

public client_disconnect(id)
{
    rocket[id] = false
}

public event_round_start()
{
    remove_bazookas();
}

public fm_startFrame()
{
        
    gltime = get_gametime()
    static id
    for (id = 1; id <= 32; id++)
    {
        bz_forward(id)
    }
}

public bz_forward(player)
{
    if (!hasbazooka[player])
        return FMRES_IGNORED
    
    check_rocket(player)
    
    new clip,ammo
    new wpnid = get_user_weapon(player,clip,ammo)
    if (wpnid == CSW_KNIFE)
    {
        if((pev(player,pev_button)&IN_ATTACK2))
        {
                attack2(player)    
        }    
    }
    return FMRES_IGNORED
}

public attack2(player)
{
        
    if (rocket[player])
    {
        
        new rocket = create_entity("info_target")
        if(rocket == 0) return PLUGIN_CONTINUE
        
        entity_set_string(rocket, EV_SZ_classname, "zp_bz_rocket")
        entity_set_model(rocket, ROCKET_MDL)
        
        entity_set_size(rocket, Float:{0.0, 0.0, 0.0}, Float:{0.0, 0.0, 0.0})
        entity_set_int(rocket, EV_INT_movetype, MOVETYPE_FLY)
        entity_set_int(rocket, EV_INT_solid, SOLID_BBOX)
        
        new Float:vSrc[3]
        entity_get_vector(player, EV_VEC_origin, vSrc)
        
        new Float:Aim[3],Float:origin[3]
        VelocityByAim(player, 64, Aim)
        entity_get_vector(player,EV_VEC_origin,origin)
        
        vSrc[0] += Aim[0]
        vSrc[1] += Aim[1]
        entity_set_origin(rocket, vSrc)
        
        new Float:velocity[3], Float:angles[3]
        VelocityByAim(player, get_pcvar_num(cvar_RocketSpeed), velocity)
        
        entity_set_vector(rocket, EV_VEC_velocity, velocity)
        vector_to_angle(velocity, angles)
        entity_set_vector(rocket, EV_VEC_angles, angles)
        entity_set_edict(rocket,EV_ENT_owner,player)
        entity_set_float(rocket, EV_FL_takedamage, 1.0)
        
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_BEAMFOLLOW)
        write_short(rocket)
        write_short(trail)
        write_byte(25)
        write_byte(5)
        write_byte(224)
        write_byte(224)
        write_byte(255)
        write_byte(255)
        message_end()

        emit_sound(rocket, CHAN_WEAPON, ROCKET_SOUND, 1.0, ATTN_NORM, 0, PITCH_NORM)
        
        shot[player] = true
        last_Rocket[player] = gltime + get_pcvar_num(cvar_RocketDelay)
    }
    return PLUGIN_CONTINUE
}

public check_models(id)
{
    if (zp_get_user_zombie(id) || zp_get_user_survivor(id))
        return;
    
    if(hasbazooka[id])
    {
        new wpnid = read_data(2);
        if ( wpnid == CSW_KNIFE)
        {
            switchmodel(id)
        }
    }
}

public switchmodel(id)
{
        set_pev(id,pev_viewmodel2,"models/v_rpg.mdl")
        set_pev(id,pev_weaponmodel2,"models/p_rpg.mdl")
}

public remove_bazookas()
{
    new nextitem  = find_ent_by_class(-1,"zp_bazooka")
    while(nextitem)
    {
        remove_entity(nextitem)
        nextitem = find_ent_by_class(-1,"zp_bazooka")
    }
    return PLUGIN_CONTINUE
}

public emitsound(entity, channel, const sample[])
{
    if(is_user_alive(entity))
    {
        new clip,ammo
        new weapon = get_user_weapon(entity,clip,ammo)
        
        if(hasbazooka[entity] && weapon == CSW_KNIFE)
        {
            if(equal(sample,"weapons/knife_slash1.wav")) return FMRES_SUPERCEDE
            if(equal(sample,"weapons/knife_slash2.wav")) return FMRES_SUPERCEDE
            
            if(equal(sample,"weapons/knife_deploy1.wav")) return FMRES_SUPERCEDE
            if(equal(sample,"weapons/knife_hitwall1.wav")) return FMRES_SUPERCEDE
            
            if(equal(sample,"weapons/knife_hit1.wav")) return FMRES_SUPERCEDE
            if(equal(sample,"weapons/knife_hit2.wav")) return FMRES_SUPERCEDE
            if(equal(sample,"weapons/knife_hit3.wav")) return FMRES_SUPERCEDE
            if(equal(sample,"weapons/knife_hit4.wav")) return FMRES_SUPERCEDE
            
            if(equal(sample,"weapons/knife_stab.wav")) return FMRES_SUPERCEDE
        }
    }
    return FMRES_IGNORED
}

public check_rocket(player)
{
    if (last_Rocket[player] > gltime)
    {    
        rk_forbidden(player)
        rksound[player] = true
    }
    else
    {    

        if (shot[player])
        {
            rksound[player] = false
            shot[player] = false
        }
        rk_sound(player)
        rk_allow(player)
    }
    
}

public rk_allow(player)
{    
    rocket[player] = true
}

public rk_forbidden(player)
{
    rocket[player] = false
}

public rk_sound(player)
{
    if (!rksound[player])
    {
        engfunc(EngFunc_EmitSound, player, CHAN_WEAPON, getrocket, 1.0, ATTN_NORM, 0, PITCH_NORM)
        client_print(player, print_center, "[Bazooka] Bron przeladowana !!!")
        rksound[player] = true
    }
}

public player_die()
{
    new id = read_data(2)
    if(hasbazooka[id])
    {
        drop_bazooka(id)
        rocket[id] = false
    }
    return PLUGIN_CONTINUE
}

public cmdDrop(id)
{
    if(hasbazooka[id])
    {
        new clip,ammo
        new weapon = get_user_weapon(id,clip,ammo)
        if(weapon == CSW_KNIFE)
        {
            drop_bazooka(id)
            if(!zp_get_user_zombie(id))
            {
                entity_set_string(id,EV_SZ_viewmodel,"models/v_knife.mdl")
                entity_set_string(id,EV_SZ_weaponmodel,"models/p_knife.mdl")
            }
            return PLUGIN_HANDLED
        }
    }
    return PLUGIN_CONTINUE
}

public drop_bazooka(player)
{
    if(hasbazooka[player])
    {
        new Float:Aim[3],Float:origin[3]
        VelocityByAim(player, 64, Aim)
        entity_get_vector(player,EV_VEC_origin,origin)
        
        origin[0] += Aim[0]
        origin[1] += Aim[1]
        
        new bazooka = create_entity("info_target")
        entity_set_string(bazooka,EV_SZ_classname,"zp_bazooka")
        entity_set_model(bazooka,"models/w_rpg.mdl")    
        
        entity_set_size(bazooka,Float:{-16.0,-16.0,-16.0},Float:{16.0,16.0,16.0})
        entity_set_int(bazooka,EV_INT_solid,1)
        
        entity_set_int(bazooka,EV_INT_movetype,6)
        
        entity_set_vector(bazooka,EV_VEC_origin,origin)
    
        
        hasbazooka[player] = 0
        rocket[player] = false
    }    
}

public pfn_touch(ptr, ptd)
{
    if(is_valid_ent(ptr))
    {
        new classname[32]
        entity_get_string(ptr,EV_SZ_classname,classname,31)
        
        if(equal(classname, "zp_bazooka"))
        {
            if(is_valid_ent(ptd))
            {
                new id = ptd
                if(id > 0 && id < 34) {
                    if(!hasbazooka[id] && !zp_get_user_zombie(id) && is_user_alive(id))
                    {
                        engclient_cmd(id,"weapon_knife")
                        hasbazooka[id] = 1
                        rocket[id] = true
                        client_cmd(id,"spk items/gunpickup2.wav")
                        switchmodel(id)
                        remove_entity(ptr)
                    }
                }
            }
        }
        else if(equal(classname, "zp_bz_rocket"))
        {
            new Float:fOrigin[3]
            new iOrigin[3]
            entity_get_vector(ptr, EV_VEC_origin, fOrigin)
            FVecIVec(fOrigin,iOrigin)
            bz_radius_damage(ptr)
                
            message_begin(MSG_BROADCAST,SVC_TEMPENTITY,iOrigin)
            write_byte(TE_EXPLOSION)
            write_coord(iOrigin[0])
            write_coord(iOrigin[1])
            write_coord(iOrigin[2])
            write_short(explosion)
            write_byte(30)
            write_byte(15)
            write_byte(0)
            message_end()
                
            message_begin(MSG_ALL,SVC_TEMPENTITY,iOrigin)
            write_byte(TE_BEAMCYLINDER)
            write_coord(iOrigin[0])
            write_coord(iOrigin[1])
            write_coord(iOrigin[2])
            write_coord(iOrigin[0])
            write_coord(iOrigin[1])
            write_coord(iOrigin[2]+200)
            write_short(white)
            write_byte(0)
            write_byte(1)
            write_byte(6)
            write_byte(8)
            write_byte(1)
            write_byte(255)
            write_byte(255)
            write_byte(192)
            write_byte(128)
            write_byte(5)
            message_end()
            
            if(is_valid_ent(ptd))
            {
                new classname2[32]
                entity_get_string(ptd,EV_SZ_classname,classname2,31)
                
                if(equal(classname2,"func_breakable"))
                    force_use(ptr,ptd)
            }
            
            remove_entity(ptr)
        }
    }
    return PLUGIN_CONTINUE
}

public zp_user_infected_pre(player, infector)
{
    drop_bazooka(player)
    hasbazooka[player] = 0;
    rocket[player] = false;
}

public zp_extra_item_selected(player, itemid)
{
    new clip,ammo
    new weapon = get_user_weapon(player,clip,ammo)
        
    if (itemid == g_item_bazooka)
    {
        hasbazooka[player] = 1
        rocket[player] = true
        client_cmd(player,"spk items/gunpickup2.wav")
        if(weapon == CSW_KNIFE)
        {
            switchmodel(player)
        }
        else
        {
            engclient_cmd(player,"weapon_knife")
            switchmodel(player)
        }
    }
}

stock bz_radius_damage(entity)
{
    new attacker  = entity_get_edict(entity, EV_ENT_owner);
    new name[35];
    get_user_name(attacker, name, 34);
    for(new i = 1; i < 33; i++)
    {
        if(is_user_alive(i))
        {
            new dist = floatround(entity_range(entity,i))
            
            if(dist <= get_pcvar_num(cvar_Dmg_range))
            {
                new hp = get_user_health(i)
                new Float:damage = get_pcvar_float(cvar_RocketDmg)-(get_pcvar_float(cvar_RocketDmg)/get_pcvar_float(cvar_Dmg_range))*float(dist)
                
                
                if(zp_get_user_zombie(attacker) != zp_get_user_zombie(i))
                {
                        if(hp > damage)
                        {
                            ExecuteHamB(Ham_TakeDamage, i,  entity, attacker, damage, DMG_BLAST);
                        }
                        else
                        {
                            ExecuteHamB(Ham_TakeDamage, i,  entity, attacker, float(hp), DMG_BLAST);
                            log_kill(attacker ,i,"Bazooka",0)
                        }
                }
            }
        }
    }
}

stock log_kill(killer, victim, weapon[], headshot)
{
    set_msg_block(get_user_msgid("DeathMsg"), BLOCK_SET)
    ExecuteHamB(Ham_Killed, victim, killer, 2) // set last param to 2 if you want victim to gib
    set_msg_block(get_user_msgid("DeathMsg"), BLOCK_NOT)

    
    message_begin(MSG_BROADCAST, get_user_msgid("DeathMsg"))
    write_byte(killer)
    write_byte(victim)
    write_byte(headshot)
    write_string(weapon)
    message_end()
    
    if(get_user_team(killer)!=get_user_team(victim))
        set_user_frags(killer,get_user_frags(killer) +1)
    if(get_user_team(killer)==get_user_team(victim))
        set_user_frags(killer,get_user_frags(killer) -1)
        
    new kname[32], vname[32], kauthid[32], vauthid[32], kteam[10], vteam[10]

    get_user_name(killer, kname, 31)
    get_user_team(killer, kteam, 9)
    get_user_authid(killer, kauthid, 31)
 
    get_user_name(victim, vname, 31)
    get_user_team(victim, vteam, 9)
    get_user_authid(victim, vauthid, 31)
        
    log_message("^"%s<%d><%s><%s>^" killed ^"%s<%d><%s><%s>^" with ^"%s^"",
    kname, get_user_userid(killer), kauthid, kteam,
     vname, get_user_userid(victim), vauthid, vteam, weapon)

     return PLUGIN_CONTINUE;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/

  • +
  • -
  • 0
<img src="http://steamprofile....1:25467514.png" alt="Tekst alternatywny" />

#3 StoDwaJeden

    Pomocny

  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:68
  • Imię:Fajne
  • Lokalizacja:Daleka
Offline

Napisano 05.12.2015 10:14

Wytnij " register_clcmd("drop","cmdDrop") " i skompiluj nie będzie się dało wyrzucić broni naciskając "G", po śmierci będzie wypadać.


Użytkownik StoDwaJeden edytował ten post 05.12.2015 10:15

  • +
  • -
  • 0

#4 ZIGI89

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:30
  • GG:
  • Steam:steam
  • Lokalizacja:Łodygowice
Offline

Napisano 06.12.2015 16:04

nie umiem tego kompilować    errror error

 

zrobiłbyś to


  • +
  • -
  • 0
<img src="http://steamprofile....1:25467514.png" alt="Tekst alternatywny" />

#5 StoDwaJeden

    Pomocny

  • Użytkownik

Reputacja: 15
Początkujący

  • Postów:68
  • Imię:Fajne
  • Lokalizacja:Daleka
Offline

Napisano 13.12.2015 19:21

Teraz kompiluj, poprawiłem i nie da się wyrzucić bazooki przez kliknięcie G. http://amxx.pl/kompi...ame=bazooka.sma


Użytkownik StoDwaJeden edytował ten post 13.12.2015 19:21

  • +
  • -
  • 0

#6 ZIGI89

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:30
  • GG:
  • Steam:steam
  • Lokalizacja:Łodygowice
Offline

Napisano 25.01.2016 17:05

dalej  nie chce mi sie zkampilowac

 

mógł by to ktoś  zrobić


  • +
  • -
  • 0
<img src="http://steamprofile....1:25467514.png" alt="Tekst alternatywny" />

#7 RaS_

    Wszechwidzący

  • Użytkownik

Reputacja: 20
Życzliwy

  • Postów:261
  • GG:
  • Steam:steam
  • Imię:Kacper
  • Lokalizacja:De_Dust2
Offline

Napisano 29.01.2016 14:09

Się nie kompiluje bo nie ma biblioteki czyli pliku .inc

użyj kompilacji lokalnej w wrzuć ten plik z załocznika do folderu include i będzie działać

Załączone pliki


  • +
  • -
  • 0

#8 ZIGI89

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 2
Nowy

  • Postów:30
  • GG:
  • Steam:steam
  • Lokalizacja:Łodygowice
Offline

Napisano 29.01.2016 20:41

ok dzięki działa już


  • +
  • -
  • 0
<img src="http://steamprofile....1:25467514.png" alt="Tekst alternatywny" />





Również z jednym lub większą ilością słów kluczowych: zombie plague 4.3

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych