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

Wysłany: 2020-08-31, 12:21


filip0985

Początkujący w LUA






Wiek: 22
Na forum: 2895 dni
Posty: 112

Piwa: 13

Respekt: 50

Witam ma problem jak pod??czy? to ?e je?eli w combobox zaznaczony jest dany pojazd to po wcisnieciu potwierdz on sie pojawi ?


gui = {}
addEventHandler("onClientResourceStart", resourceRoot,
    function()
        gui.okno = guiCreateWindow(699, 257, 527, 501, "Panel Pojazd?w", false)
        guiWindowSetSizable(gui.okno, false)

        gui.lista = guiCreateComboBox(56, 115, 408, 209, "", false, gui.okno)

        guiComboBoxAddItem(gui.lista, "Infernus")
        guiComboBoxAddItem(gui.lista, "Turismo")
        guiComboBoxAddItem(gui.lista, "Elegy")
        guiComboBoxAddItem(gui.lista, "Sultan")

        gui.napis = guiCreateLabel(56, 92, 412, 18, "Lista Pojazd?w", false, gui.okno)
        guiLabelSetHorizontalAlign(gui.napis, "center", false)
        guiLabelSetVerticalAlign(gui.napis, "center")
        gui.potwierdz = guiCreateButton(16, 374, 234, 66, "Potwierdz", false, gui.okno)
        gui.zamknij    = guiCreateButton(273, 374, 234, 66, "Zamknij", false, gui.okno)    
        guiSetVisible(gui.okno,false)
    end
)





bindKey ( "f2", "up", function ()
        guiSetVisible(gui.okno,true)
        showCursor(true)

end)

 
 local function zamykanie()
    if source == gui.zamknij then
    guiSetVisible(gui.okno, false)
    showCursor (false)
end
end
addEventHandler("onClientGUIClick", root, zamykanie)

function auto()
if source == gui.potwierdz then
local pojazd = getLocalPlayer() 
local x, y, z = getElementPosition ( pojazd )
createVehicle (411, x+2, y, z)
end
end
addEventHandler("onClientGUIClick", root, auto)


Podpis
Ostatnio zmieniony przez PatryKK. 2020-08-31, 14:42, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-31, 12:50


VVirmex

Sgrypter luja






Wiek: 21
Na forum: 3506 dni
Posty: 284
Nick w MP: AxyZ

Piwa: 235

Respekt: 110
Respekt: 110

Nast?pnym razem u?yj [lua] i co do samego problemu to jakie? b??dy w db3?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-31, 13:36


BlackTen

LUA Dev.






Wiek: 28
Na forum: 4470 dni
Posty: 698

Piwa: 2080

Respekt: 157
Respekt: 157Respekt: 157

Funkcj?

Więcej informacji znajdziesz w Wikipedii MTA:

GuiComboBoxGetItemText

sprawdzasz, kt?ry pojazd jest zaznaczony, nast?pnie musisz pobra? model zaznaczonego pojazdu poprzez funkcj?

Więcej informacji znajdziesz w Wikipedii MTA:

getVehicleModelFromName


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-31, 16:05


filip0985

Początkujący w LUA






Wiek: 22
Na forum: 2895 dni
Posty: 112

Piwa: 13

Respekt: 50

function auto()
if source == gui.potwierdz then
local item = guiComboBoxGetSelected(gui.lista)
local text = guiComboBoxGetItemText(gui.lista, item)
if text then
    outputChatBox("Wybra?e? Pojazd: " .. text) 
local pojazd = getLocalPlayer() 
local x, y, z = getElementPosition ( pojazd )
getVehicleModelFromName ( string "item" ) 
createVehicle (item, x+2, y, z)

end
end
end
addEventHandler("onClientGUIClick", root, auto) 


zrobi?em to tak ale chyba robie co? zle poniewa? pojazd si? nie pokazuje i nie wiem za bardzo jak u?y? tego getVehicleModelFromName ( string "item" )

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-31, 18:47


MeeShuffle

Programista/Grafik






Wiek: 33
Na forum: 4535 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8578

Respekt: 535,3
Respekt: 535,3


Więcej informacji znajdziesz w Wikipedii MTA:

guiComboBoxGetSelected


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-08-31, 21:02


BlackTen

LUA Dev.






Wiek: 28
Na forum: 4470 dni
Posty: 698

Piwa: 2080

Respekt: 157
Respekt: 157Respekt: 157

createVehicle(getVehicleModelFromName(text),  x+2, y, z)

Powinno dzia?a?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-09-01, 08:19


filip0985

Początkujący w LUA






Wiek: 22
Na forum: 2895 dni
Posty: 112

Piwa: 13

Respekt: 50

Auto si? pojawia ale nie da si? wsi??? do niego.

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-09-01, 09:42


BlackTen

LUA Dev.






Wiek: 28
Na forum: 4470 dni
Posty: 698

Piwa: 2080

Respekt: 157
Respekt: 157Respekt: 157

Teraz ogarn??em, ?e przecie? robisz to na stronie clienta...

Musisz zrobi? funkcj? po stronie servera, kt?ra b?dzie tworzy?a pojazd, a nast?pnie t? funkcj? podpi?? pod GUI za pomoc?

Więcej informacji znajdziesz w Wikipedii MTA:

triggerServerEvent


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-09-01, 10:53


filip0985

Początkujący w LUA






Wiek: 22
Na forum: 2895 dni
Posty: 112

Piwa: 13

Respekt: 50

ERROR Panel/s.lua:3 attempt to call global 'getLocalPlayer' (a nil value)


function elo(text)

local pojazd = getLocalPlayer() 
local x, y, z = getElementPosition ( pojazd )   
createVehicle(getVehicleModelFromName(text),  x+2, y, z)
end



addEvent("poKliknieciu",true)
local function stworzpojazd(text)

elo(text)

end
addEventHandler("poKliknieciu",resourceRoot,stworzpojazd)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-09-01, 10:57


BlackTen

LUA Dev.






Wiek: 28
Na forum: 4470 dni
Posty: 698

Piwa: 2080

Respekt: 157
Respekt: 157Respekt: 157

Client:
function auto()
if source == gui.potwierdz then
local item = guiComboBoxGetSelected(gui.lista)
local text = guiComboBoxGetItemText(gui.lista, item)
if text then
    outputChatBox("Wybra?e? Pojazd: " .. text) 
triggerServerEvent("event", root, localPlayer, text)
end
end
end
addEventHandler("onClientGUIClick", root, auto)


Server:
addEvent("event", true)
addEventHandler("event", root, function(plr, veh)
    local x, y, z = getElementPosition ( plr )
    createVehicle(getVehicleModelFromName(veh),  x+2, y, z)
end)


Ostatnio zmieniony przez BlackTen 2020-09-01, 11:02, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-09-01, 11:01


filip0985

Początkujący w LUA






Wiek: 22
Na forum: 2895 dni
Posty: 112

Piwa: 13

Respekt: 50

Dzia?a a pytanie jeszcze da si? jako? zablokowa? ilo?? spawn pojazd?w przez jednego gracza ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-09-01, 11:03


BlackTen

LUA Dev.






Wiek: 28
Na forum: 4470 dni
Posty: 698

Piwa: 2080

Respekt: 157
Respekt: 157Respekt: 157

Tak, da si? i wydaj? mi si?, ?e najpro?ciej b?dzie Ci to zrobi? na ElementDacie.

Więcej informacji znajdziesz w Wikipedii MTA:

setElementData


Więcej informacji znajdziesz w Wikipedii MTA:

getElementData


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-09-01, 17:46


Wilq







Wiek: 24
Na forum: 4569 dni
Posty: 3409

Piwa: 739

Respekt: 1225,8
Respekt: 1225,8

Po co przekazywa? zmienn? 'localPlayer' w dodatkowym argumencie, skoro w evencie po serwerze mo?na u?y? zmiennej globalnej 'client'?


Więcej informacji znajdziesz w Wikipedii MTA:

Predefined variables list


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-09-01, 22:16


filip0985

Początkujący w LUA






Wiek: 22
Na forum: 2895 dni
Posty: 112

Piwa: 13

Respekt: 50

Chcia?em aby gdy gracz zrespi sobie auto i b?dzie chcia? drugie zrobi? to aktualne mu si? usunie a stworzy obok nowe zrobi?em to tak ale nie dzia?a nie wiem jak to zrobi?.


Server
addEventHandler("event", root, function(plr, veh)
addEvent("event", true)
    local x, y, z = getElementPosition ( plr )
    if isPedInVehicle(source) then
    auto = getPedOccupiedVehicle(source)
    pojazd = createVehicle(getVehicleModelFromName(veh),  x+2, y, z)
    setElementData(localPlayer, "created:Vehicle", pojazd)
if getElementData(pojazd,"created:vehicle")
destroyElement(auto)

end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2020-09-01, 23:22


BlackTen

LUA Dev.






Wiek: 28
Na forum: 4470 dni
Posty: 698

Piwa: 2080

Respekt: 157
Respekt: 157Respekt: 157

Na pocz?tku sprawdzasz, czy elementdata istnieje. Je?eli tak, to usuwasz pojazd przypisany do elementdaty. Nast?pnie tworzysz nowy pojazd i do nowego pojazdu przypisujesz elementdat?.

addEvent("server", true)
addEventHandler("server", root, function(veh)
    if getElementData(client, "pojazdresp") then -- sprawdzasz
        destroyElement(getElementData(client, "pojazdresp")) -- usuwasz
    end
    local x, y, z = getElementPosition(client)
    local vehicle = createVehicle(getVehicleModelFromName(veh),  x+2, y, z)
    setElementData(client, "pojazdresp", vehicle) -- nadajesz
end)


Postaw piwo autorowi tego posta
 

 
Tagi: combobox :: panel :: spawnu :: pojazdów
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






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