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


Wysłany: 2017-07-26, 16:06


P.Wiśnia

Programista LUA






Wiek: 19
Na forum: 2130 dni
Posty: 538
Nick w MP: P.Wiśnia

Piwa: 147

Respekt: 80


Mam problem ponieważ po kliknienciu rozpocznij prace nic sie nie dziej

Client

addEventHandler("onClientGUIClick", root, function(btn,state)

if source == PracaBusLs.submit then
showCursor(false)
guiSetVisible(PracaBusLs.window, false)
guiSetVisible(PracaBusLs.submit, false)
guiSetVisible(PracaBusLs.close, false)
guiSetVisible(PracaBusLs.text, false)
removeEventHandler("onClientRender",root,pracabusls)
triggerServerEvent("PracaStartBusLs", root,localPlayer)
end
if source == PracaBusLs.close then
if guiGetVisible(PracaBusLs.window) == true then
showCursor(false)
guiSetVisible(PracaBusLs.window, false)
guiSetVisible(PracaBusLs.submit, false)
guiSetVisible(PracaBusLs.close, false)
guiSetVisible(PracaBusLs.text, false)
removeEventHandler("onClientRender",root,pracabusls)
end
end
end)


Server

addEvent("PracaStartBusLs", true)

addEventHandler("PracaStartBusLs", resourceRoot, function(el, md)
if #getElementsWithinColShape(zone,"vehicle") >= 1 then outputChatBox("Parking zajety",el) return end
if getElementData(el,"player:license:pjC") ~= 1 then
outputChatBox("Nie posiadasz Prawojazdy kategori C", source)
return
end

if not md or getElementType(el) ~= "player" or getPedOccupiedVehicle(el) then return end

local x,y,z = getElementPosition(el)
local bus = createVehicle(437, 1785.93,-1886.36,13.65,0.0, 360.0, 269.9)

setElementData(bus, "zrespilGracz", el)
setElementData(bus, "vehicle:fuel", 100)
setElementData(bus, "vehicle:mileage", math.random(50000,80000))

setVehicleHandling(bus,"maxVelocity", 50.00)

warpPedIntoVehicle(el, bus)
removePreviousVehicles(el)
triggerClientEvent(el, "STARTJobBus", resourceRoot, bus)
setVehicleHandling(bus,"maxVelocity", 50.00)

vehs[el] = bus
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-07-26, 16:09


Szymczu

Programista bo tak






Wiek: 21
Na forum: 1520 dni
Posty: 194
Nick w MP: Szymczu

Piwa: 36

Respekt: 120
Respekt: 120


db3? Pokaż te tablice "PracaBusLs".

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-07-26, 17:40


P.Wiśnia

Programista LUA






Wiek: 19
Na forum: 2130 dni
Posty: 538
Nick w MP: P.Wiśnia

Piwa: 147

Respekt: 80


ale jak usune
addEventHandler("PracaStartBusLs", resourceRoot, function(el, md)

te el, md
to mam ze nie mam prawka a mam.
a jak dodam to
nic nie robi.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-07-27, 14:25


amited







Wiek: 21
Na forum: 1799 dni
Posty: 1235
Nick w MP: Amited

Piwa: 513

Respekt: 466
Respekt: 466


Nie wiem czy w lua jest przeciążenie funkcji - mogą być te same funkcje (tak samo nazwane) ale
różniące się ilością argumentów i tyle ile podamy to odpowiednia funkcja się wykona. Ale co to ma do rzeczy? W triggerze PracaStartBusLs podajesz "root" czyli source tego eventu oraz localPlayer. Za to w stronie serwera dodatkowo dodajesz argument "md" przez co możliwe kod się nie wykonywa.

Podpis
"amited" napisał/a:
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-07-27, 22:11


Malentas

Koder mirofali w lua






Wiek: 19
Na forum: 1766 dni
Posty: 148
Nick w MP: Malentas

Piwa: 1202

Respekt: 47,3


Okej, koledzy wyżej standardowo nabijają posty a i tak ci nie pomogą, masz funkcje onClientClick masz ify i myślisz że będzie działać? Może by tak ująć gdzie trzeba kliknąć? Zacznijmy od tego czy posiadasz "klawisze" z dxDraw czy jednak guiButton.
jak posiadasz guiButton czyli funkcje "guiCreateButton" to robisz



addEventHandler("onClientClick", nazwabuttona, function()
--Tu funkcja po nacisnieciu naszegobuttona
end)


Jeśli masz "klawisz" w dxDrawRectangle to


-- to funckja na myszke nic tu nie ruszasz
local sx, sy = guiGetScreenSize()

function isMouseIn(psx,psy,pssx,pssy,abx,aby)
if not isCursorShowing() then return end
cx,cy=getCursorPosition()
cx,cy=cx*sx,cy*sy
if cx >= psx and cx <= psx+pssx and cy >= psy and cy <= psy+pssy then
return true,cx,cy
else
return false
end
end

-- poniez już ruszasz
addEventHandler("onClientClick", root, function(btn, state)
if btn == "left" and state == "down" then
if isMouseIn(twoje koordynaty screenW, screenH klawiszu) and okno == true then
--funkcja po nacisnieciu
end
end
end)



Okej teraz tez nie będzie dzialac, dlaczego? bo nie masz wysetowanego "okna" czyli to "okno"

Podczas gdy wejdziesz w marker i ci się otwiera gui musisz wpisac "okno = true"
a gdy okno zostaje zamykane "okno = false"

Łatwe? łatwe tylko trzeba chcieć :)

Podpis
Aktualny projekt:


AntoriaMTA
Discord: https://discord.gg/TVrAddp3Wu

Najszybszy kontakt (discord): Malentas#2091
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-07-27, 22:29


amited







Wiek: 21
Na forum: 1799 dni
Posty: 1235
Nick w MP: Amited

Piwa: 513

Respekt: 466
Respekt: 466


Malentas, Co ty tworzysz? widać że ma event "OnClientGUIClick" czyli jest normalny button z cgui... Tutaj "pomoc" to nie wklejenie gotowego kodu (poprawki w kodzie autora postu), a wyjaśnienie gdzie jest błąd, więc jeżeli przeciążanie funkcje w lua jest możliwe to prawdopodobnie to jest błąd.

Podpis
"amited" napisał/a:
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-07-28, 00:15


Hades.

Podążaj za marzeniami.






Wiek: 17
Na forum: 2785 dni
Posty: 372
Nick w MP: R35

Piwa: 2537

Respekt: 327,8
Respekt: 327,8Respekt: 327,8Respekt: 327,8


addEventHandler("onClientGUIClick", root, function(button, state)

if menuBusy button == "left" and state == "down" then
if source == PracaBusLs.submit then
showCursor(false)
guiSetVisible(PracaBusLs.window, false)
guiSetVisible(PracaBusLs.submit, false)
guiSetVisible(PracaBusLs.close, false)
guiSetVisible(PracaBusLs.text, false)
removeEventHandler("onClientRender",root,pracabusls)
triggerServerEvent("PracaStartBusLs", root,localPlayer)
end
if source == PracaBusLs.close then
if guiGetVisible(PracaBusLs.window) == true then
showCursor(false)
guiSetVisible(PracaBusLs.window, false)
guiSetVisible(PracaBusLs.submit, false)
guiSetVisible(PracaBusLs.close, false)
guiSetVisible(PracaBusLs.text, false)
removeEventHandler("onClientRender",root,pracabusls)
end
end
end
end)
Prosz..

Podpis
Skrypty/Grafiki na zamówienie!
Kontakt: Discord R35#5507

Discord związany z pomocą: https://discord.gg/ttkQTsc
Postaw piwo autorowi tego posta
 

 
Wysłany: 2017-07-28, 10:05


amited







Wiek: 21
Na forum: 1799 dni
Posty: 1235
Nick w MP: Amited

Piwa: 513

Respekt: 466
Respekt: 466


dla mnie powinno być:


addEventHandler("onClientGUIClick", resourceRoot, function(btn,state)
if source == PracaBusLs.submit then
showCursor(false)
guiSetVisible(PracaBusLs.window, false)
guiSetVisible(PracaBusLs.submit, false)
guiSetVisible(PracaBusLs.close, false)
guiSetVisible(PracaBusLs.text, false)
removeEventHandler("onClientRender",root,pracabusls)
triggerServerEvent("PracaStartBusLs", root,localPlayer)
end
if source == PracaBusLs.close then
if guiGetVisible(PracaBusLs.window) == true then
showCursor(false)
guiSetVisible(PracaBusLs.window, false)
guiSetVisible(PracaBusLs.submit, false)
guiSetVisible(PracaBusLs.close, false)
guiSetVisible(PracaBusLs.text, false)
removeEventHandler("onClientRender",root,pracabusls)
end
end
end)


Podpis
"amited" napisał/a:
Postaw piwo autorowi tego posta
 

 
Tagi: nic :: nie :: robi :: kliknięciu
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:








Wyświetl posty z ostatnich:   

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

Skocz do: