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

Multi Theft Auto (MTA) => MTA: Szerverfejlesztés => Archívum => A témát indította: Rod - 2015. Március 14. - 21:52:46

Cím: Adott számok színezése
Írta: Rod - 2015. Március 14. - 21:52:46
Hali.
Arra lennék kíváncsi, hogy hogy lehet egy adott számot vagy számokat színezni.
Hogy mire is gondolok itt:
\"penzszinezes_www.kepfeltoltes.hu_.png\"
Tehát ami elvan mentve (adott esetben a pénz) az színezve legyen, a többi nulla pedig maradjon fehér.
00682000FT
Cím: Adott számok színezése
Írta: Enigma - 2015. Március 14. - 22:16:11
a dxDrawTextnek van asszem egy színkód paramétere, ha az true, akkor rakhatsz a szövegbe színkódot.
Cím: Adott számok színezése
Írta: Rod - 2015. Március 14. - 22:26:24
Azzal tisztában vagyok, de nekem nem az kell.
Tehát ha nincs pénzem, akkor simán fehérrel 00000000-at írna, ha mondjuk lenne 504 forintom akkor így írná: 00000504
Cím: Adott számok színezése
Írta: Enigma - 2015. Március 14. - 22:33:33
matekozd ki. adj meg egy változóba egy bizonyos összeget, amennyi 0 legyen, mondjuk 9.
lekéred egy változóba a játékos pénzét, azt tostring()-el stringgé alakítod, majd string.len-el lekéred azt hogy hány karakterből áll. ezt a számot kivonod a 0 mennyiségének a változójából, tehát abból, ami az elején 9 lett. (például)
így megkapod azt, hogy hány 0-t kell kiíratnod. csinálsz egy üres változót, ami majd a 0-kat fogja tárolni, amik kirajzolásra kerülnek. Jön egy for loop, ami 1-től elszámol addig amennyi 0-t kikell íratnod, és mindig hozzáad egy nullát stringként a változóhoz. ezt már csak kikell íratnod fehérrel, mögé pedig a pénzösszeget kékkel vagy akármivel.
tehát. 9 jegyű lehet max a pénzösszes például, és neked van 500 forintod, akkor  az általam leírt technikával fogsz kapni egy változót, ami ezt tartalmazza -> \"000000\" mivel 9 - 3 = 6.
tehát nagyjából: (lehet vanbenne hiba, ezeréve nem scripteltem)
 

local maxNulla = 9
local playerMoney = getElementData(localPlayer, \"char.money\") or 0
local actualCharAmount = maxNulla - string.len(tostring(playerMoney))
local finalString = \"\"
for i = 0, actualCharAmount, 1 do
finalString = finalString .. \"0\"
end
addEventHandler(\"onClientRender\", getRootElement(),
function()
dxDrawText() -- stb
end
)
Cím: Adott számok színezése
Írta: Rod - 2015. Március 14. - 22:57:20
Erre volt szükségem, köszi!
Sejtettem, hogy kelleni fog a string.len, de nem tudtam rájönni.