Wysłany: 2017-06-27, 10:56
admiral123
Wiek: 29 Na forum: 3276 dni Posty: 16
Piwa : 1
Mam problem z groszami, w mysql wszystko jest dobrze. ale w gui przy liczbie 1000000+ nie pokazuje setnej grosza a przy 10 mln+ nie wy?wietla w og?le groszy jest (liczba.00) Jak to naprawi??
kasa = string . format ( "PLN %.02f" , kasa )
za pomoc repka!
Wysłany: 2017-06-27, 10:58
Atroth
Wiek: 23 Na forum: 3677 dni Posty: 1089
Nick w MP: Atroth
Piwa : 4808
admiral123 , Zr?b za pomoc? elementDaty z?ot?wki i grosze. Musisz r?wnie? zrobi?, ?e gdy gracz ma wi?cej ni? 100 groszy daje mu +1z?. System z "getPlayerMoney" Ci z groszami nie pomo?e.
Podpis
Użytkownik - 10-05-2016
Support Team - 17.06.2017
Moderator - 25.11.2017
Mod-Team - 02.07.2018
Wysłany: 2017-06-27, 11:26
admiral123
Wiek: 29 Na forum: 3276 dni Posty: 16
Piwa : 1
Rookspack , nie mam getplayermoney tylko setElementData
[ Dodano : 2017-06-27, 11:28 ]
Rookspack , Musze odzielnie zrobi? grosze i z?oty? na 2 elementdaty?
Wysłany: 2017-06-27, 11:34
Atroth
Wiek: 23 Na forum: 3677 dni Posty: 1089
Nick w MP: Atroth
Piwa : 4808
admiral123 , Szczerze nigdy nie robi?em tego systemu, ale my?l?, ?e tak. Prosty przyk?ad:
local function naliczGrosze ()
if getElementData ( localPlayer , "grosze" ) > 100 then
local zloty = getElementData ( localPlayer , "zloty" )
setElementData ( localPlayer , "zloty" , + 1 )
end
end
Podpis
Użytkownik - 10-05-2016
Support Team - 17.06.2017
Moderator - 25.11.2017
Mod-Team - 02.07.2018
Wysłany: 2017-06-27, 12:55
neku^
Wiek: 24 Na forum: 3522 dni Posty: 461
Nick w MP: neku^
Piwa : 1186
Wystarczy podzielic getPlayerMoney przez 100 i wyjd? ci grosze
Wysłany: 2017-06-27, 14:14
Dexnes_
Tiger
Wiek: 26 Na forum: 4401 dni Posty: 620
Nick w MP: Dexnes
Piwa : 1394
dbn69 , Jest to bezsensowny pomys?, gdy? ca?y serwer musia?by? dostosowa? do tego. Gdy b?dziesz chcia? u?y? funkcji setPlayerMoney i dasz 100$ to nada ci 1z? 00 gr. Moim zdaniem najlepszym rozwi?zaniem s? element daty. Jedna odpowiada za centy, natomiast druga za euro.
Wysłany: 2017-06-27, 15:10
Wittx
8===D
Wiek: 26 Na forum: 4794 dni Posty: 121
Nick w MP: wittula
Piwa : 1905
local money = getPlayerMoney ( localPlayer ) -- pobieramy pieni ? dze od lokalnego gracza
local moneyText = string . format ( "%.2f" , money / 100 ).. " z?" -- formatujemy pieni ? dze tak , aby otrzyma ? nasze pseudogrosze
outputChatBox ( moneyText ) -- wy ? wietlamy wynik naszego kodu
Nie musisz bawi? si? w ?adne elementData. Jedyne co musisz zrobi? to podnie?? ceny stokrotnie oraz zmieni? ich wy?wietlanie w przer??nych sklepach. Zmiana tekstu w sklepach to chwila, sam widzisz ile miejsca zaj??o "przerobienie" pieni?dzy gracza w moim kodzie.
Wybieraj?c m?j spos?b zmniejszasz maksymaln? ilo?? pieni?dzy jak? mo?e posiada? gracz. Zamiast $999999999 (9 cyfr) gracz b?dzie m?g? mie? maksymalnie 9999999.99 z? (7 cyfr i dwie po kropce).
Tak szczerze - kto b?dzie trzepa? takie kokosy na serwerze...
System pieni?dzy oparty na "dw?ch zarezerwowanych szufladkach" w elementData (na przyk?ad "zlotowki" i "grosze") trzeba by by?o napisa? samemu od pocz?tku, napisa? funkcje na dawanie pieni?dzy, zabieranie pieni?dzy, sprawdzanie czy warto?? pieni?dzy wynosi tyle i tyle (zar?wno z?ot?wek jak i groszy), na przyk?ad czy gracz posiada wi?cej lub tyle samo co 125 z? 50 gr przy sobie. Dla kogo? kto dopiero zaczyna swoj? przygod? z klepaniem w klawiatur? napisanie takiego systemu mo?e by? problemem.
Rookspack napisał/a :admiral123 , Szczerze nigdy nie robi?em tego systemu, ale my?l?, ?e tak. Prosty przyk?ad:
local function naliczGrosze ()
if getElementData ( localPlayer , "grosze" ) > 100 then
local zloty = getElementData ( localPlayer , "zloty" )
setElementData ( localPlayer , "zloty" , + 1 )
end
end
Oj du?o b??d?w. Na pierwszy strza? - warunek. 100 groszy to z?ot?wka, w warnuku z?ot?wk? b?dzie dopiero to co jest wi?ksze od 100. Nale?a?oby uzy? ">=" zamiast ">". Drugi b??d - setElementData. Napisanie samego +1 nam nic nie da, poniewa? tu ustawiasz warto?? i trzeba poda? konkrety. setElementData ( localPlayer , "zloty" , zloty + 1 )
Do zmiennej zloty dodajemy 1, tak zwana inkrementacja.
I teraz najwa?niejsze - trzeba my?le? zawsze w dwie strony. Je?li groszy jest 100 lub wi?cej to fajnie, wi?cej z?ot?wek, super i wgl (jeszcze grosze trzeba wyzerowa? o czym Rookspack zapomnia?), ale co je?li tych groszy b?dzie mniej ni? 0? Na serwerze mamy te? traci? pieni?dze, prawda?
Dexnes_ napisał/a :Jest to bezsensowny pomys?, gdy? ca?y serwer musia?by? dostosowa? do tego.
Do systemu pieni?dzy opartym na elementData tym bardziej musia?by dostosowa? wszystkie skrypty. ?atwiej jest podnie?? ceny stokrotnie ni? zmienia? ca?y system wp?acania i wyp?acania pieni?dzy w cudzych skryptach (nie oszukujmy si?, pocz?tkuj?ca osoba nie napisze od razu systemu sklepu). Zw?aszcza, ?e wi?kszo?? takich skrypt?w oparta jest na tablicach gdzie zawarte s? przedmioty i kwoty, a co za tym idzie - s? pobierane dane z tablicy. Je?li nie mamy w planach dawa? warto?ci z groszem (na przyk?ad do salonu samochodowego) to nawet nie trzeba zmienia? cen w tablicach tylko pomno?y? cen? przez 100 podczas pobierania tej warto?ci z tablicy.
Nie mia?em na celu nikogo urazi?, po prostu chcia?em jako? wyt?umaczy? b??dy i przedstawi? swoje zdanie na ten temat. Mam nadziej?, ?e pomog?em.
Wysłany: 2017-06-27, 16:44
neku^
Wiek: 24 Na forum: 3522 dni Posty: 461
Nick w MP: neku^
Piwa : 1186
Jak ostatnio sprawdza?em system pieni?dzy to na jednej element dacie wszystko dzia?a?o. Przy wy?wietlaniu string format, a przy odejmowaniu normalnie setPlayerData (tak samo z dodawaniem tylko ?e zamiast - b?dzie +). Tak?e nie widz? sensu robienia dwoch elementdat.
Tagi: grosze
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: