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 klasą cod.


CsBiedronka

Rekomendowane odpowiedzi

Opublikowano

Witam, chciałbym się zapytać gdzie jest błąd.. klasa powinna zabierać 25 + int obrazen po wybuchu, a bierze zawsze na hita, nawet jesli ma 0 w inte..

próbowałem juz wszelkich sposobów i juz nie mam pomysłów, myślę ze to jakiś perk moze to powodować ale pewności nie mam. Więc wole najpierw żebyście wy na to spojrzeli.

#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <engine>
#include <fun>
#include <cstrike>
#include <xs>
#include <fakemeta>

new const nazwa[] = "Mnich";
new const opis[] = "Posiada teleport (Mozna uzyc co 10 sekund),wybucha po smierci zadajac + 25 int";
new const bronie = 1<<CSW_MP5NAVY;
new const zdrowie = 0;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;

new ma_klase[33];

new bool:uzyl[33];

new sprite_blast, sprite_white;

public plugin_init()
{
    register_plugin(nazwa, "1.0", "Cyber");
    
    cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
    
    register_event("DeathMsg", "Death", "ade");
    register_event("ResetHUD", "ResetHUD", "abe");
}
public cod_class_enabled(id)
{
    ma_klase[id] = true;
    uzyl[id] = false;
}
    
public cod_class_disabled(id)
{
    ma_klase[id] = false;
}
public Death()
{
    new id = read_data(2);
    if(ma_klase[id])
        Eksploduj(id);
}

public Eksploduj(id)
{
    new Float:fOrigin[3], iOrigin[3];
    entity_get_vector( id, EV_VEC_origin, fOrigin);
    iOrigin[0] = floatround(fOrigin[0]);
    iOrigin[1] = floatround(fOrigin[1]);
    iOrigin[2] = floatround(fOrigin[2]);
    
    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();
    
    message_begin( MSG_BROADCAST, 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] + 300 );
    write_coord( iOrigin[2] + 300 );
    write_short( sprite_white );
    write_byte( 0 ); // startframe
    write_byte( 0 ); // framerate
    write_byte( 10 ); // life
    write_byte( 10 ); // width
    write_byte( 255 ); // noise
    write_byte( 255 ); // r, g, b
    write_byte( 100 );// r, g, b
    write_byte( 100 ); // r, g, b
    write_byte( 128 ); // brightness
    write_byte( 8 ); // speed
    message_end();
    
    new entlist[33];
    new numfound = find_sphere_class(id, "player", 150.0 , entlist, 32);
    
    for (new i=0; i < numfound; i++)
    {        
        new pid = entlist[i];
        
        if (!is_user_alive(pid) || get_user_team(id) == get_user_team(pid))
            continue;
        cod_inflict_damage(id, pid, 25.0, 0.5);
    }
    return PLUGIN_CONTINUE;
}

public cod_class_skill_used(id)
{

if (!uzyl[id]==false)
{
client_print(id, print_center, "Teleport mozna uzywac co 10s");
return PLUGIN_CONTINUE;
}

if(uzyl[id] || !is_user_alive(id))
return PLUGIN_CONTINUE;

new Float:start[3], Float:view_ofs[3];
pev(id, pev_origin, start);
pev(id, pev_view_ofs, view_ofs);
xs_vec_add(start, view_ofs, start);

new Float:dest[3];
pev(id, pev_v_angle, dest);
engfunc(EngFunc_MakeVectors, dest);
global_get(glb_v_forward, dest);
xs_vec_mul_scalar(dest, 999.0, dest);
xs_vec_add(start, dest, dest);

engfunc(EngFunc_TraceLine, start, dest, 0, id, 0);

new Float:fDstOrigin[3];
get_tr2(0, TR_vecEndPos, fDstOrigin);

if(engfunc(EngFunc_PointContents, fDstOrigin) == CONTENTS_SKY)
return PLUGIN_CONTINUE;

new Float:fNormal[3];
get_tr2(0, TR_vecPlaneNormal, fNormal);

xs_vec_mul_scalar(fNormal, 50.0, fNormal);
xs_vec_add(fDstOrigin, fNormal, fDstOrigin);
set_pev(id, pev_origin, fDstOrigin);
uzyl[id] = true;
set_task ( 10.0, "ResetHUD", id )
set_task ( 10.0, "InfoTel", id )
}

public ResetHUD(id)
{
uzyl[id] = false;
}

public InfoTel(id)
{
client_print(id, print_center, "Mozesz uzyc Teleportacji");
}

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...