nikitafloy Posted August 7, 2016 Share Posted August 7, 2016 Как скрыть HUD из race режима, очень нужно помогите!!!! SetPlayerHudComponentVisible Link to comment
angryfatboy Posted August 9, 2016 Share Posted August 9, 2016 Проблема такая, после создания транспорта, если играть в несколько тел, видно, что он не синхронизируется с клиентом, на некотором расстоянии машина другого игрока начинает ехать не плавно, а рывками ( как бы телепортируясь ), создавал простым createVehicle и делал варп игрока, всё это на серверной стороне, как решить эту проблему? Link to comment
AMARANT Posted August 12, 2016 Share Posted August 12, 2016 performancebrowser в помощь, скорее всего проблема в других функциях сервера. Link to comment
RaccoonAttack Posted September 10, 2016 Share Posted September 10, 2016 Допустим, на сервере играют два игрока, и первый из них триггерит серверное событие, функция-обработчик этого события использует мташную переменную client. Может ли первый игрок путем манипуляций с клиентом выдать себя за второго игрока? Link to comment
Other Languages Moderators Disinterpreter Posted September 10, 2016 Other Languages Moderators Share Posted September 10, 2016 Вряд ли. Link to comment
RaccoonAttack Posted September 10, 2016 Share Posted September 10, 2016 Just now, Disinterpreter said: Вряд ли. А можете, пожалуйста, немного поподробнее ответить? На вики просто сказано, что переменной client можно доверять. Link to comment
4estPower Posted September 10, 2016 Share Posted September 10, 2016 Мучаюсь 2 день,подскажите , у меня есть территория которую нужно обозначить водой, выделил 4 координаты (офк они не за гранью мира).Если я прав то подключаю ресурсом как клиентский water.lua function thaResourceStarting( ) water = createWater ( -1728, -592, 0.6, -1457, -592, 0.6, -1457, -432, 0.6, -1728, -222, 0.6 ) bool = setWaterLevel ( 20, water ) end addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), thaResourceStarting) meta <meta> <script src="water.lua" type="client" /> </meta> сами 4 позиции -1728, -592, 0.6 -1457, -592, 0.6 -1457, -432, 0.6 -1728, -222, 0.6 Ребят,правда незнаю шо делать,подскажите,только на вики не над отправлять,я оттуда и пытался понять,ничего не выходит.Может я подключаю не так? Link to comment
K1parik Posted September 16, 2016 Share Posted September 16, 2016 Подскажите, есть какие нибудь простые варианты найти ближайшего игрока? А то мой вариант при котором нужно каждый раз создавать таблицу, сортировать ее, кажется не самым удобным. Link to comment
Kenix Posted September 16, 2016 Share Posted September 16, 2016 (edited) Нужно уметь пользоваться поиском. Пример с больницами Edited September 16, 2016 by Kenix Link to comment
Kernell Posted September 16, 2016 Share Posted September 16, 2016 (edited) 2 hours ago, K1parik said: Подскажите, есть какие нибудь простые варианты найти ближайшего игрока? А то мой вариант при котором нужно каждый раз создавать таблицу, сортировать ее, кажется не самым удобным. Примерно вот так: function GetNearbyPlayer(element) local distance = 9999.9; local position = {getElementPosition(element)}; local nearby_player = nullptr; for k, v in pairs(getElementsByType("player")) do local pos = {getElementPosition(v)}; local dist = getDistanceBetweenPoints3D(pos[1], pos[2], pos[3], position[1], position[2], position[3]); if dist < distance then distance = dist; nearby_player = player; end end return nearby_player; end P.S. Код проверяй, могут быть ошибки, ибо синтаксис Lua и функции МТА уже подзабыл. Edited September 16, 2016 by Kernell 1 Link to comment
Fabervox Posted September 17, 2016 Share Posted September 17, 2016 @4estPower, у меня на клиенте сработал ваш код, быть может ACL проверить стоит( HasObjectPermissionTo ), ну и делать участки поменьше наверно, а то берега глючат. Клиент 1.5.2 r9928 @angryfatboy, первое это пинги игроков и настройки mtaserver.conf, это влияет вообще на дерганье, второе переборка всех подключенных ресурсов, тут поможет указанный сразу performancebrowser и дебагскрипт, т.е. сначала стоит отключать самые тяжелые ресурсы и те которые выдают много ошибок. @K1parik, игрокам надо, пусть сами и решают кто ближе.. Т.е. если нужна частая проверка, то клиенты в стриме, все равно знают позиции друг друга. Ну а если дальше, то можно два варианта выше, ну или как-то вообще хранить на клиенте, отдаление его от прежней позиции где он потерял из стрима другого игрока. Серверу только готовый результат иногда проверять остается. Link to comment
RaccoonAttack Posted September 19, 2016 Share Posted September 19, 2016 У меня есть серверная функция и любой клиент через событие может ее вызвать. Внутри нее создается локальная таблица и заполняется, далее она пересылается в другой ресурс, там она добавляется в список таблиц. Вопрос: Созданная таблица будет уникальной для каждого вызова серверной функции? Так как все таблицы передаются по ссылке, как бы не вышло так, что кто-то изменит эту таблицу при следующем вызове функции из-за чего в другом ресурсе таблица также изменится. Link to comment
RaccoonAttack Posted September 19, 2016 Share Posted September 19, 2016 28 minutes ago, RaccoonAttack said: У меня есть серверная функция и любой клиент через событие может ее вызвать. Внутри нее создается локальная таблица и заполняется, далее она пересылается в другой ресурс, там она добавляется в список таблиц. Вопрос: Созданная таблица будет уникальной для каждого вызова серверной функции? Так как все таблицы передаются по ссылке, как бы не вышло так, что кто-то изменит эту таблицу при следующем вызове функции из-за чего в другом ресурсе таблица также изменится. Перефразирую вопрос на более глобальный: при передаче таблиц в другие ресурсы или через триггеры серверных/клиентских событий создается копия таблицы? Link to comment
Kernell Posted September 19, 2016 Share Posted September 19, 2016 (edited) 6 minutes ago, RaccoonAttack said: Перефразирую вопрос на более глобальный: при передаче таблиц в другие ресурсы или через триггеры серверных/клиентских событий создается копия таблицы? Да. Ссылок быть не может, потому что каждый ресурс работает под своей виртуальной машиной Lua. Edited September 19, 2016 by Kernell Link to comment
RaccoonAttack Posted September 19, 2016 Share Posted September 19, 2016 (edited) 8 minutes ago, Kernell said: Да. Ссылок быть не может, потому что каждый ресурс работает под своей виртуальной машиной Lua. Как я и думал. Спасибо. Надеюсь, копирование там нормально реализовано. И еще вопросик: Кто-нибудь собирается исправлять driveby на мотоцикле? Там стреляющий пассажир неуязвим. Заглядывал в исходники мта, но примерного места возникновения данного бага так и не нашел. Edited September 19, 2016 by RaccoonAttack Link to comment
Other Languages Moderators Disinterpreter Posted September 19, 2016 Other Languages Moderators Share Posted September 19, 2016 3 hours ago, RaccoonAttack said: Как я и думал. Спасибо. Надеюсь, копирование там нормально реализовано. И еще вопросик: Кто-нибудь собирается исправлять driveby на мотоцикле? Там стреляющий пассажир неуязвим. Заглядывал в исходники мта, но примерного места возникновения данного бага так и не нашел. Сделай запрос в багтрекер Link to comment
RaccoonAttack Posted September 19, 2016 Share Posted September 19, 2016 2 minutes ago, Disinterpreter said: Сделай запрос в багтрекер Этот баг подтвержден еще с 2012 года. :C Link to comment
Jonathan.P Posted October 15, 2016 Share Posted October 15, 2016 (edited) Привет. У меня есть некоторый набор функций, который я часто юзаю почти во всех ресурсах. Как правильно организовать доступ к этим функциям из ресурсов? Пока что я делаю так: 1) Создаю ресурс с нужными мне функциями и прописываю их экспорт в meta.xml 2) В ресурсах, где мне нужно вызывать эти функции я создаю отдельный скрипт и прописываю в нём вызов этих функций таким образом: function getVehicleSpecialName(data) local vehUtilsResource = getResourceFromName("vehicleutils") if not(vehUtilsResource and getResourceState(vehUtilsResource) == "running") then error('cant get data from "vehicleutils" resource', 2) end return exports.vehicleutils:getVehicleSpecialName(data) end function getPositionFromOffsets(m, offX, offY, offZ, offRX, offRY, offRZ) local utilsResource = getResourceFromName("utils") if not(utilsResource and getResourceState(utilsResource) == "running") then error('cant get data from "utils" resource', 2) end return exports.utils:getPositionFromOffsets(m, offX, offY, offZ, offRX, offRY, offRZ) end Я думаю, что это не совсем правильно. Возможно нужно создавать модули? Может есть какой тутор? Edited October 15, 2016 by Jonathan.P Link to comment
Fabervox Posted October 15, 2016 Share Posted October 15, 2016 @Jonathan.P, если речь идет о модулях mta, то нет, эти модули предназначены для тех задач которые не решаются из lua. Если же имеются ввиду модули lua, что более вероятно, немогу сказать насколько это полноценно работает в мта, если нормально то информация общая по всему lua, наверно детально почитать получится только на английском. В любом случае реализовать прямые включения неочень сложно, в т.ч. и в виде сборщика. Если же держать в отдельном ресурсе, то нужно помнить что каждый ресурс работает в отдельной вм, и это по сути единственное что полноценно позволяет использовать многопоточность. Link to comment
Kernell Posted October 15, 2016 Share Posted October 15, 2016 20 minutes ago, fabervox said: Если же держать в отдельном ресурсе, то нужно помнить что каждый ресурс работает в отдельной вм, и это по сути единственное что полноценно позволяет использовать многопоточность. Какую многопоточность? Все ресурсы (VM-ки) работают в одном потоке. Link to comment
N1kS Posted October 18, 2016 Share Posted October 18, 2016 (edited) @Jonathan.P, а что на счет файла utils.lua и type="shared"? Как по мне - самый адекватный вариант подключения необходимых функций для работы, это во-первых. Во-вторых, ты серьезно хочешь сказать, что ты используешь хотя бы 20-25% своего "набора некоторых функций" в каждом ресурсе? Не думаю. Используй необходимые тебе функции для работы конкретного ресурса, зачем что-то усложнять? Edited October 18, 2016 by N1kS Link to comment
Jonathan.P Posted October 19, 2016 Share Posted October 19, 2016 12 hours ago, N1kS said: а что на счет файла utils.lua и type="shared"? Как по мне - самый адекватный вариант подключения необходимых функций для работы, это во-первых. Я так и делаю. В ресурсе создаю utils.lua и там прописываю экспортированные функции(но только те, которые нужны в данном ресе). 12 hours ago, N1kS said: Во-вторых, ты серьезно хочешь сказать, что ты используешь хотя бы 20-25% своего "набора некоторых функций" в каждом ресурсе? Не думаю. Используй необходимые тебе функции для работы конкретного ресурса, зачем что-то усложнять? Не совсем понял тебя. Ты предлагаешь отказаться от импорта функций и прописывать их в каждом ресе, где это нужно? Ну например есть у меня функция getPositionFromOffsets(m, offX, offY, offZ, offRX, offRY, offRZ) Которую я юзаю ну очень часто, во многих ресурсах. Ты мне предлагаешь прописывать её в каждом ресе? А если я решу изменить эту функцию? Мне придётся её изменять везде. Зачем дублировать код? Вообще вопрос был в следующем: правильно ли я импортирую функции? Просто мне не хочется постоянно писать exports.utils:getPositionFromOffsets(m, offX, offY, offZ, offRX, offRY, offRZ) Тем более, я не всегда знаю в каком ресе лежит эта функция. Хочется просто прописать функцию и чтоб она работала. Поэтому я юзаю вот такие блоки(которые я описал в первом посте). Link to comment
N1kS Posted October 19, 2016 Share Posted October 19, 2016 Ну делай тогда все в одному ресурсе, ты создаешь из мухи слона, на самом то деле. Link to comment
K1parik Posted October 25, 2016 Share Posted October 25, 2016 Нужна помощь с mta php sdk. при попытке подключения всегда возвращает ошибку "Could not connect хост:порт". логин и пароль учетки с админ правами правильный, ип и хттп порт тоже. в чем может быть причина? на это может влиять то, что сервер и сайт расположены на разных хостингах? Link to comment
Kernell Posted October 25, 2016 Share Posted October 25, 2016 2 hours ago, K1parik said: Нужна помощь с mta php sdk. при попытке подключения всегда возвращает ошибку "Could not connect хост:порт". логин и пароль учетки с админ правами правильный, ип и хттп порт тоже. в чем может быть причина? на это может влиять то, что сервер и сайт расположены на разных хостингах? На сервере МТА выполнить команду openports, она протестирует порты 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