Jump to content

KruGoZor

Members
  • Posts

    12
  • Joined

  • Last visited

KruGoZor's Achievements

Square

Square (6/54)

0

Reputation

  1. вместо обоих? что-то пока не выходит. Ещё покопаю.
  2. Так что-то вообще не работает. Только если вместо обоих source указать getRootElement(), Что там должно быть то ? 1 это кому показывать? указываю client, source, player, localPlayer ничего. 2 не понял вообще что тут должно быть ?
  3. Вот так вызывается. сервер triggerClientEvent ( "onRent", getRootElement(), c) клиент addEvent( "onRent", true ) addEventHandler( "onRent", getRootElement(), onRentHandler )
  4. ну вот опять. Как показывать гуи только одному игроку ? Если можно поясните хоть. А то в тот раз код не очень понял. function rentGUItime() GUIEditor_Label = {} rentTimeLabel = guiCreateLabel(28,731,188,26,"до конца аренды:",false) guiSetAlpha(GUIEditor_Label[1],1) guiSetFont(GUIEditor_Label[1],"clear-normal") guiSetVisible( rentTimeLabel, false ) end addEventHandler("onClientResourceStart",resourceRoot,rentGUItime) function onRentHandler ( c ) if rentTimeLabel~=nil then guiSetVisible( rentTimeLabel, true ) guiSetText ( rentTimeLabel, "до конца аренды осталось "..c ) if c==0 then guiSetVisible( rentTimeLabel, false ) end end end addEvent( "onRent", true ) addEventHandler( "onRent", getRootElement(), onRentHandler )
  5. Спасибо работает! Только не понял разницы. Почему мой код не работал ?
  6. пробовал уже подобное, не работает. В чате все равно "оставшееся время аренды 59", только бесконечно. Таймер не останавливается.
  7. Ещё вопрос появился. local timerGUIsec = timeA/1000 function timerGUI () local a = timerGUIsec - 1 outputChatBox ( "оставшееся время аренды" ..a ,client) end setTimer ( timerGUI, 1000, timerGUIsec ) к примеру timerGUIsec = 60, этот код выводит в чат 60 раз "оставшееся время аренды 59". Может я туплю, но как заставить его считать от 60 до 0 и выводить это в чат раз в секунду ? Я вообще это в гуи хотел вывести. в чат это просто для пробы.
  8. Огромное спасибо ребят, все работает! Сделал так: при рождении велика записываю в setElementID ник игрока который его родил. А при onVehicleStartEnter сравниваю ID с ником пытающегося сесть и если не совпадает, делаю cancelEvent (). Без вас бы ещё неделю тыкался)
  9. О, вообще класс. за WarpPedIntoVehicle и SetControlState спасибо, а вот SetElementVisibleTo на транспорт не действует (на вике даже написано). Да и мне не нужно чтобы он был невидимым. Нужно чтобы другие игроки не могли сесть на него. Так можно сделать ? И остаётся вопрос с gui по прежнему нажимаются сразу все кнопки. Что может быть ?
  10. Спасибо! 2ая проблема решилась. А вот первая нет. Сделал вот так, но всё тоже самое. addEventHandler( "onClientMarkerHit",test, function( player ) if player == localPlayer then if RentBicycleWin then guiSetVisible( RentBicycleWin, true ) end showCursor( true ) guiSetInputEnabled( true ) end end ,false ) addEventHandler("onClientResourceStart", resourceRoot, GUISpawnVehicleQ,false) И ещё появилось 2 вопросика: 1.Как скриптом посадить/высадить игрока на велосипед 2.Есть ли стандартная функция, чтобы сделать определенный транспорт доступным только для 1 игрока? или нужно изобретать свой велосипед ?) Заранее спасибо.
  11. Здравствуйте. У меня 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())
  12. Ребят, поясните по хардкору, как показать пользователю GUI когда он становится на маркер ? Вообще с гуём очень всё непонятно. Может туториал есть какой(кроме того что на вики)? Например я делаю так: на клиенте на сервере Что не так*? ____________________ Вопрос закрыт использовал onClientMarkerHit
×
×
  • Create New...