Jump to content

Recommended Posts

local X,Y,Z 
  
function showTeam() 
     
     
    if team == 0 then 
  
        local now = getTickCount() 
            local endTime = start + 2000 
            local elapsedTime = now - start 
            local duration = endTime - start 
            local progress = elapsedTime / duration 
        local x, y, z = interpolateBetween ( X, Y, Z, 1950, 1000, 993, progress, "OutQuad") 
        setCameraMatrix( x, y, z, 1953, 996, 993, 0, 0) 
        if x == 1950 and y == 1000 and z == 993 then 
  
            start = nil 
            removeEventHandler("onClientPreRender", getRootElement(), showTeam) 
     
        end 
         
    end 
    if team == 1 then 
  
        local now = getTickCount() 
            local endTime = start + 2000 
            local elapsedTime = now - start 
            local duration = endTime - start 
            local progress = elapsedTime / duration 
        local x, y, z = interpolateBetween (X, Y, Z, 1944, 1031, 993, progress, "OutQuad") 
        setCameraMatrix( x, y, z, 1944, 1036, 992, 0, 0) 
        if x == 1944 and y == 1031 and z == 993 then 
  
            start = nil 
            removeEventHandler("onClientPreRender", getRootElement(), showTeam) 
  
        end 
    end 
    if team == 2 then 
  
        local now = getTickCount() 
            local endTime = start + 2000 
            local elapsedTime = now - start 
            local duration = endTime - start 
            local progress = elapsedTime / duration 
        local x, y, z = interpolateBetween (X, Y, Z, 1958, 1018, 993, progress, "OutQuad") 
        setCameraMatrix( x, y, z, 1953, 1018, 992, 0, 0) 
        if x == 1958 and y == 1018 and z == 993 then 
  
            start = nil 
            removeEventHandler("onClientPreRender", getRootElement(), showTeam) 
  
        end 
         
    end 
  
end 
  
  
function preRenderTeam(key, keyState) 
  
    X,Y,Z = getCameraMatrix() 
    start = getTickCount() 
  
    if (key == "a" or key == "arrow_l") then 
  
        if team == 0 then 
  
            team = 2 
         
        end 
        if team == 1 then 
  
            team = 0 
         
        end 
        if team == 2 then 
  
            team = 1 
         
        end 
     
    end 
    if (key == "d" or key == "arrow_r") then 
        if team == 0 then 
  
            team = 1 
         
        end 
        if team == 1 then 
  
            team = 2 
         
        end 
        if team == 2 then 
  
            team = 0 
         
        end 
  
    end 
    addEventHandler("onClientPreRender", getRootElement(), showTeam) 
  
end 

Переключение между командами либо не происходит, либо происходит непонятно как, но если оставить по одной команде в каждую сторону, то работает хорошо( тоесть с 0 на 1 и с 0 на 2)

Link to comment
local X,Y,Z 
  
function showTeam() 
     
     
    if team == 0 then 
  
        local now = getTickCount() 
            local endTime = start + 2000 
            local elapsedTime = now - start 
            local duration = endTime - start 
            local progress = elapsedTime / duration 
        local x, y, z = interpolateBetween ( X, Y, Z, 1950, 1000, 993, progress, "OutQuad") 
        setCameraMatrix( x, y, z, 1953, 996, 993, 0, 0) 
        if x == 1950 and y == 1000 and z == 993 then 
  
            start = nil 
            removeEventHandler("onClientPreRender", getRootElement(), showTeam) 
     
        end 
         
    end 
    if team == 1 then 
  
        local now = getTickCount() 
            local endTime = start + 2000 
            local elapsedTime = now - start 
            local duration = endTime - start 
            local progress = elapsedTime / duration 
        local x, y, z = interpolateBetween (X, Y, Z, 1944, 1031, 993, progress, "OutQuad") 
        setCameraMatrix( x, y, z, 1944, 1036, 992, 0, 0) 
        if x == 1944 and y == 1031 and z == 993 then 
  
            start = nil 
            removeEventHandler("onClientPreRender", getRootElement(), showTeam) 
  
        end 
    end 
    if team == 2 then 
  
        local now = getTickCount() 
            local endTime = start + 2000 
            local elapsedTime = now - start 
            local duration = endTime - start 
            local progress = elapsedTime / duration 
        local x, y, z = interpolateBetween (X, Y, Z, 1958, 1018, 993, progress, "OutQuad") 
        setCameraMatrix( x, y, z, 1953, 1018, 992, 0, 0) 
        if x == 1958 and y == 1018 and z == 993 then 
  
            start = nil 
            removeEventHandler("onClientPreRender", getRootElement(), showTeam) 
  
        end 
         
    end 
  
end 
  
  
function preRenderTeam(key, keyState) 
  
    X,Y,Z = getCameraMatrix() 
    start = getTickCount() 
  
    if (key == "a" or key == "arrow_l") then 
  
        if team == 0 then 
  
            team = 2 
         
        end 
        if team == 1 then 
  
            team = 0 
         
        end 
        if team == 2 then 
  
            team = 1 
         
        end 
     
    end 
    if (key == "d" or key == "arrow_r") then 
        if team == 0 then 
   
  
            team = 1 
         
        end 
        if team == 1 then 
  
            team = 2 
         
        end 
        if team == 2 then 
  
            team = 0 
         
        end 
  
    end 
    addEventHandler("onClientPreRender", getRootElement(), showTeam) 
  
end 

Переключение между командами либо не происходит, либо происходит непонятно как, но если оставить по одной команде в каждую сторону, то работает хорошо( тоесть с 0 на 1 и с 0 на 2)

Дебаг в студию:)

Проверил,дебаг ничего не пишет...Пфф,что это за огрызок из кода?

Хотя бы объяснил бы как ЭТО работает...

Link to comment

я кинул только тот, код, который имеет отношение к проблеме, зачем кидать весь мод?

Работает так: исходное положение на первом скине( team = 0), я нажимаю кнопку d или стрелку вправо и меня перемещает на 2 скин (team = 1) и так далее. С кнопкой a аналогично, только в обратном порядке, но оно либо не перемещает вовсе, либо перемещает только между 1 и 2 скином( team 0 и team 1)

Link to comment
local X,Y,Z 
function preRenderTeam(key, keyState) 
  
    X,Y,Z = getCameraMatrix() 
    start = getTickCount() 
  
    if (key == "a" or key == "arrow_l") then 
  
        if team == 0 then 
  
            team = 2 
         
        end 
        if team == 1 then 
  
            team = 0 
         
        end 
        if team == 2 then 
  
            team = 1 
         
        end 
     
    end 
    if (key == "d" or key == "arrow_r") then 
        if team == 0 then 
  
            team = 1 
         
        end 
        if team == 1 then 
  
            team = 2 
         
        end 
        if team == 2 then 
  
            team = 0 
         
        end 
  
    end 
    addEventHandler("onClientPreRender", getRootElement(), showTeam) 
  
end 

Переключение между командами либо не происходит, либо происходит непонятно как, но если оставить по одной команде в каждую сторону, то работает хорошо( тоесть с 0 на 1 и с 0 на 2)

перед функцией запили

local teamnum = 1 
local teamplus = 1 
local team = 0 

И функцию запили так

function preRenderTeam(key, keyState) 
  
    //X,Y,Z = getCameraMatrix() 
    //start = getTickCount() 
  
    if (key == "a" or key == "arrow_l") then 
            if teamnum == 1 then 
  
            teamnum = 3 
            team = 2 
        elseif teamnum == 2 then 
  
            teamnum = teamnum - teamplus 
            team = 0 
     
        elseif teamnum == 3 then 
  
            teamnum = teamnum - teamplus 
            team = 1 
         
        end 
  
    elseif (key == "d" or key == "arrow_r") then 
         
            if teamnum == 1 then 
  
            teamnum = teamnum + teamplus 
            team = 1 
         
        elseif teamnum == 2 then 
  
            teamnum = teamnum + teamplus 
            team = 2 
         
        elseif teamnum == 3 then 
  
            teamnum = 1 
            team = 0 
            end 
  
    end 
    addEventHandler("onClientPreRender", getRootElement(), showTeam) 
  
end 

Вот так правильно должно работать.

В том, что я закомментировал не вижу смысла, по этому оставил, возможно оно тебе там надо будет в будущем, или ты чтото вырезал дабы не палить код.

А все, увидел смысл :D

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...