-
Posts
1,967 -
Joined
-
Last visited
-
Days Won
1
Everything posted by MX_Master
-
имхо, считаю, что связь комьюнити с сервами это одна из многих причин, тормозивших до этого увеличение онлайн мта серверов
-
серверный: local list = getElementsByType( "vehicle", getResourceRootElement() ) так получим список всех тачек текущего ресурса в виде таблицы. Далее можешь сравнить ИД тачки с теми, что в списке. Но если много тачек, такие сравнения будут отнимать у серва какое-то время. как второй вариант можно при старте ресурса найти таким образом все тачки этого ресурса и добавить в их данные пометку, которая бы обозначала, что эта тачка из такого ресурса. Допустим, при старте мода мы нашли список всех наших тачек. Потом циклом пройдемся по нему и каждой тачке добавим новый пункт в данных setElementData( vehicle, "owner", "название ресурса", false ) потом, когда нужно, просто будет проверять if getElementData( vehicle, "owner" ) == "название ресурса" then -- какие-то действия end При создании тачки в ресурсе, ей тоже нужно делать такую пометку (setElementData).
-
[ТУТ] 2. Установка сервера и клиента MTASA 1.4
MX_Master replied to Kenix's topic in Помощь / Отчеты об ошибках
молодец, будет полезно для тестеров -
https://wiki.multitheftauto.com/wiki/Att ... rToVehicle ? я не пробовал, написано, что именно трейлеры и именно спец транспорт для них - могут использоваться в этой функции
-
мдя
-
делиться инфой, и всё, остальное мы страшно зажимаем в углу и едим по кусочку, ночью под кроватью ((:
-
Каждый желающий создает тему лично для себя, чтобы там спрашивать только о чем-то своем. Причем, абсолютно разные темы затрагиваются. Названия тем придумываются ваще левые и фперёт. Так не пойдет. Модератора дайте, кто будет следить за иерархией и раскидывать бессвязные посты по нужным темам. Если тут не будет порядка, суппортом в этом разделе уже не буду. ЗЫ: меня модером не надо ставить
-
риальнЭ, каждый создает тему лично для себя, чтобы там спрашивать только о чем-то своем. Название темы придумывается какое-ньть загадочное и фперет. Так не пойдет.
-
function getPositionRelatedToPed(thePed, val) local xx, yy, zz = getElementPosition(thePed) local rot = getPedRotation(thePed) local lx = xx + math.sin (math.rad(-rot)) * val local ly = yy + math.cos (math.rad(-rot)) * val return lx,ly end local frontX, frontY = getPositionRelatedToPed( игрок, 0.5 ) вернет 2 корды XY прямо перед игроком на расстоянии 0.5 юнитов. Кста, я это все не проверял
-
пока с кентом резались в бильярд через инет, написал я вот этот срам addEventHandler( "onClientElementStreamIn", getRootElement(), function() if getElementType(source) ~= "vehicle" then return end local attEls = getAttachedElements(source) if type(attEls) ~= "table" then return end for i,e in ipairs(attEls) do if getElementData(e, "vehicleIcon") then return end end local blip = createBlipAttachedTo( source, 0, 1, 255, 255, 255, 50, 0, 200 ) setElementData( blip, "vehicleIcon", true, false ) end ) function vIcons_destroyAttachedIcon ( ) if getElementType(source) ~= "vehicle" then return end local attEls = getAttachedElements(source) if type(attEls) ~= "table" then return end for i,e in ipairs(attEls) do if getElementData(e, "vehicleIcon") then destroyElement(e) end end end addEventHandler( "onClientElementStreamOut", getRootElement(), vIcons_destroyAttachedIcon ) addEventHandler( "onClientElementDestroy", getRootElement(), vIcons_destroyAttachedIcon ) addEventHandler( "onClientResourceStart", getResourceRootElement(), function() local vList = getElementsByType( "vehicle", getRootElement(), true ) local blip for i,v in ipairs(vList) do blip = createBlipAttachedTo( v, 0, 1, 255, 255, 255, 50, 0, 200 ) setElementData( blip, "vehicleIcon", true, false ) end end ) по прежнему считаю, что локальный для скрипта массив будет куда лучше
-
https://forum.multitheftauto.com/viewforum.php?f=117, сморим и сравниваем кол-во тем/ответов по сравнению с другими языковыми разделами.. одним словом, прорвало
-
на самом деле, такая защита и не нужна в итоге, т.к. этот скомпиленый скрипт мона все равно просмореть, выявить названия событий и эмитировать их вызов, когда это нужно компил спасёт тока от дурака и сократит размер файла скрипта
-
канеш опасно, сервер или клиент может взорваться уже на 32-ом рекурсивном вызове
-
у меня 2800 тачек сейчас по всему СА, все зависит от кучности, все должно быть максимально равномерно, ну ты понял
-
молодец, вот этот способ убеждения я и использую в ответах, чтобы люди включали ум.. в итоге им же в 2 раза лучше будет.. когда разберутся сами
-
и это печально
-
в моем скрипте хранятся ваще все иконки от найденного за время путешествия, транспорта. Кто-то может подумать, что это неправильно и надо, как только они выходят из радиуса видимости - их удалить. Это ты и хочешь сделать. Кстати, я не сказал юзать мой скрипт, посмори какие события используются и как. И как ты хочешь потом удалить иконку, если не знаешь ее ИДа ? Глобальную таблицу все таки придется сделать. Хотя я тут вспомнил, что есть функция getAttachedElements. Думаю, с помощью нее, мона узнать о иконке, прилепленной к транспорту и ее удалить.
-
сомневаюсь, что кто-то делал, но понадобиться также и много нестандартного синхра для этих двух тачек. Ведь ты хочешь, чтоб эта буксировка выглядела для всех одинаково. Стандартный синхр мона посмареть, катаясь на спец транспорте с трейлерами.
-
кто там про РП говорил.. было время, пробежался по гугл код проектам и нашел некоторые моды, которые разрабатываются под МТА - ознакомьтесь с полным списком, возможно, вы захотите присоединиться к этим проектам. РП моды там тоже есть.
-
посмори вот этот уникальный скрипт иконок для транспорта, просмотри код и задай вопросы, твой вариант пока очень сырой
-
Это ты не понял. МТА клиент не знает, что игрок стоит перед скамейкой и где она точно перед ним находится. Если просто надо узнать позицию на пол метра перед игроком, это легко.
-
я не давал советов тут и.. было бы чё воровать еще (:
-
самый простой способ - дать управление положением игрока на скамейке - самому игроку.
-
Хотя я сам компилирую некоторые, особо важные в данный момент или тяжелые по размеру, скрипты. Но все-таки скажу. Некоторые товарищи (читайте - мы с вами), даже еще не написав толком скрипт, уже пытаются его зажать, чтобы его никто не мог использовать. И не надо говорить, что это не так. Именно поэтому "разнообразие всяческих релизов" от бывших жителей СССР довольно скудное. Мы просто афигенным образом привыкли грести все под себя, не делясь ничем ни с кем.
-
А вы в реальности попробуйте сесть на скамейку, не зная где она находится! Вот тут также, откуда сервер или клиент знает, что перед игроком скамейка? Нет такой функции, которая бы дала список ближайших стандартных объектов, и нет такого функции, чтобы из этого списка найти ИД или название объекта, который является скамейкой. Вот если бы скамейки были созданы с помощью МЕ, тогда такой список ближайших объектов можно получить и узнать, возле какой скамейки стоит игрок и, стессна, грамотно усадить его на нее..