Gad_boy Posted June 4, 2012 Share Posted June 4, 2012 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
Mc_Trekkie Posted June 4, 2012 Share Posted June 4, 2012 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
Gad_boy Posted June 5, 2012 Author Share Posted June 5, 2012 я кинул только тот, код, который имеет отношение к проблеме, зачем кидать весь мод? Работает так: исходное положение на первом скине( team = 0), я нажимаю кнопку d или стрелку вправо и меня перемещает на 2 скин (team = 1) и так далее. С кнопкой a аналогично, только в обратном порядке, но оно либо не перемещает вовсе, либо перемещает только между 1 и 2 скином( team 0 и team 1) Link to comment
uLt1MatE_ Posted June 5, 2012 Share Posted June 5, 2012 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 Вот так правильно должно работать. В том, что я закомментировал не вижу смысла, по этому оставил, возможно оно тебе там надо будет в будущем, или ты чтото вырезал дабы не палить код. А все, увидел смысл 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