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

[ROZWIĄZANE] Czas gracza online


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

#1 Last One

    Zaawansowany

  • Użytkownik

Reputacja: -3
Nowy

  • Postów:76
  • GG:
  • Lokalizacja:Brzyska Wola
Offline

Napisano 16.12.2014 17:38

Witam. Mam HUD w bf2 takie jak w codzie i chciałem do niego dodać łączny czas spędzony na serwerze. 

 

I tu jest moje pytanie. Jakiej funkcji użyć, aby czas był zapisywany każdemu graczowi z osobna i sumowany? Jak w wyświetlaniu ustawić godziny i minuty?

 

Jestem u początków pisania pluginów. Obecnie mam wpisaną funkcję get_user_time lecz ona liczy tylko w sekundach i resetuje się przy reconnect'cie.

 

Z góry dziękuję


  • +
  • -
  • 0

--<<SPRZEDAM>>--

UNIKALNĄ MODYFIKACJĘ BF2

Modyfikacja zawiera: EXP oraz LVL do wbijania rang zamiast zabić, Umiejętność na mapę dostępną po uzyskaniu odpowiedniego LVL, skiny broni po osiągnięciu określonej liczby medali, 52 odznaki, 33 rangi w tym 8 rang specjalnych, 170 lvl, wbudowany VIP i wiele innych mniejszych modyfikacji. Modyfikacja nie zawiera bugów i jest mojego autorstwa. 

Kontakt: GG-22185431 | Steam- Last One XXX | PW na forum. 


#2 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 683
Wszechmogący

  • Postów:1 258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 16.12.2014 18:12

Musisz poczytać trochę o zapisie informacji ( nvault, sql ) i wtedy zapisywać po każdym wyjściu gracza z serwera czas, jaki spędzał na serwerze, dodawać go i przy wejściu gracza na serwer pobierać. 

 

Tu masz przykładowy plugin napisany przez Miśka i ByczQa, ale różni się on tym, że nie jest wyświetlane w grze, tylko na podanej przez Ciebie stronie.

http://amxx.pl/topic...85-czas-online/


  • +
  • -
  • 1

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.


#3 Last One

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: -3
Nowy

  • Postów:76
  • GG:
  • Lokalizacja:Brzyska Wola
Offline

Napisano 16.12.2014 18:32

Dzięki wielkie.

 

A masz może rozwiązanie na to, aby czas był pokazywany w godzinach i minutach a nie tylko sekundach?


  • +
  • -
  • 0

--<<SPRZEDAM>>--

UNIKALNĄ MODYFIKACJĘ BF2

Modyfikacja zawiera: EXP oraz LVL do wbijania rang zamiast zabić, Umiejętność na mapę dostępną po uzyskaniu odpowiedniego LVL, skiny broni po osiągnięciu określonej liczby medali, 52 odznaki, 33 rangi w tym 8 rang specjalnych, 170 lvl, wbudowany VIP i wiele innych mniejszych modyfikacji. Modyfikacja nie zawiera bugów i jest mojego autorstwa. 

Kontakt: GG-22185431 | Steam- Last One XXX | PW na forum. 


#4 Last One

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: -3
Nowy

  • Postów:76
  • GG:
  • Lokalizacja:Brzyska Wola
Offline

Napisano 16.12.2014 19:10

Piszę w odpowiedzi bo nie mogę edytować postu.

 

Jeśli ktoś z forum miałby chwilkę czasu i mi pomógł to byłbym naprawdę wdzięczny. Nie liczę na to że ktoś zrobi to za mnie, bo jak bym wiedział to bym sam to zrobił, tylko proszę o pomoc w napisaniu tego.

 

Ten kod chciałbym później umieścić w bf2 tak, aby w HUD pokazywany był wynik, czyli czas łącznie spędzony na serwerze. HUD mam już gotowe i dodanie tego do HUD to moment. Tylko jeszcze jest jeden szkopuł. Funkcja get_user_time pobiera czas w sekundach. Jak zrobić, aby było to pokazywane w minutach i godzinach.

 

Z góry dzięki i pozdrawiam.


  • +
  • -
  • 0

--<<SPRZEDAM>>--

UNIKALNĄ MODYFIKACJĘ BF2

Modyfikacja zawiera: EXP oraz LVL do wbijania rang zamiast zabić, Umiejętność na mapę dostępną po uzyskaniu odpowiedniego LVL, skiny broni po osiągnięciu określonej liczby medali, 52 odznaki, 33 rangi w tym 8 rang specjalnych, 170 lvl, wbudowany VIP i wiele innych mniejszych modyfikacji. Modyfikacja nie zawiera bugów i jest mojego autorstwa. 

Kontakt: GG-22185431 | Steam- Last One XXX | PW na forum. 


#5 Wielkie Jol

    REPREZENTUJE SIEBIE I CAŁĄ GALAKTYKĘ

  • Support Team

Reputacja: 683
Wszechmogący

  • Postów:1 258
  • GG:
  • Lokalizacja:AMXX
Offline

Napisano 16.12.2014 20:29

Czysta matematyka, załóżmy, że masz do wyświetlenia same minuty. 

Minuta to 60 sekund.

Więc patrzysz, ile grasz przegrał sekund

ilosc_minut = ilosc_sekund / 60

Wyjdzie nieładna liczba przy dzieleniu, jeżeli dla przykładu gracz będzie miał przegrane 63 sekundy, więc radzę to liczbę zaokrąglać w dół do najbliższej liczby całkowitej( mowa oczywiście o minutach, nie o sekundach ) .

Następnie sprawdzamy ile gracz przegrał sekund, no bo minuty już w zasadzie mamy policzone. Wykorzystamy do tego operację modulo, która zwraca resztę z dzielenia. Dzielimy więc w takim razie naszą ilość sekund przez 60

W ten sposób otrzymamy np. taki kod:

public test(id){
        ilosc_sekund = get_user_time(id, 1) // pobieramy ile gracz gral sekund na serwerze 
        ilosc_minut = floatround(ilosc_sekund / 60, floatround_floor); // sprawdzamy czy ilosc sekund przegranych dzieli sie przez 60, zaokraglamy w dol.
        client_print(id, print_chat, "Czas przegrany w minutach i sekundach:  %d - %d", ilosc_minut, ilosc_sekund % 60); // wyswietlamy
}

Powinno działać, ja to zrobiłem w pascalu, bo specjalnie mi się CS'a nie chciało odpalać by sprawdzić, ale powinno działać na tej samej zasadzie.


Użytkownik Wielkie Jol edytował ten post 16.12.2014 20:35

  • +
  • -
  • 0

"Żaden etyczny inżynier oprogramowania nie zgodzi się napisać procedury zniszczBagdad. Jego poczucie etyki domaga się, aby napisał procedurę zniszczMiasto, a Bagdad przekazał jako parametr" - Nathaniel Borenstein.


#6 Last One

    Zaawansowany

  • Autor tematu
  • Użytkownik

Reputacja: -3
Nowy

  • Postów:76
  • GG:
  • Lokalizacja:Brzyska Wola
Offline

Napisano 16.12.2014 21:36

Dziękuję. :)
  • +
  • -
  • 0

--<<SPRZEDAM>>--

UNIKALNĄ MODYFIKACJĘ BF2

Modyfikacja zawiera: EXP oraz LVL do wbijania rang zamiast zabić, Umiejętność na mapę dostępną po uzyskaniu odpowiedniego LVL, skiny broni po osiągnięciu określonej liczby medali, 52 odznaki, 33 rangi w tym 8 rang specjalnych, 170 lvl, wbudowany VIP i wiele innych mniejszych modyfikacji. Modyfikacja nie zawiera bugów i jest mojego autorstwa. 

Kontakt: GG-22185431 | Steam- Last One XXX | PW na forum. 


#7 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 17.12.2014 06:04

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




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

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