Leczenie raz na rune pod danym klawiszem
1stADXionC
24.12.2016
Próbuję zrobić aby klasa pod klawiszem "e" mogła raz na rundę uleczyć się lecz mi nie wychodzi.
Co robię zle?
new const nazwa[] = "Druid"; new const opis[] = "test"; new const bronie = (1<<CSW_HEGRENADE)|(1<<CSW_AWP)|(1<<CSW_M4A1)|(1<<CSW_DEAGLE); new const zdrowie = 20; new const kondycja = 0; new const inteligencja = 0; new const wytrzymalosc = 0; new ma_klase[33]; new fiolka_lecznicza[33]; public plugin_init() { register_plugin(nazwa, "1.0", "1stADXionC"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); } public cod_class_enabled(id) { ma_klase[id] = true; fiolka_lecznicza[id] = 1; } public cod_class_disabled(id) { ma_klase[id] = false; fiolka_lecznicza[id] = 0; } public cod_fiolka_used(id) { if(fiolka_lecznicza[id] > 1) { set_user_health( id, get_user_health( id ) + 80 ); Display_Fade(id, 1<<10, 1<<10 ,1<<14, 118, 253, 89, 230); client_print(id, print_center, "[Druid] Fiolka lecznicza jednorazowo uleczyla Cie o 80 HP"); } else client_print(id, print_center, "[Druid] Fiolki leczniczej mozesz uzyc raz na runde"); }
1stADXionC
24.12.2016
public cod_fiolka_used(id)
na
public cod_class_skill_used(id)
Do silnika dodałem:
register_clcmd("usefiolka", "UzyjFiolki"); register_clcmd("fiolka", "UzyjFiolki"); public UzyjFiolki(id) { if(!is_user_alive(id)) return PLUGIN_HANDLED; new forward_handle = CreateOneForward(pluginy_perkow[perk_gracza[id]], "cod_fiolka_used", FP_CELL); ExecuteForward(forward_handle, id, id); DestroyForward(forward_handle); return PLUGIN_HANDLED; }
tytusek
24.12.2016
ogólnie to działa i jedynie problem w tym ze chcesz aby raz na runde tak ?
new const nazwa[] = "Druid";new const opis[] = "test";new const bronie = (1<<CSW_HEGRENADE)|(1<<CSW_AWP)|(1<<CSW_M4A1)|(1<<CSW_DEAGLE);new const zdrowie = 20;new const kondycja = 0;new const inteligencja = 0;new const wytrzymalosc = 0;new ma_klase[33];new fiolka_lecznicza[33];public plugin_init(){register_plugin(nazwa, "1.0", "1stADXionC");register_logevent("Koniec_Rundy", 2, "1=Round_End")cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);}public cod_class_enabled(id){ma_klase[id] = true;fiolka_lecznicza[id] = 1;}public cod_class_disabled(id){ma_klase[id] = false;fiolka_lecznicza[id] = 0;}public cod_fiolka_used(id){if(fiolka_lecznicza[id]==1){set_user_health( id, get_user_health( id ) + 80 );Display_Fade(id, 1<<10, 1<<10 ,1<<14, 118, 253, 89, 230);client_print(id, print_center, "[Druid] Fiolka lecznicza jednorazowo uleczyla Cie o 80 HP");fiolka_lecznicza[id]=0;}elseclient_print(id, print_center, "[Druid] Fiolki leczniczej mozesz uzyc raz na runde");}public Koniec_Rundy(){for(new i =1;i<33;i++){fiolka_lecznicza[i] = 1;}}
1stADXionC
24.12.2016
ogólnie to działa i jedynie problem w tym ze chcesz aby raz na runde tak ?
new const nazwa[] = "Druid";new const opis[] = "test";new const bronie = (1<<CSW_HEGRENADE)|(1<<CSW_AWP)|(1<<CSW_M4A1)|(1<<CSW_DEAGLE);new const zdrowie = 20;new const kondycja = 0;new const inteligencja = 0;new const wytrzymalosc = 0;new ma_klase[33];new fiolka_lecznicza[33];public plugin_init(){register_plugin(nazwa, "1.0", "1stADXionC");register_logevent("Koniec_Rundy", 2, "1=Round_End")cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);}public cod_class_enabled(id){ma_klase[id] = true;fiolka_lecznicza[id] = 1;}public cod_class_disabled(id){ma_klase[id] = false;fiolka_lecznicza[id] = 0;}public cod_fiolka_used(id){if(fiolka_lecznicza[id]==1){set_user_health( id, get_user_health( id ) + 80 );Display_Fade(id, 1<<10, 1<<10 ,1<<14, 118, 253, 89, 230);client_print(id, print_center, "[Druid] Fiolka lecznicza jednorazowo uleczyla Cie o 80 HP");fiolka_lecznicza[id]=0;}elseclient_print(id, print_center, "[Druid] Fiolki leczniczej mozesz uzyc raz na runde");}public Koniec_Rundy(){for(new i =1;i<33;i++){fiolka_lecznicza[i] = 1;}}
w silniku mam:
register_clcmd("useperk", "UzyjFiolki"); register_clcmd("radio3", "UzyjFiolki");
czyli powinienem fiołki uzyć klawiszem "c" lecz niestety tak sie nie dzieje.
tytusek
24.12.2016
no wiesz nie musisz miec zbindowane pod c radio3
najlepiej dla pewnosci wpisz recznie radio3 w consoli i zobacz czy uleczy
ewentualnie mozesz jeszcze tak sprobowac
new const nazwa[] = "Druid";new const opis[] = "test";new const bronie = (1<<CSW_HEGRENADE)|(1<<CSW_AWP)|(1<<CSW_M4A1)|(1<<CSW_DEAGLE);new const zdrowie = 20;new const kondycja = 0;new const inteligencja = 0;new const wytrzymalosc = 0;new ma_klase[33];new fiolka_lecznicza[33];public plugin_init(){register_plugin(nazwa, "1.0", "1stADXionC");register_clcmd("useperk", "UzyjFiolki");register_clcmd("radio3", "UzyjFiolki");register_logevent("Koniec_Rundy", 2, "1=Round_End")cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);}public cod_class_enabled(id){ma_klase[id] = true;fiolka_lecznicza[id] = 1;}public cod_class_disabled(id){ma_klase[id] = false;fiolka_lecznicza[id] = 0;}public UzyjFiolki(id){if(fiolka_lecznicza[id]==1){set_user_health( id, get_user_health( id ) + 80 );Display_Fade(id, 1<<10, 1<<10 ,1<<14, 118, 253, 89, 230);client_print(id, print_center, "[Druid] Fiolka lecznicza jednorazowo uleczyla Cie o 80 HP");fiolka_lecznicza[id]=0;}elseclient_print(id, print_center, "[Druid] Fiolki leczniczej mozesz uzyc raz na runde");}public Koniec_Rundy(){for(new i =1;i<33;i++){fiolka_lecznicza[i] = 1;}}
1stADXionC
26.12.2016
no wiesz nie musisz miec zbindowane pod c radio3
najlepiej dla pewnosci wpisz recznie radio3 w consoli i zobacz czy uleczy
ewentualnie mozesz jeszcze tak sprobowac
new const nazwa[] = "Druid";new const opis[] = "test";new const bronie = (1<<CSW_HEGRENADE)|(1<<CSW_AWP)|(1<<CSW_M4A1)|(1<<CSW_DEAGLE);new const zdrowie = 20;new const kondycja = 0;new const inteligencja = 0;new const wytrzymalosc = 0;new ma_klase[33];new fiolka_lecznicza[33];public plugin_init(){register_plugin(nazwa, "1.0", "1stADXionC");register_clcmd("useperk", "UzyjFiolki");register_clcmd("radio3", "UzyjFiolki");register_logevent("Koniec_Rundy", 2, "1=Round_End")cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);}public cod_class_enabled(id){ma_klase[id] = true;fiolka_lecznicza[id] = 1;}public cod_class_disabled(id){ma_klase[id] = false;fiolka_lecznicza[id] = 0;}public UzyjFiolki(id){if(fiolka_lecznicza[id]==1){set_user_health( id, get_user_health( id ) + 80 );Display_Fade(id, 1<<10, 1<<10 ,1<<14, 118, 253, 89, 230);client_print(id, print_center, "[Druid] Fiolka lecznicza jednorazowo uleczyla Cie o 80 HP");fiolka_lecznicza[id]=0;}elseclient_print(id, print_center, "[Druid] Fiolki leczniczej mozesz uzyc raz na runde");}public Koniec_Rundy(){for(new i =1;i<33;i++){fiolka_lecznicza[i] = 1;}}
Dzięki działa, lecz nie wyświetla informacji oraz można użyć wiele razy
tytusek
26.12.2016
new const nazwa[] = "Druid"; new const opis[] = "test"; new const bronie = (1<<CSW_HEGRENADE)|(1<<CSW_AWP)|(1<<CSW_M4A1)|(1<<CSW_DEAGLE); new const zdrowie = 20; new const kondycja = 0; new const inteligencja = 0; new const wytrzymalosc = 0; new ma_klase[33]; new fiolka_lecznicza[33]; public plugin_init() { register_plugin(nazwa, "1.0", "1stADXionC"); register_clcmd("useperk", "UzyjFiolki"); register_clcmd("radio3", "UzyjFiolki"); register_logevent("Koniec_Rundy", 2, "1=Round_End") cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); } public cod_class_enabled(id){ ma_klase[id] = true; fiolka_lecznicza[id] = 1; } public cod_class_disabled(id){ ma_klase[id] = false; fiolka_lecznicza[id] = 0; } public UzyjFiolki(id){ if(fiolka_lecznicza[id] && ma_klase[id]){ set_user_health( id, get_user_health( id ) + 80 ); Display_Fade(id, 1<<10, 1<<10 ,1<<14, 118, 253, 89, 230); client_print(id, print_center, "[Druid] Fiolka lecznicza jednorazowo uleczyla Cie o 80 HP"); fiolka_lecznicza[id]--; } else client_print(id, print_center, "[Druid] Fiolki leczniczej mozesz uzyc raz na runde"); } public Koniec_Rundy(){ for(new i =1;i<33;i++){ fiolka_lecznicza[i] = 1; } }
1stADXionC
26.12.2016
new const nazwa[] = "Druid"; new const opis[] = "test"; new const bronie = (1<<CSW_HEGRENADE)|(1<<CSW_AWP)|(1<<CSW_M4A1)|(1<<CSW_DEAGLE); new const zdrowie = 20; new const kondycja = 0; new const inteligencja = 0; new const wytrzymalosc = 0; new ma_klase[33]; new fiolka_lecznicza[33]; public plugin_init() { register_plugin(nazwa, "1.0", "1stADXionC"); register_clcmd("useperk", "UzyjFiolki"); register_clcmd("radio3", "UzyjFiolki"); register_logevent("Koniec_Rundy", 2, "1=Round_End") cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); } public cod_class_enabled(id){ ma_klase[id] = true; fiolka_lecznicza[id] = 1; } public cod_class_disabled(id){ ma_klase[id] = false; fiolka_lecznicza[id] = 0; } public UzyjFiolki(id){ if(fiolka_lecznicza[id] && ma_klase[id]){ set_user_health( id, get_user_health( id ) + 80 ); Display_Fade(id, 1<<10, 1<<10 ,1<<14, 118, 253, 89, 230); client_print(id, print_center, "[Druid] Fiolka lecznicza jednorazowo uleczyla Cie o 80 HP"); fiolka_lecznicza[id]--; } else client_print(id, print_center, "[Druid] Fiolki leczniczej mozesz uzyc raz na runde"); } public Koniec_Rundy(){ for(new i =1;i<33;i++){ fiolka_lecznicza[i] = 1; } }
Dzięki działa, lecz został mały problem.
gdy używamy fiolki wyświetla się tekst w konsoli:
public UzyjFiolki(id) { if(!is_user_alive(id) || !is_user_connected(id) || ma_klase[id]) return PLUGIN_CONTINUE; new zdrowie = get_user_health(id); new maxzdrowie = cod_get_user_health(id)+100 set_dhudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2); if(fiolka_lecznicza[id]) { new nowe_zdrowie = (zdrowie+80); if(nowe_zdrowie < maxzdrowie) { fiolka_lecznicza[id]--; set_user_health(id, nowe_zdrowie); show_dhudmessage(id, "[Druid] Fiolka lecznicza jednorazowo uleczyla Cie o 80 HP"); } if(nowe_zdrowie >= maxzdrowie && zdrowie != maxzdrowie) { fiolka_lecznicza[id]--; set_user_health(id, maxzdrowie); show_dhudmessage(id, "[Druid] Jestes w pelni uleczony!"); } } else show_dhudmessage(id, "[Druid] Fiolki leczniczej mozesz uzyc raz na runde"); return PLUGIN_CONTINUE; }
Użytkownik 1stADXionC edytował ten post 26.12.2016 22:43
NEQU#
26.12.2016
Klasę sprawdzasz bodajże cod_get_user_class, ale już nie pamiętam, jednak jeżeli jest dodana w klasie to raczej nie ma szans aby inna klasa jej użyła. Jeżeli nadal chcesz, aby można było użyć fiolki na E łap.
public client_PostThink(id) { static Button Button = get_user_button(id) if(Button & IN_USE) { UzyjFiolki(id) } }
Użytkownik NEQU# edytował ten post 26.12.2016 23:12
NEQU#
26.12.2016
Raczej nie za bardzo, chyba że dodasz funkcję na bind, i automatycznie będziesz ją bindować pod V każdemu kto wybierze klase, tyle że teraz na większości ns`ów to nie zadziała.
https://amxx.pl/doku...get_user_button
zawsze możesz moc zrobić pod X, perki pod C. Zarejestruj sobie tą apteczne pod radio2 i standardowo na X będzie.
Użytkownik NEQU# edytował ten post 26.12.2016 23:40