Arisu Posted December 14, 2014 Share Posted December 14, 2014 - Кстати, о потоках. Обработчики и каллбеки функций (db, http) всегда же в главном потоке выполняются, даже если вызовы типа callRemote, addEventHandler производились из корутины? Link to comment
FranklinRoosevelt Posted December 17, 2014 Share Posted December 17, 2014 У меня возникло пару вопросов на счет mysql через dbConnect, вот и они: 1) Можно ли как-то коннектится к базе в одном ресурсе и использовать его для всех остальных ресурсов или на каждый ресурс свой коннект, и как будет эффективнее? 2) https://wiki.multitheftauto.com/wiki/ExecuteSQLQuery - откуда функция берет коннект к какой-то бд и какая её разница с https://wiki.multitheftauto.com/wiki/DbQuery? 3) https://wiki.multitheftauto.com/wiki/DbFree нужно чтобы обнулить результат с dbQuery, а https://wiki.multitheftauto.com/wiki/DbPoll возвращает результат с dbQuery? 4) В dbQuery есть каллбек, это просто вызывание функции когда будет готов результат запроса? 5) Я раньше использовал модуль, какие особенности в использование? Заранее спасибо. Link to comment
Kenix Posted December 17, 2014 Share Posted December 17, 2014 У меня возникло пару вопросов на счет mysql через dbConnect, вот и они:1) Можно ли как-то коннектится к базе в одном ресурсе и использовать его для всех остальных ресурсов или на каждый ресурс свой коннект, и как будет эффективнее? 2) https://wiki.multitheftauto.com/wiki/ExecuteSQLQuery - откуда функция берет коннект к какой-то бд и какая её разница с https://wiki.multitheftauto.com/wiki/DbQuery? 3) https://wiki.multitheftauto.com/wiki/DbFree нужно чтобы обнулить результат с dbQuery, а https://wiki.multitheftauto.com/wiki/DbPoll возвращает результат с dbQuery? 4) В dbQuery есть каллбек, это просто вызывание функции когда будет готов результат запроса? 5) Я раньше использовал модуль, какие особенности в использование? Заранее спасибо. 1) Да, через экспорты. 2) executeSQLQuery - Функция для работы со стандартной базой данных (registry.db). dbQuery - работает со всеми базами (смотря куда ты подключился - dbConnect). 3) Да 4) Да 5) Всё реализовано в паре функций вместо кучи, если используешь каллбек, то сервер не будет ждать ответа на запрос, разработчики обновляют/улучшают все встроенные функции, (а модуль никто не обновляет). Есть пару ключевых моментов. 1) Если тебе нужно сделать запрос результат которого тебе не нужен (например обновить поля таблицы через оператор UPDATE или добавить через оператор INSERT и т.д ), то используй dbExec, тебе не нужно будет освобождать память для dbQuery. 2) Если делать запрос с выборкой без каллбека, а в аргументе dbPoll (ождиание) указать 0, то сервер не будет ждать и сразу будет получать данные от запроса, который ещё не пришел. Это глупое решение. Самый оптимальный вариант либо указывать у функции dbQuery каллбек, либо же указывать в функции dbPoll аргумент ожидания (- 1) - означает, что сервер будет ждать пока не придет запрос. Также всё это уже писалось в этом уроке да и вообще на форуме есть куча тем. https://forum.multitheftauto.com/viewtopic.php?f=153&t=37482 Link to comment
Other Languages Moderators Disinterpreter Posted December 18, 2014 Other Languages Moderators Share Posted December 18, 2014 5) Всё реализовано в паре функций вместо кучи, если используешь каллбек, то сервер не будет ждать ответа на запрос, разработчики обновляют/улучшают все встроенные функции, (а модуль никто не обновляет). Экранирование строк сделано проще и удобнее. Link to comment
FranklinRoosevelt Posted December 18, 2014 Share Posted December 18, 2014 Огромное спасибо, теперь все понял. Link to comment
Narrator Posted December 18, 2014 Share Posted December 18, 2014 Народ, такое дело. В общем, как можно решить проблему отображения замененных моделей? Суть в том, что мне требуется поставить один большой объект в X:-5000, Y:-5000, а наблюдать его в X:5000, Y:5000, setLowLODElement engineSetModelLODDistance setFarClipDistance Улучшают ситуацию, но этого не хватает. Link to comment
Kenix Posted December 18, 2014 Share Posted December 18, 2014 Придется делать тебе свою прорисовку через https://wiki.multitheftauto.com/wiki/Dx ... rialLine3D других вариантов нету. Link to comment
Narrator Posted December 19, 2014 Share Posted December 19, 2014 (edited) Kenix, Эх, спасибо) Так и думал, что все к DX сведется) UPD: Тут даже DX-функции не помогают. Объект все равно пропадает при отдалении, причем чем больше объект, тем быстрее. Если объект маленький, то он нормально уменьшается, пока не исчезнет вовсе, если большой (что мне и требуется), то стоит отойти метров на 500 и он начинает пропадать. UPD: Решено. Edited December 19, 2014 by Guest Link to comment
FranklinRoosevelt Posted December 19, 2014 Share Posted December 19, 2014 Всем доброго время суток, у меня вопрос на счет клиента/сервера, как я знаю клиент для графических возможностей, но например есть и то что на нем нельзя делать, что? Тот же вопрос на счет сервера, а то я запутался, с тем что делать на сервере, а что на клиенте, например в системе инвентаря функцию есть ли в игрока место для предмета/дать предмет/удалить предмет, это все надо делать на сервере? Link to comment
Elengar Posted December 19, 2014 Share Posted December 19, 2014 Всем доброго время суток, у меня вопрос на счет клиента/сервера, как я знаю клиент для графических возможностей, но например есть и то что на нем нельзя делать, что? Странный вопрос. Много чего нельзя делать на клиенте. Это нельзя как-то описать одним словом. Тот же вопрос на счет сервера, а то я запутался, с тем что делать на сервере, а что на клиенте, например в системе инвентаря функцию есть ли в игрока место для предмета/дать предмет/удалить предмет, это все надо делать на сервере? Где сделаешь - там и будет. Если делать на сервере, то будет лучше защита, но больше нагрузка на сервер, на клиенте же - защита хуже, нагрузка меньше(ну, это еще как сделать). Link to comment
FranklinRoosevelt Posted December 19, 2014 Share Posted December 19, 2014 Всем доброго время суток, у меня вопрос на счет клиента/сервера, как я знаю клиент для графических возможностей, но например есть и то что на нем нельзя делать, что? Странный вопрос. Много чего нельзя делать на клиенте. Это нельзя как-то описать одним словом. Тот же вопрос на счет сервера, а то я запутался, с тем что делать на сервере, а что на клиенте, например в системе инвентаря функцию есть ли в игрока место для предмета/дать предмет/удалить предмет, это все надо делать на сервере? Где сделаешь - там и будет. Если делать на сервере, то будет лучше защита, но больше нагрузка на сервер, на клиенте же - защита хуже, нагрузка меньше(ну, это еще как сделать). А вообще на счет защиты клиента, не буду спрашивать как её взламывают, но спрошу как защитится от взлома? Link to comment
Kenix Posted December 19, 2014 Share Posted December 19, 2014 https://wiki.multitheftauto.com/wiki/Script_security Link to comment
FranklinRoosevelt Posted December 19, 2014 Share Posted December 19, 2014 https://wiki.multitheftauto.com/wiki/Script_security Спасибо. Link to comment
iAxel Posted January 10, 2015 Share Posted January 10, 2015 Ребята, на днях подумал о оптимизация... Вопрос - что как и лучше использовать в MTA для производительности мода? Ах да и какой цикл все же использовать? https://ilovelua.wordpress.com/tag/%D0%BE%D0%BF%D1%82%D0%B8%D0%BC%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F/ Link to comment
iAxel Posted January 10, 2015 Share Posted January 10, 2015 6. Avoid “ipairs()” When iterating through a table, the overhead of the Lua ipairs() function does not justify its use, especially when you can accomplish the same thing using a Lua construct. ipairs() — Discouraged local t1 = {} local t2 = {} local t3 = {} local t4 = {} local a = { t1, t2, t3, t4 } for i,v in ipairs( a ) do print( i,v ) end Lua Construct — Recommended local t1 = {} local t2 = {} local t3 = {} local t4 = {} local a = { t1, t2, t3, t4 } for i = 1,#a do print( a ) end Источник http://coronalabs.com/blog/2013/03/12/performance-optimizations/ Link to comment
iAxel Posted January 10, 2015 Share Posted January 10, 2015 Так же привел простой тест local data = { values = {} } for i = 1, 10000 do table.insert(data.values, i) end function simpleForTest() local j local t = getTickCount() for k = 1, 100 do for i = 1, #data.values do j = data.values[i] end end outputServerLog('~~~# '..getTickCount() - t) end function pairsTest() local j local t = getTickCount() for k = 1, 100 do for i, val in pairs(data.values) do j = val end end outputServerLog('~~~pairs '..getTickCount() - t) end function ipairsTest() local j local t = getTickCount() for k = 1, 100 do for i, val in ipairs(data.values) do j = val end end outputServerLog('~~~ipairs '..getTickCount() - t) end for i = 1, 10 do simpleForTest() pairsTest() ipairsTest() end ~~~# 147.99999999988 ~~~pairs 223.99999999988 ~~~ipairs 242 ~~~# 163.00000000012 ~~~pairs 226.99999999988 ~~~ipairs 240 ~~~# 152.00000000012 ~~~pairs 222.99999999988 ~~~ipairs 237 ~~~# 148 ~~~pairs 223 ~~~ipairs 236 ~~~# 148 ~~~pairs 223 ~~~ipairs 237 ~~~# 150 ~~~pairs 221 ~~~ipairs 235.00000000012 ~~~# 149 ~~~pairs 222 ~~~ipairs 239 ~~~# 150 ~~~pairs 222.00000000012 ~~~ipairs 236.99999999988 То есть «некрасивый» код работает в два раза быстрее «красивого». Вот так. Link to comment
FranklinRoosevelt Posted January 10, 2015 Share Posted January 10, 2015 Всем привет, у меня вопрос на счет изменение частей текстуры интерьера, вот так как это сделано здесь: http://youtu.be/5Q4aaxJZIxk?t=6m3s С помощью чего это возможно воплотить? Если уж в сампе это сделали, так в МТА это точно возможно. Link to comment
The Creator Posted January 10, 2015 Share Posted January 10, 2015 Всем привет, у меня вопрос на счет изменение частей текстуры интерьера, вот так как это сделано здесь: http://youtu.be/5Q4aaxJZIxk?t=6m3s С помощью чего это возможно воплотить? Если уж в сампе это сделали, так в МТА это точно возможно. https://wiki.multitheftauto.com/wiki/EngineApplyShaderToWorldTexture Link to comment
obuhhh Posted January 12, 2015 Share Posted January 12, 2015 Есть ли где-то... тема о шейдерах? Сколько я не пытался понять их в Вики, то никак не может мой мозг это осознать. Может быть у кого-то есть ссылочка где можно почитать о них, только в более опрощенном варианте. А если на русском, то вообще супер. Link to comment
FranklinRoosevelt Posted January 12, 2015 Share Posted January 12, 2015 Есть ли где-то... тема о шейдерах?Сколько я не пытался понять их в Вики, то никак не может мой мозг это осознать. Может быть у кого-то есть ссылочка где можно почитать о них, только в более опрощенном варианте. А если на русском, то вообще супер. Аналогичный вопрос, с вики ничего не понять, ну разве что учиться по примерах https://wiki.multitheftauto.com/wiki/Shader_examples Link to comment
Arisu Posted January 14, 2015 Share Posted January 14, 2015 Есть ли где-то... тема о шейдерах?Сколько я не пытался понять их в Вики, то никак не может мой мозг это осознать. Может быть у кого-то есть ссылочка где можно почитать о них, только в более опрощенном варианте. А если на русском, то вообще супер. http://lmgtfy.com/?q=hlsl+programming Link to comment
smile68 Posted January 14, 2015 Share Posted January 14, 2015 вообще у меня такой вопрос как включить худ и радар у меня в моде выключены, и пикапы как включить какой ресурс за это отвечает. Link to comment
TheNormalnij Posted January 14, 2015 Share Posted January 14, 2015 setPlayerHudComponentVisible Link to comment
FranklinRoosevelt Posted January 16, 2015 Share Posted January 16, 2015 У меня вопрос по шейдерам: можно ли каким-то образом "содрать" шейдер с одной текстуры и применить её на другую? 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