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

Wysłany: 2014-05-05, 17:12


Quis

Wszechwiedzący






Wiek: 31
Na forum: 5146 dni
Posty: 464
Nick w MP: Quis

Piwa: 1110

Respekt: 325
Respekt: 325Respekt: 325Respekt: 325

Cze??
Napisa?em sobie skrypt na etykiety tekstowe podobne do tych z SA-MPa, do MTA. Jak na razie nie ma tutaj nic nadzwyczajnego, ale mam zamiar troch? to rozwin??, da? mo?liwo?? zmiany czcionki, rozmiaru, zmiany koloru w ?rodku tekstu, doda? mo?liwo?? tworzenia etykiet client-side, widocznych tylko dla jednego klienta, i inne.

Nazwa: Quis 3D Text Labels
Wersja: 1.1
Screeny: Screen 1 Screen 2 (zielona etykieta ma nadany indeks 1) Screen 3 (etykieta przyczepiona do naczepy)
Przydatne informacje: Utworzone etykiety s? elementami MTA, tak samo jak praktycznie wszystko co istnieje w MTA, czyli gracze, pojazdy, pickupy i inne. Typ elementu, dla etykiety to "text3d".
Rozmiar tekstu dla ka?dej etykiety tekstowej jest skalowany w zale?no?ci od odleg?o?ci od gracza. Im dalej, tym tekst b?dzie mniejszy.


Lista zmian w wersji 1.1:
  • poprawiono b??d, kt?ry powodowa? ?e nie da?o si? ustawi? warto?ci "checkLOS" na false. B??d ten zosta? te? poprawiony w wersji 1.0, godzin? po jej wystawieniu
  • dodano czarn? obw?dk? do etykiet, dla ?adniejszego wygl?du
  • dodano funkcje attach3DTextLabel i detach3DTextLabel umo?liwiaj?ce przyczepianie etykiet do innych element?w
  • dodano parametr "index" w create3DTextLabel

Lista funkcji (tylko server-side):
Kod:

text3d create3DTextLabel( string text, float posx, float posy, float posz, [ int red = 255, int green = 255, int blue = 255, float drawdistance = 100.0, bool checkLOS = true, int index = 0 ] )

Tworzy now? etykiet? tekstow? i zwraca jej element. Funkcja automatycznie konwertuje wszystkie zmienne je?li ich typ jest nieprawid?owy, je?li konwersja si? nie powiedzie, zwraca "false".
  • text - ci?g znak?w, kt?ry b?dzie zawarty w etykiecie
  • posx - pozycja X etykiety
  • posy - pozycja Y etykiety
  • posz - pozycja Z etykiety
  • red - ilo?? koloru czerwonego w kolorze etykiety, domy?lnie 255
  • green - ilo?? koloru zielonego w kolorze etykiety, domy?lnie 255
  • blue - ilo?? koloru niebieskiego w kolorze etykiety, domy?lnie 255
  • drawdistance - z jakiej odleg?o?ci ma by? widoczna etykieta, domy?lnie 100.0
  • checkLOS - czy w przypadku generowania etykiety, ma by? sprawdzana linia wzroku (Line-Of-Sight), tzn. czy etykieta nie jest za jakim? obiektem. Domy?lnie true.
  • index - taki jakby priorytet, im wy?szy indeks, tym etykieta b?dzie generowana "wy?ej" na stosie. Tzn. je?li w jednym miejscu na ekranie nak?ada si? kilka etykiet, to na wierzchu b?dzie ta z najwy?szym indeksem.

Kod:

bool set3DTextLabelText( text3d label, string text )

Zmienia tekst etykiety tekstowej. Zwraca true gdy operacja si? powiedzie, false gdy podano nieprawid?owe parametry.
?
Kod:

string get3DTextLabelText( text3d label )

Zwraca aktualny tekst zawarty w etykiecie tekstowej.
?
Kod:

bool set3DTextLabelColor( text3d label, int red, int green, int blue )

Zmienia kolor etykiety tekstowej. Zwraca true gdy operacja si? powiedzie, false gdy podano nieprawid?owe parametry.
?
Kod:

int, int, int get3DTextLabelColor( text3d label )

Zwraca kolor etykiety tekstowej w postaci trzech liczb.
?
?
Kod:

bool attach3DTextLabel( text3d label, element theElement, [ float offsetX = 0.0, float offsetY = 0.0, float offsetZ = 0.0 ] )

Przyczepia etykiet? do innego elementu. Dane s? konwertowane na prawid?owy typ, tak jak zawsze. Je?li konwersja si? nie powiedzie, funkcja zwraca "false", a w przypadku powodzenia "true".
  • label - etykieta tekstowa, kt?ra ma zosta? doczepiona
  • theElement - element, do kt?rego ma zosta? doczepiona etykieta tekstowa
  • offsetX - odleg?o?? X wzgl?dem pozycji elementu
  • offsetY - odleg?o?? Y wzgl?dem pozycji elementu
  • offsetZ - odleg?o?? Z wzgl?dem pozycji elementu

Kod:

bool detach3DTextLabel( text3d label )

Odczepia etykiet? tekstow? od elementu, etykieta wraca na pozycj? ustalon? przy jej tworzeniu. Zwraca "true" w przypadku powodzenia, "false" w przypadku b??du. Ta funkcja jest r?wnoznaczna z:
Kod:

attach3DTextLabel(label, nil)

Inne funkcje:
Poniewa? etykieta tekstowa jest elementem, dzia?a na ni? tak?e mn?stwo innych funkcji, wbudowanych w MTA. Przyk?ady: destroyElement, getElementPosition, setElementPosition

Download:
Tym razem spakowa?em dwa pliki .lua w archiwum ZIP, my?l? ?e b?dzie to wygodniejsze od kopiowania. Wystarczy wgra? te pliki do zasobu w kt?rym chcemy u?ywa? etykiet tekstowych, doda? dwie linijki w meta.xml, i ju? mo?emy cieszy? si? nowymi funkcjami.
Ukryta wiadomość / Hidden message(aby ją zobaczyć musisz postawić użytkownikowi)
Wiadomość została ukryta, aby ją przeczytać należy się zalogować.


Wersja 1.0:
Kodu du?o nie ma, tak wi?c nie b?d? go nigdzie wstawia?. Skrypt mo?na sobie wklei? do swojego zasobu, albo doda? jako nowy plik w istniej?cym zasobie. Mo?na te? utworzy? ca?kiem nowy zas?b, ale dost?p do funkcji b?dzie utrudniony (export).
Ukryta wiadomość / Hidden message(aby ją zobaczyć musisz postawić użytkownikowi)
Wiadomość została ukryta, aby ją przeczytać należy się zalogować.


B?d? robi? aktualizacje, nie jest to ostatnia wersja, tak wi?c mo?ecie zg?asza? bugi i propozycje, b?d? wdzi?czny :)
Mi?ej zabawy.

Ostatnio zmieniony przez Iggy 2015-04-23, 19:49, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 128 piw(a):
dancusiu, DrifteK, Krzemo1234, Allansso, DJLetMeGo, malq1212, Pemo97, CrazyWorldPL, VinneQ, Wilq, Hatcher, lewusikxd, Rebeka, filip5032, Kibol1908., Pevo, GhostPL102, Matkiller12, xMaXeRx, oski114, Zbyszeek, .RiV, MajsterC, STOPseba, Erykos1998, Igoreq, Habert, swidru1996, BarT12345, Grace, InstaMonte, tymekkoruma, Londi, Dorex, GrzybcioPL00, VVirmex, xWilczu, Ksiadz, Remix110, daanioo, qmichu, Janusz., Grzengol, POVERPL, ProBaton, kerfyn, Mooy, DsJ3, wikusia, Fl!k, pyco, Wero123, TheSebaPL, Mateuszkropkaaa, Vruzzi, Anarchista, TheHaxowy, Fabiu, Xanter, NajbaF1, Kalumi123, Mafik, elopolacy201, nightspeak, Operaxd, TaktyK69, kubak2651, Lucyferek, kokaina22, Geraldis, Okami, Quertiis, AdrianQoo, MrBanana, MasterPLTV, orzechovsky, T.PreQx, ParasolaSkrypt, wiktor12001200, DynioPlay, Mleczu, lagereQQ, D3em8n*, Tirus$, EnoNeK, JaQubiaQ, rive2292, .Sanchez, TheMikePL, NyteU, bubus1337255, igorexxicsgo, Looky, prostypet, MaXiPL, NegativE*, MTAPawel, Nikooo1332, czarnoziem200, Piaskovsky, ItzWhitee, KexterPL, neejm, Dwutakt, Kositronik, grzaneczka, Xeq, kamilowy, Vorhacz, Czesio., Pan Tosterek, doncarlosiq, Forus0150, Huba013, Kucharz, viznxjacob, Blatpek, Kielek_Pl, matis1YT, Blu3Mat3usz, kewen6969, rxkrxd, trovlyy, Pulaski, DevJumpDj, Neoerdol, Jellonek, Pokebol12
Wysłany: 2014-05-05, 21:53


Tostuch







Wiek: 27
Na forum: 4931 dni
Posty: 483
Nick w MP: Tost

Piwa: 137

Respekt: 110
Respekt: 110

Props za skrypt, zawsze mi sie podoba?y te 3Dki z SAMPa :P . Oby wi?cej takich skrypt?w! :D

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-05-05, 23:03


luki123luki123

Place Game






Wiek: 28
Na forum: 5275 dni
Posty: 1948
Nick w MP: LuKiO

Piwa: 6101

Respekt: 611
Respekt: 611Respekt: 611

Quis, r?b wiecej takich skrypt?w a mta sie zrobi bradziej popualne nisz samp
Dla cb leci piwko + resp

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-05-06, 10:48


Quis

Wszechwiedzący






Wiek: 31
Na forum: 5146 dni
Posty: 464
Nick w MP: Quis

Piwa: 1110

Respekt: 325
Respekt: 325Respekt: 325Respekt: 325

Musz? troch? popracowa? nad wygl?dem, pobawi? si? czcionk?, i rozmiarem czcionki. Mo?e co? z tego wyjdzie.
Na screenach s? lipne kolory, bo zrobi?em te kt?re mi akurat przysz?y do g?owy, czyli 255,0,0, 0,255,0, 0,0,255, 255,255,255, 255,128,0
Takie najprostsze :D W innych, bardziej wymieszanych kolorach wygl?daj? lepiej.

Dzi?ki panowie za dobre s?owo.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-07-12, 21:40


luki123luki123

Place Game






Wiek: 28
Na forum: 5275 dni
Posty: 1948
Nick w MP: LuKiO

Piwa: 6101

Respekt: 611
Respekt: 611Respekt: 611

Czy zostanie zrobione jakie? UPDATE ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-07-14, 15:50


jg2aviva1

Rusek :D






Wiek: 25
Na forum: 4134 dni
Posty: 445
Nick w MP: _Wolfenstei[N]^.^

Piwa: 1033

Respekt: 240
Respekt: 240Respekt: 240

Ostrzeżeń: 60%
Fajnie to wygl?da, ale powie mi kto?, jak tego u?y?? :shock:

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-07-14, 16:30


luki123luki123

Place Game






Wiek: 28
Na forum: 5275 dni
Posty: 1948
Nick w MP: LuKiO

Piwa: 6101

Respekt: 611
Respekt: 611Respekt: 611

masz wszystko napisane.
masz pod tym napisa?em:
Lista funkcji (tylko server-side):

"Quis" napisał/a:

Lista funkcji (tylko server-side):
Kod:

text3d create3DTextLabel( string text, float posx, float posy, float posz, [ int red = 255, int green = 255, int blue = 255, float drawdistance = 100.0, bool checkLOS = true, int index = 0 ] )

Tworzy now? etykiet? tekstow? i zwraca jej element. Funkcja automatycznie konwertuje wszystkie zmienne je?li ich typ jest nieprawid?owy, je?li konwersja si? nie powiedzie, zwraca "false".

text - ci?g znak?w, kt?ry b?dzie zawarty w etykiecie
posx - pozycja X etykiety
posy - pozycja Y etykiety
posz - pozycja Z etykiety
red - ilo?? koloru czerwonego w kolorze etykiety, domy?lnie 255
green - ilo?? koloru zielonego w kolorze etykiety, domy?lnie 255
blue - ilo?? koloru niebieskiego w kolorze etykiety, domy?lnie 255
drawdistance - z jakiej odleg?o?ci ma by? widoczna etykieta, domy?lnie 100.0
checkLOS - czy w przypadku generowania etykiety, ma by? sprawdzana linia wzroku (Line-Of-Sight), tzn. czy etykieta nie jest za jakim? obiektem. Domy?lnie true.
index - taki jakby priorytet, im wy?szy indeks, tym etykieta b?dzie generowana "wy?ej" na stosie. Tzn. je?li w jednym miejscu na ekranie nak?ada si? kilka etykiet, to na wierzchu b?dzie ta z najwy?szym indeksem.



Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-07-14, 16:33


jg2aviva1

Rusek :D






Wiek: 25
Na forum: 4134 dni
Posty: 445
Nick w MP: _Wolfenstei[N]^.^

Piwa: 1033

Respekt: 240
Respekt: 240Respekt: 240

Ostrzeżeń: 60%
Czyli to po prostu tworzy nam dodatkowe funkcje czy co? Bo nie jaze :shock:

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-07-14, 17:49


luki123luki123

Place Game






Wiek: 28
Na forum: 5275 dni
Posty: 1948
Nick w MP: LuKiO

Piwa: 6101

Respekt: 611
Respekt: 611Respekt: 611

jg2aviva1, jak ju? mog?e? zrobi? nowy temat z odwo?aniem do tego skryptu, no c?? jak ju? tu napisa?e? to ci wyja?ni?:
"Quis" napisał/a:

Kodu du?o nie ma, tak wi?c nie b?d? go nigdzie wstawia?. Skrypt mo?na sobie wklei? do swojego zasobu, albo doda? jako nowy plik w istniej?cym zasobie. Mo?na te? utworzy? ca?kiem nowy zas?b, ale dost?p do funkcji b?dzie utrudniony (export).

To znaczy ?e s? 3 mo?liwo?? a tak naprawd? to 2:
*Zrobienie nowego skryptu z kt?rego b?dziemy expotowa? funkcj?(poni?ej ci napisz? o co chodzi).
*Stworzenie 2 nowych plik?w lub danie kod?w do odpowiednich stron (server i client), tutaj lepsze rozwi?zanie jest stworzenie 2 nowych plik?w i dodanie ich do pliku meta.xml i mo?esz wtedy u?ywa? funkcji opisanych w temacie.

Export funkcji:
Jest to co? w stylu brania funkcji z innego skryptu, czyli robisz sobie skrypt i wklejasz Server-Side do pliku po stronie server i Client-Side: po stronie client.
Nast?pnie w pliku meta deklarujesz oby 2 pliki do skryptu. Kolejn? czynno?ci? jest napisanie wiersz odpowiadaj?cych za eksport funkcji i to te? piszemy w pliku meta.xml:
<export function="[Nazwa]" />

*Nazwa jest to nazwa funkcji kt?r? eksportujemy

i p??niej u?ywamy tak:
exports.[Nazwa Skryptu]:[Nazwa Funkcji]([Argumenty])

*[Nazwa Skryptu] - Nazwa skryptu z jakiego exportujemy
*[Nazwa Funkcji] - Nazwa funkcji jak? exportujemy
*[Argumenty] - Argumenty funkcji

np:
exports.Etykiety:create3DTextLabel"LuKiO"0020,)


Postaw piwo autorowi tego posta
 

 
Tagi: etykiety :: tekstowe :: sa-mpa :: mta
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » Zasoby do MTA » [SKRYPT] Etykiety tekstowe 3D z S Odpowiedz do tematu

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