Wysłany: 2017-01-05, 19:40
MrLuzny
Wiek: 34 Na forum: 3462 dni Posty: 57
Piwa : 4
witam chce zrobic walute w floacie ale float przekszat?ca mi to co chwile nie o du?o ale no zawsze cos.
np., z 250.20 robi 250.1999923 jak temu zapobiec?
Wysłany: 2017-01-05, 19:44
borsuk
Wiek: 17 Na forum: 3547 dni Posty: 468
Piwa : 15622
Raczej si? nie da ale sproboj dac timery kt?re zmieniaj? float
Wysłany: 2017-01-05, 19:52
MrLuzny
Wiek: 34 Na forum: 3462 dni Posty: 57
Piwa : 4
ale jak da? timer skoro b?dzie r?zn? kwot? dysponowa? czyli s?abo to wyjdzie.
[ Dodano : 2017-01-05, 19:52 ]
@moze da sie jakos inaczej zrobic walute z groszami?
Wysłany: 2017-01-05, 19:57
WWilk1
Wiek: 30 Na forum: 4699 dni Posty: 116
Nick w MP: eep.Wilk
Piwa : 147
Mo?esz zrobi? w ten spos?b ?e b?dziesz mia? ci?gle dwa lub jedno miejsce po kropce(zale?y jak wolisz). Wystarczy ?e w formacie dasz parametr %.2f.
Ja jeszcze nie mia?em tak, ?e samoczynnie float zmienia? swoj? warto??. Mo?e w odczycie le?y problem.
Wysłany: 2017-01-05, 20:14
MrLuzny
Wiek: 34 Na forum: 3462 dni Posty: 57
Piwa : 4
czyli gdzie mam to da? przy ka?dym pobraniu i przy ka?dym zapisywaniu?
Wysłany: 2017-01-05, 20:23
WWilk1
Wiek: 30 Na forum: 4699 dni Posty: 116
Nick w MP: eep.Wilk
Piwa : 147
Pawn format ( str , 128 , "Moja waluta: %.2f" , Money [ playerid ]);
SendClientMessage ( playerid , - 1 , str );
formatowa? tablicy flaot nie musisz.
Przetestuj i sprawd? jak Ci pasuje.
Ostatnio zmieniony przez WWilk1 2017-01-05, 21:52, w całości zmieniany 2 razy
Wysłany: 2017-01-05, 20:29
MrLuzny
Wiek: 34 Na forum: 3462 dni Posty: 57
Piwa : 4
Pawn
new Float : Money [ MAX_PLAYERS ];
OnPlayerConnect ( playerid ):
Money [ playerid ] = ( playerid , DOF_GetFloat ( DOF_udb_encode ( Player ( playerid )), "Monety" ));
OnPlayerDisconnect :
DOF_SetFloat ( DOF_udb_encode ( Player ( playerid )), "Monety" , Money [ playerid ]);
przy rejestr :
DOF_SetFloat ( DOF_udb_encode ( Player ( playerid )), "Monety" , 0 );
Money [ playerid ] = 250.20 ;
Zapis :
DOF_SetFloat ( DOF_udb_encode ( Player ( i )), "Monety" , Money [ i ]);
to ca?y kod i gdzie doda? ten format? w ten spos?b powinno mi przy rejestracji ustawic 250.20 a w plikach samoczynnie zmienia mi z 250.20 na 250.19999243 niby nie wiele ale przy walucie to s?abo
Wysłany: 2017-01-06, 13:14
borsuk
Wiek: 17 Na forum: 3547 dni Posty: 468
Piwa : 15622
Dziwne ja zrobi?em skrypt na meble z zapisem do floatu to mi nie zmienia?o :?
Wysłany: 2017-01-06, 13:24
MrLuzny
Wiek: 34 Na forum: 3462 dni Posty: 57
Piwa : 4
mi zmiena wiec niewiem czemu
[ Dodano : 2017-01-06, 13:28 ]
nowo stworzone konto ma w pliku:
Monety=250.19999694
wiec zmienia i jak temu zapobiec?
Wysłany: 2017-01-06, 14:59
borsuk
Wiek: 17 Na forum: 3547 dni Posty: 468
Piwa : 15622
Wiem jak
Pawn
OnPlayerDisconnect :
new kstr [ 50 ];
format ( kstr , sizeof kstr , "%.2f" Money [ playerid ]);
DOF_SetFloat ( DOF_udb_encode ( Player ( playerid )), "Monety" , kstr )
OnPlayerConnect ( playerid ):
Money [ playerid ] = ( playerid , DOF_GetFloat ( DOF_udb_encode ( Player ( playerid )), "Monety" ));
Wysłany: 2017-01-06, 15:08
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
Sprawdzi?em to u siebie, to nie b??d. Tak ma by?.
Kasa = 250.20
[14:57] Kasa: 250.199996, 250.19, 250.1
Kasa = 200.20
[14:58] Kasa: 200.199996, 200.19, 200.1
Kasa = 100.0
[14:59] Kasa: 100.000000, 100.00, 100.0
Kasa = 50.20 - tu dzia?a.
[15:00] Kasa: 50.200000, 50.20, 50.200
Kasa = 200.20
[15:00] Kasa: 200.199996, 200.19, 200.1
Kasa = 200.50
[15:03] Kasa: 200.500000, 200.50, 200.5
Albo zmie? warto?? na inn?, albo zostaw tak jak jest. R??nicy wielkiej Ci to nie zrobi.
Wysłany: 2017-01-06, 18:19
MrLuzny
Wiek: 34 Na forum: 3462 dni Posty: 57
Piwa : 4
moze i nie robi ale do waluty precyzyjne to nie jest
czyli nieda si? temu zapobiec?
Wysłany: 2017-01-06, 18:47
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
Niestety nie wiem, ale mog? Ci poradzi? jedynie zrobienie tego na zmiennych int,
Pawn new Zlotych [ MAX_PLAYERS ], Groszy [ MAX_PLAYERS ];
new kasa [ 128 ];
format ( kasa , sizeof kasa , "Posiadasz %d.%d PLN" , Zlotych [ playerid ], Groszy [ playerid ]);
SendClientMesaage ( playerid , - 1 , kasa );
Wysłany: 2017-01-06, 19:34
MrLuzny
Wiek: 34 Na forum: 3462 dni Posty: 57
Piwa : 4
No dobra ale jak zrovic zeby przy czynnosciach jezeli stan + to co dodamy odejmiemy jest wiekszy od 99badz mniejszy od 0 zeby zmienialo groszena zlotowki?
Wysłany: 2017-01-07, 13:08
borsuk
Wiek: 17 Na forum: 3547 dni Posty: 468
Piwa : 15622
Nie zmieniaj nic tylko daj
Np co? kosztuje 220.50 to
if(Monety[playerid] <= 220.49 && >= 220.51
Tagi: waluta :: float
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: