Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Problem z klasa


ArCAno

Rekomendowane odpowiedzi

Opublikowano
witam, mam problem z klasa premium, zrobiłem klase, gdzie posiada 1/1 z noża [PPM] i nie zabija za pierszym ciosem, dopiero jak sie ma full inta. Prosze o pomoc.
 

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <hamsandwich>
#include <fakemeta>
#include <cstrike>
 

#define DMG_BULLET (1<<1)
#define DMG_HEGRENADE (1<<24)
        
new const nazwa[]   = "ArCAno";
new const opis[]    = "10x Skok | 10x Rakiet | Auto BH | No-Recoil | Ubranie Wroga | Niewidka na nozu | Kosa [1/1] |  M3[1/2] | XM[1/5] |  Deagle[1/3] | He[1/2]";
new const bronie    = (1<<CSW_HEGRENADE)|(1<<CSW_XM1014)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_M3)|(1<<CSW_DEAGLE)|(1<<CSW_FLASHBANG);
new const zdrowie   = 250;
new const kondycja  = 250;
new const inteligencja = 250;
new const wytrzymalosc = 250;
    
new sprite_blast;
new ilosc_rakiet_gracza[33];
new poprzednia_rakieta_gracza[33];
 
new skoki[33];
 
new ma_klase[33];
 
public plugin_init()
{
register_plugin(nazwa, "1.0", "ArCAno");
 
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
 
register_event("CurWeapon", "eventKnife_Niewidzialnosc", "be", "1=1");
 
register_touch("rocket", "*" , "DotykRakiety");
RegisterHam(Ham_Spawn, "player", "fwSpawn_Rakiety", 1);
 
   
register_forward(FM_CmdStart, "fwCmdStart_MultiJump");
 
 
register_forward(FM_PlayerPreThink, "fwPrethink_AutoBH");
 
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
 
register_forward(FM_PlayerPreThink, "PreThink");
register_forward(FM_UpdateClientData, "UpdateClientData", 1)
 
register_event("CurWeapon","CurWeapon","be", "1=1");
 
}
 
public plugin_precache()
{
 
sprite_blast = precache_model("sprites/dexplo.spr");
precache_model("models/rpgrocket.mdl");
 
}
 
public client_disconnect(id)
{
 
new entRakiety = find_ent_by_class(0, "rocket");
while(entRakiety > 0)
{
if(entity_get_edict(entRakiety, EV_ENT_owner) == id)
remove_entity(entRakiety);
entRakiety = find_ent_by_class(entRakiety, "rocket");
}
 
}
 
public cod_class_enabled(id)
{
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
{
client_print(id, print_chat, "[ArCAno] Nie masz uprawnien, aby uzywac tej klasy.")
return COD_STOP;
}
 
ilosc_rakiet_gracza[id] = 10;
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_smokegrenade");
give_item(id, "weapon_flashbang");
ma_klase[id] = true;
   
return COD_CONTINUE;
}
 
public cod_class_disabled(id)
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
     ma_klase[id] = false;
 
}
 
public cod_class_skill_used(id)
{
 
if (!ilosc_rakiet_gracza[id])
{
client_print(id, print_center, "Wykorzystales juz wszystkie rakiety!");
}
else
{
if(poprzednia_rakieta_gracza[id] + 2.0 > get_gametime())
{
client_print(id, print_center, "Rakiet mozesz uzywac co 2 sekundy!");
}
 
else
{
if (is_user_alive(id))
{
poprzednia_rakieta_gracza[id] = floatround(get_gametime());
ilosc_rakiet_gracza[id]--;
 
new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];
 
entity_get_vector(id, EV_VEC_v_angle, vAngle);
entity_get_vector(id, EV_VEC_origin , Origin);
 
new Ent = create_entity("info_target");
 
entity_set_string(Ent, EV_SZ_classname, "rocket");
entity_set_model(Ent, "models/rpgrocket.mdl");
 
vAngle[0] *= -1.0;
 
entity_set_origin(Ent, Origin);
entity_set_vector(Ent, EV_VEC_angles, vAngle);
 
entity_set_int(Ent, EV_INT_effects, 2);
entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
entity_set_edict(Ent, EV_ENT_owner, id);
 
VelocityByAim(id, 1000 , Velocity);
entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
}
}
}
 
}
 
public eventKnife_Niewidzialnosc(id)
{
if(!ma_klase[id])
return;
 
if( read_data(2) == CSW_KNIFE )
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 1);
}
else
{
set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
}
}
 
public fwSpawn_Rakiety(id)
{
if(is_user_alive(id))
ilosc_rakiet_gracza[id] = 10;
}
 
public DotykRakiety(ent)
{
if (!is_valid_ent(ent))
return;
 
new attacker = entity_get_edict(ent, EV_ENT_owner);
 
 
new Float:fOrigin[3];
entity_get_vector(ent, EV_VEC_origin, fOrigin);
 
new iOrigin[3];
for(new i=0;i<3;i++)
iOrigin[i] = floatround(fOrigin[i]);
 
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(sprite_blast);
write_byte(32);
write_byte(20);
write_byte(0);
message_end();
 
new entlist[33];
new numfound = find_sphere_class(ent, "player", 190.0, entlist, 32);
 
for (new i=0; i < numfound; i++)
{
new pid = entlist[i];
 
if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid))
continue;
cod_inflict_damage(attacker, pid, 55.0, 0.9, ent, (1<<24));
}
remove_entity(ent);
}
 
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] = 9;
 
return FMRES_IGNORED;
}
 
public fwPrethink_AutoBH(id)
{
if(!ma_klase[id])
return PLUGIN_CONTINUE
 
if (pev(id, pev_button) & IN_JUMP) {
new flags = pev(id, pev_flags)
 
if (flags & FL_WATERJUMP)
return FMRES_IGNORED;
if ( pev(id, pev_waterlevel) >= 2 )
return FMRES_IGNORED;
if ( !(flags & FL_ONGROUND) )
return FMRES_IGNORED;
 
new Float:velocity[3];
pev(id, pev_velocity, velocity);
velocity[2] += 250.0;
set_pev(id, pev_velocity, velocity);
 
set_pev(id, pev_gaitsequence, 6);
 
}
return FMRES_IGNORED;
}
 
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
    if(!is_user_connected(idattacker))
        return HAM_IGNORED;
        
    if(!ma_klase[idattacker])
        return HAM_IGNORED;      
        
    if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_M3 && damagebits & DMG_BULLET && random_num(1, 2) == 1)
        cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
 
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_XM1014 && damagebits & DMG_BULLET && random_num(1, 5) == 1)
        cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
 
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_DEAGLE && damagebits & DMG_BULLET && random_num(1, 3) == 1)
        cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
 
if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_HEGRENADE && damagebits & DMG_HEGRENADE && random_num(1, 2) == 1)
        cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
 
    if(get_user_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET && damage > 20.0)
        cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
            
    return HAM_IGNORED;
}
 
public PreThink(id)
{
if(ma_klase[id])
set_pev(id, pev_punchangle, {0.0,0.0,0.0})
}
 
public UpdateClientData(id, sw, cd_handle)
{
if(ma_klase[id])
set_cd(cd_handle, CD_PunchAngle, {0.0,0.0,0.0})   
}
 
public CurWeapon(id)
{
new team = get_user_team(id)
if(ma_klase[id] && team == 1)
{
cs_set_user_model(id, "sas");
}
if(ma_klase[id] && team == 2)
{
cs_set_user_model(id, "arctic");
}
return PLUGIN_CONTINUE;
}

 

Opublikowano

if(get_user_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET && damage > 20.0)
        cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);

Was ist das? 

 

Co to w ogóle za użycie inflicta? :D

if(weapon == CSW_KNIFE && damage > 20.0)
       SetHamParamFloat(4, float(get_user_health(this)*4));

Już prędzej tak, mnożysz razy 4 aby ominąć AP w razie gdyby ktoś miał. 

Jeśli nie zadziała, to najprościej killplayerem to robić. 

 

Poczytaj tutaj:

http://www.mpcforum.pl/topic/1346036-zabijanie-graczy-wykorzystanie-biblioteki-hamsandwich/

­

yyj6bCh.png
"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad.
Jego poczucie etyki domaga się, aby napisał procedurę
zniszczMiasto, a Bagdad przekazał jako parametr"
 
~
Nathaniel Borenstein 

Opublikowano

A tak ?

 

 

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <hamsandwich>
#include <fakemeta>
#include <cstrike>

#define DMG_BULLET (1<<1)
#define DMG_HEGRENADE (1<<24)

new const nazwa[]   = "ArCAno";
new const opis[]    = "10x Skok | 10x Rakiet | Auto BH | No-Recoil | Ubranie Wroga | Niewidka na nozu | Kosa [1/1] |  M3[1/2] | XM[1/5] |  Deagle[1/3] | He[1/2]";
new const bronie    = (1<<CSW_HEGRENADE)|(1<<CSW_XM1014)|(1<<CSW_SMOKEGRENADE)|(1<<CSW_M3)|(1<<CSW_DEAGLE)|(1<<CSW_FLASHBANG);
new const zdrowie   = 250;
new const kondycja  = 250;
new const inteligencja = 250;
new const wytrzymalosc = 250;

new ma_klase[33];

new sprite_blast;
new ilosc_rakiet_gracza[33];
new poprzednia_rakieta_gracza[33];
new skoki[33];

public plugin_init()
{
    register_plugin(nazwa, "1.0", "ArCAno");
    
    cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
    
    register_event("CurWeapon", "Niewidzialnosc", "be", "1=1");
    register_touch("rocket", "*" , "DotykRakiety");
    RegisterHam(Ham_Spawn, "player", "Rakiety", 1);
    register_forward(FM_CmdStart, "Skoki");
    register_forward(FM_PlayerPreThink, "AutoBH");
    RegisterHam(Ham_TakeDamage, "player", "Zabicie");
    register_forward(FM_PlayerPreThink, "PreThink");
    register_forward(FM_UpdateClientData, "UpdateClientData", 1)
    register_event("CurWeapon","CurWeapon","be", "1=1");
    
}

public plugin_precache()
{
    
    sprite_blast = precache_model("sprites/dexplo.spr");
    precache_model("models/rpgrocket.mdl");
    
}

public client_disconnect(id)
{
    
    new entRakiety = find_ent_by_class(0, "rocket");
    while(entRakiety > 0)
    {
        if(entity_get_edict(entRakiety, EV_ENT_owner) == id)
            remove_entity(entRakiety);
        entRakiety = find_ent_by_class(entRakiety, "rocket");
    }
    
}

public cod_class_enabled(id)
{
    if(!(get_user_flags(id) & ADMIN_LEVEL_H))
    {
        client_print(id, print_chat, "[ArCAno] Nie masz uprawnien, aby uzywac tej klasy.")
        return COD_STOP;
    }
    
    ilosc_rakiet_gracza[id] = 10;
    give_item(id, "weapon_hegrenade");
    give_item(id, "weapon_smokegrenade");
    give_item(id, "weapon_flashbang");
    ma_klase[id] = true;
    
    return COD_CONTINUE;
}

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

public cod_class_skill_used(id)
{
    
    if (!ilosc_rakiet_gracza[id])
    {
        client_print(id, print_center, "Wykorzystales juz wszystkie rakiety!");
    }
    else
    {
        if(poprzednia_rakieta_gracza[id] + 2.0 > get_gametime())
        {
            client_print(id, print_center, "Rakiet mozesz uzywac co 2 sekundy!");
        }
        
        else
        {
            if (is_user_alive(id))
            {
                poprzednia_rakieta_gracza[id] = floatround(get_gametime());
                ilosc_rakiet_gracza[id]--;
                
                new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];
                
                entity_get_vector(id, EV_VEC_v_angle, vAngle);
                entity_get_vector(id, EV_VEC_origin , Origin);
                
                new Ent = create_entity("info_target");
                
                entity_set_string(Ent, EV_SZ_classname, "rocket");
                entity_set_model(Ent, "models/rpgrocket.mdl");
                
                vAngle[0] *= -1.0;
                
                entity_set_origin(Ent, Origin);
                entity_set_vector(Ent, EV_VEC_angles, vAngle);
                
                entity_set_int(Ent, EV_INT_effects, 2);
                entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
                entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
                entity_set_edict(Ent, EV_ENT_owner, id);
                
                VelocityByAim(id, 1000 , Velocity);
                entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
            }
        }
    }
    
}

public Niewidzialnosc(id)
{
    if(!ma_klase[id])
        return;
    
    if( read_data(2) == CSW_KNIFE )
    {
        set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 1);
    }
    else
    {
        set_rendering(id,kRenderFxNone, 0, 0, 0, kRenderTransAlpha, 255);
    }
}

public Rakiety(id)
{
    if(is_user_alive(id))
        ilosc_rakiet_gracza[id] = 10;
}

public DotykRakiety(ent)
{
    if (!is_valid_ent(ent))
    return;
    
    new attacker = entity_get_edict(ent, EV_ENT_owner);
    
    
    new Float:fOrigin[3];
    entity_get_vector(ent, EV_VEC_origin, fOrigin);
    
    new iOrigin[3];
    for(new i=0;i<3;i++)
        iOrigin = floatround(fOrigin);
    
    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(sprite_blast);
    write_byte(32);
    write_byte(20);
    write_byte(0);
    message_end();
    
    new entlist[33];
    new numfound = find_sphere_class(ent, "player", 190.0, entlist, 32);
    
    for (new i=0; i < numfound; i++)
    {
        new pid = entlist;
        
        if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid))
        continue;
        cod_inflict_damage(attacker, pid, 55.0, 0.9, ent, (1<<24));
    }
    remove_entity(ent);
}

public Skoki(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] = 9;
    
    return FMRES_IGNORED;
}

public AutoBH(id)
{
    if(!ma_klase[id])
        return PLUGIN_CONTINUE
    
    if (pev(id, pev_button) & IN_JUMP)
    {
        new flags = pev(id, pev_flags)
        
        if (flags & FL_WATERJUMP)
        return FMRES_IGNORED;
        if ( pev(id, pev_waterlevel) >= 2 )
        return FMRES_IGNORED;
        if ( !(flags & FL_ONGROUND) )
        return FMRES_IGNORED;
        
        new Float:velocity[3];
        pev(id, pev_velocity, velocity);
        velocity[2] += 250.0;
        set_pev(id, pev_velocity, velocity);
        
        set_pev(id, pev_gaitsequence, 6);
        
    }
    return FMRES_IGNORED;
}

public Zabicie(this, idinflictor, idattacker, Float:damage, damagebits)
{
    if(!is_user_connected(idattacker))
        return HAM_IGNORED;
    
    if(!ma_klase[idattacker])
        return HAM_IGNORED;
    
    if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_M3 && damagebits & DMG_BULLET && random_num(1, 2) == 1)
        cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
    
    if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_XM1014 && damagebits & DMG_BULLET && random_num(1, 5) == 1)
        cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
    
    if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_DEAGLE && damagebits & DMG_BULLET && random_num(1, 3) == 1)
        cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
    
    if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_HEGRENADE && damagebits & DMG_HEGRENADE && random_num(1, 2) == 1)
        cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
    
    if(get_user_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET && !(pev(idattacker, pev_button) & IN_ATTACK))
        cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
    
    return HAM_IGNORED;
}

public PreThink(id)
{
    if(ma_klase[id])
        set_pev(id, pev_punchangle, {0.0,0.0,0.0})
}

public UpdateClientData(id, sw, cd_handle)
{
    if(ma_klase[id])
        set_cd(cd_handle, CD_PunchAngle, {0.0,0.0,0.0})
}

public CurWeapon(id)
{
    new team = get_user_team(id)
    if(ma_klase[id] && team == 1)
    {
        cs_set_user_model(id, "sas");
    }
    if(ma_klase[id] && team == 2)
    {
        cs_set_user_model(id, "arctic");
    }
    return PLUGIN_CONTINUE;
}

 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...