Vovik Posted June 16, 2013 Share Posted June 16, 2013 Всем доброго времени суток. Вот уже почти весь день пытаюсь сделать бинд. И.. черт, он никак не хочет работать. Может посмотрите? function flipVehicle() local vehicle = getPedOccupiedVehicle( pPlayer ) 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 function flipVehicle( pPlayer ) bindKey( pPlayer, "1", "down", "flip", flipVehicle ) end Link to comment
kino Posted June 16, 2013 Share Posted June 16, 2013 Всем доброго времени суток. Вот уже почти весь день пытаюсь сделать бинд. И.. черт, он никак не хочет работать.Может посмотрите? function flipVehicle() local vehicle = getPedOccupiedVehicle( pPlayer ) 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 function flipVehicle( pPlayer ) bindKey( pPlayer, "1", "down", "flip", flipVehicle ) end ну1 использовать вместо code [lua итак тебя зациклило папробуй так function flipVehicle() local vehicle = getPedOccupiedVehicle( pPlayer ) 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 function setbindflipVehicle( pPlayer ) bindKey( pPlayer, "1", "down", flipVehicle ) end Link to comment
kino Posted June 16, 2013 Share Posted June 16, 2013 так давай полный код а не огрызок а то я не пойму когда вешаются бинды Link to comment
Memory Posted June 16, 2013 Share Posted June 16, 2013 (edited) А так? У вас функция не закрыта и вместо pPlayer source надо function flipVehicle() 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 function setbindflipVehicle( pPlayer ) bindKey( pPlayer, "1", "down", flipVehicle ) end Edited June 16, 2013 by Guest Link to comment
Vovik Posted June 16, 2013 Author Share Posted June 16, 2013 function flipVehicle() local vehicle = getPedOccupiedVehicle( pPlayer ) 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 function flipVehicle( pPlayer ) bindKey( pPlayer, "1", "down", "flip", flipVehicle ) end Так это и есть полный... Link to comment
Vovik Posted June 16, 2013 Author Share Posted June 16, 2013 А так? У вас функция не закрыта и вместо pPlayer source надо function flipVehicle() 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 function setbindflipVehicle( pPlayer ) bindKey( pPlayer, "1", "down", flipVehicle ) end Так тоже не хочет( Link to comment
kino Posted June 16, 2013 Share Posted June 16, 2013 во первых функция забиндивая и флип функция имеют 1 имя во 2 я не могу понял когда идёт забиндевания Link to comment
Memory Posted June 16, 2013 Share Posted June 16, 2013 Вот, ещё function setbindflipVehicle() bindKey (source,"1","down", function(player) local vehicle = getPedOccupiedVehicle( player ) 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 ) end addEventHandler ( "onResourceStart", getRootElement(), setbindflipVehicle) Link to comment
Ruga Posted June 16, 2013 Share Posted June 16, 2013 зачем бинд совать внутрь функции? 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 ) пользуйтесь поиском на форуме много таких тем... Link to comment
Vovik Posted June 16, 2013 Author Share Posted June 16, 2013 Эх, смотрел я поиск. Читал урок по созданию биндов. И ведь вроде бы всё так, но не работает. Спасибо за быстрый отклик, но всё равно ничего не работает. Link to comment
Ruga Posted June 16, 2013 Share Posted June 16, 2013 мой код попробывали? и что вы хотели от кода? setElementRotation Link to comment
Vovik Posted June 16, 2013 Author Share Posted June 16, 2013 Да, пробовал. Хочу чтобы при нажатии на цифру 1 автомобиль вставал на колеса. Да, setElementRotation. Но flipVehicle тоже рабочая команда. Работает в другом месте у меня. Link to comment
Vovik Posted June 16, 2013 Author Share Posted June 16, 2013 Да. Впрочем, пробовал и с ним и без. Link to comment
Ruga Posted June 16, 2013 Share Posted June 16, 2013 на сервере , и еще, прежде чем дергать откуда то код смотрите в переменные, и в дебаг 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 ) надеюсь помог)) Link to comment
Vovik Posted June 16, 2013 Author Share Posted June 16, 2013 Сидел редактировал под сервер, потом увидел как вы сообщение подправили) Конечно помогли. Спасибо вам огромное!) Link to comment
dnsvlc Posted June 23, 2013 Share Posted June 23, 2013 в fr_client.lua function flipVehicle() local vehicle = getPedOccupiedVehicle(g_Me) 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('flip', flipVehicle) addCommandHandler('f', flipVehicle) bindKey('1, 'down', flipVehicle) Таким же простым образом можно сделать и на repair Link to comment
Ruga Posted June 23, 2013 Share Posted June 23, 2013 (edited) разве при этом бинд не увеличит число выполнения кода каждый раз на *2, тем более что бы использовать этот код нужно юзать freeroam "переменные" Edited July 4, 2013 by Guest Link to comment
Vovik Posted June 30, 2013 Author Share Posted June 30, 2013 Попробовал, при использовании бинда в fr_client.lua крашится freеroam. Link to comment
Vovik Posted July 2, 2013 Author Share Posted July 2, 2013 Эх, опять у меня проблема. Пытаюсь сделать ремонт автомобиля. function repair( pPlayer ) local theVehicle = getPedOccupiedVehicle (pPlayer) vehicles = getElementsByType ( "vehicle" ) for vehicleKey, vehicleValue in ipairs(vehicles) do fixVehicle ( vehicleValue ) end function repair ( pPlayer ) bindKey( pPlayer , "2", "down", "2",pPlayer ) end В чем здесь моя логическая ошибка? Или проблема только в привязке бинда. Стыдно уже со своими глупыми вопросами обращаться. Но сколько бы не мучался, прогресса нет.( Link to comment
Ruga Posted July 2, 2013 Share Posted July 2, 2013 ох кошмар какой.. неужели трудно по шаблону сделать?)) тут не понятно откуда pPlayer - Это что? В предедущем это был игрок из цикла а тут ?.. --шаблон есть шаблон addCommandHandler('repair', -- функция что чинит авто function (source,cmd) local theVehicle = getPedOccupiedVehicle (source) if theVehicle then fixVehicle ( theVehicle ) end end ) function repairBinds ( pPlayer ) -- функция вызывается в последующих эвентах bindKey( pPlayer , "2", "down", "repair",pPlayer ) end addEventHandler( 'onPlayerJoin', root, -- клеим бинд когда игрок зашел function() repairBinds( source ) end) addEventHandler( 'onResourceStart', resourceRoot, -- клеим ему бинд когда ресурс стартовал, тоесть не нужно будет перезаходить на сервак что бы работала кнопка, если ресурс перезапустится function() for i, pPlayer in ipairs( getElementsByType( 'player' ) ) do repairBinds ( pPlayer ) end end ) Link to comment
Vovik Posted July 6, 2013 Author Share Posted July 6, 2013 Не поверите, но первое что я попытался сделать, это делать по вашему предыдущему образцу). Потом уже стал своё городить. Спасибо вам что все разжевали мне так.., теперь всё стало понятно до конца.) Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now