Klasa Dmg na nożu
Kogut
09.03.2012
Witam założenia tej klasy są takie, ze na nozu ladujemy sa dmg lecz nie działa.
Oraz jak zrobić by dmg ladowane na nozu zalezalo od int
Oraz sprubowalem tak ale mam bledy w konsoli
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <fakemeta>
#include <hamsandwich>
new const nazwa[] = "";
new const opis[] = "";
new const bronie = 0;
new const zdrowie = 0;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;
new dmg[32];
new bool: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_CmdStart, "fwCmdStart_MultiJump");
register_event("CurWeapon","CurWeapon","be", "1=1");
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
}
public cod_class_enabled(id)
{
ma_klase[id] = true;
}
public cod_class_disabled(id)
{
ma_klase[id] = false;
}
public CurWeapon(id)
{
new weapon = read_data(2);
if(weapon == CSW_KNIFE)
{
set_task(1.0,"DodajDMG",(id)+6712)
}
else
{
remove_task((id)+6712)
}
}
public DodajDMG(id)
{
(id)-=6712;
dmg[id]+=15;
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_alive(this) || !is_user_connected(this) || !is_user_connected(idattacker) || get_user_team(this) == get_user_team(idattacker))
return HAM_IGNORED;
SetHamParamFloat(4, damage+dmg[idattacker]);
return HAM_IGNORED;
}
Oraz jak zrobić by dmg ladowane na nozu zalezalo od int
Oraz sprubowalem tak ale mam bledy w konsoli
#include <amxmodx>
#include <codmod>
#include <fakemeta>
#include <hamsandwich>
#define TASK_ID 128000
#define CZAS_LADOWANIA 10 // Jak dlugo ma sie ladowac moc w sekundach
new bool:moc_zaladowana[33];
new bool:ma_klase[33];
new msg_bartime;
new dmg[32];
new const nazwa[] = "Truciciel";
new const opis[] = "Po naladowaniu noza, zatruwa swoich wrogow.";
new const bronie = 1<<CSW_HEGRENADE | 1<<CSW_SMOKEGRENADE | 1<<CSW_AK47;
new const zdrowie = 20;
new const kondycja = 10;
new const inteligencja = 2;
new const wytrzymalosc = 0;
public plugin_init()
{
register_plugin(nazwa, "1.0", "QTM_Peyote");
register_event("CurWeapon", "CurWeapon", "be", "1=1");
register_event("ResetHUD", "ResetHUD", "abe");
register_event("Damage", "Damage", "be", "2!0", "3=0", "4!0")
msg_bartime = get_user_msgid("BarTime");
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
register_forward(FM_PlayerPreThink, "client_PreThink");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
}
public cod_class_enabled(id)
ma_klase[id] = true;
public cod_class_disabled(id)
ma_klase[id] = false;
public client_PreThink(id)
{
if(!task_exists(id+TASK_ID))
return;
if(pev(id, pev_button) & (IN_MOVELEFT+IN_MOVERIGHT+IN_FORWARD+IN_BACK+IN_JUMP+IN_DUCK))
{
change_task(id+TASK_ID, CZAS_LADOWANIA.0);
set_bartime(id, CZAS_LADOWANIA);
}
}
public CurWeapon(id)
{
if(get_user_weapon(id) == CSW_KNIFE && !moc_zaladowana[id] && ma_klase[id])
{
set_task(CZAS_LADOWANIA.0, "MocZaladowana", id+TASK_ID);
set_bartime(id, CZAS_LADOWANIA);
}
else
{
remove_task(id+TASK_ID);
set_bartime(id, 0);
}
}
stock set_bartime(id, czas)
{
message_begin((id)?MSG_ONE:MSG_ALL, msg_bartime, _, id)
write_short(czas);
message_end();
}
public MocZaladowana(id)
{
id-=6712;
dmg[id]+=15;
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_alive(this) || !is_user_connected(this) || !is_user_connected(idattacker) || get_user_team(this) == get_user_team(idattacker))
return HAM_IGNORED;
SetHamParamFloat(4, damage+dmg[idattacker]);
return HAM_IGNORED;
}