Wyświtlanie HP, redukcji, szybkosci
Vasto_Lorde
01.10.2012
Chciałem by pod całym hudem wyświetlało się życie (tu nie problem, bo można zrobić z tutka), o ile się redukują obrażenia i jaką możemy mieć maksymalną prędkość.
Więc dodałem do huda to:
EDIT: w kodzie była reklama
Użytkownik Vasto edytował ten post 01.10.2012 21:16
Więc dodałem do huda to:
ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i^nPrzedmiot : %s^n^n^n^n^n^nZycie : %i^nRedukcja : %i^nSzybkosc : %i", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], PobierzDoswiadczeniePoziomu(poziom_gracza[id]), poziom_gracza[id], nazwy_perkow[perk_gracza[id]], maksymalne_zdrowie_gracza[id], redukcja_obrazen_gracza[id], szybkosc_gracza[id]);gdzie
redukcja_obrazen_gracza[id] = 0.7*(1.0-floatpower(1.1, -0.112311341*PobierzWytrzymalosc(id, 1, 1, 1))); maksymalne_zdrowie_gracza[id] = 100.0+PobierzZdrowie(id, 1, 1, 1); szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC+PobierzKondycje(id, 1, 1, 1)*1.3;I wyświetla mi kosmiczne liczby. Oto mój problem, a moje pytanie brzmi czemu tak się dzieje?
EDIT: w kodzie była reklama
Użytkownik Vasto edytował ten post 01.10.2012 21:16
Equilibrium
01.10.2012
http://amxx.pl/topic...tlane-hp-w-hud/ Spróbuj coś z tego wyciągnąć bo nie wiem czy dodałeś to ^n do paru hudów.
Vasto_Lorde
03.10.2012
Equilibrium, mówiłem, że życie można z tutka zrobić, więc to nie problem. Porobiłem trochę i wyszła zmieniona wersja wytrzymałości perku:
Użytkownik Vasto edytował ten post 03.10.2012 18:48
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <codmod> #define PLUGIN "[CODMOD] Wytrzymalosc Perku & Staty w hud" #define VERSION "1.0" #define AUTHOR "QTM_Peyote"// & Vasto_Lorde #define ZADANIE_POKAZ_WYTRZYMALOSC 35200 new cvar_max_wytrzymalosc, cvar_uszkodzenia_za_smierc; new wytrzymalosc_perku[33]; new SyncHudObj; /*--------- Aby korzystac z natywow cod_get_perk_durability oraz cod_set_perk_durability musisz dodac do swojego pluginu: native cod_set_perk_durability(id, wytrzymalosc); // Ustawia wytrzymalosc perku gracza. native cod_get_perk_durability(id); // Pobiera wytrzymalosc perku gracza. -----------*/ public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("ResetHUD", "ResetHUD", "abe"); register_event("DeathMsg", "Death", "ade"); cvar_max_wytrzymalosc = register_cvar("cod_maxperkdurability", "10"); cvar_uszkodzenia_za_smierc = register_cvar("cod_perkdamage", "1"); SyncHudObj = CreateHudSyncObj(); } public plugin_natives() { register_native("cod_get_perk_durability", "PobierzWytrzymalosc", 1); register_native("cod_set_perk_durability", "UstawWytrzymalosc", 1); } public cod_perk_changed(id, perk) wytrzymalosc_perku[id] = perk? get_pcvar_num(cvar_max_wytrzymalosc): 0; public Death() { new id = read_data(2); if(!cod_get_user_perk(id)) return; new uszkodzenia_za_smierc = get_pcvar_num(cvar_uszkodzenia_za_smierc); wytrzymalosc_perku[id] -= (wytrzymalosc_perku[id] > uszkodzenia_za_smierc)? uszkodzenia_za_smierc: wytrzymalosc_perku[id]; if(wytrzymalosc_perku[id] <= 0) { cod_set_user_perk(id, 0); client_print(id, print_chat, "Twoj przedmiot ulegl zniszczeniu."); } else client_print(id, print_chat, "Pozostala wytrzymalosc twojego przedmiotu to %i.", wytrzymalosc_perku[id]); } public UstawWytrzymalosc(id, wartosc) { new max_wytrzymalosc = get_pcvar_num(cvar_max_wytrzymalosc); wytrzymalosc_perku[id] = (wartosc > max_wytrzymalosc)? max_wytrzymalosc: wartosc; } public PobierzWytrzymalosc(id) return wytrzymalosc_perku[id]; public PokazWytrzymalosc(id) { id -= ZADANIE_POKAZ_WYTRZYMALOSC; if(!is_user_alive(id)) { remove_task(id+ZADANIE_POKAZ_WYTRZYMALOSC); return; } new Float: redukcja = 0.7*(1.0-floatpower(1.1, -0.112311341*cod_get_user_stamina(id, 1, 1, 1))); new Float: zdrowie_gracza = 100.0+cod_get_user_health(id, 1, 1, 1); set_hudmessage(255, 170, 42, 0.01, 0.01, 0, 0.0, 0.3, 0.0, 0.0); ShowSyncHudMsg(id, SyncHudObj, "^n^n^n^n^nWytrzymalosc przedmiotu : %i / %i^n^n^n^n^nZycie : %i^nRedukcja : %i", wytrzymalosc_perku[id], get_pcvar_num(cvar_max_wytrzymalosc), zdrowie_gracza, redukcja); } public ResetHUD(id) { if(!task_exists(id+ZADANIE_POKAZ_WYTRZYMALOSC)) set_task(0.1, "PokazWytrzymalosc", id+ZADANIE_POKAZ_WYTRZYMALOSC, _, _, "b"); }Ale nadal wyświetla kosmiczne liczby. Mógłby mi ktoś to wytłumaczyć?
Użytkownik Vasto edytował ten post 03.10.2012 18:48
Raen
04.10.2012
trzeba zaokrąglić i pomnożyć przez 100 z tego co pamiętam, tutaj masz działający kod. Wyciągnij sobie
http://amxx.pl/topic...ak-w-diablomod/
http://amxx.pl/topic...ak-w-diablomod/