Здравствуйте. У меня 2 проблемы с ГУИ.
1:По нажатию в пустую область окна, происходит нажатие всех кнопок дочерних от этого окна.
2:Когда игрок заходит на маркер ГУИ окно показывается сразу всем игрокам, а не только тому который зашел.
Посмотрите пожалуйста мой говнокод, а то уже запарился.
Выкладываю только клиентскую часть, думаю серверная не нужна.
test = createMarker(1707.8544921875, -1849.412109375, 13.075799942017, "cylinder", 2, 255, 0, 0, 150)
function GUISpawnVehicleQ()
GUIEditor_Button = {}
GUIEditor_Label = {}
GUIEditor_Edit = {}
GUIEditor_Image = {}
GUIEditor_Scrollbar = {}
RentBicycleWin = guiCreateWindow(194,178,646,356,"Аренда велосипедов",false)
guiWindowSetMovable(RentBicycleWin,false)
guiWindowSetSizable(RentBicycleWin,false)
GUIEditor_Image[1] = guiCreateStaticImage(35,41,178,142,"images/bike.png",false,RentBicycleWin)
GUIEditor_Image[2] = guiCreateStaticImage(235,41,179,143,"images/bmx.png",false,RentBicycleWin)
GUIEditor_Image[3] = guiCreateStaticImage(435,41,180,143,"images/mb.png",false,RentBicycleWin)
local mbScrol = guiCreateScrollBar(436,218,178,20,true,false,RentBicycleWin)
local mbRentBtn = guiCreateButton(435,249,179,27,"Арендовать Mountain Bike",false,RentBicycleWin)
local bikeRentBtn = guiCreateButton(35,249,179,27,"Арендовать Bike",false,RentBicycleWin)
local bikeScrol = guiCreateScrollBar(36,218,178,20,true,false,RentBicycleWin)
local bmxRentBtn = guiCreateButton(235,249,179,27,"Арендовать BMX",false,RentBicycleWin)
local bmxScrol = guiCreateScrollBar(236,218,178,20,true,false,RentBicycleWin)
local exitBtn = guiCreateButton(294,307,72,27,"Выход",false,RentBicycleWin)
GUIEditor_Label[1] = guiCreateLabel(90,192,64,22,"мин. Цена:",false,RentBicycleWin)
local bikeTime = guiCreateEdit(33,188,52,25,"1",false,RentBicycleWin)
local bikePrice = guiCreateEdit(158,189,55,23,"15",false,RentBicycleWin)
guiEditSetReadOnly( bikePrice, true )
GUIEditor_Label[2] = guiCreateLabel(493,192,64,22,"мин. Цена:",false,RentBicycleWin)
local mbTime = guiCreateEdit(436,188,52,25,"1",false,RentBicycleWin)
local mbPrice = guiCreateEdit(561,189,55,23,"40",false,RentBicycleWin)
guiEditSetReadOnly( mbPrice, true )
GUIEditor_Label[3] = guiCreateLabel(291,192,64,22,"мин. Цена:",false,RentBicycleWin)
local bmxTime = guiCreateEdit(234,188,52,25,"1",false,RentBicycleWin)
local bmxPrice = guiCreateEdit(359,189,55,23,"20",false,RentBicycleWin)
guiEditSetReadOnly( bmxPrice, true )
--guiSetInputEnabled(true)
function exitGui ()
showCursor(false)
guiSetVisible(RentBicycleWin,false)
guiSetInputEnabled(false)
end
addEventHandler("onClientGUIClick", exitBtn, exitGui)
--оброботка интерфейса
function TimeBike ()
local a = guiGetText ( bikeTime )
guiScrollBarSetScrollPosition ( bikeScrol, a )
a=a*15
guiSetText ( bikePrice, a )
end
function TimeBmx ()
local c = guiGetText ( bmxTime )
c=c*20
guiSetText ( bmxPrice, c )
end
function TimeMb ()
local b = guiGetText ( mbTime )
b=b*40
guiSetText ( mbPrice, b )
end
function bikeScrolto ()
local a = guiScrollBarGetScrollPosition ( bikeScrol )
a=a*15
guiSetText ( bikePrice, a )
a=a/15
guiSetText ( bikeTime, a )
end
function mbScrolto ()
local b = guiScrollBarGetScrollPosition ( mbScrol )
b=b*40
guiSetText ( mbPrice, b )
b=b/40
guiSetText ( mbTime, b )
end
function bmxScrolto ()
local c = guiScrollBarGetScrollPosition ( bmxScrol )
c=c*20
guiSetText ( bmxPrice, c )
c=c/20
guiSetText ( bmxTime, c )
end
addEventHandler("onClientGUIChanged", bikeTime, TimeBike)
addEventHandler("onClientGUIChanged", bmxTime, TimeBmx)
addEventHandler("onClientGUIChanged", mbTime, TimeMb)
addEventHandler("onClientGUIScroll", bikeScrol, bikeScrolto)
addEventHandler("onClientGUIScroll", mbScrol, mbScrolto)
addEventHandler("onClientGUIScroll", bmxScrol, bmxScrolto)
--кнопка покупки байка
function bikeRent ()
local priceA = guiGetText ( bikePrice )
local timeA = guiGetText ( bikeTime )
triggerServerEvent ( "onClickBike", getRootElement(), priceA, timeA )
end
addEventHandler("onClientGUIClick", bikeRentBtn, bikeRent)
--/кнопка покупки байка
--кнопка покупки BMX
function bmxRent ()
local priceC = guiGetText ( bmxPrice )
local timeC = guiGetText ( bmxTime )
triggerServerEvent ( "onClickBmx", getRootElement(), priceC, timeC )
end
addEventHandler("onClientGUIClick", bmxRentBtn, bmxRent)
--/кнопка покупки BMX
--кнопка покупки MB
function mbRent ()
local priceB = guiGetText ( mbPrice )
local timeB = guiGetText ( mbTime )
triggerServerEvent ( "onClickMb", getRootElement(), priceB, timeB )
end
addEventHandler("onClientGUIClick", mbRentBtn, mbRent)
--/кнопка покупки MB
--/оброботка интерфейса
guiSetVisible(RentBicycleWin, false)
showCursor(false)
end
function GUISpawnVehicleShow()
if (RentBicycleWin ~= nil) then
guiSetVisible(RentBicycleWin, true)
end
showCursor(true)
guiSetInputEnabled(true)
end
addEventHandler ( "onClientMarkerHit", test, GUISpawnVehicleShow )
addEventHandler("onClientResourceStart", client, GUISpawnVehicleQ())