sprawdzanie czy funkcja została wykonana
Arbitralny
07.10.2014
Jak zrobić warunki sprawdzające if(zycie z przyznaj zostalo dodane && cod_get_user_intelligence(id, 1, 1, 1) < 100) i if(juz otrzymal) ?
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "ADMIN"
new bool:ma_klase[33];
new const nazwa[] = "przyklad";
new const opis[] = "przyklad";
new const bronie = 0;
new const zdrowie = 0;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;
new const obrazenia = 0;
new const regeneracja = 0;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc, obrazenia, regeneracja);
register_logevent("Przyznaj", 2, "1=Round_Start");
register_logevent("Sprawdz", 2, "1=Round_Start");
}
public cod_class_enabled(id)
{
ma_klase[id] = true;
}
public cod_class_disabled(id)
{
if(zycie z przyznaj zostalo dodane && cod_get_user_intelligence(id, 1, 1, 1) < 100)
{
cod_set_user_bonus_health(id, cod_get_user_health(id, 0, 0)-100);
}
ma_klase[id] = false;
}
public Przyznaj()
{
new num, players[32];
get_players(players, num, "gh")
for(new i=0; i<num; i++)
{
new id = players[i]
if(juz otrzymal)
return;
if(ma_klase[id] && is_user_alive(id) && cod_get_user_intelligence(id, 1, 1, 1) >= 100)
{
cod_set_user_bonus_health(id, cod_get_user_health(id, 0, 0)+100);
}
}
}
public Sprawdz()
{
new num, players[32];
get_players(players, num, "gh")
for(new i=0; i<num; i++)
{
new id = players[i]
if(zycie z przyznaj zostalo dodane && cod_get_user_intelligence(id, 1, 1, 1) < 100)
{
cod_set_user_bonus_health(id, cod_get_user_health(id, 0, 0)-100);
}
}
}
Użytkownik Arbitralny edytował ten post 07.10.2014 22:40
Wielkie Jol
08.10.2014
Wartość bool: true/false w chwili przyznawania bonusu? O to chodzi?
Arbitralny
08.10.2014
Jeżeli o to chodzi, to mam użyć tego w ten sposób? ![]()
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "ADMIN"
new bool:ma_klase[33];
new bool:przyznane[33];
new const nazwa[] = "przyklad";
new const opis[] = "przyklad";
new const bronie = 0;
new const zdrowie = 0;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;
new const obrazenia = 0;
new const regeneracja = 0;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc, obrazenia, regeneracja);
register_logevent("Przyznaj", 2, "1=Round_Start");
register_logevent("Sprawdz", 2, "1=Round_Start");
}
public cod_class_enabled(id)
{
ma_klase[id] = true;
}
public cod_class_disabled(id)
{
if(przyznane[id] == true && cod_get_user_intelligence(id, 1, 1, 1) < 100)
{
cod_set_user_bonus_health(id, cod_get_user_health(id, 0, 0)-100);
}
ma_klase[id] = false;
}
public Przyznaj()
{
new num, players[32];
get_players(players, num, "gh")
for(new i=0; i<num; i++)
{
new id = players[i]
if(przyznane[id] == false && ma_klase[id] && is_user_alive(id) && cod_get_user_intelligence(id, 1, 1, 1) >= 100)
{
cod_set_user_bonus_health(id, cod_get_user_health(id, 0, 0)+100);
}
}
}
public Sprawdz()
{
new num, players[32];
get_players(players, num, "gh")
for(new i=0; i<num; i++)
{
new id = players[i]
if(przyznane[id] == true && cod_get_user_intelligence(id, 1, 1, 1) < 100)
{
cod_set_user_bonus_health(id, cod_get_user_health(id, 0, 0)-100);
}
}
}
Użytkownik Arbitralny edytował ten post 08.10.2014 12:17
Arbitralny
08.10.2014
Sprawdzanie i usuwanie nie działa. Jeżeli mam 100 int to co rundę dostaje +100 hp, a jak nie mam to nie przyznaje i też nie usuwa. :[
Arbitralny
08.10.2014
Ma przyznać 100 hp jeżeli ma 100 int i nie otrzymał jeszcze bonusu. Jeżeli zmieni klasę, a otrzymał bonus to go usuwa. Jeżeli będzie miał mniej niż 100 pkt int, to usunie bonus, a jak doda ponownie 100 pkt int to znowu go ustawi. OMG ![]()
Wielkie Jol
08.10.2014
Po co to w takim razie, jak i tak co runde sprawdzasz, czy gracz ma klase?
if(przyznane[id] == true && cod_get_user_intelligence(id, 1, 1, 1) < 100)
{
cod_set_user_bonus_health(id, cod_get_user_health(id, 0, 0)-100);
}
A gdzie ustawiasz wartości true/false? Bo tylko widzę sprawdzanie.
Arbitralny
08.10.2014
Jeżeli miał 100 int i otrzymał bonus, a później zrestartował statystyki i nie dodał 100 pkt w int, to ma mu usunąć bonus. Mam dodać do enabled przyznane[id] = false; ?![]()
Użytkownik Arbitralny edytował ten post 08.10.2014 18:55
Arbitralny
08.10.2014
W ten sposób? ![]()
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "ADMIN"
new bool:ma_klase[33];
new bool:przyznane[33];
new const nazwa[] = "przyklad";
new const opis[] = "przyklad";
new const bronie = 0;
new const zdrowie = 0;
new const kondycja = 0;
new const inteligencja = 0;
new const wytrzymalosc = 0;
new const obrazenia = 0;
new const regeneracja = 0;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc, obrazenia, regeneracja);
register_logevent("Sprawdz", 2, "1=Round_Start");
}
public cod_class_enabled(id)
{
ma_klase[id] = true;
przyznane[id] = false;
}
public cod_class_disabled(id)
{
if(przyznane[id] && cod_get_user_intelligence(id, 1, 1, 1) < 100)
{
cod_set_user_bonus_health(id, cod_get_user_health(id, 0, 0)-100);
przyznane[id] = false;
}
ma_klase[id] = false;
}
public Sprawdz()
{
new num, players[32];
get_players(players, num, "gh")
for(new i=0; i<num; i++)
{
new id = players[i]
if(!przyznane[id] && ma_klase[id] && is_user_alive(id) && cod_get_user_intelligence(id, 1, 1, 1) >= 100)
{
cod_set_user_bonus_health(id, cod_get_user_health(id, 0, 0)+100);
przyznane[id] = true;
}
else if(przyznane[id] && cod_get_user_intelligence(id, 1, 1, 1) < 100)
{
cod_set_user_bonus_health(id, cod_get_user_health(id, 0, 0)-100);
przyznane[id] = false;
}
}
}
Użytkownik Arbitralny edytował ten post 08.10.2014 19:24
Arbitralny
08.10.2014
WIelkie jol, wielkie dzięki za pomoc. Poda mi ktoś jeszcze event, który wykona sprawdzanie po śmierci gracza? ![]()




