hlmod.hu
https://hlmod.hu/

hsért +hp
https://hlmod.hu/viewtopic.php?f=9&t=27074
Oldal: 1 / 2

Szerző:  Ricsiko [2017.01.15. 14:15 ]
Hozzászólás témája:  hsért +hp

Hello
van egy jó vip pluginom, de bele szeretném rakni hogy ha fejest lő adjon +10 hp-t
eddig ezt raktam be...de nem jó:
Kód:
new health_hs_add
public plugin_init() {
   register_event("DeathMsg", "halal", "a")
   health_hs_add = register_cvar("amx_vip_hp_hs", "10")
}

public halal()
{
new hs = read_data(3)   
if(hs)
set_user_health(id,get_user_health(id)+health_hs_add)
}


valami tipp? vagy mit hagytam ki?

Szerző:  koko.988 [2017.01.15. 14:19 ]
Hozzászólás témája:  Re: hsért +hp

Ricsiko írta:
Hello
van egy jó vip pluginom, de bele szeretném rakni hogy ha fejest lő adjon +10 hp-t
eddig ezt raktam be...de nem jó:
Kód:
new health_hs_add
public plugin_init() {
   register_event("DeathMsg", "halal", "a")
   health_hs_add = register_cvar("amx_vip_hp_hs", "10")
}

public halal()
{
new hs = read_data(3)   
if(hs)
set_user_health(id,get_user_health(id)+health_hs_add)
}


valami tipp? vagy mit hagytam ki?



set_user_health(id,get_user_health(id)+get_pcvar_num(health_hs_add));
Ezzel próbáld, hátha.
Edit.: De amúgy hol van az lekérve, hogy nem történt öngyilkosság?! if(killer != victim && hs)

Szerző:  Ricsiko [2017.01.15. 14:20 ]
Hozzászólás témája:  Re: hsért +hp

undefined symbol "id"
:/

Szerző:  Krisznitro [2017.01.15. 14:29 ]
Hozzászólás témája:  Re: hsért +hp

Ricsiko írta:
undefined symbol "id"
:/

  1. public halal()

-->
  1. public halal(id)

Szerző:  Ricsiko [2017.01.15. 14:33 ]
Hozzászólás témája:  Re: hsért +hp

1. szerintem hülyeség lekérni hogy öngyilkosság-e mivel +hpt kap tehát ha a gyilkos megöli magát úgy is halott és baszhatja a +hpt :D
2. basssszus ilyet kihagyni, félisten lettél! köszönet :)

Szerző:  KillerBoy12 [2017.01.15. 15:19 ]
Hozzászólás témája:  Re: hsért +hp

  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fun>
  4.  
  5. public plugin_init() {
  6.     register_plugin("", "", "")
  7.     register_event("DeathMsg", "CmdDead", "a")
  8. }
  9. public CmdDead() {
  10.     new iKiller = read_data(1)
  11.     new iVictim = read_data(2)
  12.     new iHs = read_data(3)
  13.    
  14.     if(iKiller != iVictim) {
  15.         return PLUGIN_HANDLED
  16.     }
  17.     if(iHs) {
  18.         set_user_health(iKiller, get_user_health(iKiller)+10)
  19.     }
  20.     return PLUGIN_HANDLED
  21. }

Szerző:  Ricsiko [2017.01.15. 15:31 ]
Hozzászólás témája:  Re: hsért +hp

a hibát már nem írja
de még nem adja hozzá a +hpt :/
Kód:
public plugin_init() {
   register_event("DeathMsg", "halal", "a")
}

public halal()
{
new hs = read_data(3)   
if(hs)
set_user_health(id,get_user_health(id)+10)
}

Szerző:  KillerBoy12 [2017.01.15. 15:34 ]
Hozzászólás témája:  Re: hsért +hp

set_user_health(id,get_user_health(id)+10)

itt nem kell id, azért ír hibát oda írd hogy hs az id helyére

Szerző:  Ricsiko [2017.01.15. 15:43 ]
Hozzászólás témája:  Re: hsért +hp

köszi! rendben lett :)

Szerző:  Akosch:. [2017.01.15. 16:01 ]
Hozzászólás témája:  Re: hsért +hp

Na akkor tegyünk rendbe mindent.
A DeathMsg egy esemény a játékban, amiből 4 adatot tudsz lekérni ( read_data( x ) ):

1. - A gyilkos azonosítóját ( id; 1-32-ig )
2. - Az áldozata azonosítóját ( id; 1-32-ig szintúgy )
3. - Hogy fejlövéssel ölte-e meg ( 0 - nem, 1 - igen )
4. - A gyilkos halálos lövést leadó fegyverének a neve ( szöveg szóval kicsit máshogy kell lekérni: read_data( 4, sWpnName, charsmax ( sWpnName ) ) )

Ez az eljárás nem ad át paramétereket csak a read_data függvénnyel tudsz lekérni adatokat. ( a függvény neve után a zárójelek közé felesleges bármit is írni )
Ez az eljárás az esemény megtörténte után hívódik meg, nem tudod módosítani az eseményt itt, pl megakadályozni az áldozat halálát.

Az első kódodban az a hiba, hogy sehol sincs definiálva az id nevű változó, utána volt még egy kód ott a:
  1. if ( iKiller != iVictim )
  2.       return PLUGIN_HANDLED;

Olvasd a kódot, ha a gyilkos nem egyenlő az áldozattal akkor visszatérünk és nem csinálunk semmit. Ezen a feltételen csak akkor jutsz tovább, ha öngyilkosságot követett el valaki, de akkor meg ahigy előbb leírtam ebben az eljárásban nem tudsz módosítani az esemény kimenetelén ( nem fogja megmenteni a +10hp mert meg se kapja ).

A set_user_health függvénynek pedig miért ne kéne egy id?
Így nézne ki a függvény/ek:
get_user_health( x )
set_user_health( x, y )
X = a játékos azonosítójával akinek az életét állítanád / lekérnéd a getnél.
Y = a beállítani kívánt élettel.

Ezek alapján próbáld meg javítani ( de tényleg ), ha nem megy posztold ide a kódot és javítom.

Oldal: 1 / 2 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/