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

Podwójne losy - na co zamienic if(los == x)


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

#1 Żuk

    Wszechwidzący

  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:291
  • Lokalizacja:Katowice
Offline

Napisano 29.07.2017 00:21

Mam lotto, kiedyś widziałem tutaj bardziej obszerny post/temat dotyczący właśnie robienia losowania i były wytłumaczone różne funkcje, które za nie odpowiadają. Ja mam lotto na zasadzie if'ow i bardzo często są podwójne losy, najczęściej jak 2 osoby losują w bardzo krótkim odstępie czasu.

Jak to mogę zamienić ? Dokładnie te losowanie wygląda tak:

new los
            los = random_num(1,MAX);

i na gorze pod includami zdefiniowana liczba MAX

a pozniej if(los == 1) 2,3,4,5,6


  • +
  • -
  • 0

#2 Robiin

    Godlike

  • Support Team

Reputacja: 1 107
Super Hero

  • Postów:2 051
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 29.07.2017 11:07

Wiedząc, że plugin wykona X zadanie, przerwie i ponowi to samo przy kolejnym ID, możesz po prostu zerować zmienną los na końcu publica, co raczej powinno pomóc, ale sam fakt, że losuje 2x to samo, jest wątpliwy.


  • +
  • -
  • 1

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#3 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 30.07.2017 11:37

Wiedząc, że plugin wykona X zadanie, przerwie i ponowi to samo przy kolejnym ID, możesz po prostu zerować zmienną los na końcu publica, co raczej powinno pomóc, ale sam fakt, że losuje 2x to samo, jest wątpliwy.

Nie wiem czy dobrze zrozumiałem, ale z tego co mi się wydaje to gadasz głupoty. Resetowanie zmiennej na końcu publica? Przecież potem i tak dostaje od nowa losową wartość więc bez sensu. Co do losowania to taki urok, że losy potrafią się powtarzać, zapewne siedzi to po prostu w twojej głowie i ciężko tego uniknąć, chyba że chcesz się całkowicie pozbyć powtórzeń, to może się udać.


  • +
  • -
  • 1

#4 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 30.07.2017 12:23

Tak jak napisal donaciak taki urok losowan, ze czasem cos sie powtorzy. Jezeli tego nie chcesz przechwyc wylosowana wartosc do zmiennej i ponawiaj los w przypadku nastepnej takiej samej liczby jak poprzednia.


  • +
  • -
  • 1

b35020692_qesnxqa.png


#5 Robiin

    Godlike

  • Support Team

Reputacja: 1 107
Super Hero

  • Postów:2 051
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 30.07.2017 14:31

 

Wiedząc, że plugin wykona X zadanie, przerwie i ponowi to samo przy kolejnym ID, możesz po prostu zerować zmienną los na końcu publica, co raczej powinno pomóc, ale sam fakt, że losuje 2x to samo, jest wątpliwy.

Nie wiem czy dobrze zrozumiałem, ale z tego co mi się wydaje to gadasz głupoty. Resetowanie zmiennej na końcu publica? Przecież potem i tak dostaje od nowa losową wartość więc bez sensu. Co do losowania to taki urok, że losy potrafią się powtarzać, zapewne siedzi to po prostu w twojej głowie i ciężko tego uniknąć, chyba że chcesz się całkowicie pozbyć powtórzeń, to może się udać.

 

Rzeczywiście, głupio to napisałem  ;>

Chodziło mi właśnie o to mentalne uspokojenie autora, żeby był pewny, że liczba jest randomowa.


  • +
  • -
  • 1

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.


#6 Żuk

    Wszechwidzący

  • Autor tematu
  • Użytkownik

Reputacja: 11
Początkujący

  • Postów:291
  • Lokalizacja:Katowice
Offline

Napisano 31.07.2017 17:03

N okej, dzięki :P macie po +, ogólnie słyszałem, że nie powinno się robić losowania za pomocą if'ów i, że właśnie przez to mogą się powtarzać losy.


  • +
  • -
  • 0

#7 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 02.08.2017 22:56

N okej, dzięki :P macie po +, ogólnie słyszałem, że nie powinno się robić losowania za pomocą if'ów i, że właśnie przez to mogą się powtarzać losy.

 

Zle slyszales, funkcja random_num losuje liczby z przedzialow X/Y i nie ma tu zadnego znaczenia w jaki sposob jest wywolywana.


  • +
  • -
  • 1

b35020692_qesnxqa.png





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

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