el_motoblock Posted October 14, 2012 Share Posted October 14, 2012 Давно Lua скрипты не писал, хочу сделать Бу-до-кен как в Saints Row The Third(запрыгивание в тачку с опред расстояния через стекло) - Пока по такой логике: 1 Жмешь Вход в тачку + Бег недалеко от тачки(на опред расстоянии) 2 После нажатия активируется проверка на наличие игрока за рулём(если есть игрок то не работает, пока так) 3 Если нет игрока то выполняется анимация запрыгивания, стёкла лопаются все(пока так, чтобы не морочить башку) 4 Игрок(ты) долетает и оказывается в тачке. Теперь вопрос - Можно ли это выполнить используя только клиентский скрипт? --- Еще добавочный вопрос как сделать проверку нажатия Бег+Вход в тачку Имена контроль-клавиш нашел https://wiki.multitheftauto.com/wiki/Control_names а как написать не помню, какую проверку юзать Как взять(get) ближайшую машину? Пока тренерую игрока при событии входа в машину варпатся в ближайшую. Както надо взять ближайшую машину в переменную но не знаю как вот с каковото скрипта скопировал(с вики), для проверки и дописывания в процессе, чтобы как-то хоть взаимодействовать с машиной addEventHandler("onClientVehicleStartEnter",root,function(player,seat,door) -- local NearestVehicle = getVehicle??? не знаю как определить ближайшую машину if(seat==0)and(door==0)then outputChatBox("You are going to sit in the drivers seat.",player) warpPedIntoVehicle ( player, NearestVehicle ) end end) Может кто знает образцы какие нибудь где юзают анимацию именно на игрока, использование нажатия 2х кнопок на клаве и где есть определение ближайшей тачки? Дайте ссылки плиз. Link to comment
Flaker Posted October 14, 2012 Share Posted October 14, 2012 Имена контроль-клавиш нашел https://wiki.multitheftauto.com/wiki/Control_names а как написать не помню, какую проверку юзать Для проверки бега используется контрол: sprint Make the player sprint Как взять(get) ближайшую машину? Нужно перебрать все машины ( получаешь их с помощью getElementsByType ) и находишь ближайшую (проверяешь расстояние до каждой, и находишь минимальное). использование нажатия 2х кнопок на клаве Просто проверяешь state двух клавишь (getKeyState) p.s. warpPedIntoVehicle - это серверная ф-ция!!! Link to comment
Scripting Moderators Sarrum Posted October 14, 2012 Scripting Moderators Share Posted October 14, 2012 p.s. warpPedIntoVehicle - это серверная ф-ция!!! Небольшая поправочка: 'Available client side from 1.3.1' Link to comment
el_motoblock Posted October 14, 2012 Author Share Posted October 14, 2012 (edited) p.s. warpPedIntoVehicle - это серверная ф-ция!!! Аналогов для клиента конечно же нету...? ладно что нибудь придумаю может быть Значит на серверном буду делать Edited October 14, 2012 by Guest Link to comment
Flaker Posted October 14, 2012 Share Posted October 14, 2012 p.s. warpPedIntoVehicle - это серверная ф-ция!!! Небольшая поправочка: 'Available client side from 1.3.1' да уж... Я древний) Не успеваю следить за этим уже( p.s. warpPedIntoVehicle - это серверная ф-ция!!! Аналогов для клиента конечно же нету...? ладно что нибудь придумаю может быть Работает она на клиенте оказывается! (с версии 1.3.1) Кстати, вот тебе функция нахождения ближайшего vehicle: --Функция получения ближайшего vehicle: function getNearestVehicle(elem, minDist) local X, Y, Z = getElementPosition( elem ) local curDist = minDist local curVehicle for _,veh in ipairs(getElementsByType('vehicle')) do local posX, posY, posZ = getElementPosition( veh ) local vehDist = getDistanceBetweenPoints3D ( posX, posY, posZ, X, Y, Z ) if ( vehDist < curDist ) then curDist = vehDist curVehicle = veh end end end --пример использования addEventHandler("onClientPlayerVehicleEnter",root,function() local nearestVehicle = getNearestVehicle(source, 100) end) Link to comment
el_motoblock Posted October 14, 2012 Author Share Posted October 14, 2012 warpPedIntoVehicle ( player, nearestVehicle ) player или thePlayer или getLocalPlayer() че та не варпит Link to comment
Kenix Posted October 14, 2012 Share Posted October 14, 2012 Можно варпить только педов ( если юзаешь на клиенте ), на вики написано же. Available client side from 1.3.1 (It will only work with client side vehicles and peds) Link to comment
el_motoblock Posted October 14, 2012 Author Share Posted October 14, 2012 Придется серверным делать там же и нажатие клавиш и варпанье и анимации на игрока всё робит норм!? Тема закрыта, т.к. заморочка ещё та 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