podmien
register_logevent("logevent_roundend", 2, "1=Round_End")
na
register_logevent("logevent_roundend", 2, "1=Round_Start")
a bron rejestrujesz tutaj w trzecim parametrze
cod_register_class("Nazwa","Opis",0,0,0,0,0)
np.
cod_register_class("Nazwa","Opis", (1<<CSW_AK47 | 1<<CSW_USP) ,0,0,0,0)
i pisz jaki jest ten jeden blad to sie go naprawi niestety ale tak to jest jak daje sie suchy kod bez sprawdzenia no ale tak jak mowie nie mam coda
albo tutaj ma prawie całą gotową klasę, przerobiłem typowo pod codmoda, ma #include codmod i typowe ustawienie
#include <amxmodx>
#include <codmod>
#include <hamsandwich>
#include <fakemeta>
#include <colorchat>
#define model "models/v_cod_class_knife.mdl"
new const nazwa[] = "Nazwa";
new const opis[] = "Posiada 1/1 z kosy oraz unikalny model na 5 sekund.";
new const bronie = (1<<CSW_FAMAS);
new const zdrowie = 0;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;
new bool:ma_klase[33],Float:g_player_item_time[33],bool:g_player_item_used[33],g_maxplayers
public plugin_precache()
precache_model(model)
public plugin_init() {
register_plugin("
cod class nazwa klasy", "1.0", "fresh")
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
RegisterHam(Ham_TakeDamage,"player","bacon_player_takedamage_pre",false)
RegisterHam(Ham_Killed,"player","bacon_player_killed_post",true)
register_event("CurWeapon","event_curweapon","be","1=1","2=29")
register_logevent("logevent_roundend", 2, "1=Round_Start")
g_maxplayers = get_maxplayers()
}
public cod_class_enabled(id)
{
ma_klase[id] = true;
}
public cod_class_disabled(id)
{
ma_klase[id] = false;
}
public cod_class_skill_used(id)
{
if(g_player_item_used[id])
{
ColorChat(id, RED, "Umiejetnosc klasy mozesz uzyc tylko raz na runde.");
return;
}
set_task(5.0,"task_remove_knife_model",id)
g_player_item_time[id] = get_gametime() + 5.0
g_player_item_used[id] = true
if(get_user_weapon(id) == CSW_KNIFE)
set_pev(id,pev_viewmodel2,"models/v_knife.mdl")
}
public bacon_player_takedamage_pre(id,inflictor,attacker,Float:damage,damagetype)
{
if(!is_user_alive(attacker) || !ma_klase[attacker] || get_gametime() > g_player_item_time[attacker])
return HAM_IGNORED
static button
button = pev(attacker,pev_button)
if((button & IN_ATTACK2) && get_user_weapon(attacker) == CSW_KNIFE && inflictor == attacker)
{
static Float:health
pev(id,pev_health,health)
SetHamParamFloat(4,health*10.0)
return HAM_HANDLED
}
return HAM_IGNORED
}
public bacon_player_killed_post(id,attacker,shouldgib)
if(task_exists(id))
remove_task(id)
public event_curweapon(id)
{
if(!is_user_alive(id) || !ma_klase[id] || get_gametime() > g_player_item_time[id])
return;
set_pev(id,pev_viewmodel2,model)
}
public logevent_roundend()
{
static id;
for(id = 1;id <= g_maxplayers;id++)
g_player_item_used[id] = false
}
public task_remove_knife_model(id)
{
if(!ma_klase[id])
return;
static weapon;
weapon = get_user_weapon(id)
if(weapon != CSW_KNIFE)
return;
static viewmodel[64]
pev(id,pev_viewmodel2,viewmodel,63)
if(equal(viewmodel,model))
{
weapon = get_pdata_cbase(id, 370)
if(pev_valid(weapon))
ExecuteHam(Ham_Item_Deploy,weapon)
}
}
Użytkownik Ziome3eg edytował ten post 24.11.2017 00:10