Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

Problem z obliczaniem expa (zaokrąglaniem)


  • Zamknięty Temat jest zamknięty
5 odpowiedzi w tym temacie

#1 Huntersor

    Zaawansowany

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:75
  • GG:
  • Steam:steam
  • Lokalizacja:Kraków
Offline

Napisano 30.08.2011 13:45

Witam.
Mam problem z obliczaniem expa ;]

Event:
register_event("Damage", "Damaged", "b", "2!0", "3=0", "4!0")
public Damaged(id){
new attacker = get_user_attacker(id);
if(is_user_connected(attacker)){
  new damage = read_data(2);
  player_exp[attacker] += floatround(damage*exp_per_hp,floatround_round);
}
}
No i jak chce skompilować to debuger pisze że występuje niezgodność typów
Warning: Tag mismatch on line 611
Nie wiem jak mam to naprawić
playerexp[id] to integer, a exp_per_hp to float i trzeba to zaokrąglić gdy się pomnoży exp za hp z ilością odebranego hp.
  • +
  • -
  • 0
Dołączona grafika - CoD 201lvl - 91.210.129.150:27865
Dołączona grafika - CoD 4001lvl - 188.165.218.143:27290
Dołączona grafika - Zombie - 91.204.160.110:27125
Dołączona grafika - FFa - 188.165.218.143:27330

#2 GeDox

    Wszechpomocny

  • Użytkownik

Reputacja: 125
Zaawansowany

  • Postów:315
  • Steam:steam
  • Imię:Przemysław
  • Lokalizacja:Kielce
Offline

Napisano 30.08.2011 14:14

player_exp[attacker] += floatround(float(damage)*exp_per_hp);

Spróbuj tak Dołączona grafika

//edit
Nie zauważyłem, że zmienna "damage", nie jest zmienną float :D

Użytkownik GeDox edytował ten post 05.09.2011 18:39

  • +
  • -
  • 0

#3 diablix

    emeryt

  • Przyjaciel

Reputacja: 507
Wszechwiedzący

  • Postów:663
  • GG:
  • Steam:steam
  • Imię:Daniel
  • Lokalizacja:Warszawa
Offline

Napisano 03.09.2011 15:11

player_exp[attacker] += floatround(damage*float(exp_per_hp));

jaki to ma sens? :S
  • +
  • -
  • 0

#4 MarWit

    The Chosen One

  • Przyjaciel

Reputacja: 843
Czempion

  • Postów:1 485
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Bystrzyca
Offline

Napisano 05.09.2011 07:07

player_exp[attacker] += (floatround(damage)*exp_per_hp);
  • +
  • -
  • 0

marwit-0.png


#5 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 05.09.2011 18:31

player_exp[attacker] += floatround(float(damage)*exp_per_hp);

  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#6 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 06.09.2011 11:30

"exp_per_hp" to na pewno float? Bo dziwne, że to
player_exp[attacker] += floatround(damage*exp_per_hp,floatround_round); 

nie działa.
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo





Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych