Kenix

Other Languages Moderators
  • Content count

    4,097
  • Joined

  • Last visited

Community Reputation

21 Decent

5 Followers

About Kenix

  • Rank
    Russian Section Moderator
  • Birthday 31/01/96

Details

  • Location
    Russia, Saint-Petersburg
  • Occupation
    Student
  • Interests
    Creating/listening music, programming/scripting, helping.

Recent Profile Visitors

1,237 profile views
  1. Вам также поможет и эта статья:
  2. По моему мнению лучше всего делать вот так: [your_gamemode] 1) Главный ресурс, в котором есть мод. По желанию можно разделить на 2 ресурса ( client, server ) как было сказано выше. 2) Ресурс с моделями 3) Ресурс с картинками 4) Ресурс с шрифтами ... [resources] 1) Тут используются стандартные ресурсы (admin, scoreboard, ... ) [maps] 1) Все карты на сервере в виде отдельных ресурсов. (map_name1, map_name2, ... ) Примечание: Все идея с разделением моделей и картинок нужна, чтобы не нужно было перезапускать весь мод в случае изменения. Возможно у кого-то есть идеи, мол можно же все поделить на ресурсы, но это не правильный шаг, т.к если все ресурсы взаимосвязаны, то данные могут устаревать или быть не действительными в других ресурсах. В таком случае если вы знаете, что данный ресурс может функционировать достаточно изолировано, то можете смело его делать отдельно от главного ресурса (мода).
  3. dbPoll(dbQuery(bd, "SELECT * FROM `Players`"), -1) Вы похоже не понимаете, что сами делаете, вы делаете выборку всех записей без условий, но это неверное решение, вам нужно использовать оператор WHERE в SQL запросе. dbExec( bd,"SELECT `password` FROM Players WHERE nick='??'",userName) dbExec делает запрос БЕЗ ПОЛУЧЕНИЯ РЕЗУЛЬТАТА, зачем вы его тогда вообще делаете? Используйте для этого функции dbQuery + dbPoll. Также у вас 3 и 13 строки повторяются. + на 13 строке у вас нету словия проверки по id. Я вообще не понимаю зачем вам делать столько запросов, лучше всего делать один запрос, чем много маленьких. Перед тем, как делать что-то нужно хорошо изучить. Почитайте эти статьи: http://www.mysql.ru/docs/ (Если вы используете MySQL)
  4. Try download 64x module here: https://linux.mtasa.com/
  5. Если у вас скачивается кэш таких размеров, то очевидно вы должны иметь большой канал, чтобы игроки могли скачивать файлы без проблем. Также влияет и вебсервер, который вы используете и как он настроен на защиту. Может быть дело также и в самой оптимизации мода и запросов, используйте performancebrowser, чтобы узнать где у вас проблемы.
  6. Смотрите разрядность вашего сервера и скачивайте отсюда mta_mysql.so https://linux.mtasa.com/ Возможно это поможет вам.
  7. Если не использовать dxCreateTexture, то да. Вы можете убедиться в этом сами, удалив файл из кэша, будет выведено много ошибок.
  8. релут

    Радиус можно сделать больше, я не думаю, что это кому-то нужно будет видеть предмет на расстоянии в 250м.
  9. релут

    1) Можно использовать корутины (если их очень много) и getTickCount и один таймер для обновления всех точек лута. Сами тики обновлять, когда игрок зашел в точку лута, отсюда отпадает необходимость обновлять точки лута, в которые не заходил игрок. И потом просто смотреть разницу, если разница в тиках больше чем Например:10 мин (60 * 1000 * 10), то делаем обновление точки лута. 2) Можно использовать кулшейпы и getTickCount и проверять только тогда, когда в него зашел игрок. Если разница в тиках большая, то обновляем точку лута.
  10. You can use "screen" Install on debian: apt-get install screen
  11. UPD: Server is visible on the server browser, all informations is updating (for example set gamemode, map, ... ) But i still can't join.
  12. I've compiled a MTA:Client (custom 1.5.3-10739) on Windows 8.1 and MTA:Server (custom 1.5.3-10739) on Linux (Debian 7.0 x64) After connection i have an error CD16. But if you will compile Server & Client on Windows 8.1 (with both and the same custom versions - other players can join to the server) My steps: 1. Get a nightly build (1.5.3-10739) 2. Compile 3. Replace all files. 4. Strange but mine deathmatch.so is very large (~283 MBs) 5. Connect from Windows to Linux on both the same custom versions. 6. Error CD16. Stable & nightly versions all works good. Everybody can join the server. All ports is opened.
  13. В МТА был бранч добавляющий LuaJIT (более ускоренную версию Lua), возможно если он бы был готов, то ваша проблема была бы решена. На данном этапе вы можете создать отдельный бранч с измененной физикой автомобилей и работать над ним. Других выходов я пока не вижу. Но перед этим я бы рекомендовал вам поговорить на irc канале с разработчиками МТА. Возможно ваш бранч смогут объединить с основной веткой МТА. -- UPD (13:04) На счет производительности это дело случая, но вот вам советы, которые могут помочь при решении ресурсоёмких задач. 1) Определяйте функции заранее, которые вы хотите использовать. Доступ к локальным функциям происходит намного быстрее нежели чем к глобальным. local getElementPosition = getElementPosition; 2) При очень сильных ресурсоёмких задачах никогда не используйте ООП в MTA (где используется setmetatable), очень сильно падает производительность, особенно на циклах. И ещё я хотел бы порекомендовать вам использовать ресурс performancebrowser, чтобы узнать где у вас самые сильные проседания и нагрузки. Попробуйте проанализировать, чтобы найти проблемный участок кода, также вы можете его скинуть сюда, возможно мы что-нибудь придумаем.
  14. Вы можете написать патч для МТА, который бы добавлял функционал, который вам нужно, тогда никаких проблем не было бы. А вообще, напишите суть, а то не совсем понятно про что идет речь.