←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Problem z regeneracja HP

Zablokowany

Romek - zdjęcie Romek 22.07.2010

Witam.
Chcialem zrobic dodatek ze dla danej klasy hp regeneruje sie na kazdej broni po 30.
Wiec zrobilem

new hpnabroni[33]

i
Do
public client_connect(id)
dodałem

hpnabroni[id] = 0

Zrobilem

public hpnabroni(id)
{
change_health(id,30,0,"")
}

Przed switch w wyborze klas dałem

hpnabroni[id] = 0

A przy klasie

hp_nabroni[id] = 1

Ale przy kompilacji wywala blad na linijke

change_health(id,999,0,"")


Wiec jak to zrobic ?
Odpowiedz

  • +
  • -
solven - zdjęcie solven 22.07.2010

jestem w tym zielony, ale ciagle masz
hpnabroni[id]


a raz pokazujesz
hp_nabroni[id]


na pewno tak? w sumie chce zeby ci szybko pomogli bo mam ten sam problem tylko ze ja chce zrobic zeby klasie roslo po 5hp/1sek :)
Użytkownik solven edytował ten post 22.07.2010 18:28
Odpowiedz

  • +
  • -
Apple() - zdjęcie Apple() 22.07.2010

to jest git ale myślę że tak będzie lepiej

gdzieś na początku

new zycionko(id) = get_user_health(id)


to gdzieś w klasie

if(player_class[id] == TwójStary){
hpnabroni(id) = 1}
}



public hpnabroni(id)
{
set_task(5.0, "dajmizyc", id, _, _, "b")
}



public dajmizyc(id)
{
set_user_health(id, zycionko(id)+30)
if(zycionko(id) >= 200){ // tu gdzie jest 200 to piszesz ile klasa ma max hp
hpnabroni(id) = 0}
}


nie mam pojęcia czy będzie działało - try and do it

@ehh jednak nie działa - niech ktoś poprawi/ulepszy
Użytkownik Apple() edytował ten post 22.07.2010 19:49
Odpowiedz

  • +
  • -
Vertricus - zdjęcie Vertricus 23.07.2010

Wklej do plugin_init powinno ruszyć :D
	register_think("HealBot", "HealBotThink");
CreateHealBot();

Wklej na koniec:
CreateHealBot()
{
new Bot = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"));
if (Bot)
{
set_pev(Bot, pev_classname, "HealBot");
dllfunc(DLLFunc_Spawn, Bot);
set_pev(Bot, pev_nextthink, get_gametime() + 5.0);
}
}
public HealBotThink(Bot)
{
new iPlayers[32], iNum, id;
get_players(iPlayers, iNum);
for(new i; i<iNum; i++)
{
id = iPlayers[i];
if (!is_user_alive(id)) continue;
if (player_class[id] != Twoja_Klasa) continue;

change_health(id,30,0,"");
}
set_pev(Bot, pev_nextthink, get_gametime() + 5.0);
}
Odpowiedz
Zablokowany