←  Bugi

AMXX.pl: Support AMX Mod X i SourceMod

»

Bug po zmianie mapy - nieśmiertelność

  • +
  • -
Qlop1996 - zdjęcie Qlop1996 26.02.2015

Witam na serwerze wystąpiły bugi, a miedzy innymi taki po zmianie mapy 1 osoba jest niesmiertelna da sie ja zabić tylko w głowe choć ta osoba nie ma żadnego perku ani klasy związaniej z takim wyczynem !!

Co moze byc winne na kazdej klasie tak jest

Odpowiedz

  • +
  • -
wiwi249 - zdjęcie wiwi249 26.02.2015

Jakaś klasa ma nieograniczony do jednej klasy damage dopóki nie będzie to hit w głowę. Wyłączaj po kolei klasy i sprawdź, która klasa to powoduje (przy której ten problem znika), a potem wrzuć kod.

Odpowiedz

  • +
  • -
Qlop1996 - zdjęcie Qlop1996 28.02.2015

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <fakemeta>
#include <hamsandwich>
#include <cstrike>
#include <fun>
        
new const nazwa[]   = "Kucacz[Vip]";
new const opis[]    = "1/7 Awp 1/7 Degl nie widoczny na ukucku 4 skoki";
new const bronie    = (1<<CSW_HEGRENADE)|(1<<CSW_AWP)|(1<<CSW_DEAGLE);
new const zdrowie   = 80;
new const kondycja  = 50;
new const inteligencja = 0;
new const wytrzymalosc = 20;
    
new skoki[33];

new ma_klase[33];

public plugin_init()
{
    register_plugin(nazwa, "1.0", "amxx.pl");

    cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);

    register_forward(FM_PlayerPreThink, "fwPrethink_Niewidzialnosc", 1);

   
    register_forward(FM_CmdStart, "fwCmdStart_MultiJump");

   
    RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage_JedenZ");

}

public cod_class_enabled(id)
{
    give_item(id, "weapon_hegrenade");
    ma_klase[id] = true;

}

public cod_class_disabled(id)
{
    set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
        ma_klase[id] = false;

}


//Przy kucaniu
public fwPrethink_Niewidzialnosc(id)
{
    if(!ma_klase[id])
        return;

    new button = get_user_button(id);
    if( button & IN_DUCK )
    {
        set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 30);
    }
    else
    {
        set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
    }
}

public fwCmdStart_MultiJump(id, uc_handle)
{
    if(!is_user_alive(id) || !ma_klase[id])
        return FMRES_IGNORED;

    new flags = pev(id, pev_flags);

    if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])
    {
        skoki[id]--;
        new Float:velocity[3];
        pev(id, pev_velocity,velocity);
        velocity[2] = random_float(265.0,285.0);
        set_pev(id, pev_velocity,velocity);
    }
    else if(flags & FL_ONGROUND)
        skoki[id] = 4;

    return FMRES_IGNORED;
}

public fwTakeDamage_JedenZ(this, idInf, idAtt, Float:fDmg, dmgBits){
    if(!is_user_alive(idAtt) || !ma_klase[idAtt] || !(dmgBits & (1<<1) ) || random_num(1, 7) != 1 )
        return HAM_IGNORED;

    cs_set_user_armor(this, 0, CS_ARMOR_NONE);
    SetHamParamFloat(4, float(get_user_health(this) + 1));

    return HAM_HANDLED;
}

radim (28.02.2015 20:23):
Postaraj się umieszczać kod w tagach [code=auto:0]. Kod poprawiłem.
Odpowiedz

  • +
  • -
oeN. - zdjęcie oeN. 28.03.2015

Ta klasa nie ma nic związanego z hitem w głowem, wszystko u niej w porządku.

Odpowiedz