GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: krisk - 2015. augusztus 23. - 21:11:53

Cím: getRandomNumber() v2.0
Írta: krisk - 2015. augusztus 23. - 21:11:53
Nem tudom, miért kaptam warnt, sajnos az első próbálkozásom volt, nem vagyok én egy pro scripter és ahogyan megnéztem, volt vele egy kis probléma, mert valóban a kockát levertem az asztalról mikor eldobtam a kockát, de azt hittem, hogy nem lesz ezzel baj, DE hát sajnos warnt kaptam miatta. :\'(
Hát de mindegy, szóval nem értem, hogy miért nem volt a posztomnak értelme, mikor egy teljesne működő script volt, csak nem csinálta azt, amit kellett volna!!! Na de ezt mostan javítani fogom:
Szóval ez a második próbálkozásom, remélem hogy ezér tnem fogok warnt kapni! Úgy döntöttem, hogy a sokkal felsőbbrendűbb kockadobásos módszer helyett egy ilyen matematikai hülyeséggel próbálkozok ami úgy se érdekel senkit, de hát mindegy, ha nem akarok megint warnt kapni ettől a remek közösségtől, akkor ez van. :@
Na mindegy, ez egy lineáris kongrugencia generátor, aminek az értékei a glibc-ből vannak szedve. A seed valami nehezen replikálható legyen, a tesztfüggvényben gettime() van. A szám 0 és RAND_MAX között lesz, használd a % operátort ha egy intervallumot akarsz. A számok nem kriptográfiailag biztosak meg mittudomén meg a többi hülyeség amit el kéne mondanom de NEM FOGOM inkább nézzetek utána!!!! Na szóval a lényeg hogy ezért nem kapok warnt????????? ReméleM!!!!!!!!!!!!!!!!!!!!!
Implementáció:
 

#define RAND_MAX 0x7fffffff
new gNext;
getRandomNumber_test()
{
printf(\"Veletlen szam 0 es 50 kozott:\");
for( new i = 0; i<5000; i++ )
{
printf(\"%i: %i\\t\", i, getRandomNumber(gettime()) % 50 );
}
return 1;
}
getRandomNumber(seed)
{
if( gNext == 0 )
{
    gNext = seed;
}
return gNext = (gNext * 1103515245 + 12345) & RAND_MAX;
}
Cím: getRandomNumber() v2.0
Írta: EnterR - 2015. augusztus 23. - 21:16:26
Fogalmam sincs, hogy mi ez de elég meggyőző.
Cím: getRandomNumber() v2.0
Írta: anGeL - 2015. augusztus 23. - 21:17:52
Eléggé meggyőző és eléggé szígyó. Hasznos kis script!  :shurg:
Cím: getRandomNumber() v2.0
Írta: krisk - 2015. augusztus 23. - 21:20:56
Idézetet írta: anGeL date=1440357472\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57397\" data-ipsquote-contentclass=\"forums_Topic
Eléggé meggyőző és eléggé szígyó. Hasznos kis script!  :shurg:
 
Van egy jobb verzióm is, ha nem érted, hogy mit csinál, ez sokkal egyszterűb bés könnyebb megérteni:
 

#define RAND_MAX 2147483647
getRandomNumber(seed)
{
    #pragma unused seed
    return random(RAND_MAX);
}
Cím: getRandomNumber() v2.0
Írta: AnthonyGates - 2015. augusztus 23. - 21:36:45
Fajin! Nagyon hasznos. Régóta kerestem
Cím: getRandomNumber() v2.0
Írta: Csempe.old - 2015. augusztus 24. - 12:05:24
Szép munka, bár értelme az a 0 felé konvergál.
Ennek a \"kis kódnak\" max annyi lehet az értelme, hogy nem kell változóba tárolni a számot. Ja és még szerintem lassítja is a folyamatot.
Cím: getRandomNumber() v2.0
Írta: krisk - 2015. augusztus 24. - 20:46:22
Annyi az értelme, hogy jobb, mint az alap pawn-ba beépített random(), mert lehet seedelni.
Amúgy nyilván drágább folyamat, mint a sima alap random(), mert nem pluginban van írva. Ettől függetlenül szerintem nem akkora probléma, az algoritmus O(n) [lineáris] idő alatt fut és kb. 1300 művelet kerül 1 ms-be az én gépemen. Nem hiszem, hogy egy lineáris algoritmusnál és egy olyan ritkán használt függvénynél, mint a random(), pont a futásidővel kéne bajlódni.
Cím: getRandomNumber() v2.0
Írta: Benceee - 2015. augusztus 25. - 10:34:17
Kerrsk, nem megy neked ez a beilleszkedés, hagyd a fenébe. Inkább kérdőjelezd a csapat integritását, ahhoz értesz.
Cím: getRandomNumber() v2.0
Írta: grove4l - 2015. augusztus 25. - 11:08:42
Magyarosítás várható?
Cím: getRandomNumber() v2.0
Írta: b1s - 2015. augusztus 25. - 11:51:35
Idézetet írta: Benceee date=1440491657\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"57397\" data-ipsquote-contentclass=\"forums_Topic
Kerrsk, nem megy neked ez a beilleszkedés, hagyd a fenébe. Inkább kérdőjelezd a csapat integritását, ahhoz értesz.
 
erre sajnos minuszt kell adjak ! tisztelni kell a be illeszkedni probalni vagyo tagok probalkozasait!

Magyarosítás várható?
 
[/quote]hatarozott igen a valasz
Cím: getRandomNumber() v2.0
Írta: Csempe.old - 2015. augusztus 25. - 12:05:57
Ez nyereményjátékokra is jó!
Cím: getRandomNumber() v2.0
Írta: kurta999 - 2015. szeptember 17. - 23:23:05
Te atya úr isten mik mennek itt az elmúlt időkben amióta nem nézem a fórumot?  :D  :D  :D  :D  :D
Mellesleg a kód tetszik, nem igazán vágtam pontosan, hogy működik a random, de ez felkeltette az érdeklődésem, tehát irány googlezni.