Wysłany: 2018-12-13, 21:28
AsterBonzo
Otwórz ogień
Wiek: 20 Na forum: 2968 dni Posty: 187
Nick w MP: Hirahi
Piwa : 60
Witam tak jak w temacie zrobi?em sobie okno i chce je podmieni? na gui nie wiem jak to zrobi? jak uda mi si? zrobi? piwko i respekt a jak nie uda to tylko piwko za pomoc
local I = 0
local D = 0
-- wykorzystujemy zmienne :
-- UM_HOUSE_ID
-- UM_HOUSE_CENA
local marker = createMarker ( 1663.23 , - 1650.35 , 14.25 - 1 , "cylinder" , 1.5 , 50 , 90 , 255 , 75 )
setElementInterior ( marker , 0 )
local infowin = guiCreateWindow ( 0.7531 , 0.3479 , 0.2109 , 0.3792 , "Kupno domku ( Kursor - F4 )" , true )
local infowinlbl = guiCreateLabel ( 0.037 , 0.1209 , 0.9185 , 0.1 , "" , true , infowin )
local infoedit = guiCreateEdit ( 0.037 , 0.3 , 0.9185 , 0.1 , "ID DOMU" , true , infowin )
local infobtn = guiCreateButton ( 0.037 , 0.5 , 0.9185 , 0.2 , "Nast?pny krok (1/3)" , true , infowin )
guiLabelSetHorizontalAlign ( infowinlbl , "center" , true )
guiSetFont ( infowinlbl , "default-small" )
guiSetVisible ( infowin , false )
addEventHandler ( "onClientMarkerHit" , marker , function( el , md )
if ( el ~= localPlayer or not md ) then return end
local _ , _ , z = getElementPosition ( localPlayer )
local _ , _ , z2 = getElementPosition ( source )
if ( math . abs ( z2 - z )> 5 ) then return end
guiSetText ( infobtn , "Nast?pny krok (1/3)" )
guiSetText ( infoedit , "ID DOMU" )
guiSetText ( infowinlbl , "" )
guiSetVisible ( infowin , true )
umlasttick = getTickCount ()
end )
addEventHandler ( "onClientMarkerLeave" , marker , function( el , md )
if ( el ~= localPlayer ) then return end
guiSetVisible ( infowin , false )
guiSetText ( infoedit , "" )
end )
addEventHandler ( "onClientGUIClick" , infobtn , function()
if getTickCount ()- umlasttick < 2000 then return end
local text = guiGetText ( infoedit )
local btntext = guiGetText ( infobtn )
if btntext == "Nast?pny krok (1/3)" then
if string . len ( text )<= 0 then return end
guiSetText ( infoedit , "CZAS WYNAJMU" )
UM_HOUSE_ID = text
guiSetEnabled ( infobtn , false )
guiSetText ( infobtn , "Nast?pny krok (2/3)" )
triggerServerEvent ( "onUmDomyWantInfo" , localPlayer , tonumber ( text ))
elseif btntext == "Nast?pny krok (2/3)" then
if tonumber ( text )<= 0 or tonumber ( text )> 14 then guiSetText ( infowinlbl , "Maksymalny czas wynajmu to 14 dni!" ) return end
UM_HOUSE_DNI = text
guiSetText ( infoedit , "" )
guiSetText ( infowinlbl , "Potwierd? zakup - \n" .. tonumber ( UM_HOUSE_CENA )* tonumber ( UM_HOUSE_DNI ))
guiSetText ( infobtn , "Zakup" )
elseif btntext == "Zakup" then
-- hehe
local money = getPlayerMoney ( localPlayer )
local koszt = tonumber ( UM_HOUSE_CENA )* tonumber ( UM_HOUSE_DNI )
if money - koszt < 0 then outputChatBox ( "(( Nie sta? ci? na to! ))" ) end
guiSetText ( infobtn , "Nast?pny krok (1/3)" )
guiSetText ( infoedit , "ID DOMU" )
guiSetText ( infowinlbl , "" )
triggerServerEvent ( "onHousePaymentRequest" , getRootElement (), tonumber ( UM_HOUSE_ID ), tonumber ( UM_HOUSE_DNI ))
end
playSoundFrontEnd ( 40 )
end , false )
addEvent ( "onUmDomyWantInfoCompleted" , true )
addEventHandler ( "onUmDomyWantInfoCompleted" , getRootElement (), function( v )
if not v then guiSetText ( infowinlbl , "B??d" ) guiSetText ( infoedit , "ID DOMU" ) guiSetText ( infobtn , "Nast?pny krok (1/3)" ) guiSetEnabled ( infobtn , true ) return end
house_info = ""
if v . ownerid or v . paidTo then guiSetText ( infobtn , "Nast?pny krok (1/3)" ) guiSetText ( infoedit , "ID DOMU" ) house_info = house_info .. "\n--Dom jest ju? wynaj?ty!--" guiSetEnabled ( infobtn , true ) end
house_info = house_info .. "\nKoszt wynajmu na dzie?: " ..( v . koszt / 100 )* 2
guiSetText ( infowinlbl , house_info )
UM_HOUSE_CENA = ( v . koszt / 100 )* 2
guiSetEnabled ( infobtn , true )
end )
bindKey ( "F4" , "down" ,function()
el = localPlayer
if not getElementData ( el , "kursor" ) then
showCursor ( true )
setElementData ( el , "kursor" , true )
else
showCursor ( false )
setElementData ( el , "kursor" , false )
end
end )
EDIT: chodzi mi o usuni?cie zwyk?ego gui i danie go jako grafik?
Podpis
Pomagam jak potrafię
Ostatnio zmieniony przez AsterBonzo 2018-12-13, 21:56, w całości zmieniany 2 razy
Wysłany: 2018-12-13, 21:35
Wilq
Wiek: 24 Na forum: 4429 dni Posty: 3410
Piwa : 739
Ee co? Masz ju? GUI, zastan?w si? przed napisaniem posta okej?
Chodzi?o Ci o wykorzystanie funkcji DirectX?
Podstawowe funkcje z DirectX poni?ej:
Więcej informacji znajdziesz w Wikipedii MTA: dxDrawText
Wysłany: 2018-12-13, 21:55
AsterBonzo
Otwórz ogień
Wiek: 20 Na forum: 2968 dni Posty: 187
Nick w MP: Hirahi
Piwa : 60
Chodzi mi o grafik? zamiast stanadr gui
Podpis
Pomagam jak potrafię
Wysłany: 2018-12-13, 22:25
Wilq
Wiek: 24 Na forum: 4429 dni Posty: 3410
Piwa : 739
Wykorzystaj funkcje DirectX jak ju? wspomnia?em, m.in:
Więcej informacji znajdziesz w Wikipedii MTA: dxDrawImage
Więcej informacji znajdziesz w Wikipedii MTA: dxDrawText
Wszystko pod eventem:
Jak ju? chcesz prowadzi? pseudola to w??? troch? pracy od siebie. ; )
Wysłany: 2018-12-13, 22:30
AsterBonzo
Otwórz ogień
Wiek: 20 Na forum: 2968 dni Posty: 187
Nick w MP: Hirahi
Piwa : 60
Nie wiem jak to do kodu doda? i gdzie jak bym wiedzia? gdzie ty by? doda? , mg ci? prosi? o to ?
Daj piwko i respekt
Podpis
Pomagam jak potrafię
Wysłany: 2018-12-13, 22:32
Avenged
Młodszy Szkrypter
Wiek: 23 Na forum: 3510 dni Posty: 654
Nick w MP: Avenged
Piwa : 1570
Mo?e od razu za Ciebie zrobimy pseudola, je?li chcesz co? osi?gn?? to musisz si? postara?. W funkcji
Więcej informacji znajdziesz w Wikipedii MTA: dxDrawImage
masz podany przyk?ad jak tego u?y?..
Podpis
LUA, JS, PHP
Zapraszam do skorzystania z moich usług: Klik
Więcej szczegółów
Wystawiono 1 piw(a):AsterBonzo
Wysłany: 2018-12-13, 22:48
AsterBonzo
Otwórz ogień
Wiek: 20 Na forum: 2968 dni Posty: 187
Nick w MP: Hirahi
Piwa : 60
Robi? co mog? ale mi nie wychodzi
Podpis
Pomagam jak potrafię
Wysłany: 2018-12-13, 22:55
Avenged
Młodszy Szkrypter
Wiek: 23 Na forum: 3510 dni Posty: 654
Nick w MP: Avenged
Piwa : 1570
DjMaXimoMax , najlepiej uczy? si? na b??dach
Podpis
LUA, JS, PHP
Zapraszam do skorzystania z moich usług: Klik
Wysłany: 2018-12-14, 14:20
AsterBonzo
Otwórz ogień
Wiek: 20 Na forum: 2968 dni Posty: 187
Nick w MP: Hirahi
Piwa : 60
Dam piwko respekt Kto mi wyt?umaczy jak i co doda? tam
Podpis
Pomagam jak potrafię
Wysłany: 2018-12-14, 17:04
Nexisten
Moderator
Wiek: 22 Na forum: 4107 dni Posty: 551
Nick w MP: Nexisten
Piwa : 1479
Zosta?o Ci wyt?umaczone co masz zrobi? - zapewne nawet nie przeczyta?e? co te funkcje robi? ani nie pr?bowa?e? ich u?y? np. z przyk?ad?w.
Nikt za Ciebie nie zrobi ca?ej roboty, postaraj si? troch? i chocia? pr?buj, publikuj?c tutaj nam Tw?j powoli zmieniaj?cy si? kod z b??dami na /debugscript 3 a dostaniesz porady.
Więcej szczegółów
Wystawiono 1 piw(a):AsterBonzo
Wysłany: 2018-12-14, 17:23
adaskOO
Ten który patrzy
Wiek: 24 Na forum: 3732 dni Posty: 249
Nick w MP: adaskOO
Piwa : 3168
Wyt?umaczy?em to po "mojemu" nie wiem czy co? zrozumiesz, ale mam nadzieje ?e tak, je?eli jest tutaj jaki? b??d lub jest ca?e ?le to bez t?umaczenia przyjm? ostrze?enie. Robi?em o na szybko. Pozdrawiam
--[[ Wst ? p --]]
okno = false -- Ustala okno jako false , potrzebne aby ustali ? czy gracz ma otwarte okno czy zamkn ? te .
-- Na pocz ? tek tworzymy nasze dx w GuiEditorze . Tak wygl ? da moje :
function drawDX ()
dxDrawImage ( 345 , 265 , 587 , 491 , "img/background1.png" , 0 , 0 , 0 , tocolor ( 255 , 255 , 255 , 255 ), false )
end
-----------------------------------------------------------
--[[ Jak Otwiera ? Okno z dx --]]
-- Funkcja odpowaidaj ? ca za pokazywanie si ? twojego GUI za pomoc ? przycisku .
function openDXGUI ()
if okno == false then -- Je ? eli okno jest zamkni ? te wtedy :
okno = true -- Czyli moje okno jest uznane za otwarte
addEventHandler ( "onClientRender" , root , drawDX ) -- Event kt ? ry pokazuje GUI , na ko ? cu znajduje si ? nazwa funkcji w kt ? rej mam moje DxDraw
showCursor ( true ) -- pokazuje kursor
else
okno = false -- Czyli moje okno jest uznane za zamkni ? te
removeEventHandler ( "onClientRender" , root , drawDX ) -- Usuwa twoje GUI z ekranu
showCursor ( false ) -- Chowa kursor
end
end
bindKey ( "F2" , "down" , openDXGUI ) -- Po klikni ? ciu F2 wykonuje funkcje openDXDraw czyli otwiera / zamyka okno
-- Funkcja odpowiadaj ? ca za wy ? wietlanie Gui po wej ? ciu w marker .
marker = createMarker ( x , y , z , "cylinder" , wielko ??, R , G , B , Alpha ) -- tworzy marker
function wlaczDX ()
if okno == false then else return end -- Je ? eli okno jest otwarte wtedy w innym przypadku zwr ?? end czyli koniec
addEventHandler ( "onClientRender" , root , dxDrawGUI ) -- event odpowiada za wy ? wietlanie twojego okna
showCursor ( true ) -- pokazuje kursor
okno = true -- Ustala okno jako zamikni ? te
end
addEventHandler ( "onClientMarkerHit" , marker , wlaczDX ) -- Event odpowiada za u ? ycie funkcji "wlaczDX" po tym jak gracz wejdzie w marker o nazwie "marker"
---------------------------------------------------------
--[[ Jak stworzy ? przycisk ? --]]
-- Na pocz ? tek potrzebujemy funkcji kt ? ra okre ? l pozycje na kt ? rej znajdowa ? b ? dzie sie obszar po kt ? rego wci ? nieciu wykona si ? funkcja kt ? r ? wykonywa ? b ? dzie dany przycisk . Tak ona wygl ? da :
function cursorPosition ( x , y , w , h )
if ( not isCursorShowing ()) then
return false
end
local mx , my = getCursorPosition ()
local fullx , fully = guiGetScreenSize ()
cursorx , cursory = mx * fullx , my * fully
if cursorx > x and cursorx < x + w and cursory > y and cursory < y + h then
return true
else
return false
end
end
-- Ty z niej potrzebujesz tylko "cursorPosition(x, y, w, h) " . Przechodzimy dalej i g ?? biej .
-- Teraz u ? yjemy eventu "onClientClick"
addEventHandler ( "onClientClick" , root , function( btn , stt ) -- Je ? eli gracz wci ? nie oboj ? tnie jaki klawisz myszy wtedy :
if btn == "left" and stt == "down" then -- je ? eli argument btn r ? wna si ? prawy przycisk i arguent stt r ? wna si ? jedno wci ? ni ? cie wtedy :
if okno == true then else return end -- je ? eli okno jest zamkni ? te wtedy : w innym przypadku zwr ?? end .
if cursorPosition ( x , y , w , h ) then -- Je ? eli kursor znajduje si ? w w obszarze okre ? lonym jako "x, y, w, h" wtedy :
-- Tutaj poka ? e ci przyk ? ad zamykania okna .
removeEventHandler ( "onClientRender" , root , drawDX ) -- usuwa widoczno ?? twojego dx Draw
showCursor ( false ) -- schowaj kursor
okno = false -- Okno ustala jako zamkni ? te czyli false
end
end
end )
Podpis
Zapraszam do współpracy
Discord: adaskOO#8255
Więcej szczegółów
Wystawiono 1 piw(a):AsterBonzo
Wysłany: 2018-12-14, 21:38
AsterBonzo
Otwórz ogień
Wiek: 20 Na forum: 2968 dni Posty: 187
Nick w MP: Hirahi
Piwa : 60
A ja nie wiem jak zapisa? to w guiEditorze pomo?esz ?
Podpis
Pomagam jak potrafię
Wysłany: 2018-12-14, 22:12
Wilq
Wiek: 24 Na forum: 4429 dni Posty: 3410
Piwa : 739
Po wpisaniu komendy /guied, kliknij prawy przycisk myszy i wybierz 'output'.
Wysłany: 2018-12-15, 16:53
AsterBonzo
Otwórz ogień
Wiek: 20 Na forum: 2968 dni Posty: 187
Nick w MP: Hirahi
Piwa : 60
Dobra pr?bowa?em ale mi si? nie uda?o my?l? ?e nie zrozumiem tego.
Podpis
Pomagam jak potrafię
Wysłany: 2018-12-15, 17:00
Nexisten
Moderator
Wiek: 22 Na forum: 4107 dni Posty: 551
Nick w MP: Nexisten
Piwa : 1479
Napisz kod, wy?lij go nam i podaj b??dy z /debugscript 3 - dosta?e? wystarczaj?co przyk?ad?w.
Tagi: jak :: podmieć :: gui
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: