-
Posts
4,121 -
Joined
-
Last visited
-
Days Won
2
Posts posted by Kenix
-
-
ProcessLineOfSight
Возвращаемый аргумент, который тебе нужен: worldModelID -
6 minutes ago, darkdreamingdan said:
There should now be a Wiki button to fulfil what you're describing :).
Regarding messages, how many messages do you have?
I mean auto-link, you can click on function name and you will be on wiki.multitheftauto.com (before update), also a function-name highlighting (blue - shared, red - client side, orange-server).
Now i have 1k messages. (Maybe because messages is not transfered correcly to new engine, because before this update i can send a message to any one - i had around ~300 messages)
-
Only one problem what i founded. Old mta forum had a links in functions to wiki.multitheftauto.com in code-paste window. Now it's lost.
Also maybe increase a messages limit? I can't send a message to anyone, because " Your inbox is full. You must delete some messages before you can send any more. " (But i can do this before)- 1
-
Good job MTA Team. Reputation system is awesome!
Also available a lot of more features, keep up with the times! -
Клиентскую часть только на Lua можно.
-
Ничего не надо проверять, просто отрисовывай DX после вызова события onClientResourceStart.
-
А допустим получить значение переменной из другого файла каким образом можно? И если даже этот ресурс с переменной находится в другой папке...
Спустя 4 месяца, ну да ладно.
Если переменная не локальная, можно выдирать что угодно, но в пределах ресурса.
function getVariable(name) if name then return _G[name]; end return nil; end
И дать getVariable для экспорта.
exports.resource_name:getVariable("название переменной")
В пределах ресурса и одной стороны (клиент/сервер)
-
У функции dbQuery есть каллбек, его и используй. Он не тормозит сервер для получения результата. После запроса, чтобы получить результат (таблицу) используй функцию dbPoll с аргументом 0, т.к результат будет уже готов т.к каллбек был вызыван после обработки запроса.
-
Пример запроса, где:
field1, field2 - Поля, которые нужны тебе после выборки
users - Название таблицы, откуда делаем выборку
nick - Поле, по которому ведем поиск
SELECT field1, field2 FROM users WHERE nick = ? LIMIT 1
Для работы используем db функции ( dbConnect, dbQuery, dbPoll ):
https://wiki.multitheftauto.com/wiki/Se ... _functions
Урок примера работы с базой данной:
https://forum.multitheftauto.com/viewtopic.php?f=153&t=37482
- 1
-
Данные всех аккаунтов?
getAccounts
-
Можно что угодно сделать, главное руки из нужного места. В мта уже много лет пишут РП, кроме как devGaming и MTA Roleplay никто ничего годного из русской аудитории не сделал.
-
Аргументы по внимательнее почитай к функции triggerServerEvent, вместо элемента ты передаешь число
triggerServerEvent
Также почитай эту тему: https://forum.multitheftauto.com/viewtopic.php?f=141&t=40703
-
Вызов функции которая не добавлена как экспортируемая в meta.xml, в данном случае в ресурсе vehicles.
-
1. Тем что скриптов запустить ты можешь много, а gamemode только один.
2.
setGameType( "Your Gamemode" );
Также можно задать имя карты:
setMapName( "San Andreas" );
И можно задать параметры, которые будут доступны серверам мониторингам (хоть на вики и сказано, что доступно сервер браузеру, но мта их не отображает):
https://forum.multitheftauto.com/viewtopic.php?p ... a0#p767341
setRuleValue( "Author", "Name" ); setRuleValue( "Version", "1.0 beta" );
3.
callRemote
Мелкие вопросы как тебе уже и сказали можно задавать в специальной теме:
https://forum.multitheftauto.com/viewtopic.php?f ... start=2925 - По скриптингу
https://forum.multitheftauto.com/viewtopic.php?f=123&t=35316 - Прочие вопросы связанные с МТА
-
Не нужно. Разницой будет только бинарники и модули (.so формат)
Ну ещё возможно подключение к MySQL серверу (нужно будет прописывать путь к сокету).
-
ps: не понял как репутацию повысить тут плюса не нашел да и минуса нет.
Хотели сделать, но пока не реализовали.
Тут можно подробнее почитать про эту тему:
https://forum.multitheftauto.com/viewtopic.php?f ... 75#p387326
Я РП хочу, как бы по плану реализовать. Думаю пока на файлах SQLite буду изучать далее с опытом и на MySQL перейду.А могу я потом перейти ? Точнее аккаунты могу переписать через прогу какую или мне придется по одному их в мускул создавать ?
Самому таблицу создавать придется, через скрипт после подключения к MySQL серверу (если её нет CREATE TABLE IF NOT EXISTS ).
Я тебе советую глянуть этот раздел форума, где ты сможешь найти уроки на разные темы:
https://forum.multitheftauto.com/viewforum.php?f=153
А вот это по твоей теме:
https://forum.multitheftauto.com/viewtopic.php?f=153&t=37482
Как понять обычные файлы это гейм мод или картинки, карта ?
В meta.xml это все описано
https://wiki.multitheftauto.com/wiki/Meta.xml
На заметку скажу, что на все твои вопросы поможет поиск по форуму по ключевым словам, а так же wiki, где есть русские разделы.
-
Верно.
Папки
backups - бекап сервера (базы и конфигов, по датам) - МТА их делает сама, в mtaserver.conf можно настроить путь для бекапов, а также их периодичность и другие параметры.
databases - локальные базы SQLite.
logs - логи сервера
recource-cache - кэш ресурсов из папки resources, но если в папке resources есть ресурсы в виде .zip архивов, то МТА их распакует автоматически и переместит в папку resource-cache.
resources - папка, в которой находятся все ресурсы (мод, админка, мап едитор и т.д)
Конфиги
acl.xml - Документ Access Control List (список прав доступа), в ней находятся группы Admin, Moderator, ты можешь создать свою группу. Для каждой группы расписаны права доступа.
banlist.xml - В этом документе находятся все игроки, которые были забанены на сервере.
editor.conf - Конфиг для мап едитора, очень схож с mtaserver.conf, он описывает параметры для мап едитор сервера (В меню МТА есть пункт - Редактор Карт, если ты нажмешь на него, то запустится локальный сервер по данному конфигу)
editor_acl.xml - Тоже самое что и acl.xml, но для мап едитор сервера.
mtaserver.conf - В данном конфиге находятся все параметры для сервера (макс кол-во слотов, название сервера и т.д)
settings.xml - В данном конфиге могут содержаться пользовательские настройки для сервера, они могут быть получены или изменены через функции get/set.
set get
Все изменения будут записаны в этот конфиг.
vehiclecolors.conf - В донном конфиге содержатся цвета для машин.
Другое
server-id.keys - Уникальный ключ для сервера. Используется для предотвращения чтения личных файлов, сохраненных на клиенте, другими серверами.
Бинарники не буду расписывать, на гитхабе проекта MTA можно самому посмотреть: https://github.com/multitheftauto/mtasa-blue.
Больше информации по настройке сервера можно найти тут:
https://wiki.multitheftauto.com/index.p ... ver_Manual
https://wiki.multitheftauto.com/index.p ... erver.conf
P.S На вики не все страницы русифицированы, а если и русифицированы, то возможно они старые и давно не обновлялись. Смена языка есть слева (если доступен)
- 2
-
1.1 На самом сервере это я полагаю Вы имейте ввиду то что бы не
было кражи с FTTP клиента я прав ?
1.2 Я полагаю что картинки через FTTP можно стырить или нельзя, или их тоже можно через
компилятор пропустить ?
1. По поводу хостинга как я понял ты имел ввиду, если злоумышленник получил доступ к серверу через FTP.
По этому поводу я и ответил, что если все файлы скомпилируете (скрипты), зашифруете картинки, модели (нужно писать программу/скрипт, которая бы эта делала, и на хостинг вы закидывали бы уже зашифрованные файлы) то даже если злоумышленник получит доступ, то не сможет толком запустить мод. Например можно сделать в конфиге мода привязку к IP сервера.
Все клиентские функции параметре в meta.xml включать cache="false" или protected что быобезопасить клиентскую часть своего ресурса ?
Если в meta.xml для клиентского скрипта установить атрибут cache="false" либо protected="true", то скрипт будет запускаться в памяти и не будет сохранен в кэше.
4. Также если посмотреть на github'e, то можно найти разные проекты для МТА:
MTA Paradise - https://github.com/mabako/mta-paradise
FairPlay Gaming MTA - https://github.com/Socialz/lua-mta-fairplay
и т.д
Ты сможешь посмотреть код, проверить на локальном сервере, узнать как все работает и т.д
5. Mysql конечно же в разы лучше, у вас будет больше возможностей и выбора действий. Но увы, вам придется самому делать свои аккаунты, регистрацию и т.д Поэтому если ты не хочешь заморачиваться и у тебя простенький мод, то можно использовать стандартные аккаунты.
6. Ненужно, МТА уже делает все за тебя, на вики есть список функций для работы со стандартными аккаунтами:
https://wiki.multitheftauto.com/wiki/Se ... _functions
Все нормально, задавай вопросы, ты помогаешь сразу всем людям (возможно у кого-то есть похожие вопросы).
-
1. Если ты про клиентские скрипты, то для них есть параметр в meta.xml cache="false" или protected="true".
Картинки, файлы можешь шифровать самостоятельно через функцию teaEncode/teaDecode, либо через другие.
Если ты имеешь ввиду скрипты на самом сервере, то их можешь скомпилировать через эту программу:
https://forum.multitheftauto.com/viewtopic.php?f=123&t=64796
2. GUIEditor, ищи на mta community.
https://community.multitheftauto.com/
3. Никто не будет тебе помогать в скайпе, лучше пиши свои вопросы на форуме, а мы на них грамотно, аргументировано ответим.
4. Я не из сампа, поэтому не могу понять что ты имеешь ввиду, если ты хочешь писать свой мод с нуля, то можешь найти об этом статьи на mta wiki, в том числе и на русском языке.
https://wiki.multitheftauto.com/wiki/Main_Page
https://wiki.multitheftauto.com/wiki/Sc ... troduction
Если тебе нужны ресурсы, ты их можешь найти на мта комьюнити (ссылка во 2 пункте).
5. Аккаунты хранятся в локальной базе internal.db (server/mods/deathmatch/internal.db)
6. Примеры на вики:
-
getElementsByType setElementDimension
Отслеживай измерение игрока на клиенте, если оно изменилось, то делай цикл всех объектов и устанавливай измерение к ним.
-
addEventHandler( "onClientColShapeHit", root, function( pHitElement ) if getElementType( pHitElement ) == "vehicle" then local pDriver = getVehicleOccupant( pHitElement, 0 ); if pDriver and pDriver == localPlayer then outputChatBox( "Сообщение." ); end end end );
-
Спасибо за информацию.
-
if hitElement == localPlayer then
-
Он уже заблокирован, или ты видел случаи его использования? Когда он использовался (дата) и скрин если можно.
Вопросы и ответы по MTA.
in Russian / Русский
Posted · Edited by Kenix
Второй вариант будет лучше:
onClientVehicleEnter
onClientVehicleExit
При входе в транспорт проверяешь ид модели и присваиваешь локальной переменной элемент транспорта.
При выходе присваиваешь nil.
В рендере ты будешь просто проверять на то что есть переменная или нет, это куда быстрее нежели каждый раз вызывать несколько функций подряд каждый кадр.