Czy hp za killa jest poprawnie
glut
19.07.2012
new cvar,cvar2,cvar3,cvar4
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
cvar = register_cvar("block_bronie","1")
cvar2 = register_cvar("block_sklep","1")
cvar3 = register_cvar("kill_hs","20")
cvar4 = register_cvar("kill","10")
}
public DeathMsg()
{
new kid = read_data(1) //zabojca
new hs = read_data(3) // HeadShot (1 == true)
if(is_user_connected(kid) && is_user_alive(kid) && get_user_health(kid) <= 160)
{
if(hs)
set_user_health(kid,get_user_health(kid)+get_pcvar_num(cvar3)) //HP za HS
else
set_user_health(kid,get_user_health(kid)+get_pcvar_num(cvar4)) // HP za killa
}
}
I nw czy zadziała to;
(kid,get_user_health(kid)+get_pcvar_num(cvar3)
Użytkownik glut1997 edytował ten post 19.07.2012 14:35
glut
19.07.2012
Sorka ale nie mogę edytować Public DeathMsg poprawilem troche i nw czy zadziala
public DeathMsg()
{
new kid = read_data(1) //zabojca
new hs = read_data(3) // HeadShot (1 == true)
if(is_user_connected(kid) && is_user_alive(kid) && get_user_health(kid) <= 160)
{
if(hs)
{
if(set_user_health(kid,get_user_health(kid)+get_pcvar_num(cvar3))) //HP za HS
{
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
show_hudmessage(kid, "Healed +%d hp", cvar3)
}
else
{
if(set_user_health(kid,get_user_health(kid)+get_pcvar_num(cvar4))) // HP za killa
{
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
show_hudmessage(kid, "Healed +%d hp", cvar4)
}
}
}
}
}
ogieR8
19.07.2012
Nie jestem pewny, ale mój kod powinien działać w większych procentach niż Twój - z doświadczenia wiem, ze if(hs) nie działa (próbowałem kiedyś ;/) Ty dajesz w warunku 'set' ? ;o To nie ma prawa dzialac.
Jak np chcesz dać za HS'a 12$, a za KILL'a 5$ to tak : każdy kto walnie HS'a jest zabójcą, czyli zabójcy dać 5$, a temu kto walnie HS dać 7$, czemu ? Juz mowilem, jesli walnie hs to tez i musi zabic, wiec tą piątke dolarów te dostanie. Tak mi działało, o ile się nie mylę teraz.
Zamień :
Na :
Użytkownik ogieR- edytował ten post 19.07.2012 19:31
Jak np chcesz dać za HS'a 12$, a za KILL'a 5$ to tak : każdy kto walnie HS'a jest zabójcą, czyli zabójcy dać 5$, a temu kto walnie HS dać 7$, czemu ? Juz mowilem, jesli walnie hs to tez i musi zabic, wiec tą piątke dolarów te dostanie. Tak mi działało, o ile się nie mylę teraz.
Zamień :
Spoiler
Na :
Spoiler
Użytkownik ogieR- edytował ten post 19.07.2012 19:31
d0naciak
19.07.2012
public DeathMsg() { new kid = read_data(1) //zabojca new hs = read_data(3) // HeadShot (1 == true) if(is_user_alive(kid)) { if(hs) { set_user_health(kid,get_user_health(kid)+get_pcvar_num(cvar3))) //HP za HS set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1) show_hudmessage(kid, "Healthed +%d hp", cvar3) } else { set_user_health(kid,get_user_health(kid)+get_pcvar_num(cvar4))) // HP za killa set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1) show_hudmessage(kid, "Healthed +%d hp", cvar4) } if(get_user_health(kid) > 160) set_user_health(kid, 160); } }
glut
19.07.2012
czyli tak będzie działać jak zrobie ??
public DeathMsg()
{
new kid = read_data(1) //zabojca
new hs = read_data(3) // HeadShot (1 == true)
if(is_user_connected(kid) && is_user_alive(kid) && get_user_health(kid) >= 160)
{
if(hs)
{
if(set_user_health(kid,get_user_health(kid)+get_pcvar_num(cvar3))) //HP za HS
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
show_hudmessage(kid, "Healed +%d hp", cvar3)
}
else
{
if(set_user_health(kid,get_user_health(kid)+get_pcvar_num(cvar4))) // HP za killa
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
show_hudmessage(kid, "Healed +%d hp", cvar4)
}
}
}
d0naciak
19.07.2012
usun is_user_connected, skoro masz is user alive
I po dodaniu moze przekroczyc 160hp, wiec dodaj warunek ze jzeli przekroczy, ustawia 160hp
i usun set_user_health z if()
I po dodaniu moze przekroczyc 160hp, wiec dodaj warunek ze jzeli przekroczy, ustawia 160hp
i usun set_user_health z if()
glut
19.07.2012
aha czyli kod może być tak i bd all ok
public DeathMsg()
{
new kid = read_data(1) //zabojca
new hs = read_data(3) // HeadShot (1 == true)
if(is_user_alive(kid) && get_user_health(kid) >= 160)
{
if(hs)
{
if(set_user_health(kid,get_user_health(kid)+get_pcvar_num(cvar3))) //HP za HS
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
show_hudmessage(kid, "Healed +%d hp", cvar3)
}
else
{
if(set_user_health(kid,get_user_health(kid)+get_pcvar_num(cvar4))) // HP za killa
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
show_hudmessage(kid, "Healed +%d hp", cvar4)
}
}
else
{
set_user_health(kid, 160)
}
}
d0naciak
19.07.2012
niestety nie, usun set_user_health z if(), i bedzie dodawac 160hp, jezeli gracz nie zabil nikogo, i dodaj na gore if(!is_user_alive(kid)) return PLUGIN_CONTINUE;
i na sam dol przed ostatnio klamra dodaj return PLUGIN_CONTINUE;
Użytkownik d0n tHe Pr0oo edytował ten post 19.07.2012 20:08
i na sam dol przed ostatnio klamra dodaj return PLUGIN_CONTINUE;
Użytkownik d0n tHe Pr0oo edytował ten post 19.07.2012 20:08
glut
19.07.2012
czyli tak ma być ??
public DeathMsg()
{
new kid = read_data(1) //zabojca
new hs = read_data(3) // HeadShot (1 == true)
if(!is_user_alive(kid))
return PLUGIN_CONTINUE;
{
if(hs)
{
if(set_user_health(kid,get_user_health(kid)+get_pcvar_num(cvar3))) //HP za HS
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
show_hudmessage(kid, "Healed +%d hp", cvar3)
}
else
{
if(set_user_health(kid,get_user_health(kid)+get_pcvar_num(cvar4))) // HP za killa
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
show_hudmessage(kid, "Healed +%d hp", cvar4)
}
}
if(get_user_health(kid) >= 160)
set_user_health(kid, 160);
return PLUGIN_CONTINUE;
}
Gość_21977_* 19.07.2012
if(is_user_alive(kid) && get_user_health(kid) >= 160)jakiekolwiek życie zostanie dodane tylko, jeśli zabójca ma min. 160 HP.
@up
if(set_user_healthnie jest to poprawne.
@edit: Nie możesz od tak pobrać sobie cvar3 jako wartość cvara. Należy użyć get_pcvar_num(cvar3)
d0naciak
19.07.2012
usun if() tam gdzie set_user_health czyli
na
tak samo zrob przy hp za killa oraz tak dla poprawki nie ma słowa healed
Użytkownik d0n tHe Pr0oo edytował ten post 19.07.2012 20:15
if(set_user_health(kid,get_user_health(kid)+get_pcvar_num(cvar3)))
na
set_user_health(kid,get_user_health(kid)+get_pcvar_num(cvar3))
tak samo zrob przy hp za killa oraz tak dla poprawki nie ma słowa healed
Użytkownik d0n tHe Pr0oo edytował ten post 19.07.2012 20:15
glut
19.07.2012
czyli będzie
i chciałem się zapytać czy to bd poprawne
Użytkownik glut1997 edytował ten post 19.07.2012 20:20
public DeathMsg()
{
new kid = read_data(1) //zabojca
new hs = read_data(3) // HeadShot (1 == true)
if(!is_user_alive(kid))
return PLUGIN_CONTINUE;
{
if(hs)
{
set_user_health(kid,get_user_health(kid)+get_pcvar_num(cvar3)) //HP za HS
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
show_hudmessage(kid, "Otrzymales +%d do hp", get_pcvar_num(cvar3))
}
else
{
set_user_health(kid,get_user_health(kid)+get_pcvar_num(cvar4)) // HP za killa
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
show_hudmessage(kid, "Otrzymales +%d do hp", get_pcvar_num(cvar4))
}
}
if(get_user_health(kid) >= 160)
set_user_health(kid, 160);
return PLUGIN_CONTINUE;
}
i chciałem się zapytać czy to bd poprawne
new flaga = ADMIN_LEVEL_H
Użytkownik glut1997 edytował ten post 19.07.2012 20:20
d0naciak
19.07.2012
@down a tak :
@edit pod if(!is_user_alive(id)) nie dawaj klamry
nie zadziała, ale nie podtwierdze
Użytkownik d0n tHe Pr0oo edytował ten post 19.07.2012 20:22
@edit pod if(!is_user_alive(id)) nie dawaj klamry
new flaga = get_user_flags(id);
nie zadziała, ale nie podtwierdze
Użytkownik d0n tHe Pr0oo edytował ten post 19.07.2012 20:22
glut
19.07.2012
Beniowi chodziło o
@up
mi chodzi o
Użytkownik glut1997 edytował ten post 19.07.2012 20:24
show_hudmessage(kid, "Healed +%d hp", cvar4)
@up
mi chodzi o
new flaga = ADMIN_LEVEL_H
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /vip","opis_vipa");
register_clcmd("say /mv","menu_vipa",flaga);
register_clcmd("say /bronie","bronie",flaga);
register_clcmd("say /sklep","sklep",flaga);
}
Użytkownik glut1997 edytował ten post 19.07.2012 20:24
Gość_21977_* 19.07.2012
Uprościłem kod i poprawiłem co nieco:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <fakemeta>
#include <cstrike>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
#define HP_MAX 160
new cvar,cvar2,cvar3,cvar4
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
cvar = register_cvar("block_bronie","1")
cvar2 = register_cvar("block_sklep","1")
cvar3 = register_cvar("kill_hs","20")
cvar4 = register_cvar("kill","10")
}
public DeathMsg()
{
new kid = read_data(1) //zabojca
new hs = read_data(3) // HeadShot (1 == true)
if(is_user_alive(kid))
{
new hp=get_user_health(kid)
new newhp=min(hp+get_pcvar_num(hs?cvar3:cvar4),HP_MAX)
set_user_health(kid,newhp);
new healed=max(0,newhp-hp);
if(healed){
show_hudmessage(kid, "Healed +%d hp", healed)
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1)
}
}
}
Użytkownik benio101 edytował ten post 19.07.2012 20:28
glut
19.07.2012
Benio dzięki ale chcę zrobić według swoich umiejętności bo chcę się nauczyć a nie mieć gotowca. Ten vip nie jest po to aby był tylko traktuje to jak małe wprowadzenie do scriptingu amxx
d0naciak
19.07.2012
zamiast uzywac
uzyj
new flaga = ADMIN_LEVEL_H
uzyj
#define flaga ADMIN_LEVEL_H
glut
19.07.2012
czyli
#define flaga ADMIN_LEVEL_H
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /vip","opis_vipa");
register_clcmd("say /mv","menu_vipa",flaga);
register_clcmd("say /bronie","bronie",flaga);
register_clcmd("say /sklep","sklep",flaga);
}
Nenczoks 19.07.2012
Dla mnie niezrozumiałe jest to: is_user_alive(kid) podczas kiedy kid = zabójca. Po co sprawdzanie czy zabójca jest żywy. Prędzej czy żywy jest ten zabity (najpierw is_user_connected(np. zabity). - to będzie lepszym rozwiązaniem według mnie.
Użytkownik Nenczoks edytował ten post 19.07.2012 22:52
Użytkownik Nenczoks edytował ten post 19.07.2012 22:52
Gość_21977_* 19.07.2012
@up: Prosty przykład: CT rzuca HE, wnet dostaje HS z AK od Terro, po czym rzucony granat, nie żyjącego już CT dobija Terro, tym samym zabójca (CT, który rzucił HE) jest martwy (został zabity przez Terro w trakcie lotu HE).