Problem z zaokrąglaniem
zakardo
16.10.2010
Witam
Mam problem z zaokrągleniem liczby. Korzystam z tego poradnika float_to_num - Nieoficjalny polski support AMX Mod X
Jednak chyba coś nie działa, bo mimo że plugin się kompiluje to nie działa poprawnie.
Fragment kodu o który mi chodzi:
Cały plugin w załączniku.
Byłbym wdzięczny za jakiekolwiek wskazówki.
Edited by zakardo, 16.10.2010 20:30.
Mam problem z zaokrągleniem liczby. Korzystam z tego poradnika float_to_num - Nieoficjalny polski support AMX Mod X
Jednak chyba coś nie działa, bo mimo że plugin się kompiluje to nie działa poprawnie.
Fragment kodu o który mi chodzi:
public float_to_num(Float:liczba) { new str[16] float_to_str(liczba,str,15) new kropka=contain(str,".") format(str,kropka,str) return str_to_num(str) } //---------------------------------------------------------------------------------------------- gTime[id] = gLevelDifr[id]/10 gTime1[id] = float_to_num(gTime[id]) gTimeleft[id] = get_cvar_num("t800_time") + 1 + gTime1[id] gT800Timer[id] = gTimeleft[id] shGiveWeapon(id,"weapon_m249",true) set_user_godmode(id,1) t800_morph(id) gKills = get_user_frags(id) ultimateTimer(id, get_cvar_num("t800_cooldown") * 1.0) new message[128] format(message, 127, "Zamieniles sie w T-800! ZABIJAJ !!") set_hudmessage(255,0,0,-1.0,0.3,0,0.25,1.0,0.0,0.0,87) show_hudmessage(id, message) return PLUGIN_HANDLED }
Cały plugin w załączniku.
Byłbym wdzięczny za jakiekolwiek wskazówki.
Attached Files
Edited by zakardo, 16.10.2010 20:30.
grankee
17.10.2010
gTime[id] = gLevelDifr[id]/10
czy zmienne gTime[] oraz g_LevelDifr[] są typu Float?
czy zmienne gTime[] oraz g_LevelDifr[] są typu Float?
zakardo
17.10.2010
Są zadeklarowane jako integer ale zmiana na float zmienia to, że zamiast 0 pojawia się jakaś kosmiczna wartość.
R3X
17.10.2010
gTime[id] = gLevelDifr[id]/10 gTime1[id] = float_to_num(gTime[id])zamień na
gTime1[id] = gLevelDifr[id]/10
nie potrzebujesz to zaokrąglania
grankee
17.10.2010
Jeżeli zmienna jest typu integer to nie przypiszesz do niej wartości zmiennoprzecinkowej, a coza tym idzie nie użyjesz konwertacji float_to_int, bo nie masz floata żebyś go mógł konwertować.
zakardo
18.10.2010
Chyba się już zgubiłem. Chcę aby zmienna gT800Timer[id] była liczbą naturalną.