Jump to content

Опять Бинды


Recommended Posts

Всем доброго времени суток. Вот уже почти весь день пытаюсь сделать бинд. И.. черт, он никак не хочет работать.

Может посмотрите?

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
Всем доброго времени суток. Вот уже почти весь день пытаюсь сделать бинд. И.. черт, он никак не хочет работать.

Может посмотрите?

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

А так? У вас функция не закрыта и вместо 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 by Guest
Link to comment

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
А так? У вас функция не закрыта и вместо 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

Вот, ещё

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

зачем бинд совать внутрь функции?

  
  
    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

Эх, смотрел я поиск. Читал урок по созданию биндов. И ведь вроде бы всё так, но не работает. Спасибо за быстрый отклик, но всё равно ничего не работает.

Link to comment

Да, пробовал. Хочу чтобы при нажатии на цифру 1 автомобиль вставал на колеса. Да, setElementRotation. Но flipVehicle тоже рабочая команда. Работает в другом месте у меня.

Link to comment

на сервере , и еще, прежде чем дергать откуда то код смотрите в переменные, и в дебаг

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

в 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

разве при этом бинд не увеличит число выполнения кода каждый раз на *2, тем более что бы использовать этот код нужно юзать freeroam "переменные"

Edited by Guest
Link to comment

Эх, опять у меня проблема. Пытаюсь сделать ремонт автомобиля.

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

ох кошмар какой.. неужели трудно по шаблону сделать?)) тут не понятно откуда 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

Не поверите, но первое что я попытался сделать, это делать по вашему предыдущему образцу). Потом уже стал своё городить. Спасибо вам что все разжевали мне так.., теперь всё стало понятно до конца.)

Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...