-
Posts
1,967 -
Joined
-
Last visited
-
Days Won
1
Everything posted by MX_Master
-
если бы у твоей задачи не было бы решения даже стандартными средствами, я бы ничего не советовал и только бы развел руками. Ну и пока не дунуть, чуда не произойдет, это уже давно доказано (: поэтому, я таких вопросов не задаю, зная, что аналог решения не будет весьма и весьма затруднительным, а просто делаю другое решение, если предыдущее не помогло делу еще, замечено не один раз мной же.. кто-то любит к простому решению идти своим способом в обход за три девять земель, хотя правильное решение очевидно. Возвращаясь опять к вопросу начальному: я бы и не стал использовать COL SHAP'ы для решения, т.к. узнать список элементов указанного типа в радиусе от игрока можно другим простым способом. Вот как раз-таки через COL SHAP'ы - это путь через базар. в МТА зачастую много обходных и альтернативных решений для одной и той же задачи, вот как раз-таки, использование всего функционала МТА предполагает, что скриптер может юзать альтернативные способы решения
-
я чувствую с таким подходом, ты скоро сам будешь отвечать на свои вопросы..
-
на родном инглише же написано, что элементы, которые находились внутри пространства не входят в список. Чтобы они вошли в список, нужно чтобы они хотя бы сдвинулись хоть немного, тогда событие пересечения сработает и они войдут в список элементов коснувшихся этого пространства. Хотя на мой взгляд, если это проблема, ее можно решить получением списка застримленных элементов указанного типа и выборкой по расстоянию до точки, в которых создается COL SHAPE. Чаще всего используют сферу, поэтому этот списоб решения самый подходящий для замены GetElementsWithinColShape со сферическим col shape в виде первого параметра.
-
Вот более менее правильный вид от первого лица для тачек. Проверено. local me = getLocalPlayer() local view1stPersonEnabled = false local function getPositionFromElementAtOffset ( element, x,y,z ) if not x or not y or not z then return false end local matrix = getElementMatrix(element) local offX = x * matrix[1][1] + y * matrix[2][1] + z * matrix[3][1] + matrix[4][1] local offY = x * matrix[1][2] + y * matrix[2][2] + z * matrix[3][2] + matrix[4][2] local offZ = x * matrix[1][3] + y * matrix[2][3] + z * matrix[3][3] + matrix[4][3] return offX, offY, offZ end function set1stPersonCameraView() local _,_,myHeadZpos = getPedBonePosition( me, 8 ) local _,_,myCenterZpos = getElementPosition(me) local zOffset = myHeadZpos - myCenterZpos local pos = { getPositionFromElementAtOffset( me, 0, 0.1, zOffset ) } local target = { getPositionFromElementAtOffset( me, 0, 1, zOffset ) } local _,myYRotation = getElementRotation(me) setCameraMatrix( pos[1], pos[2], pos[3], target[1], target[2], target[3], myYRotation ) end addEventHandler( "onClientPlayerVehicleEnter", me, function ( vehicle ) if getVehicleType" class="kw2">getVehicleType" class="kw2">getVehicleType" class="kw2">getVehicleType" class="kw2">getVehicleType" class="kw2">getVehicleType(vehicle) == 'Automobile' and not view1stPersonEnabled then addEventHandler( "onClientPreRender", root, set1stPersonCameraView ) view1stPersonEnabled = true end end ) addEventHandler( "onClientPlayerVehicleExit", me, function() if view1stPersonEnabled then removeEventHandler( "onClientPreRender", root, set1stPersonCameraView ) setCameraTarget(me) view1stPersonEnabled = false end end )
-
Я не занимаюсь тестированием чужого кода, я просто даю отдельные изменения. Но я вижу, что автору темы это не поможет, т.к. думать над исправлением своего простого кода он и не собирался. Хотя бы спросил для чего та или иная строчка в коде. Копипастеры, одним словом..
-
function vehicleEnterCam (theVehicle) local vehCamX,vehCamY,vehCamZ = getPedBonePosition ( getLocalPlayer(), 8 ) --local rot = getPedRotation (getLocalPlayer()) local rot if isPedInVehicle( getLocalPlayer() ) then _,_,rot = getElementRotation( getPedOccupiedVehicle( getLocalPlayer() ) ) else _,_,rot = getElementRotation( getLocalPlayer() ) end local radRot = math.rad ( rot ) local radius = .1 local vehCamX1 = vehCamX + radius * math.sin(radRot) local vehCamY2 = vehCamY + -(radius) * math.cos(radRot) local vehCamZ3 = vehCamZ local vModel = getElementModel(theVehicle) if (vModel == 427) then setCameraMatrix(vehCamX1,vehCamY2,vehCamZ3,vehCamX,vehCamY,vehCamZ) end end --addEventHandler("onClientPlayerVehicleEnter", getLocalPlayer(), vehicleEnterCam) addEventHandler( "onClientPlayerVehicleEnter", getLocalPlayer(), function() addEventHandler( "onClientPreRender", root, vehicleEnterCam ) end ) addEventHandler( "onClientPlayerVehicleExit", getLocalPlayer(), function() removeEventHandler( "onClientPreRender", root, vehicleEnterCam ) setCameraTarget( getLocalPlayer() ) end )
-
setWeatherBlended() куда полезнее для тех, кто не хочет настраивать погоду вручную. Я еще не видел, чтобы кто-то накатал ресурс погоды, который бы включал все возможности погоды, а не только смену ИДа погоды
-
local rot = getPedRotation (getLocalPlayer()) надо примерно так local rot if isPedInVehicle( getLocalPlayer() ) then _,_,rot = getElementRotation( getPedOccupiedVehicle( getLocalPlayer() ) ) else _,_,rot = getElementRotation( getLocalPlayer() ) end хотя твой код весьма отдален от точного рассчета позиции и направления камеры
-
addEventHandler( "onClientPlayerVehicleEnter", getLocalPlayer(), function() addEventHandler( "onClientPreRender", root, vehicleEnterCam ) end ) addEventHandler( "onClientPlayerVehicleExit", getLocalPlayer(), function() removeEventHandler( "onClientPreRender", root, vehicleEnterCam ) setCameraTarget( getLocalPlayer() ) end )
-
ну про цвет неба, солнца и воды тоже мона напомнить. Я например как часть погоды на 1.0.5 сервере меняю высоту волн в зависимости от ветра текущей погоды
-
Kernell, ввиду реализма течения времени на твоем сервере, реализм времени смены погоды неизбежен. Ты вдумайся, у нас разве каждые 10 мин погода меняется в реале при длительности минуты = 60 сек ? - нет
-
У меня, канеш, чуток другой вид, т.к. я сам катал свой РНР скрипт, но в целом результат один. В случае, если нужного ответа от сокета нет, можно показывать какое-то сообщение, типа "Мониторинг недоступен" или "Сервер сейчас недоступен". У меня и серв и веб серв на одной тачке стоят, поэтому этот запрос я на себя же и делаю (127.0.0.1)
-
Я просто знаю порядок данных, составляющих UDP ответ на UDP запрос "s" серверу. Как показано выше в моем коде, идет просто сохранение этих данных и одновременный разбор последующих. Такой код, обычно, называется MTA:SA Server Query и его можно найти в разных местах инета, допустим здесь
-
фикс добавлен и в МТАСА 1.1
-
ты не уловил смысл, я имел ввиду, что объяснений не было, а так и я могу ответить, что кто-то не прав, и не сказать почему (:
-
вообще-то это весьма удобно, сказать что кто-то не прав, просто потому что ты так считаешь, не объясняя причин ну а я пользуюсь той информацией, которую вижу внешне, т.к. не в один состав разработчиков не вхожу
-
после создания своего правильного файла .edf и картинок для кнопок, нужно этот файл в настройках карты выбрать. И тогда в этой группе кнопок появятся ваши кнопки при наведении на них курсора и прокрутке колесиком мыши.
-
а ты не пробовал мерять ФПС фрапсом в одиночной игре в меню? там мне ваще показывает 3000-4000 ((: ну так вот, чем меньше работы делает приложение в каждом кадре, тем фпс выше. Обычно, меньше всего работы, когда программа свернута или включено меню.
-
MTASA wiki - offline copies / online mirrors
MX_Master replied to MX_Master's topic in Site/Forum/Discord/Mantis/Wiki related
New mirror to offline copy with "Vector" wiki skin: CHM file, 17.04.2011, 32 Mb (some unneeded stuff was deleted). Screenshot - http://www.mxgames.kz/images/2011-04-17_014712.jpg -
Благодаря этому фиксу - http://code.google.com/p/mtasa-blue/sou ... ail?r=2553 была убрана 14мс задержка перед прорисовкой следующего фрейма, благодаря этому ФПС теперь вырос до небывалых высот. Я в настройке серва выставил 100 лимит. Захожу в окне в МТАСА, конектюсь и показывает 100 фпс, ранее было 50 и в полноэкране 70. ccw молодец!
-
Я не думаю, что команда МТА занимается этим в свободное от МТАСА и прочих своих дел время.
-
http://code.google.com/p/mtasa-blue/source/detail?r=2557 исправлен этот баг. Теперь можно обойтись и без этого фикса при ФПС до 70, ну а дальше только с фиксом
-
видяо из оригинального встроенного мульта ГТА4 Тем более для ГТА4 уже создается "iv-mp" и его форк - "networked: iv". В iv-mp уже можно играть, скриптинг система там взята как аналог из MTASA, язык другой - основан на LUA, освоить за 1 день можно.
-
я не проверяю на 1,1, а ты не говоришь на какой версии ты проверяешь. на 1,0,5 все пучком у меня
-
я предвидел этот вопрос, а работает так "плавно меняет погоду с текущей на новую в течении 2 минут". Поставь просто погоду 10, потом плавно поставь 19, допустим и жди 2 минуты