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

Procentowe HP


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

#1 GoldeN

    Wszechmogący

  • Zbanowany

Reputacja: 69
Pomocny

  • Postów:676
  • Imię:Kamil
  • Lokalizacja:DG
Offline

Napisano 03.02.2011 22:57

Witam. Jak mogę procentowo obliczyć ile gracz ma HP? Albo jak by wyglądała funkcja, że jeżeli gracz ma 50% hp to ma wykonać daną funkcję?

#2 Agent

    Profesjonalista

  • Użytkownik

Reputacja: 63
Pomocny

  • Postów:195
  • Lokalizacja:Polska
Offline

Napisano 03.02.2011 23:28

100 HP - 100%
50 HP - X

100HP*X= 50HP*100%
X=50%

100% - 1
50% - 0,5 = 1/2

A jako iż to diablo 100% odczytujemy na początku rundy po załadowaniu klasy (czyli moce, lvl, Hp, itp).
Następnie przy obrażeniach sprawdzamy czy ilość Hp wynosi początkowe/2.

Np. [pseudokod] -> nie pamiętam kodu diablo (a nie mam zbytnio jak sprawdzić teraz) tak więc ogólnie napiszę. Mam nadzieje, że się przyda
new zycie[33] //tablica w sekcji globalnej

public start()
[petla for]
{
zycie[id]=set_user_health(id, lvl*jakis_mnoznik_diablo) // szukamy czegoś gdzie jest ustawiane HP i o ile nie jest to w tablicy zapisywane to sami zapisujemy
}

public damage(victim,attacker,itd)
{
//gdy juz utracimy HP sprawdzamy ile mamy zycia
  if(get_user_health(id))<=zycie[id]/2) // jezlei utracislismy 50% hp lub wiecej wykonaj
  {
     //kod funkcj, ktora ma cos robic
  }
}

Użytkownik Agent edytował ten post 03.02.2011 23:29

  • +
  • -
  • 1

Unikalna sieć serwerów CS 1.6 && TF2 FearLex.pl
Serwery CS 1.6: JailBreak, ZombieMod Ultimate (nowe ZP), DiabloMod 201 lvl, TeamPlay
ORAZ
Serwer TF2 FFA


#3 GoldeN

    Wszechmogący

  • Autor tematu
  • Zbanowany

Reputacja: 69
Pomocny

  • Postów:676
  • Imię:Kamil
  • Lokalizacja:DG
Offline

Napisano 03.02.2011 23:48

Dziękuję. Teraz mam kolejne pytanie. W jakim evencie mogę zrobić operację na ofierze? Czyli w trakcie np. strzelaniny.

#4 AmD

    aemde

  • Użytkownik

Reputacja: 71
Pomocny

  • Postów:500
  • Steam:steam
  • Imię:Dariusz
  • Lokalizacja:Częstochowa
Offline

Napisano 04.02.2011 00:04

hmm.. na przykład podczas zadawania dmg: Ham_TakeDamage
RegisterHam(Ham_TakeDamage,"player","funkcja_publiczna")

  • +
  • -
  • 1

#5 GoldeN

    Wszechmogący

  • Autor tematu
  • Zbanowany

Reputacja: 69
Pomocny

  • Postów:676
  • Imię:Kamil
  • Lokalizacja:DG
Offline

Napisano 04.02.2011 00:38

Mam takie coś, ale rejestracja wygląda tak:

RegisterHam(Ham_TakeDamage, "player", "TakeDamage");


Jest to post czy pre? I kiedy jest przed obliczeniami a kiedy po? W pre czy post?

Użytkownik GoldeN edytował ten post 04.02.2011 00:41





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

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