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

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

Respekt: 35,8

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.3514.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,""trueinfowin)
local infoedit=guiCreateEdit(0.0370.30.91850.1"ID DOMU"trueinfowin)
local infobtn=guiCreateButton(0.0370.50.91850.2"Nast?pny krok (1/3)"trueinfowin)

guiLabelSetHorizontalAlign(infowinlbl,"center",true)
guiSetFont(infowinlbl,"default-small")
guiSetVisible(infowinfalse)

addEventHandler("onClientMarkerHit"marker, function(el,md)
    if (el~=localPlayer or not mdthen return end
    local _,_,z=getElementPosition(localPlayer)
    local _,_,z2=getElementPosition(source)
    if (math.abs(z2-z)>5then return end
    guiSetText(infobtn"Nast?pny krok (1/3)")
    guiSetText(infoedit"ID DOMU")
    guiSetText(infowinlbl"")
    guiSetVisible(infowintrue)
    umlasttick getTickCount()
end)

addEventHandler("onClientMarkerLeave"marker, function(el,md)
    if (el~=localPlayerthen return end
    guiSetVisible(infowinfalse)
    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(infobtnfalse)
        guiSetText(infobtn"Nast?pny krok (2/3)")
        triggerServerEvent("onUmDomyWantInfo"localPlayertonumber(text))
    elseif btntext=="Nast?pny krok (2/3)" then
        if tonumber(text)<=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(infobtntrue) 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(infobtntrueend
    house_info house_info.."\nKoszt wynajmu na dzie?: "..(v.koszt/100)*2
    guiSetText(infowinlblhouse_info)
    UM_HOUSE_CENA = (v.koszt/100)*2
    guiSetEnabled(infobtntrue)
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  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-12-13, 21:35


Wilq







Wiek: 24
Na forum: 4429 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Ee co? Masz ju? GUI, zastan?w si? przed napisaniem posta okej?

Więcej informacji znajdziesz w Wikipedii MTA:

Introduction to Scripting the GUI


Chodzi?o Ci o wykorzystanie funkcji DirectX?

Podstawowe funkcje z DirectX poni?ej:

Więcej informacji znajdziesz w Wikipedii MTA:

dxDrawText


Więcej informacji znajdziesz w Wikipedii MTA:

dxDrawRectangle


Postaw piwo autorowi tego posta
 

 
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

Respekt: 35,8

Chodzi mi o grafik? zamiast stanadr gui

Podpis

Pomagam jak potrafię :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-12-13, 22:25


Wilq







Wiek: 24
Na forum: 4429 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

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


Więcej informacji znajdziesz w Wikipedii MTA:

dxDrawRectangle


Wszystko pod eventem:

Więcej informacji znajdziesz w Wikipedii MTA:

onClientRender


Jak ju? chcesz prowadzi? pseudola to w??? troch? pracy od siebie. ; )

Postaw piwo autorowi tego posta
 

 
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

Respekt: 35,8

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ę :)

Postaw piwo autorowi tego posta
 

 
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

Respekt: 326,3
Respekt: 326,3Respekt: 326,3Respekt: 326,3

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

Postaw piwo autorowi tego posta
 

 
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

Respekt: 35,8

Robi? co mog? ale mi nie wychodzi :(

Podpis

Pomagam jak potrafię :)

Postaw piwo autorowi tego posta
 

 
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

Respekt: 326,3
Respekt: 326,3Respekt: 326,3Respekt: 326,3

DjMaXimoMax, najlepiej uczy? si? na b??dach :D

Podpis
LUA, JS, PHP



Zapraszam do skorzystania z moich usług: Klik

Postaw piwo autorowi tego posta
 

 
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

Respekt: 35,8

Dam piwko respekt !! Kto mi wyt?umaczy jak i co doda? tam

Podpis

Pomagam jak potrafię :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-12-14, 17:04


Nexisten

Moderator






Wiek: 22
Na forum: 4108 dni
Posty: 551
Nick w MP: Nexisten

Piwa: 1479

Respekt: 287,3
Respekt: 287,3Respekt: 287,3Respekt: 287,3

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.

Postaw piwo autorowi tego posta
 

 
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

Respekt: 280
Respekt: 280Respekt: 280Respekt: 280

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?--]]

okno false -- Ustala okno jako falsepotrzebne aby ustaliczy gracz ma otwarte okno czy zamkn?te.

-- Na pocz?tek tworzymy nasze dx w GuiEditorzeTak wygl?da moje:
function drawDX()
    dxDrawImage(345265587491"img/background1.png"000tocolor(255255255255), false)
end




-----------------------------------------------------------
--[[ Jak OtwieraOkno z dx --]]

-- Funkcja odpowaidaj?ca za pokazywanie sitwojego GUI za pomocprzycisku.
function openDXGUI()
  if okno == false then -- Je?eli okno jest zamkni?te wtedy:
    okno true -- Czyli moje okno jest uznane za otwarte
    addEventHandler("onClientRender"rootdrawDX) -- Event kt?ry pokazuje GUIna ko?cu znajduje sinazwa funkcji w kt?rej mam moje DxDraw
    showCursor(true) -- pokazuje kursor
  else
    okno false -- Czyli moje okno jest uznane za zamkni?te
    removeEventHandler("onClientRender"rootdrawDX) -- 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(xyz"cylinder"wielko??, RGBAlpha) -- 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"rootdxDrawGUI) -- event odpowiada za wy?wietlanie twojego okna
     showCursor(true) -- pokazuje kursor
     okno true -- Ustala okno jako zamikni?te
end
addEventHandler("onClientMarkerHit"markerwlaczDX) -- Event odpowiada za u?ycie funkcji "wlaczDX" po tym jak gracz wejdzie w marker o nazwie "marker"

---------------------------------------------------------
--[[ Jak stworzyprzycisk? --]]

-- Na pocz?tek potrzebujemy funkcji kt?ra okre?l pozycje na kt?rej znajdowab?dzie sie obszar po kt?rego wci?nieciu wykona sifunkcja kt?rwykonywab?dzie dany przyciskTak ona wygl?da:

function cursorPosition(xywh) 
    if (not isCursorShowing()) then 
    return false 
    end 
    local mxmy getCursorPosition() 
    local fullxfully guiGetScreenSize() 
    cursorxcursory mx*fullxmy*fully 
        if cursorx and cursorx and cursory and cursory 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(btnstt) -- Je?eli gracz wci?nie oboj?tnie jaki klawisz myszy wtedy:
    if btn == "left" and stt == "down" then -- je?eli argument btn r?wna siprawy przycisk i arguent stt r?wna sijedno wci?ni?cie wtedy:
        if okno == true then else return end -- je?eli okno jest zamkni?te wtedyw innym przypadku zwr?? end.
        if cursorPosition(xywhthen -- Je?eli kursor znajduje siw w obszarze okre?lonym jako "x, y, w, h" wtedy:
            -- Tutaj poka?e ci przyk?ad zamykania okna.
            removeEventHandler("onClientRender"rootdrawDX) -- 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
Postaw piwo autorowi tego posta
 

 
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

Respekt: 35,8

A ja nie wiem jak zapisa? to w guiEditorze pomo?esz ?

Podpis

Pomagam jak potrafię :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-12-14, 22:12


Wilq







Wiek: 24
Na forum: 4429 dni
Posty: 3410

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Po wpisaniu komendy /guied, kliknij prawy przycisk myszy i wybierz 'output'.

Postaw piwo autorowi tego posta
 

 
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

Respekt: 35,8

Dobra pr?bowa?em ale mi si? nie uda?o my?l? ?e nie zrozumiem tego.

Podpis

Pomagam jak potrafię :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-12-15, 17:00


Nexisten

Moderator






Wiek: 22
Na forum: 4108 dni
Posty: 551
Nick w MP: Nexisten

Piwa: 1479

Respekt: 287,3
Respekt: 287,3Respekt: 287,3Respekt: 287,3

Napisz kod, wy?lij go nam i podaj b??dy z /debugscript 3 - dosta?e? wystarczaj?co przyk?ad?w.

Postaw piwo autorowi tego posta
 

 
Tagi: jak :: podmieć :: gui
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