hlmod.hu
https://hlmod.hu/

Halál
https://hlmod.hu/viewtopic.php?f=9&t=26038
Oldal: 1 / 1

Szerző:  Toretto [ 2016.08.29. 00:04 ]
Hozzászólás témája:  Halál

Hello!
Öléskor a gyilkos milliárdokat kap.
Mi lehet a probléma?
Előre is köszönöm!
  1. public Halal()
  2. {
  3.     new gyilkos = read_data(1)
  4.     new aldozat = read_data(2)
  5.    
  6.     if(!is_user_connected(gyilkos))
  7.         return PLUGIN_HANDLED;
  8.        
  9.     if(!is_user_connected(aldozat))
  10.         return PLUGIN_HANDLED;
  11.    
  12.     if(gyilkos == aldozat)
  13.         return PLUGIN_HANDLED;
  14.    
  15.     Oles[gyilkos]++
  16.    
  17.     while(Oles[gyilkos] >= RangOles[Szint[gyilkos]])
  18.     {
  19.         Szint[gyilkos]++
  20.     }
  21.    
  22.     new pPont;
  23.    
  24.     pPont += random_float(0.05, 0.10)
  25.     Dollar[gyilkos] += pPont
  26.    
  27.     set_dhudmessage(random(255), random(255), random(255), -1.0, 0.15, 0, 6.0, 2.0)
  28.     show_dhudmessage(gyilkos, "+%d$",pPont)
  29.    
  30.     DropEllenorzes(gyilkos)
  31.     return PLUGIN_CONTINUE
  32. }

Szerző:  exodus [ 2016.08.29. 00:09 ]
Hozzászólás témája:  Re: Halál

random_float(0.05, 0.10)


Ha túl kicsi számot adsz meg neki, akkor bugos lesz.
Nekem is volt ilyen problémám, szintén go modnál. :D

Szerző:  Toretto [ 2016.08.29. 00:33 ]
Hozzászólás témája:  Re: Halál

exodus írta:
random_float(0.05, 0.10)


Ha túl kicsi számot adsz meg neki, akkor bugos lesz.
Nekem is volt ilyen problémám, szintén go modnál. :D

Eztet deroid gomodjábol néztem.
Abba tőkéletes.

Szerző:  Akosch:. [ 2016.08.29. 00:56 ]
Hozzászólás témája:  Re: Halál

Ha bővebben érdekel miért kaptál ilyen "fura" számokat:

Pawnban nincsenek tényleges típusok, a float és a bool ( logikai változókról írt tutoriálomban hosszabban ) is csak 1-1 tag.
  1. enum bool
  2. {
  3.       false,
  4.       true
  5. };
  6.  
  7. enum Float;
  8.  
  9. // Csak hogy tudd elképzelni


Csak míg ez boolnál elég, addig floatnál korántsem. Szükségünk lesz egy rendszerre ami szerint meg tudjuk mondani, h mennyi és melyik bit, bájt fogja adni az egész részt, a tört részt, az előjelet stb, ez pawn esetében az IEEE 754 lebegőpontos számformátum ( ha érdekel hogy alakítja ki a számokat elolvasod ). Szóval összevissza ( most mondjuk így, de van egy rendszere ) vannak bitek ki - be kapcsolva, amit ha egész számként értelmezel, sokkal másabb eredményt ad + IEEE 754-ben van pozitív, negatív nulla, végtelen, NaN ( Not a Number ) érték is, amiket egész számoknál nem értelmez a pawn.
+ a Float tag segítségével tudták / tudjuk felülírni az operátorokat, ami segítségével elérhették / elérhetjük, h az adott számrendszerben számoljon a pluginunk. ( lásd: core.inc, float.inc ha jól emlékszem )

Kicsit zavarosra sikerült így hajnal egykor, de remélem érthető volt, és segít valamennyit. A megoldás meg simán használj random_num / random függvényt int változókhoz ( new pPont, sehol sincs a float tag + rossz HN! vagy jól vagy sehogy, p = pointer, i = int, f / fl = float, sz = zero terminated string, s = c++ stílusú string ), nem érdemes ezeket keverni így is néha hibáznak a tört számos számítások.

Szerző:  Toretto [ 2016.08.29. 01:06 ]
Hozzászólás témája:  Re: Halál

Nem nagyon értem.
Letudnád írni hogy pontosan hogy írjam le?
Köszi
Akosch:. írta:
Ha bővebben érdekel miért kaptál ilyen "fura" számokat:

Pawnban nincsenek tényleges típusok, a float és a bool ( logikai változókról írt tutoriálomban hosszabban ) is csak 1-1 tag.
  1. enum bool
  2. {
  3.       false,
  4.       true
  5. };
  6.  
  7. enum Float;
  8.  
  9. // Csak hogy tudd elképzelni


Csak míg ez boolnál elég, addig floatnál korántsem. Szükségünk lesz egy rendszerre ami szerint meg tudjuk mondani, h mennyi és melyik bit, bájt fogja adni az egész részt, a tört részt, az előjelet stb, ez pawn esetében az IEEE 754 lebegőpontos számformátum ( ha érdekel hogy alakítja ki a számokat elolvasod ). Szóval összevissza ( most mondjuk így, de van egy rendszere ) vannak bitek ki - be kapcsolva, amit ha egész számként értelmezel, sokkal másabb eredményt ad + IEEE 754-ben van pozitív, negatív nulla, végtelen, NaN ( Not a Number ) érték is, amiket egész számoknál nem értelmez a pawn.
+ a Float tag segítségével tudták / tudjuk felülírni az operátorokat, ami segítségével elérhették / elérhetjük, h az adott számrendszerben számoljon a pluginunk. ( lásd: core.inc, float.inc ha jól emlékszem )

Kicsit zavarosra sikerült így hajnal egykor, de remélem érthető volt, és segít valamennyit. A megoldás meg simán használj random_num / random függvényt int változókhoz ( new pPont, sehol sincs a float tag + rossz HN! vagy jól vagy sehogy, p = pointer, i = int, f / fl = float, sz = zero terminated string, s = c++ stílusú string ), nem érdemes ezeket keverni így is néha hibáznak a tört számos számítások.

Szerző:  Akosch:. [ 2016.08.29. 01:14 ]
Hozzászólás témája:  Re: Halál

Gondoltam elmagyarázom miért van úgy ahogy, de akkor látom csak a megoldás kell...

Ha tört számmal akarod, csak pótold a Float taget a pPont ( Ahol amúgy rossz HN jelölést használsz, a 'p' pretag pointert, mutatót jelent. ) változódhoz és %f -t használj a szövegben mikorbki akarod iratni.

Ha egész számmal ( én ezt ajánlanám, kevesebb hiba lehetőség, kisebb gépigény ), akkor ne random_float -t használj hanem random_num / random.

Mellék jegyzetként: Ezért bántam meg, h ennyi időt szántam a tutoriálokra, szart se érdekel, csak legyen megoldva a problémája.

Szerző:  regener [ 2016.08.29. 08:01 ]
Hozzászólás témája:  Re: Halál

A Dollar[33] az nem floatként van definiálva és floatot akarsz hozzáadni

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/