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
CoD Nowy

Problem ze statystyką grawitacja (1000 zamiast do 0)

cod nowy

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
6 odpowiedzi w tym temacie

#1 Split

    Programista

  • Power User

Reputacja: 106
Zaawansowany

  • Postów:490
  • Imię:Szymon
  • Lokalizacja:Opole
Offline

Napisano 14.07.2014 20:06

Witam, mam problem ze statystyką grawitacja, mianowicie napisałem sobie ową statystykę lecz nie działa jak należy, przejdę do rzeczy, jak dodaje do tej statystyki np 10 pkt to nie mogę skakać... a jak zresetuje statystyki i się zresetuje to już mogę skakać nie wiem co jest w tym kodzie źle, podaję kod:

set_user_gravity(id, get_user_gravity(id)+grawitacja_gracza[id]); // statystyka grawitacja

jeżeli ktoś wiedziałby rozwiązanie oraz miał siłę poprawić byłbym wdzięczny bo potrzebuje na dzisiaj(max) lub na jutro.


Użytkownik e-Skill edytował ten post 14.07.2014 20:06

  • +
  • -
  • 0

LoL, 500 postów ;D


#2 Firehawk

    Pomocny

  • Użytkownik

Reputacja: 25
Życzliwy

  • Postów:53
  • Imię:Michał
  • Lokalizacja:Nowy Sącz
Offline

Napisano 15.07.2014 10:42

Hmm, jeśli to nie będzie problem prosiłbym o podanie pełnego kodu samej statystyki lub całego QTM na PV.


  • +
  • -
  • 0

#3 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 15.07.2014 11:28

e-Skill i Firehawk lepiej poczytajcie dokumentacje dokładnie bo akurat to jest bardzo dobrze opisane:
- get_user_gravity
- set_user_gravity

Jeśli nadal nie rozumiecie to wytłumaczę. Standardowa grawitacja wynosi 800 a funkcja get_user_gravity zwraca jej współczynnik tzn. cos jak procenty tylko bez znaczaka % i podzielone przez 100. Zatem jeśli dodasz do Swojego standardowego współczynnika 10 to będzie wynosił on 11 to siła grawitacji dla nas będzie równa 8800 a przy takiej grawitce to sobie nie poskaczesz haha.gif

Zatem jak zrobic poprawny licznik? Przykładowy sposób:

Podmieniasz ta linijkę:
set_user_gravity(id, get_user_gravity(id)+grawitacja_gracza[id])
Na tą:
set_user_gravity(id, get_user_gravity(id)-float(grawitacja_gracza[id])*0.0625)
Zakładam że w zmiennej grawitacja_gracza[id] przechowujesz wartość danej statystyki wyrażonej w liczbie int tzn. 1 pkt lub 3 pkt lub inna haha.gif

Przy jednym pkt. odbierze nam 50 gravity przy 2 100 przy 3 150 itd. Zatem jeśli damy 10 pkt i a normalnie mamy standardową grawitację to siła działająca na nas będzie się równać 300 haha.gif
  • +
  • -
  • 1
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#4 Split

    Programista

  • Autor tematu
  • Power User

Reputacja: 106
Zaawansowany

  • Postów:490
  • Imię:Szymon
  • Lokalizacja:Opole
Offline

Napisano 15.07.2014 11:36

e-Skill i Firehawk lepiej poczytajcie dokumentacje dokładnie bo akurat to jest bardzo dobrze opisane:
- get_user_gravity
- set_user_gravity

Jeśli nadal nie rozumiecie to wytłumaczę. Standardowa grawitacja wynosi 800 a funkcja get_user_gravity zwraca jej współczynnik tzn. cos jak procenty tylko bez znaczaka % i podzielone przez 100. Zatem jeśli dodasz do Swojego standardowego współczynnika 10 to będzie wynosił on 11 to siła grawitacji dla nas będzie równa 8800 a przy takiej grawitce to sobie nie poskaczesz haha.gif

Zatem jak zrobic poprawny licznik? Przykładowy sposób:

Podmieniasz ta linijkę:

set_user_gravity(id, get_user_gravity(id)+grawitacja_gracza[id])
Na tą:
set_user_gravity(id, get_user_gravity(id)-float(grawitacja_gracza[id])*0.0625)
Zakładam że w zmiennej grawitacja_gracza[id] przechowujesz wartość danej statystyki wyrażonej w liczbie int tzn. 1 pkt lub 3 pkt lub inna haha.gif

Przy jednym pkt. odbierze nam 50 gravity przy 2 100 przy 3 150 itd. Zatem jeśli damy 10 pkt i a normalnie mamy standardową grawitację to siła działająca na nas będzie się równać 300 haha.gif

 

 

niestety twój sposób nie zadziałał jednakże po dodaniu do statystyki 23 pkt od razu po rozpoczęciu rundy jestem na samej górze mapy od razu lecę, nawet nie skaczę.


  • +
  • -
  • 0

LoL, 500 postów ;D


#5 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 15.07.2014 11:41

To był:

Przykładowy sposób

!!! Czytaj uważnie. Tutaj wszystko zależy od ciebie. Nie podałeś ile można dać max pkt w dana statystykę i jaka ma byc dolna granica gariwtacji
  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#6 Split

    Programista

  • Autor tematu
  • Power User

Reputacja: 106
Zaawansowany

  • Postów:490
  • Imię:Szymon
  • Lokalizacja:Opole
Offline

Napisano 15.07.2014 11:50

U mnie max jest 100 muszę pomnożyć?


Użytkownik e-Skill edytował ten post 15.07.2014 11:50

  • +
  • -
  • 0

LoL, 500 postów ;D


#7 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 15.07.2014 11:56

Przy dolnej granicy 200 tak będzie wyglądał kod:
set_user_gravity(id, get_user_gravity(id)-float(grawitacja_gracza[id])*0.0075)

  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika





Również z jednym lub większą ilością słów kluczowych: cod nowy

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

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