iAxel Posted January 6, 2015 Share Posted January 6, 2015 for _, v in pairs( Table ) do for _, v2 in pairs( v ) do source:setData( v2[ 1 ], v2[ 2 ] ); end end Спасибо! Link to comment
Kampari Posted January 6, 2015 Share Posted January 6, 2015 Здравствуйте, уважаемые форумчане Прошу помощи т.к. чую я, что что-то не догоняю, ибо скриптинг только осваиваю. Задача: Имеем транспорт, который находится в движении. Нужно заспавнить игрока в какой-либо момент времени по координатам данного транспорта. Вопрос: Как это сделать? Пытался получить координаты транспорта и после этого заспавнить по ним игрока. т.е. local x, y, z = getElementPosition(vehicle) spawnPlayer(player, x, y, z) Проблема в том, что при вызове getElementPosition(vehicle) x, y, z присваиваются начальные координаты транспорта(координаты по которым он спавнился), а не те, которые в данный момент времени. А следовательно персонажа спавнит в точке спавна транспорта и почему-то транспорт так же спавнится в нач точке или рядом... визуально ощущение будто его отбрасывает назад. А если проделать все тоже самое еще раз то персонажа спавнит в след точку, в которую он должен был, по моему представлению, заспавнится в предыдущий раз. P.S. Спавн персонажа реализован функцией spawn. Вызывается она по таймеру setTimer(spawn, 20000, 1) И делаю это все на стороне сервера. Link to comment
Kenix Posted January 6, 2015 Share Posted January 6, 2015 Получай координаты тачки на стороне клиента, после этого делай тригер на сервер и спавни. Link to comment
Evolv Posted January 7, 2015 Share Posted January 7, 2015 Всем привет, и всех не атеистов с рождеством У меня вопрос, можно ли со стороны сервера изменить клиенту масштаб чата и его фон? Link to comment
Strix Posted January 7, 2015 Share Posted January 7, 2015 Всем привет, и всех не атеистов с рождеством У меня вопрос, можно ли со стороны сервера изменить клиенту масштаб чата и его фон? Нет. Для этого придётся сделать свой чат. Link to comment
Kampari Posted January 7, 2015 Share Posted January 7, 2015 Получай координаты тачки на стороне клиента, после этого делай тригер на сервер и спавни. Спасибо! Реализовал. Но вот теперь вопросики возникли... а будут ли теперь проблемы с синхронизацией между игроками? Т.е. может ли оказаться у одного игрока транспорт в одном месте а у другого в другом в один и тот же момент времени? И если может, то тогда получится, что игроки буду спавнится по немного различным координатам? Или например один заспавнится через пару секунд после другого, при условии что спавн должен быть только тогда, когда транспорт окажется в определенной координате ? И если будет, то как этого избежать? И еще вопрос. Возможно ли сделать так, чтоб бы транспорт было видно на большом расстоянии? Хотя бы в 1км, а лучше в пару. Пробовал делать так: engineSetModelLODDistance (476, 300) 476 - это ID самолета Rustler. Так же пробовал вместо ID использовать элемент. Но изменений не заметил. Самолет пролетает и исчезает всегда на одном и том же месте. Возможно я в функции передаю не тот аргумент, но на вики вроде как написано что надо ID. Но я хз будет ли ID модели самолета - 476. Возможно моя ошибка в том что эти ID не одно и тоже... Так же как я понял из вики, то есть ограничения на дальность прорисовки. Но возможно я не так понял... Юзаю это все вместе с setElementStreamable что бы клиент просчитывал транспорт на любом расстоянии от игрока. Link to comment
iAxel Posted January 8, 2015 Share Posted January 8, 2015 for _, v in pairs( Table ) do for _, v2 in pairs( v ) do source:setData( v2[ 1 ], v2[ 2 ] ); end end Еще один вопрос а если я буду использовать JSON? local needs = fromJSON(data[1]['needs']) local status = fromJSON(data[1]['status']) local items = fromJSON(data[1]['items']) for i, data in ipairs(Table.need) do player:setData(data[1], needs[i]) end for i, data in ipairs(Table.stat) do player:setData(data[1], status[i]) end for i, data in ipairs(Table.item) do player:setData(data[1], items[i]) end Link to comment
dex35 Posted January 9, 2015 Share Posted January 9, 2015 Ребята, подскажите, как отключить стандартные ХП и никнеймы у персонажа? Link to comment
Easterdie Posted January 9, 2015 Share Posted January 9, 2015 если я тебя правильно понял, то это: https://wiki.multitheftauto.com/wiki/Se ... tagShowing или это: https://wiki.multitheftauto.com/wiki/Sh ... dComponent Link to comment
Evolv Posted January 10, 2015 Share Posted January 10, 2015 Как можно ограничить дистанцию бега? Тобишь, чтобы персонаж уставал. На вики найти не могу, поиск тоже результатов не дал Link to comment
The Creator Posted January 10, 2015 Share Posted January 10, 2015 Как можно ограничить дистанцию бега? Тобишь, чтобы персонаж уставал. На вики найти не могу, поиск тоже результатов не дал https://wiki.multitheftauto.com/wiki/SetPedStat Link to comment
Evolv Posted January 10, 2015 Share Posted January 10, 2015 Как можно ограничить дистанцию бега? Тобишь, чтобы персонаж уставал. На вики найти не могу, поиск тоже результатов не дал https://wiki.multitheftauto.com/wiki/SetPedStat Да это то я нашел, но ни один параметр не повлиял на продолжительность бега Link to comment
FranklinRoosevelt Posted January 10, 2015 Share Posted January 10, 2015 Как можно ограничить дистанцию бега? Тобишь, чтобы персонаж уставал. На вики найти не могу, поиск тоже результатов не дал https://wiki.multitheftauto.com/wiki/SetPedStat Да это то я нашел, но ни один параметр не повлиял на продолжительность бега https://wiki.multitheftauto.com/wiki/SetPedWalkingStyle Link to comment
Evolv Posted January 10, 2015 Share Posted January 10, 2015 https://wiki.multitheftauto.com/wiki/SetPedStat Да это то я нашел, но ни один параметр не повлиял на продолжительность бега https://wiki.multitheftauto.com/wiki/SetPedWalkingStyle Это стиль бега. А мне нужно сделать так, чтобы персонаж уставал, можно конечно скриптово его тормозить,тобишь через Velocity, но неужели в МТА нет готового решения? В сингле было что то типа прокачки этого умения, чем больше ты бегаешь, тем больше выносливость, чем больше выносливость, тем дальше ты сможешь пробежать. Link to comment
FranklinRoosevelt Posted January 10, 2015 Share Posted January 10, 2015 Это стиль бега. А мне нужно сделать так, чтобы персонаж уставал, можно конечно скриптово его тормозить,тобишь через Velocity, но неужели в МТА нет готового решения? В сингле было что то типа прокачки этого умения, чем больше ты бегаешь, тем больше выносливость, чем больше выносливость, тем дальше ты сможешь пробежать. Вроде как нет, нужно писать всю систему самому. Link to comment
FranklinRoosevelt Posted January 11, 2015 Share Posted January 11, 2015 Всем привет, хочу сделать панель где будет показано изображение скина игрока, можно ли сделать это не через вывод сохраненных изображений на клиенте? 1. Создаем педа на экране2. Вращаем педа 3. Пишем шейдер, который уменьшает размер элемента https://wiki.multitheftauto.com/wiki/Sh ... #Ped_morph (посмотреть и сделать на основе его, там используется уменьшение/увеличение частей всего тела, думаю можно поэкспериментировать) 4. Применяем шейдер к этому педу createPed setElementPosition setElementRotation getWorldFromScreenPosition dxCreateShader engineApplyShaderToWorldTexture С этого поста не совсем понял как засунуть пед в GuiCreateStaticImage/DxDrawImage, или как его по другому вывести? Заранее спасибо. Link to comment
iAxel Posted January 17, 2015 Share Posted January 17, 2015 Подтяните в коде... Какой метод лучше использовать? Логическое function isLogged(element) if (not element) or (element:getType() ~= 'player') then return end local elementData = element:getData('logged') return elementData and true or false end IF ELSE function isLogged(element) if (not element) or (element:getType() ~= 'player') then return end if (element:getData('logged') == true) return true else return false end end Link to comment
Kernell Posted January 18, 2015 Share Posted January 18, 2015 Подтяните в коде...Какой метод лучше использовать? Логическое function isLogged(element) if (not element) or (element:getType() ~= 'player') then return end local elementData = element:getData('logged') return elementData and true or false end IF ELSE function isLogged(element) if (not element) or (element:getType() ~= 'player') then return end if (element:getData('logged') == true) return true else return false end end function isLogged( element ) return element and element:getType() == 'player' and element:getData( 'logged ') == true; end Link to comment
Kenix Posted January 18, 2015 Share Posted January 18, 2015 Это стиль бега. А мне нужно сделать так, чтобы персонаж уставал, можно конечно скриптово его тормозить,тобишь через Velocity, но неужели в МТА нет готового решения? В сингле было что то типа прокачки этого умения, чем больше ты бегаешь, тем больше выносливость, чем больше выносливость, тем дальше ты сможешь пробежать. Вроде как нет, нужно писать всю систему самому. Алгоритм: Ставишь таймер, который обновляет раз в 30 секунд состояние бега (присваиваешь к переменной или элемент дате значение) если число == 100, то применяешь toggleControl и проигрываешь анимацию "уставания" - можешь найти в ресурсе freeroam, после истечения времени снова применяй toggleControl чтобы игрок смог снова бегать. toggleControl setPedAnimation setTimer Link to comment
Seddo Posted January 18, 2015 Share Posted January 18, 2015 Пытаюсь запретить пассажирам машины создавать другие машины, но в итоге даже водитель не может. В чем ошибка? function createSelectedVehicle(leaf, seat) local vmashine = getPedOccupiedVehicle(getLocalPlayer()) if vmashine then if (seat == 0) then if not leaf then leaf = getSelectedGridListLeaf(wndCreateVehicle, 'vehicles') if not leaf then return end end server.giveMeVehicles(leaf.id) else return end else if not leaf then leaf = getSelectedGridListLeaf(wndCreateVehicle, 'vehicles') if not leaf then return end end server.giveMeVehicles(leaf.id) end end upd: сам сделал, надо было редактировать функцию на стороне сервера. Link to comment
Diz100rM Posted January 20, 2015 Share Posted January 20, 2015 Ребят, нужна ваша помощь! Для реализации своего проекта мне нужно вводить новые переменные или елемент даты в общем пока не знаю такие как хп, выносливость и другие... Вопрос: Как сохранять и хранить эти данные? Link to comment
AMARANT Posted January 20, 2015 Share Posted January 20, 2015 Ребят, нужна ваша помощь!Для реализации своего проекта мне нужно вводить новые переменные или елемент даты в общем пока не знаю такие как хп, выносливость и другие... Вопрос: Как сохранять и хранить эти данные? https://wiki.multitheftauto.com/wiki/Server_Scripting_Functions#Account_functions https://wiki.multitheftauto.com/wiki/Server_Scripting_Functions#SQL_functions Link to comment
Diz100rM Posted January 20, 2015 Share Posted January 20, 2015 AMARANT Огромное спасибо =) Link to comment
Diz100rM Posted January 22, 2015 Share Posted January 22, 2015 Снова вас беспокою ребят! На этот раз проблема с триггерами! Я со своим светлым умом, никак не могу понять как они работают =\ Для начала мне нужно просто брать у клиента, координаты персонажа и отправлять их на сервер! Как такое сделать? И обьясните пожалуйста как работает, на википедии уж слишком заумно! Link to comment
AMARANT Posted January 22, 2015 Share Posted January 22, 2015 Я просто скину пример твоего случая, а ты задашь вопросы если они будут: function someFunc() local x,y,z = getElementPosition(myElement) triggerServerEvent("myServerEvent",localPlayer,x,y,z) end function someServerFunc(x,y,z) outputChatBox("X: "..tostring(x)..", Y: "..tostring(y)..", Z: "..tostring(z)) end addEvent("myServerEvent",true) addEventHandler("myServerEvent",root,someServerFunc) 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