Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2017-06-20, 23:02


amited







Wiek: 26
Na forum: 3714 dni
Posty: 1233
Nick w MP: Amited

Piwa: 512

Respekt: 466
Respekt: 466

Tytu? pewnie du?o nie m?wi wi?c wyja?niam. Chcia?bym zrobi? system warn?w typu
wpisujemy komend?, id gracza i pow?d. Graczowi wysuwa si? pasek co? w stylu dxDrawRectangle no i w nim tekst. I tutaj pies pogrzebany, jak mia?by wygl?da? kod kt?ry sprawdza czy dany text zmie?ci si? w tym Recranglu? Mo?na obliczy? ilo?? znak?w samemu tak ?eby mie? zarys odk?d dok?d mie?ci si? tekst, ale je?eli b?dzie on d?u?szy? Pierwszy m?j pomys? polega? na obliczeniu d?ugo?ci poprzez funkcj? string.len. Po wyliczeniu przez t? funkcj? m?j tekst ma 25 znak?w, Recrangle mie?ci 15 no i jak teraz wrzuci? ".."-".."\n" w 15 liter?? Wiadomo poprzez ten zapis wyjdzie:
"Jakis rando-
mowy tekst"
I chcia?em uzyska? te? co? takiego, gdy dany wyraz nie zmie?ci si? to ca?y zostaje przeniesiony:
"Jaki?
randomowy tekst"
Za pomoc :piwo: R* o ile kto? zrozumia? o co mi chodzi xd

Podpis
"amited" napisał/a:
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-06-21, 00:31


marcin778

Krytyk serwerów MTA






Wiek: 24
Na forum: 4149 dni
Posty: 2268
Nick w MP: Marcineg

Piwa: 4662

Respekt: 1436,8
Respekt: 1436,8


Więcej informacji znajdziesz w Wikipedii MTA:

dxGetTextWidth
i adekwatnie do d?ugo?ci robi? rectangle chyba, ?e co? zle zrozumialem

Co do wstawienia to nie pami?tam ale string.gsub/sub albo string.match Niestety nie pami?tam ale wiem, ?e co? w ten dese?.

Podpis
Moje prace: https://www.youtube.com/c...MuaWGHPp1mhlGnw

-- obecnie
-- obecnie
-- dawniej
-- dawniej
-- dawniej
Ostatnio zmieniony przez marcin778 2017-06-21, 11:44, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
amited
Wysłany: 2017-06-21, 03:04


.RiV







Wiek: 25
Na forum: 3587 dni
Posty: 554
Nick w MP: Split

Piwa: 2596

Respekt: 597,8
Respekt: 597,8

Ja bym proponowa? ucinanie tekstu je?eli b?dzie on wi?kszy ni? np. 5 znak?w i doda na ko?cu 3 kropki czyli "Przyk?adowy (...)"

?ap kod :)

local text 'przyk?adowy tekst'

if len:text >= 5 then
string.sub(text5string.len(text))

text text .. " (...)"
end


Nie testowane :)

Podpis

Autor OGRPG, na scenie MTA od 2012 roku.




Użytkownik: 08.08.2016
GTAO Member: 06.02.2017
Support-Team: 17.06.2017 & 01.06.2019 - 18.11.2019
Moderator: 14.01.2018 - 09.08.2018

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
amited
Wysłany: 2017-06-23, 22:28


Jurandovsky

Kurdebele






Wiek: 17
Na forum: 4838 dni
Posty: 915

Piwa: 2697

Respekt: 955,3
Respekt: 955,3Respekt: 955,3

Przecie? dxDrawText je?eli odpowiednio si? ustawi 2,3,4,5 argument zrobi to za Ciebie, je?eli w??czysz: CLIP lub Wordbreak ;p

Podpis
Jedyny kontakt ze mną to PW forum

Kod:


local noobs = getElementsByTitle("player", "Programista LUA")
for k, v in ipairs(noobs) do
outputChatBox("Bez mózgu jest użytkownik o nicku: "..getPlayerName(v), root)
destroyElement(v)
end
Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
amited
Wysłany: 2017-06-23, 23:57


amited







Wiek: 26
Na forum: 3714 dni
Posty: 1233
Nick w MP: Amited

Piwa: 512

Respekt: 466
Respekt: 466

Jurandovsky, Kurdebele xd Dzi?ki za pomoc. Close

Podpis
"amited" napisał/a:
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-06-24, 13:10


Jurandovsky

Kurdebele






Wiek: 17
Na forum: 4838 dni
Posty: 915

Piwa: 2697

Respekt: 955,3
Respekt: 955,3Respekt: 955,3

Wczoraj ju? nie mia?em czasu napisa?, to Ci dopisz? teraz :P

local sxsy guiGetScreenSize()

--rysujemy rectangle na srodku ekranu
dxDrawRectangle(sx/2-200sy/2-200400400tocolor(128,128,128,255))

-- teraz chcemy miec tekst "RECTANGLE" w samym centrum tego rectangle
dxDrawText("RECTANGLE"sx/2-200sy/2-200sx/2-200+400sy/2-200+400tocolor(255,255,255,255), 1"default-bold""center""center"falsetruetrue)



Nie pamietam dokladnej kolejnosci tych 3 ostatnich argumentow, ale ostatnie true to chyba postGUI a przedostatnie wordbreak (nie chce mi sie na wiki wchodzic)

Zasada jest prosta, jako 2, 3 argument dxDrawTextu podajesz POZYCJ? RYSOWANIA rectangle.

Jako 4,5 argument dxDrawText podajesz pozycj? rysowania (x lub y, zalezy czy to 4 czy 5 argument, 4=x 5=y) oraz dodajesz do niej rozmiar tez x lub y.

rectangle = 200, 100, 50, 40
text = 200, 100, 200+50, 100+40

Wtedy mo?esz manipulowa? te? tym 'align' co poda?em 'center' 'center', a 'obram?wka' tekstu w ten spos?b b?dzie jakby na ca?ym rectangle ;p

Podpis
Jedyny kontakt ze mną to PW forum

Kod:


local noobs = getElementsByTitle("player", "Programista LUA")
for k, v in ipairs(noobs) do
outputChatBox("Bez mózgu jest użytkownik o nicku: "..getPlayerName(v), root)
destroyElement(v)
end
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-06-24, 15:29


amited







Wiek: 26
Na forum: 3714 dni
Posty: 1233
Nick w MP: Amited

Piwa: 512

Respekt: 466
Respekt: 466

Jurandovsky, Dzi?ki, nie wiem dlaczego ale nie moge ci repy da?... Mozna close

Podpis
"amited" napisał/a:
Postaw piwo autorowi tego posta
 

 
Tagi: zmieszczenie :: tekstu :: danym :: przedziale.
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Zmieszczenie tekstu w danym przedziale. Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku