Szerző Téma: Adott számok színezése  (Megtekintve 985 alkalommal)

Nem elérhető Rod

Adott számok színezése
« Dátum: 2015. Március 14. - 21:52:46 »
0
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

Nem elérhető Enigma

  • 391
    • Profil megtekintése
Adott számok színezése
« Válasz #1 Dátum: 2015. Március 14. - 22:16:11 »
0
a dxDrawTextnek van asszem egy színkód paramétere, ha az true, akkor rakhatsz a szövegbe színkódot.

Nem elérhető Rod

Adott számok színezése
« Válasz #2 Dátum: 2015. Március 14. - 22:26:24 »
0
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

Nem elérhető Enigma

  • 391
    • Profil megtekintése
Adott számok színezése
« Válasz #3 Dátum: 2015. Március 14. - 22:33:33 »
0
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
)
« Utoljára szerkesztve: 2015. Március 14. - 22:39:43 írta Enigma »

Nem elérhető Rod

Adott számok színezése
« Válasz #4 Dátum: 2015. Március 14. - 22:57:20 »
0
Erre volt szükségem, köszi!
Sejtettem, hogy kelleni fog a string.len, de nem tudtam rájönni.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal