Łączenie dwóch zmiennych
adif11
01.07.2013
Witam serdecznie nie wiedziałem gdzie napisać ponieważ kod jest z diablo moda a chce go podłączyć pod cod moda
Kod z diablo
len += formatex(staty[len], SIZE - len, "Masz <b>%d</b> punktow wytrzymalosci - daje to %0.1f%% redukcji obrazen<br>", wytrzymalosc_gracza[id], redukcja_obrazen_gracza[id]*100);
Kod z coda
format(wytrzymalosc, charsmax(wytrzymalosc), "\yWytrzymalosc: \r%i \y(Zmniejsza obrazenia)", PobierzWytrzymalosc(id, 1, 1, 1));
Chciałbym aby kod pokazywał ile redukuje obrażen sam kod z diablo działą w 50% lecz po dodaniu punktów trzeba wyłączać i włączać statystyki jeżeli jest sam kod od coda nie pokazuje ile jest zredukowane ponieważ jest tam inna zmienna a dokładniej %i a w diablo to jest %f i teraz rodzi się pytanie jak te zmienne połączyć ze sobą.
Próbowałem coś takiego lecz niestety nie działa
format(wytrzymalosc, charsmax(wytrzymalosc), "\yWytrzymalosc: \r%i \y(Zmniejsza obrazenia o %0.1f%%)", PobierzWytrzymalosc(id, 1, 1, 1), wytrzymalosc_gracza[id], redukcja_obrazen_gracza[id]*100);
Proszę wybaczyć za błędy
DarkGL
01.07.2013
inna zmienna a dokładniej %i a w diablo to jest %f
to nie są zmienne tylko ciągi formatujące
zamiast format naprawdę użyj tego formatex
podaj kod jak jest liczona redukcja obrażeń w cod
adif11
01.07.2013
Pytałem 2 doświadczonych userów z forum i napisali mi iż to są zmienne..
więc wybacz
redukcja_obrazen_gracza[id] = 0.7*(1.0-floatpower(1.1, -0.112311341*PobierzWytrzymalosc(id, 1, 1, 1)));
Można wiedzieć czy ta zmiana z format na formatex coś zmieni jeżeli tak to co?
I wystarczy że podmienie tylko ten "wyraz" i nic więcej nie trzeba zmieniać?
Użytkownik adif11 edytował ten post 01.07.2013 19:42
DarkGL
01.07.2013
formatex(wytrzymalosc, charsmax(wytrzymalosc), "\yWytrzymalosc: \r%i \y(Zmniejsza obrazenia o %0.1f%%)", PobierzWytrzymalosc(id, 1, 1, 1), redukcja_obrazen_gracza[id]*100.0);
Można wiedzieć czy ta zmiana z format na formatex coś zmieni jeżeli tak to co?
adif11
01.07.2013
Wybacz za brak Polskich znakow lecz pisze z telefonu
adif11
02.07.2013
Refresh proszę o pomoc :<
powyższy kod pokazuje redukcje lecz niby dodaje , resetuje statyki czy też dodaje punkty w tą statystykę lecz nic się nie zmienia :<
Użytkownik adif11 edytował ten post 02.07.2013 23:04
adif11
04.07.2013
Odświeżam!
powyższy kod pokazuje redukcje lecz niby dodaje , resetuje statyki czy też dodaje punkty w tą statystykę lecz nic się nie zmienia :<
GT Team
04.07.2013
redukcja_obrazen_gracza[id]masz we Float ?
new Float:redukcja_obrazen_gracza[33]
adif11
04.07.2013
Jak widać
redukcja_obrazen_gracza[id] = 0.7*(1.0-floatpower(1.1, -0.112311341*PobierzWytrzymalosc(id, 1, 1, 1)));
chyba że to nie to :<
GT Team
04.07.2013
adif11
04.07.2013
Mam to w takiej formie
new Float:maksymalne_zdrowie_gracza[33], Float:szybkosc_gracza[33], Float:redukcja_obrazen_gracza[33];
GT Team
04.07.2013
DarkGL
05.07.2013
Podstawowe pytanie gdzie używasz tego tekstu który formatujesz w pierwszym poście ( odświeżasz kanał wyświetlania ) ?
Wyliczasz nowa redukcje obrażeń po modyfikacji ilości punktów wytrzymałości ?
BlackPerfum
06.07.2013
Zależy jakiego masz cod moda (nie chodzi mi o podział na nowy i stary)
Są różne redukcje.
1.) Redukcji obrażeń nie da się przedstawić w %. Ponieważ w cod modzie ilość redukowanych obrażeń nie zależy od samych obrażeń.
Jeśli ktoś nie rozumie tego co napisałem to wytłumaczę to tak. Nieważne ile ktoś ci zada obrażeń a i tak zostanie od nich odjęte ( wytrzymałość * 0.08755 )
Możesz zrobić coś takiego:
formatex(wytrzymalosc, charsmax(wytrzymalosc), "\yWytrzymalosc: \r%i \y(Zmniejsza obrazenia o %0.1f)", PobierzWytrzymalosc(id, 1, 1, 1), (PobierzWytrzymalosc(id, 1, 1, 1) * 0.08755 ));
2.) Tą już się da przedstawić w %. Redukcja jest podobna jak w diablo gdyż różni sie jedynie siłą działania.
formatex(wytrzymalosc, charsmax(wytrzymalosc), "\yWytrzymalosc: \r%i \y(Zmniejsza obrazenia o %0.1f%%)", PobierzWytrzymalosc(id, 1, 1, 1), (47.3057*(1.0-floatpower( 2.7182, -0.06798*float(PobierzWytrzymalosc(id, 1, 1, 1)))) ));
Sprawdź jaką ty masz z podanych tych dwóch(tylko takie znam). Jeżeli masz inną najlepiej podaj całe .sma to pomogę.
Użytkownik BlackPerfum edytował ten post 06.07.2013 03:30
adif11
11.07.2013
public PrzydzielPunkty(id) { new szybkosc[60]; new inteligencja[65]; new zdrowie[60]; new wytrzymalosc[60]; new kondycja[60]; new tytul[25]; if(co_ile[szybkosc_rozdania[id]] == -1) format(szybkosc, charsmax(szybkosc), "\yIle dodawac: \rwszystko \y(Ile pkt dodac do statow)"); else format(szybkosc, charsmax(szybkosc), "\yIle dodawac: \r%d \y(Ile pkt dodac do statow)", co_ile[szybkosc_rozdania[id]]); format(inteligencja, charsmax(inteligencja), "\yInteligencja: \r%i \y(Zwieksza sile perkow i umiejetnosci)", PobierzInteligencje(id, 1, 1, 1)); format(zdrowie, charsmax(zdrowie), "\yZdrowie: \r%i \y(Masz o \r%i \yzdrowia wiecej)", PobierzZdrowie(id, 1, 1, 1), zdrowie_gracza[id]*1); format(wytrzymalosc, charsmax(wytrzymalosc), "\yWytrzymalosc: \r%i \y(Zmniejsza obrazenia o %0.01f%%)", PobierzWytrzymalosc(id, 1, 1, 1), redukcja_obrazen_gracza[id]*100.0); format(kondycja, charsmax(kondycja), "\ySzybkosc : \r%i \y(Jestes o \r%i%% \yszybszy)", PobierzKondycje(id, 1, 1, 1), kondycja_gracza[id]); format(tytul, charsmax(tytul), "\yWolne punkty \r(%i)", punkty_gracza[id]); new menu = menu_create(tytul, "PrzydzielPunkty_Handler"); menu_additem(menu, szybkosc); menu_addblank(menu, 0); menu_additem(menu, inteligencja); menu_additem(menu, zdrowie); menu_additem(menu, wytrzymalosc); menu_additem(menu, kondycja); menu_setprop(menu, MPROP_EXIT, 0); menu_display(id, menu); }
Proszę o pomoc :<
adif11
11.07.2013
zrobiłem tak
formatex(wytrzymalosc, charsmax(wytrzymalosc), "\yWytrzymalosc: \r%i \y(Zmniejsza obrazenia o %0.1f%%)", PobierzWytrzymalosc(id, 1, 1, 1), (10*0.7*(1.0-floatpower( 1.1, -0.112311341*float(PobierzWytrzymalosc(id, 1, 1, 1)))) ));
i jak na razie pokazuje 1.8% 3.7% więc dobrze