Cześć, wstawiam wam tutaj poradnik jak dodać do swojej klasy bajer AutoBH, ten z generatora nie działał mi poprawnie, mimo próbowania ustawiania wszystkich komend klasa nie nabierała dużej prędkości, a więc pokażę wam jak zrobić coś takiego jak na deathrunie.
- Otwórz *sma swojej klasy.
- Na początku pod dowolną biblioteką dodaj
#include <engine>
- Pod ostatnią biblioteką dodaj
#define FL_WATERJUMP (1<<11)
#define FL_ONGROUND (1<<9)
- Pod
new const wytrzymalosc
- Dodaj:
new is_bh[33];
- Do public plugin_init dodaj
register_cvar("bh_enabled", "1")
register_cvar("bh_autojump", "1")
Tutaj są cvary, każdy raczej się w tym połapie.
- Do public cod_class_enabled dodaj:
is_bh[id] = true;
- Do public cod_class_disabled dodaj
is_bh[id] = false;
- Na końcu kodu źródłowego klasy dodaj:
public client_PreThink(id) {
if (!get_cvar_num("bh_enabled"))
return PLUGIN_CONTINUE
if(!is_bh[id])
return PLUGIN_HANDLED;
entity_set_float(id, EV_FL_fuser2, 0.0)
if (!get_cvar_num("bh_autojump"))
return PLUGIN_CONTINUE
// Code from CBasePlayer::Jump (player.cpp) //automatyczne skoki
if (entity_get_int(id, EV_INT_button) & 2) { // trzymajac spacje
new flags = entity_get_int(id, EV_INT_flags)
if (flags & FL_WATERJUMP)
return PLUGIN_CONTINUE
if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
return PLUGIN_CONTINUE
if ( !(flags & FL_ONGROUND) )
return PLUGIN_CONTINUE
new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
velocity[2] += 250.0
entity_set_vector(id, EV_VEC_velocity, velocity)
entity_set_int(id, EV_INT_gaitsequence, 6) //animacja skoku
}
return PLUGIN_CONTINUE
}
Mi tam to pomogło, mam nadzieję że może wam też, pozdrawiam - 0x dzix.