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

Wysłany: 2012-02-02, 18:27


julcio







Wiek: 30
Na forum: 6288 dni
Posty: 23

Piwa: 4

Respekt: 50

Witam!
Jak zrobi?, aby podczas wy?wietlania okna logowania w tle by? napis Vinewood?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-02-02, 20:22


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

setCameraMatrix - po stronie klienta, przy zdarzeniu onClientResourceStart.

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-02-02, 22:37


julcio







Wiek: 30
Na forum: 6288 dni
Posty: 23

Piwa: 4

Respekt: 50

Doda?em do zasobu kod:
Kod:


function setCameraOnPlayerJoin()
fadeCamera(source, true, 5)
setCameraMatrix(source, 1468.8785400391, -919.25317382813, 100.153465271, 1468.388671875, -918.42474365234, 99.881813049316)
end
addEventHandler("onPlayerJoin", getRootElement(), setCameraOnPlayerJoin)


A t?o jest ca?e czarne.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-02-02, 22:55


jhomlala

Lua Skrypter






Wiek: 31
Na forum: 5323 dni
Posty: 79
Nick w MP: Oli

Piwa: 42

Respekt: 50

dodaj to po stronie serwera.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-02-02, 23:16


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Poza tym warto?? argumentu trzeciego dla funkcji fadeCamera (czyli 5) to troch? przesada. 5 sekund trzeba czeka?, by czer? znikn??a z ekranu.

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-02-02, 23:43


julcio







Wiek: 30
Na forum: 6288 dni
Posty: 23

Piwa: 4

Respekt: 50

Dzia?a panowie!
Teraz jeszcze trzy sprawy ;d
Co zrobi?, ?eby nie by? wy?wietlany chat i radar przed zalogowaniem. I jak zrobi?, aby na ca?y ekran by?o czarne t?o, o kryciu 50%?

Wiem, ?e do chatu u?yjemy funkcji "showChat", ale jak to skomponowa?? Bo na wiki.mtasa.com pisze tylko o skrypcie w??czaj?cym/wy??czaj?cym chat, za pomoc? binda "i" przez gracza.

Co do mapy to podejrzewam, ?e "forcePlayerMap"

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-02-03, 06:39


CRX







Wiek: 34
Na forum: 5671 dni
Posty: 114

Piwa: 106

Respekt: 51,6

Ostrzeżeń: 60%
Tym ukrywasz elementy HUD'a:
http://wiki.multitheftaut...yerHudComponent
A jak chcesz ukry? czat, to przy logowaniu dajesz:
showChat ( false )
A przy spawnie:
showChat ( true )

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-02-03, 10:49


julcio







Wiek: 30
Na forum: 6288 dni
Posty: 23

Piwa: 4

Respekt: 50

HUD usuni?ty, lecz z chatem jest problem, dodaj?:
Kod:

function disableChat ()
showChat ( false )
end

addEventHandler( "OnPlayerJoin", getRootElement(), disableChat)

I nic.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-02-03, 11:51


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Kod:

showChat ( source, false )

To jest poprawnie u?yta funkcja.

Ja w takich przypadkach proponuj? jednak pisa? wszystko po stronie klienta, ale jak ju? uwa?acie. Co do czarnego t?a o kryciu to musisz po stronie klienta u?y? funkcji directx - np. kwadraty dowolnego koloru, dowolnej warto?ci alpha.

Funkcje tego typu zaczynaj? si? od dx.... Przyk?ad : dxDrawRectangle.

To czego ty potrzebujesz wygl?da tak:
Kod:


local sWidth, sHeight = guiGetScreenSize()

addEventHandler("onClientRender", getRootElement(),
function()
dxDrawRectangle(0,0,sWidth,sHeight,tocolor(0,0,0,128),false)
end)


Od pocz?tku
  • U?y?em funkcji guiGetScreenSize, by pobra? ro?dzielczo?? ekranu (wiadomo, ka?dy ma inn?).
  • Doda?em zdarzenie onClientRender odpowiadaj?ce za pojawianie si? elementu co klatk? na sekund?.
  • Na ko?cu u?y?em funkcji dxDrawRectangle.
    • Pierwsze dwa parametry to u?o?enie prostok?tu na ekranie.
    • Nast?pne dwa odpowiadaj? za rozmiar.
    • Trzeci parametr to kolor (funkcja tocolor(red,green,blue,alpha).


My?l?, ?e wszystko jest tutaj jasno wyt?umaczone.
Powy?szy kod powinien znale?? si? po stronie klienta!

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-02-03, 12:18


julcio







Wiek: 30
Na forum: 6288 dni
Posty: 23

Piwa: 4

Respekt: 50

Jak daj?
Kod:


function disableChat ()
showChat ( source, false )
end

addEventHandler( "OnPlayerJoin", getRootElement(), disableChat)

To i tak dalej go wy?wietla.

Takie jeszcze pytanie odno?nie okienka logowania, jak zrobi?, ?eby by?y same pola na wpisywanie, buttony, text, bez okna?

Kod:


function showLogin( )

if( not loginWindow) then

checkForRemember( );

loginWindow = guiCreateWindow( (0)/2, (sy-410)/2, 512, 410, "Logowanie", false );

local tempLabel;

tempLabel = guiCreateLabel( 0.15, 0.11, 0.7, 0.38, "TEKST", true, loginWindow );
guiSetFont( tempLabel, "clear-normal");

tempLabel = guiCreateLabel( 0.15, 0.51, 0.2, 0.10, "Login:", true, loginWindow );
guiSetFont( tempLabel, "clear-normal");
tempLabel = guiCreateLabel( 0.15, 0.61, 0.2, 0.10, "Has?o", true, loginWindow );
guiSetFont( tempLabel, "clear-normal");
tempLabel = guiCreateLabel( 0.15, 0.705, 0.5, 0.10, "Zapami?taj mnie:", true, loginWindow );
guiSetFont( tempLabel, "clear-normal");

usrName = guiCreateEdit( 0.35, 0.50, 0.3, 0.05, nameVal, true, loginWindow );
passWord = guiCreateEdit( 0.35, 0.60, 0.3, 0.05, passVal, true, loginWindow );
guiEditSetMasked( passWord, true );
remember = guiCreateCheckBox( 0.37, 0.70, 0.2, 0.05, "", isChecked, true, loginWindow );

loginBtn = guiCreateButton( 0.4, 0.85, 0.2, 0.05, "Zaloguj", true, loginWindow );
guiSetEnabled( loginBtn, ( userRight and passRight ) );

guiSetVisible( loginWindow, true );
showCursor( true );
guiSetInputEnabled( true );

end

end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-02-03, 12:40


Oski

LUA Scripter






Wiek: 30
Na forum: 5246 dni
Posty: 428
Nick w MP: Oski

Piwa: 56

Respekt: 75,1

To zamiast dx obrazka, w tym pliku co masz logowanie po stronie clienta tworzysz obrazek z uzyciem funkcji getGuiScreenSize i dajesz obrazek o takich rozmiarach.
A w obiektach zamist nazwy okna dajesz nazwet tego obrazka.
To ma mniejwiec wygladac tak:

Kod:

function showLogin( )

if( not loginWindow) then

checkForRemember( );
local x,y = guiGetScreenSize()
obrazek = (tutaj tworzysz obrazek)
--// I zamiast "loginWindow" w kazdym elemencie zmieniasz na "obrazek"
loginWindow = guiCreateWindow( (0)/2, (sy-410)/2, 512, 410, "Logowanie", false );

local tempLabel;

tempLabel = guiCreateLabel( 0.15, 0.11, 0.7, 0.38, "TEKST", true, loginWindow );
guiSetFont( tempLabel, "clear-normal");

tempLabel = guiCreateLabel( 0.15, 0.51, 0.2, 0.10, "Login:", true, loginWindow );
guiSetFont( tempLabel, "clear-normal");
tempLabel = guiCreateLabel( 0.15, 0.61, 0.2, 0.10, "Has?o", true, loginWindow );
guiSetFont( tempLabel, "clear-normal");
tempLabel = guiCreateLabel( 0.15, 0.705, 0.5, 0.10, "Zapami?taj mnie:", true, loginWindow );
guiSetFont( tempLabel, "clear-normal");

usrName = guiCreateEdit( 0.35, 0.50, 0.3, 0.05, nameVal, true, loginWindow );
passWord = guiCreateEdit( 0.35, 0.60, 0.3, 0.05, passVal, true, loginWindow );
guiEditSetMasked( passWord, true );
remember = guiCreateCheckBox( 0.37, 0.70, 0.2, 0.05, "", isChecked, true, loginWindow );

loginBtn = guiCreateButton( 0.4, 0.85, 0.2, 0.05, "Zaloguj", true, loginWindow );
guiSetEnabled( loginBtn, ( userRight and passRight ) );

guiSetVisible( loginWindow, true );
showCursor( true );
guiSetInputEnabled( true );

end

end


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-02-03, 15:57


julcio







Wiek: 30
Na forum: 6288 dni
Posty: 23

Piwa: 4

Respekt: 50

Kod:


function showLogin( )

if( not obrazek) then

checkForRemember( );
local x,y = guiGetScreenSize()
obrazek = dxDrawRectangle ( 0, 0, x, y, tocolor ( 0, 0, 0, 200 ) )
--// I zamiast "obrazek" w kazdym elemencie zmieniasz na "obrazek"


local tempLabel;

tempLabel = guiCreateLabel( 0.15, 0.11, 0.7, 0.38, "TEKST", true, obrazek );
guiSetFont( tempLabel, "clear-normal");

tempLabel = guiCreateLabel( 0.15, 0.51, 0.2, 0.10, "Login:", true, obrazek );
guiSetFont( tempLabel, "clear-normal");
tempLabel = guiCreateLabel( 0.15, 0.61, 0.2, 0.10, "Has?o", true, obrazek );
guiSetFont( tempLabel, "clear-normal");
tempLabel = guiCreateLabel( 0.15, 0.705, 0.5, 0.10, "Zapami?taj mnie:", true, obrazek );
guiSetFont( tempLabel, "clear-normal");

usrName = guiCreateEdit( 0.35, 0.50, 0.3, 0.05, nameVal, true, obrazek );
passWord = guiCreateEdit( 0.35, 0.60, 0.3, 0.05, passVal, true, obrazek );
guiEditSetMasked( passWord, true );
remember = guiCreateCheckBox( 0.37, 0.70, 0.2, 0.05, "", isChecked, true, obrazek );

loginBtn = guiCreateButton( 0.4, 0.85, 0.2, 0.05, "Zaloguj", true, obrazek );
guiSetEnabled( loginBtn, ( userRight and passRight ) );

guiSetVisible( obrazek, true );
showCursor( true );
guiSetInputEnabled( true );

end

end

Da?em i nie wy?wietla.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-02-03, 18:04


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Pora?ka !!

dxDrawRectangle musi posiada? zdarzenie onClientRender.
Nie mo?esz ot tak da? sobie samej funkcji.

Poza tym zmienna 'obrazek' nie zawiera elementu !! !! !! !!
Zmienna ta przyjmuje warto?? tylko 'true' lub 'false'. Prosz?, poczytajcie troch? o tym na wiki MTA. Je?eli nie znacie angielskiego to spytajcie kogo? kto zna.

Niestety nie da si? przypisa? button?w, label?w, edit?w ... etc. do prostok?ta generowanego przez funkcj? Directx - po prostu ten parametr musi by? pusty.

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-02-03, 21:12


julcio







Wiek: 30
Na forum: 6288 dni
Posty: 23

Piwa: 4

Respekt: 50

W takim razie jak zrobi?, ?eby by?y same pola odno?nie logowania, jak i napisy, bez ?adnego okienka. Mam zrobione czarne t?o na ca?y ekran, kt?re uda?o mi si? wykona?, dzi?ki Twojej pomocy, lecz teraz chcia?bym, aby tylko na tym tle by?y te elementy, bez tego "zb?dnego" okienka.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-02-03, 21:36


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Pobierz zas?b guieditor, poustawiaj na ekranie wszystko, zapisz, skopiuj do swojego kodu i ju?.

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Tagi: tło :: podczas :: wejścia :: serwer
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA 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