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

Wysłany: 2015-08-05, 16:14


Qbiszon

Map editor






Wiek: 25
Na forum: 4176 dni
Posty: 29
Nick w MP: Qbi

Piwa: 2

Respekt: 50

Witam! M?j problem polega na tym, ?e gdy wjad? w marker wy?wietla mi sie gui i co sekunde pojawia si? nast?pne. Jak to naprawi??

mkr createMarker( -1510.31542968752618.855"cylinder"42550020 )

function gui()
local screenWscreenH guiGetScreenSize()
okno guiCreateWindow((screenW 464) / 2, (screenH 226) / 2464226"Naprawa"false)
guiWindowSetSizable(oknofalse)
pt guiCreateButton(1515113365"Tak"falseokno)
guiSetFont(pt"clear-normal")
pn guiCreateButton(32115113365"Nie"falseokno)
guiSetFont(pn"clear-normal")
napis guiCreateLabel(1196522767"Czy chcesz naprawic swoj pojazd?"falseokno)
guiSetFont(napis"clear-normal")
guiLabelSetHorizontalAlign(napis"center"false)
guiSetVisible(oknotrue)
end

addEventHandler("onClientMarkerHit"mkr, function(el,md)
  if not md or el~=localPlayer then return end
  addEventHandler ("onClientRender"rootgui)
  showCursor(truefalse)
  end)
  
function ugui()
  removeEventHandler ("onClientRender"rootgui)
  showCursor(false)
end

addEventHandler("onClientMarkerLeave"mkr, function(el,md)
  if el~=localPlayer then return end
  ugui()
end)

function napraw (thePlayer)
     if isPedInVehicle thePlayer then
      local auto getPedOccupiedVehicle thePlayer )
         if getPlayerMoney(thePlayer) >= 100 then
         fixVehicle(auto)
         takePlayerMoney(thePlayer100)
         outputChatBox("Naprawa pojazdu kosztowa?a ci? 100$."thePlayer2501000true)
         else
        outputChatBox ("Nie jestes w aucie."thePlayer2501000true)
      end
     end
end

addEventHandler("onClientGUIClick"pt, function(plr)
     napraw()
     ugui()
end)

addEventHandler("onClientGUIClick"pn, function(plr)
     ugui()
end)


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-05, 17:01


#404







Wiek: 26
Na forum: 4772 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%

local screenWscreenH guiGetScreenSize()


okno guiCreateWindow((screenW 464) / 2, (screenH 226) / 2464226"Naprawa"false)
guiWindowSetSizable(oknofalse)
pt guiCreateButton(1515113365"Tak"falseokno)
guiSetFont(pt"clear-normal")
pn guiCreateButton(32115113365"Nie"falseokno)
guiSetFont(pn"clear-normal")
napis guiCreateLabel(1196522767"Czy chcesz naprawic swoj pojazd?"falseokno)
guiSetFont(napis"clear-normal")
guiLabelSetHorizontalAlign(napis"center"false)
guiSetVisible(oknofalse)

addEventHandler("onClientMarkerHit"mkr, function(el,md)
  if not md or el~=localPlayer then return end
  guiSetVisible(okno,true)
  showCursor(truefalse)
  end)
  
function ugui()
  guiSetVisible(oknofalse)
  showCursor(false)
end





Problem by? nast?puj?cy:

Poprzez onClientRender tworzy?e? kolejne, kolejne, kolejne.... elementy gui. Przeanalizuj powy?szy kod i wyci?gnij wnioski, jak ukrywa?/pokazywa? gui a tak?e jak je tworzy?






EDIT: A i teraz taki ma?y b??dzik znalaz?em


function napraw (thePlayer) -- tutaj graczem b?dzie nicbo nie wys?a?eelementu gracza (patrz ni?ej)
     if isPedInVehicle thePlayer then
      local auto getPedOccupiedVehicle thePlayer )
         if getPlayerMoney(thePlayer) >= 100 then
         fixVehicle(auto)
         takePlayerMoney(thePlayer100)
         outputChatBox("Naprawa pojazdu kosztowa?a ci? 100$."thePlayer2501000true)
         else
        outputChatBox ("Nie jestes w aucie."thePlayer2501000true)
      end
     end
end

addEventHandler("onClientGUIClick"pt, function(plr)
     napraw() -- w argumentach nie wysy?a?egracza
     ugui()
end)

Dasz rad? samodzielnie naprawi? ? Je?eli nie pisz ?mia?o, pomo?emy

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-05, 17:29


Qbiszon

Map editor






Wiek: 25
Na forum: 4176 dni
Posty: 29
Nick w MP: Qbi

Piwa: 2

Respekt: 50

W?asnie naprawi?em ten pierwszy b?ad. Teraz potrzebuje pomocy do tego drugiego :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-05, 17:35


#404







Wiek: 26
Na forum: 4772 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%
Bardzo proste


Więcej informacji znajdziesz w Wikipedii MTA:

onClientGUIClick


Wiki m?wi (xD), obiektem kt?ry zawsze klika w gui jest localPlayer, czyli najpro?ciej b?dzie do napraw() dodac localPlayer no i powinno lata? :)


PS: function(plr) -- tutaj plr to nie gracz, ta funkcja jako 1 element zwraca przycisk wi?cej w podanym powy?ej linku

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-05, 17:45


Qbiszon

Map editor






Wiek: 25
Na forum: 4176 dni
Posty: 29
Nick w MP: Qbi

Piwa: 2

Respekt: 50

Czyli te thePlayer mam zmieni? na localPlayer?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-05, 17:46


#404







Wiek: 26
Na forum: 4772 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%
Nie, by? mo?e troszk? ?le wyt?umaczy?em


addEventHandler("onClientGUIClick"pt, function(plr)
     napraw(localPlayer)
     ugui()
end)


Wtedy localPlayer zostanie przes?any do funkcji napraw i w niej b?dzie ju? funkcjonowa? jako thePlayer.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-05, 17:55


Qbiszon

Map editor






Wiek: 25
Na forum: 4176 dni
Posty: 29
Nick w MP: Qbi

Piwa: 2

Respekt: 50

teraz jest inny b?ad :(


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-05, 17:57


#404







Wiek: 26
Na forum: 4772 dni
Posty: 1438

Piwa: 2512

Respekt: 833,5
Respekt: 833,5Respekt: 833,5

Ostrzeżeń: 60%
Ahh no tak

U?yle? argumentacji z strony serwer'a zamiast clienta

         takePlayerMoney100)
         outputChatBox("Naprawa pojazdu kosztowa?a ci? 100$."2501000true)


Wi?cej info odno?nie argument?w poszukaj w poni?szych linkach


Więcej informacji znajdziesz w Wikipedii MTA:

takePlayerMoney


Więcej informacji znajdziesz w Wikipedii MTA:

outputChatBox



Niekt?re funkcje funkcjonuj? zar?wno po stronie clienta, jak i serwer'a. Wtedy r??ni? si? argumentami (nie zawsze).

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-08-05, 18:48


Qbiszon

Map editor






Wiek: 25
Na forum: 4176 dni
Posty: 29
Nick w MP: Qbi

Piwa: 2

Respekt: 50

?miga :)
Piwko leci.

A wi?c zamykam, w razie czego, zg?o? post a otworz? temat //DestroY

Ostatnio zmieniony przez #404 2015-08-05, 19:58, w całości zmieniany 1 raz  
Postaw piwo autorowi tego posta
 

 
Tagi: 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 » GUI 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