FranklinRoosevelt Posted July 23, 2014 Share Posted July 23, 2014 Привет всем, помогите привязать объект именно к руке педа, через attachElements это выйдет? Link to comment
CocaColaBear Posted July 24, 2014 Share Posted July 24, 2014 Привет всем, помогите привязать объект именно к руке педа, через attachElements это выйдет? attachElements привязывает только к позиции элемента. Для того, чтобы объект всегда был в руке, в независимости от анимации, используются: getPedBonePosition + setElementPosition И все это дело нужно обрабатывать в onClientRender или onClientPreRender. Но вообще, вы можете использовать данный ресурс, если не хотите делать сами: https://community.multitheftauto.com/in ... ls&id=2540 Link to comment
FranklinRoosevelt Posted July 24, 2014 Share Posted July 24, 2014 Привет всем, помогите привязать объект именно к руке педа, через attachElements это выйдет? attachElements привязывает только к позиции элемента. Для того, чтобы объект всегда был в руке, в независимости от анимации, используются: getPedBonePosition + setElementPosition И все это дело нужно обрабатывать в onClientRender или onClientPreRender. Но вообще, вы можете использовать данный ресурс, если не хотите делать сами: https://community.multitheftauto.com/in ... ls&id=2540 Спасибо! Link to comment
Elengar Posted July 24, 2014 Share Posted July 24, 2014 Можно ли как-нибудь сохранять бинарные файлы(изображения, например) из-под Lua в бд MySQL ? Link to comment
CocaColaBear Posted July 25, 2014 Share Posted July 25, 2014 Можно ли как-нибудь сохранять бинарные файлы(изображения, например) из-под Lua в бд MySQL ? Читаешь изображение при помощи fileRead и сохраняешь полученный результат в БД. Потом через fileWrite можешь заного создать изображение fileRead fileWrite Link to comment
~Gangsta~ Posted July 25, 2014 Share Posted July 25, 2014 Всем привет. Можно ли добавть элементдате ключ на русском языке setElementData ( thePlayer, "Страна", ? Link to comment
Kenix Posted July 25, 2014 Share Posted July 25, 2014 А зачем на русском? Ты хочешь отображать в scoreboard'e? Если да, то вот функция scoreboardAddColumn ( string name, [ element forElement = getRootElement(), int width = 70, string friendlyName = name, int priority = slot after "name" column ] ) Аргумент friendlyName как раз то что тебе нужно, его можно называть как угодно, хоть по русски. А в аргументе name указывай название элемент даты. https://wiki.multitheftauto.com/wiki/Scoreboard Link to comment
FranklinRoosevelt Posted July 26, 2014 Share Posted July 26, 2014 Всем привет, помогите сделать таймер в цикле, чтобы цикл начинал второй крут когда пройдет функция таймера, а не так что оно просто запускает таймер сразу подрят, ну я думаю вы поняли о чем я, заранее спасибо. while i >= 0 do local randomTime = math.random(7000, 12000) triggerServerEvent('runAnim', root, localPlayer, randomTime) i = i-1 setTimer ( function() if getElementData(localPlayer,'rightHand') == 3 then antibag = nil if i == 0 then triggerServerEvent("moveTrisEvent", root, tris ) end end end, randomTime, 1 ) end Link to comment
CocaColaBear Posted July 26, 2014 Share Posted July 26, 2014 Всем привет, помогите сделать таймер в цикле, чтобы цикл начинал второй крут когда пройдет функция таймера, а не так что оно просто запускает таймер сразу подрят, ну я думаю вы поняли о чем я, заранее спасибо. while i >= 0 do local randomTime = math.random(7000, 12000) triggerServerEvent('runAnim', root, localPlayer, randomTime) i = i-1 setTimer ( function() if getElementData(localPlayer,'rightHand') == 3 then antibag = nil if i == 0 then triggerServerEvent("moveTrisEvent", root, tris ) end end end, randomTime, 1 ) end local f f = function() local randomTime = math.random(7000, 12000) triggerServerEvent('runAnim', root, localPlayer, randomTime) i = i-1 setTimer(function() if getElementData(localPlayer,'rightHand') == 3 then antibag = nil if i == 0 then triggerServerEvent("moveTrisEvent", root, tris ) end end if(i >= 0) then f() end end, randomTime, 1) end f() Link to comment
FranklinRoosevelt Posted July 26, 2014 Share Posted July 26, 2014 Всем привет, помогите сделать таймер в цикле, чтобы цикл начинал второй крут когда пройдет функция таймера, а не так что оно просто запускает таймер сразу подрят, ну я думаю вы поняли о чем я, заранее спасибо. while i >= 0 do local randomTime = math.random(7000, 12000) triggerServerEvent('runAnim', root, localPlayer, randomTime) i = i-1 setTimer ( function() if getElementData(localPlayer,'rightHand') == 3 then antibag = nil if i == 0 then triggerServerEvent("moveTrisEvent", root, tris ) end end end, randomTime, 1 ) end local f f = function() local randomTime = math.random(7000, 12000) triggerServerEvent('runAnim', root, localPlayer, randomTime) i = i-1 setTimer(function() if getElementData(localPlayer,'rightHand') == 3 then antibag = nil if i == 0 then triggerServerEvent("moveTrisEvent", root, tris ) end end if(i >= 0) then f() end end, randomTime, 1) end f() Спасибо огромное Link to comment
AMARANT Posted July 27, 2014 Share Posted July 27, 2014 Есть ли возможность прочесть кириллицу из .txt файла в игре? У меня функция возвращает пустое место из такого файла в любое ГУИ окно или чат, а если выводить результат в консоль, то там какие-то иероглифы. Если же текст на латинице, то все нормально. Что-то с кодировкой или я неправильно что-то делаю? Link to comment
Kenix Posted July 27, 2014 Share Posted July 27, 2014 У txt файла кодировка какая? Utf-8 без bom ? Link to comment
CocaColaBear Posted July 28, 2014 Share Posted July 28, 2014 Есть ли возможность прочесть кириллицу из .txt файла в игре? У меня функция возвращает пустое место из такого файла в любое ГУИ окно или чат, а если выводить результат в консоль, то там какие-то иероглифы. Если же текст на латинице, то все нормально. Что-то с кодировкой или я неправильно что-то делаю? Да есть. У меня прекрасно выводит кирилицу в Memo из текстового файла. И кодировка UTF-8 (без BOM). Покажите, как вы выводите Link to comment
AMARANT Posted July 28, 2014 Share Posted July 28, 2014 Каким-то странным образом все заработало, возможно все-таки до этого была другая кодировка. Или как вариант я считывал небольшое количество байтов с файла и оно показывало не полностью + иероглифы. В общем, уже все норм) Link to comment
Seddo Posted August 1, 2014 Share Posted August 1, 2014 Приветствую, прошу помогите, не могу понять почему не работают функции Explode и Destroy, в других скриптах нечто подобное срабатывало (правда они были клиентские а этот серверный), а тут ни в какую. Причем функция Exit работает хорошо и не вызывает нареканий. function Exit () unbindKey ( source, "k", "down", create ) if on == 1 then on=0 killTimer(timer1) end end addEventHandler ( "onPlayerVehicleExit", getRootElement(), Exit ) function Explode () unbindKey ( source, "k", "down", create ) if on == 1 then on=0 killTimer(timer1) end end addEventHandler ( "onVehicleExplode", getRootElement(), Explode ) function Destroy () if getElementType(source) == "vehicle" and getPedOccupiedVehicle(getLocalPlayer()) == source then unbindKey ( source, "k", "down", create ) if on == 1 then on=0 killTimer(timer1) end end end addEventHandler ("onClientElementDestroy", getRootElement(), Destroy ) когда взрываю машину получаю ошибку в консоль server.lua:67: Bad 'player' pointer @ 'unbindKey'(1) когда дестрою машину получаю бесконечно повторяющуюся ошибку таймера (таймер настроен на бесконечное повторение с интервалом 500) простите за возможно глупый вопрос, я новичек в этом деле Link to comment
AMARANT Posted August 2, 2014 Share Posted August 2, 2014 Скиньте пожалуйста полный код. Link to comment
Memory Posted August 2, 2014 Share Posted August 2, 2014 + твою последнюю функцию измени под серверную часть. Link to comment
lcd1232 Posted August 12, 2014 Share Posted August 12, 2014 Не могу до сих пор понять для чего нужен 2 параметр в функции и что в нем можно использовать addEventHandler( 'event', root, function ) Link to comment
TheNormalnij Posted August 12, 2014 Share Posted August 12, 2014 https://wiki.multitheftauto.com/index.php?title=RU/Element Туда указывается элемент, который должен обрабатывать событие. root - корневой элемент иерархии, это значит что все события игроков/транспорта будут вызывать и его обработчики. local vehicle = createVehicle( 455, x, y, z ) -- создали авто addEventHandler( 'onVehicleEnter', vehicle, function( ) -- повесили на него обработчик события входа в авто -- источник события указан в переменной source blowVehicle( source ) -- будет взорвана именно эта машина end ) Link to comment
lcd1232 Posted August 12, 2014 Share Posted August 12, 2014 Все равно плохо понял. А если при событии "onVehicleDestroy" указать root или getRootElement(), то когда оно будет срабатывать? Link to comment
TheNormalnij Posted August 12, 2014 Share Posted August 12, 2014 root = getRootElement(), как предопределенная переменная. Вызываться будет каждый раз, когда взорвется любое авто. Link to comment
Jonathan.P Posted August 13, 2014 Share Posted August 13, 2014 Столкнулся с непонятным мне багом\механизмом. Заключается он в том, что если на машине была установлена гидравлика, но потом была удалена, то после изменения параметра хэндлинга "suspensionLowerLimit"(возможно не только этого) чудесным образом появляется эта самая гидравлика. При этом её ничем не пропалишь! Ни getVehicleUpgradeOnSlot(veh, 9) , ни getVehicleUpgrades(veh). Ни на клиенте, ни на сервере. Этот код всё демонстрирует. На первый раз исполнения функции всё нормально. На второй появляется гидравлика. addCommandHandler("hydra", function(player) local veh = getPedOccupiedVehicle(player) addVehicleUpgrade(veh, 1087) setTimer(removeVehicleUpgrade, 2000, 1, veh, 1087) setTimer(setVehicleHandling, 4000, 1, veh, "suspensionLowerLimit", 0) end ) Кто-нибудь сталкивался вообще? Как лечить? Link to comment
Kenix Posted August 13, 2014 Share Posted August 13, 2014 Репорт на баг трекер напиши. 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