Jump to content

Ruga

Members
  • Posts

    215
  • Joined

  • Last visited

Everything posted by Ruga

  1. разве при этом бинд не увеличит число выполнения кода каждый раз на *2, тем более что бы использовать этот код нужно юзать freeroam "переменные"
  2. тогда код выше проверка на машины, и вообще лучше сам код скидывайте
  3. попробуйте определить игрока который в воде и если он в машине то) for i, p in ipairs( getElementsByType( 'player' ) ) do if isElementInWater(p) then local car = getPedOccupiedVehicle(p)
  4. проверить можно так for i, veh in ipairs( getElementsByType( 'vehicle' ) ) do -- поиск по всем машинам на серваке if isElementInWater(veh) then -- если авто в воде,то - далее ваш код
  5. в добавок onPlayerLogin onPlayerWasted и делай проверку функция выше
  6. на сервере , и еще, прежде чем дергать откуда то код смотрите в переменные, и в дебаг function flipVehicle1(source,cmd) local vehicle = getPedOccupiedVehicle(source) if vehicle then local rX, rY, rZ = getElementRotation(vehicle) setElementRotation (vehicle, 0, 0, (rX > 90 and rX < 270) and (rZ + 180) or rZ) end end addCommandHandler('1', flipVehicle1) function setbindflipVehicleBinds ( pPlayer ) bindKey( pPlayer , "1", "down", "1",pPlayer ) end addEventHandler( 'onPlayerJoin', root, function() setbindflipVehicleBinds( source ) end) addEventHandler( 'onResourceStart', resourceRoot, function() for i, pPlayer in ipairs( getElementsByType( 'player' ) ) do setbindflipVehicleBinds ( pPlayer ) end end ) надеюсь помог))
  7. используете freeroam?
  8. мой код попробывали? и что вы хотели от кода? setElementRotation
  9. зачем бинд совать внутрь функции? function setbindflipVehicle(source,cmd) local vehicle = getPedOccupiedVehicle( source ) if vehicle then local rX, rY, rZ = getElementRotation(vehicle) server['set' .. 'VehicleRotation'](vehicle, 0, 0, (rX > 90 and rX < 270) and (rZ + 180) or rZ) end end addCommandHandler ( "keys", setbindflipVehicle) function setbindflipVehicleBinds ( pPlayer ) bindKey( pPlayer , "1", "down", "keys",pPlayer ) end addEventHandler( 'onPlayerJoin', root, function() setbindflipVehicleBinds( source ) end) addEventHandler( 'onResourceStart', resourceRoot, function() for i, pPlayer in ipairs( getElementsByType( 'player' ) ) do setbindflipVehicleBinds ( pPlayer ) end end ) пользуйтесь поиском на форуме много таких тем...
  10. чушь какая.. создайте отдельно папку с кодом чо вам дали и запустите. за вас и так все написали... мда...
  11. вот что за вопрос... а где же код? или по интуиции должны гадать что у вас за код...
  12. http://www.lua.ru/ подойдет, все что нужно я думаю найдешь тут
  13. ну конечно, к каждой функции своя команда. а бинд мб один и тот же
  14. Такой вопрос, можно ли проверить стоит игрок под навесом или объектом или нет, т.е. нужно определить при дожде попадает ли дождь на него.
  15. function toggleBinds( pPlayer ) bindKey( pPlayer , "F4", "down", "showchat",pPlayer ) --"showchat" это должно быть в command как и остальное bindKey( pPlayer , "F4", "down", "showhud",pPlayer ) bindKey( pPlayer , "F4", "down", "shownametags",pPlayer ) end addEventHandler( 'onPlayerJoin', root, function() toggleBinds( source ) end ) addEventHandler( 'onResourceStart', resourceRoot, function() for i, pPlayer in ipairs( getElementsByType( 'player' ) ) do toggleBinds( pPlayer ) end end )
  16. обращайся)) просто читай побольше и пробуй, спрашивай как выполняются функции, но лучше по маленьким темам, пиши в help me, топик.))
  17. car = createVehicle ( 451,2484.2724609375, -1665.3690185547, 13.34375, 0, 0, 0 ) -- создаешь функцию где определяешь включена ли сирена, setTimer( function () -- условие включена ли сирена если да то setVehicleOverrideLights ( car , 2 ) setTimer(setVehicleOverrideLights , 1000,1, car , 1 ) end end , 2000,0) -- проверка каждые 2 секунды, но проще сделать в цикле на все авто, на сервере... со своими ньюансами авто мб очень много.. for i, v in ipairs( getElementsByType( 'vehicle' ) ) do v -- это определенное авто из цикла, тобишь то у кого будем проверять, тобишь вместо car у нас v протестировал, самому захотелось глянуть, вот рабочий код, только с таймером надо поработать function () for i, v in ipairs( getElementsByType( 'vehicle' ) ) do if getVehicleSirensOn ( v ) then setVehicleOverrideLights( v, 2 ) setTimer(setVehicleOverrideLights,1000,1,v, 1 ) setTimer(setVehicleOverrideLights , 2000,1, v , 2 ) end end end , 2000,0)
  18. ты проверку как выполняешь? и вообще скидывай результаты , а то не особо удобно представлять как что у тебя накодено
  19. да об этом, вот полный код)) просто к своим функциям крепи команды, а при помощи этого кода крепи на команды бинды, оч удобно))) function BindCarPark( pPlayer ) bindKey( pPlayer, '1', 'down', 'carpark', pPlayer ) end addEventHandler( 'onPlayerJoin', root, function() BindCarPark( source ) end ) addEventHandler( 'onResourceStart', resourceRoot, function() for i, pPlayer in ipairs( getElementsByType( 'player' ) ) do BindCarPark( pPlayer ) end end )
  20. я это понимаю, но почему бы не сделать в цикле и при join? вот великий человек Kenix дал мне хороший код, https://forum.multitheftauto.com/viewtopic.php?f=141&t=53091 до сих пор использую его привязку биндов, посмотри по примеру)) ну это так для развития)))
  21. а зачем привязку через команду? просто интересно))
  22. конечно будут, я ничего против не говорил)) будет выдавать ошибку, но только у тех кто еще не прогрузился... и кстати ошибка по скрину мб не только от того что собитие вызвано при join , мб что в мета забыли указать скрипт как клиент, но все равно безусловно как написал Kenix , onClientResourceStart то что нужно))
  23. destroyElement createMarker или вызвать функцию тобишь создать маркер родителя внутри функции и условие при заходе на него создать второй маркер а его дестрой, и со вторым также, только вместо создания поставить выполнение функции что то типа function createMarkerC () marker = createMarker(аргументы на вики) end function markerhit (hitElement) if source == marker then <ваш код что вы хотите> markers = createMarker(аргументы на вики) -- будет создан когда вы зашли на первый маркер if isElement (marker) then destroyElement(marker) end elseif source == markers then <ваш код что вы хотите> marker = createMarker(аргументы на вики) -- будет создан когда вы зашли на второй маркер if isElement (markers) then destroyElement(markers) end end end addEventHandler("onMarkerHit", getRootElement(), markerhit) ленивая и грязная версия вашей логики, грязная потому что много всего не дописал сюда, я надеюсь вы почитаете сами на вики и допишите, а лучше всего вместо всего этого использовать это https://wiki.multitheftauto.com/wiki/Se ... tVisibleTo
  24. записывайте имя переменных по ид ваших моделей и пихайте все в одну функцию, в чем проблема?
×
×
  • Create New...