Jump to content

Kenix

Retired Staff
  • Posts

    4,121
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Kenix

  1. Чит в теории могут инжектить в любой ресурс, вам ничего не поможет кроме грамотной реализации логики не доверия со стороны сервера к клиенту. Все запросы, которые идут от клиента вы ОБЯЗАНЫ проверять, чтобы ваш мод не взломали. Также советуем вам использовать атрибут cache="false" у скриптов, чтобы исходный код не был виден в папке resources на стороне клиента Также мы настоятельно не рекомендуем изменять setElementData со стороны клиента, вы можете проверить любое изменение и кикнуть игрока Прочитайте эту статью, она вам будет полезна https://wiki.multitheftauto.com/wiki/Script_security addDebugHook подойдет скорее для диагностики проблемы, на основе него можно попробовать реализовать античит, но будет замедляться работа кода, это надо иметь ввиду.
  2. Попробуйте https://wiki.multitheftauto.com/wiki/GuiSetProperty С настройкой "AlwaysOnTop" "True" Возможно у вас конфликт слоев просто, все эти GUI элементы созданы отдельно ведь без привязки к родительскому
  3. У вас на всех серверах так или на одном? Если на одном, то это уже вам нужно обратиться к владельцу Если у вас так везде, то попробуйте полностью переустановить МТА и удалить все настройки которые были там
  4. Try this set global sql_mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" in mysql
  5. Kenix

    row

    You can use if else statement depends on field 'type' for example
  6. Читать файл можешь там где вызывается (если на стороне клиента то клиентские файлы), но там есть ограничения на пути (либо текущий ресурс/либо из другого через : (например так fileOpen(":objectSearch/coolObjects.txt"))), вне папки resources читать нельзя.
  7. Update hands for players every 2 seconds. setPedAnimation( player, "CARRY", "crry_prtial", 1, true, true, false, true); Grab anim setPedAnimation( player, "MISC", "pickup_box", -1, false ); -- after 1 sec setPedAnimation( player, "CARRY", "crry_prtial", 0, true, true, false, true ); drop anim setPedAnimation( player, "CARRY", "liftup", 0.0, false, false, false, false );
  8. Kenix

    Dead Body

    Player is respawned. You should check spawnPlayer call function.
  9. I made some years ago a youtube-based mp3 player. Scheme is pretty simple: Create browser && hide this browser https://wiki.multitheftauto.com/wiki/CreateBrowser Load url (change tracks) https://wiki.multitheftauto.com/wiki/LoadBrowserURL Change volume (via setBrowserVolume) https://wiki.multitheftauto.com/wiki/SetBrowserVolume You can't use playSound3D directly to youtube.
  10. Пробовал собирать другие версии (более ранние)? Ты точно установил все зависимости для компиляции?
  11. Нужно найти текстуру через shadertextnames https://nightly.mtasa.com/files/shaders/shader_tex_names.zip и заменить
  12. Добавить условие на проверку модели при входе в транспорт. https://wiki.multitheftauto.com/wiki/OnClientVehicleEnter через функцию getElementModel
  13. https://community.multitheftauto.com/index.php?p=resources&s=details&id=4574
  14. @refresh Настройте правильно внешний веб сервер nginx.
  15. I using: Linux Debian 8. MTA:SA Server v1.5.7-release-20359 External web server: nginx nginx.conf: user www-data; worker_processes 4; pid /run/nginx.pid; worker_rlimit_nofile 5000; events { worker_connections 5000; # multi_accept on; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # SSL Settings ## ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; ## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Gzip Settings ## gzip on; gzip_disable "msie6"; gzip_types *; # gzip_vary on; # gzip_proxied any; # gzip_comp_level 6; # gzip_buffers 16 8k; # gzip_http_version 1.1; # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; ## # Virtual Host Configs ## include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; } #mail { # # See sample authentication script at: # # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript # # # auth_http localhost/auth.php; # # pop3_capabilities "TOP" "USER"; # # imap_capabilities "IMAP4rev1" "UIDPLUS"; # # server { # listen localhost:110; # protocol pop3; # proxy on; # } # # server { # listen localhost:143; # protocol imap; # proxy on; # } #} I got sometimes this errors in my server.log [20-02-13 16:08:31] DIAGNOSTIC: NooBiK #1012 External HTTP file download error:[28] Error downloading requested files. Timeout was reached. [Connection timed out after 6000 milliseconds] [Resources/Models/Vehicles/ae86.bin] (Disabling External HTTP) [projects\mta\mta\mods\deathmatch\resources\gm_models\Resources\Models\Vehicles\ae86.bin] [20-02-13 16:08:49] DIAGNOSTIC: NooBiK #1012 External HTTP file download error:[28] Error downloading requested files. Timeout was reached. [Connection timed out after 6009 milliseconds] [Resources/Models/Vehicles/altezza.bin] (Disabling External HTTP) [projects\mta\mta\mods\deathmatch\resources\gm_models\Resources\Models\Vehicles\altezza.bin] [20-02-13 16:09:04] DIAGNOSTIC: NooBiK #1012 External HTTP file download error:[28] Error downloading requested files. Timeout was reached. [Operation too slow. Less than 10 bytes/sec transferred the last 6 seconds] [Resources/Models/Vehicles/bmwe46.bin] (Disabling External HTTP) [projects\mta\mta\mods\deathmatch\resources\gm_models\Resources\Models\Vehicles\bmwe46.bin] [20-02-13 19:22:20] DIAGNOSTIC: BeLow^#008080cya #1011 External HTTP file mismatch (Retrying this file with internal HTTP) [gm_images\Resources\Images\AjaxLoader\Circle\5.png] [20-02-13 19:34:42] DIAGNOSTIC: WantingEyeball15 #1011 External HTTP file mismatch (Retrying this file with internal HTTP) [gm_images\Resources\Textures\Vehicle\Paintjobs\10.png] [20-02-13 19:34:42] DIAGNOSTIC: WantingEyeball15 #1011 External HTTP file mismatch (Retrying this file with internal HTTP) [gm_images\Resources\Textures\Vehicle\Paintjobs\4.png] [20-02-13 19:34:44] DIAGNOSTIC: WantingEyeball15 #1011 External HTTP file mismatch (Retrying this file with internal HTTP) [gm_images\Resources\Textures\Vehicle\Paintjobs\9.png] [20-02-13 19:35:00] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) tuning.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:07D5FDD4AAB5B11C14C5F3A4CEC7A21D] [20-02-13 19:35:00] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 4.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:E86DAD36C75166E6B697151ECD3262B2] [20-02-13 19:35:00] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 5.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:8C33EB31A021A98A4EF9E7F11F571C8B] [20-02-13 19:35:00] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 9.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:A87D27E66ABAA64AA7CFF9A0CC90F136] [20-02-13 22:27:12] DIAGNOSTIC: MaxDeep #1013 HTTP server file mismatch (gm_retexture) sidewgrass4.dds [Got size:262272 MD5:0655E4F258C0C425B32A7D5E1D4AB714, wanted MD5:7ADF5BC464D3192F5210D5B4926FDECA] It happens randomly for some people (the same files list for player but random files for others). Some logs from nginx access.log ***(IP)***** - - [13/Feb/2020:19:34:40 +0100] "GET /server_cache/gm_images/Resources/Textures/Vehicle/Paintjobs/9.png HTTP/1.1" 200 4306241 "-" "MTA:SA Server 51.75.147.186:22003 - See http://mtasa.com/agent/" ***(IP)***** - - [13/Feb/2020:22:27:09 +0100] "GET /server_cache/gm_retexture/Textures2/sidewgrass4.dds HTTP/1.1" 200 143158 "-" "MTA:SA Server 51.75.147.186:22003 - See http://mtasa.com/agent/" Look at time And after this i see [20-02-13 19:34:05] CONNECT: WantingEyeball15 connected (IP: ******* Serial: ******* Version: 1.5.7-9.20358.0) [20-02-13 19:34:08] JOIN: WantingEyeball15 joined the game (IP: *******) [20-02-13 19:34:42] DIAGNOSTIC: WantingEyeball15 #1011 External HTTP file mismatch (Retrying this file with internal HTTP) [gm_images\Resources\Textures\Vehicle\Paintjobs\10.png] [20-02-13 19:34:42] DIAGNOSTIC: WantingEyeball15 #1011 External HTTP file mismatch (Retrying this file with internal HTTP) [gm_images\Resources\Textures\Vehicle\Paintjobs\4.png] [20-02-13 19:34:44] DIAGNOSTIC: WantingEyeball15 #1011 External HTTP file mismatch (Retrying this file with internal HTTP) [gm_images\Resources\Textures\Vehicle\Paintjobs\9.png] [20-02-13 19:35:00] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) tuning.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:07D5FDD4AAB5B11C14C5F3A4CEC7A21D] [20-02-13 19:35:00] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 4.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:E86DAD36C75166E6B697151ECD3262B2] [20-02-13 19:35:00] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 5.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:8C33EB31A021A98A4EF9E7F11F571C8B] [20-02-13 19:35:00] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 9.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:A87D27E66ABAA64AA7CFF9A0CC90F136] [20-02-13 19:35:23] QUIT: WantingEyeball15 left the game [Timed out] [20-02-13 19:35:24] QUIT: />#000000Polic left the game [Quit] [20-02-13 19:41:57] CONNECT: WantingEyeball15 connected (IP: ******* Serial: ******* Version: 1.5.7-9.20358.0) [20-02-13 19:41:58] JOIN: WantingEyeball15 joined the game (IP: *******) [20-02-13 19:42:07] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) tuning.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:07D5FDD4AAB5B11C14C5F3A4CEC7A21D] [20-02-13 19:42:07] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 4.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:E86DAD36C75166E6B697151ECD3262B2] [20-02-13 19:42:07] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 5.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:8C33EB31A021A98A4EF9E7F11F571C8B] [20-02-13 19:42:07] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 9.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:A87D27E66ABAA64AA7CFF9A0CC90F136] [20-02-13 19:42:18] QUIT: WantingEyeball15 left the game [Timed out] [20-02-13 19:47:33] CONNECT: WantingEyeball15 connected (IP: ******* Serial: ******* Version: 1.5.7-9.20358.0) [20-02-13 19:47:33] JOIN: WantingEyeball15 joined the game (IP: *******) [20-02-13 19:47:42] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) tuning.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:07D5FDD4AAB5B11C14C5F3A4CEC7A21D] [20-02-13 19:47:42] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 4.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:E86DAD36C75166E6B697151ECD3262B2] [20-02-13 19:47:42] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 5.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:8C33EB31A021A98A4EF9E7F11F571C8B] [20-02-13 19:47:42] DIAGNOSTIC: WantingEyeball15 #1013 HTTP server file mismatch (gm_images) 9.png [Got size:0 MD5:00000000000000000000000000000000, wanted MD5:A87D27E66ABAA64AA7CFF9A0CC90F136] [20-02-13 19:47:53] QUIT: WantingEyeball15 left the game [Timed out] It's a big problem to catch what is going on and why user is getting 'Timed out' error. Maybe we should make some external URL crash (send it via external .exe file) dump url or something? Idk how server owners can catch this errors.
  16. Discord link is updated: https://discord.gg/tKZtZWK UPD
  17. Project is opened (Open beta test). IP: mtasa://51.75.147.186:22003
  18. Я на своем опыте скажу, что это не так. Почему? Для маленьких модов да, можно в одном ресурсе, но дальше идут проблемы. Если проект будет большой и нужно в режиме реального времени обновлять его, например внести изменения в конфиг, то сделать не получится такое если всё в одном ресурсе. Нужно будет перезапускать весь мод. Также скорость разработки снизится, т.к сделав любое изменение вам придется долго ждать, особенно это касается верстки интерфейсов. Любое изменение в UI вы можете легко проверить в игре, сделав просто рестарт, остальные ресурсы будут работать как и работали. Лучше когда много ресурсов, каждый ресурс выполняется в своем VM, так безопаснее чем это всё делать в одной. Также если проект поделен по ресурсам есть другая проблема, это использование так называемых utility функций, их придется кидать в каждый ресурс, при грамотном подходе это решается легко. Если будете делать командой, то можно легко делать разработку, каждый работает над своим ресурсом и он легко внедряется на сервер. Организация ресурсов может быть такой: [assets] // папка с вашыми ресурсами, это могут быть шрифты, картинки, шейдеры, модели, звуки и т.д [ui] // UI вашего мода, например это может быть какой нибудь банк или автосалон [engine] // Ваш мод, основные компоненты, база или какие-то функции, utilities [third_party] // Ресурсы сторонних авторов [game] // Сами ресурсы реализация, например создание автосалонов на стороне сервера Также можно организовать папки по элементам [player] [vehicle] // например vehicle_tuning, vehicle_wheels. [property] и т.д Это тоже интересный подход.
  19. Можете скинуть данный хак кому нибудь в Discord/на форуме в личные сообщения (красный никнейм)
  20. Because table.insert inserts only 1 value to table. In your case you should use for loop and call table.insert per iteration. Please read Lua docs:
  21. Kenix

    CJ Clothes

    Using setAccountData or db functions. https://wiki.multitheftauto.com/wiki/SetAccountData https://wiki.multitheftauto.com/wiki/DbQuery When you load/save https://wiki.multitheftauto.com/wiki/AddPedClothes https://wiki.multitheftauto.com/wiki/GetPedClothes
  22. @XaskeL Try https://github.com/crosire/reshade-shaders/blob/master/Shaders/SMAA.fx https://github.com/crosire/reshade-shaders/blob/master/Shaders/SMAA.fxh Also https://github.com/iryoku/smaa/blob/master/Demo/DX9/Shaders/SMAA.fx https://github.com/MikuMikuShaders/SMAA/blob/master/SMAA.fx https://github.com/ze413X/AA-FXAA-SMAA/tree/master/Application/Assets/Shaders
  23. Может стоит рисовать на одном RT все текстуры а какую-то часть отрисовывать потом через https://wiki.multitheftauto.com/wiki/DxDrawImageSection как вариант вообще надо детальнее смотреть (код и т.д), желательно бы ещё протестить на разных версиях мта.
  24. Есть два варианта решения проблемы. 1. Можно сделать свою загрузку файлов через triggerLatentClientEvent https://wiki.multitheftauto.com/wiki/TriggerLatentClientEvent Статус загрузки получать через https://wiki.multitheftauto.com/wiki/GetLatentEventStatus 2. Загрузка файлов через https://wiki.multitheftauto.com/wiki/DownloadFile Получение статуса загрузки https://wiki.multitheftauto.com/wiki/OnClientFileDownloadComplete Оба способа решают вашу проблему, но они все имеют недостатки и на мой взгляд существенные. 1. Способ предусматривает то что вам нужно хранить все эти файлы в виде кэша ради быстрого доступа, т.к модели занимают большое кол-во байтов, то вам понадобится много оперативной памяти + вы должны решить сколько вы готовы передавать данных, мта это делает куда лучше чем если вы это сделаете сами. 2. Способ лучше и проще, но тоже не идеален, я писал когда-то давно загрузку, но у меня на сервере падал LogicFPS при скачивании файлов, не знаю решена ли сейчас данная проблема или нет, если у вас при загрузке файлов таким способом все нормально, то пробуйте, но лучше проверьте. Я считаю что вам лучше смериться и просто поработать над анимацией загрузочного окна, сделать так чтобы этот прогресс бар, который вы хотите скрыть был частью вашего нового загрузочного окна. Сам фон вы можно круто анимировать, добавить звуковые эффекты и т.д UPD: Примеры кода, возможно вам это поможет разобраться быстрее. https://community.multitheftauto.com/index.php?p=resources&s=details&id=11265
×
×
  • Create New...