←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Problem z zaokrąglaniem

Locked

  • +
  • -
zakardo's Photo 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:
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.
Quote

  • +
  • -
grankee's Photo grankee 17.10.2010

gTime[id] = gLevelDifr[id]/10



czy zmienne gTime[] oraz g_LevelDifr[] są typu Float?
Quote

  • +
  • -
zakardo's Photo zakardo 17.10.2010

Są zadeklarowane jako integer ale zmiana na float zmienia to, że zamiast 0 pojawia się jakaś kosmiczna wartość.
Quote

  • +
  • -
R3X's Photo 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
Quote

  • +
  • -
grankee's Photo 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ć.
Quote

  • +
  • -
zakardo's Photo zakardo 18.10.2010

Chyba się już zgubiłem. Chcę aby zmienna gT800Timer[id] była liczbą naturalną.
Quote
Locked