promieniotworczy okrag - http://amxx.pl/topic...k-fala-smierci/
1/3 szansy na spowolnienie - http://amxx.pl/topic...rkow-by-czyzyk/ (pociski oslabiajace)
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <codmod>
#include <hamsandwich>
#include <fun>
#include <engine>
#define FALA_SMIERCI 7845
#define OBRAZENIA 15 //tu mozesz zmienic wartosc zadawanych obrazen na sec
#define CZAS_OBRAZEN 10 //tu mozesz zmienic czas efektu (w sec.)
new sprite_white
new const nazwa[] = "Kapral";
new const opis[] = "Masz 1/3 szansy na spowolnienie wroga oraz promieniotworczy okreg, ktory zabiera HP";
new const bronie = 1<<CSW_FAMAS;
new const zdrowie = 40;
new const kondycja = 20;
new const inteligencja = 5;
new const wytrzymalosc = 10;
new const obrazenia = 5;
new ilosc_fal[33] = 0
new czas_obrazen[33]
new bool:ma_klase[33]
new czas[33], zwolnienie[33]
public plugin_init()
{
register_plugin(nazwa, "1.0", "QTM_Peyote")
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc, obrazenia);
RegisterHam(Ham_TakeDamage, "player", "TakeDamage", 1)
register_event("ResetHUD", "ResetHUD", "abe");
}
public plugin_precache()
sprite_white = precache_model("sprites/white.spr");
public TakeDamage(this, idattacker, Float:damage)
{
new liczba = random_num(1, 3)
if(!is_user_connected(idattacker))
return HAM_IGNORED;
if(!ma_klase[idattacker])
return HAM_IGNORED;
if(ma_klase[idattacker] && damage>0 && liczba==3 && !zwolnienie[this])
{
zwolnienie[this] = true
czas[this] = 10
set_task(1.0, "Ticker", this, _, _, "b")
return PLUGIN_HANDLED
}
return PLUGIN_HANDLED
}
public Ticker(id)
{
czas[id]--
if(czas[id] > 0 )
{
set_user_maxspeed(id, (get_user_maxspeed(id))-5.0)
} else {
remove_task(id)
}
}
public Poczatek_Rundy(id)
{ if(ma_klase[id])
zwolnienie[id] = false
}
public cod_class_enabled(id)
{
ma_klase[id] = true
ilosc_fal[id] = 5 //tu wpisz ilosc fal na runde
}
public cod_class_disabled(id)
{
ma_klase[id] = false
ilosc_fal[id]=0
}
public cod_class_skill_used(id)
{
if(ilosc_fal[id] == 0 || !is_user_alive(id) || !ma_klase[id])
return PLUGIN_CONTINUE
ilosc_fal[id]--;
new iOrigin[3];
get_user_origin(id, iOrigin);
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 );
write_byte( 0 );
write_byte( 10 );
write_byte( 120 );
write_byte( 255 );
write_byte( 255 );
write_byte( 0 );
write_byte( 0 );
write_byte( 100 );
write_byte( 4 );
message_end();
new entlist[33];
new numfound = find_sphere_class(id, "player", 300.0, entlist, 32);
for (new i=0; i < numfound; i++)
{
new vic = entlist[i];
if (is_user_alive(vic) && get_user_team(id) != get_user_team(vic)){
czas_obrazen[vic] = CZAS_OBRAZEN
set_task(1.0, "FalaSmierci_task", vic+FALA_SMIERCI, _, _, "b")
}
}
return PLUGIN_CONTINUE;
}
public FalaSmierci_task(id)
{
id -= FALA_SMIERCI
czas_obrazen[id]--
set_user_health(id, (get_user_health(id)-OBRAZENIA))
if(!(is_user_alive(id)) || !(is_user_connected(id)) || czas_obrazen[id] <= 0){
if(task_exists(id+FALA_SMIERCI)) remove_task(id+FALA_SMIERCI)
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public ResetHUD(id)
ilosc_fal[id] = 5
ref
ref