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?