Leaderboard
Popular Content
Showing content with the highest reputation on 24/12/20 in all areas
-
Hi. We hope that all of you are safe and healthy. The year of 2020 is finally coming to an end, so here is our traditional "A year in Recap" post for you. Below you can find the summary of what has happened during this year and a handful of other things that might be interesting to you. ?️ 2020 in Recap Surely, it is hard to mention this year without mentioning the COVID-19 pandemic. Many lives were lost and millions of people had to deal (and still cope) with the consequences of the disease. The pandemic had locked many of us down in our homes and forced us to change our lifestyles. These were the times when MTA:SA had seen the biggest number of players ever recorded. The achieved popularity growth still seems to be present even today, when you compare this year's numbers to the ones from a year before. April has marked the third anniversary of the opening of our Discord and a lot of things have changed since then. We have introduced more regional channels and made it easier to contact our team if you had an important matter to discuss. We have also made it easier for new users to check and accept our Discord Rules in their language. Our server has over 15.000 members nowadays (even after a little miss-click on the Purge users button during the year ?) and we are still working towards getting even more members. Some work has been done on reviving the AMX Compatibility Layer module. It can be used for running the existing PAWN gamemodes, filterscripts and plugins in MTA:SA. There is a public beta build for the Windows server if you would like to try it out. The module is open source - so you are more than welcome to contribute to it too. We have released Multi Theft Auto: San Andreas 1.5.8 in October. The changes in this release were mostly community contributions, improvements and bugfixes. It took us more time than usual to publish it, as nearly 407 days have passed since the last release. We hope that it was a polished enough build to be worthy of the wait. Aside of that, we have been experimenting with doing some MTA:SA related streaming on our Twitch channel for a while. Woovie has done an excellent job on these streams and covered a bunch of topics, such as the community servers and gamemodes reviews, Lua scripting and doing code reviews and QA. If you have not seen them, we have put some of them on our YouTube channel. Our Forums were overhauled this year. In addition to that, one of our community members has recently made a brief post about how the Forums have changed over the years. It is nice to see that there are people out there who are interested in the historical side of things too. ?️ A bunch of interesting MTA:SA-related YouTube videos from this year [DM] Disaster ft. BriaN - ABZU by Gerc & others Bullet physics in mta, progress by CrosRoad95 MASSACRE | NON-STOP MTA DAYZ by supraaa & others MTA Racing Tutorials || PART 3 || Useful ways for San Andreas racing. by Vilgefortz & others MTA: SAAW Star Wars - Kamino map pre-Alpha rare leaked footage by Einheit-101 MTA: Lumiverse: Atlas - Server - Dashboard (In-Depth Analysis) by lumiverse Rabbit hunt script for MTASA with extra map & skin mod by "Press start to begin" / True_Killuminati ! Epilepsy warning ! [DM] NeiT Vol.9 - Image Distortion by RRecords & others ? Current player counts and version fragmentation statistics Type Amount of players Date / Time Recent peak number of concurrent unique players 38 696 players 2020.12.19 (at 18.00 GMT) Highest recorded number of concurrent unique players 52 098 players 2020.04.02 (at 18.00 GMT) Recent number of daily unique players 153 033 players 2020.12.20 (Sunday) Highest recorded number of daily unique players 185 818 players 2018.02.03 (Saturday) Recent number of monthly unique players 647 317 players November, 2020 Highest recorded number of monthly unique players 805 903 players January, 2018 The numbers are slightly bigger than in the last year. Some of the records were not beaten, but were a really close call. For example, nearly 800 000 unique players had played this year in April! And our recent concurrent unique players peaks are bigger than our last year's records for that. How does this compare to modern games, you may ask? You can check it yourself by visiting the Steam Stats page. Powerhouses like GTA V, CS:GO, PUBG and Cyberpunk 2077 have much higher peak players numbers, but we are surely close to some of the other well-known games - for instance Civilization VI, Terraria, Euro Truck Simulator 2 or Garry's Mod. We are even surpassing the recent player counts of games, such as Left 4 Dead 2, Europa Universalis IV or Borderlands 3 (at least on Steam). MTA:SA version or series Percentage of players using that version or series as of 23rd of December, 2020 1.6.0 (alpha; custom) 0.1% 1.5.8 98% 1.5.7 1.7% 1.5.6 (and older) 0.1% 1.4.x + 1.3.x 0.1% The latest versions are the most popular ones so the version fragmentation is not much of a problem. ? Status updates In terms of the mod development, we have been mostly monitoring the situation after the recent release for now. We have also received some nice contributions from the community developers, like the work done by fastman92 to improve MTA:SA's compatibility with fastman92 limit adjuster. Patrik has been putting a lot of effort into designing the new Community site - we would love to see those designs replace the old site one day. Team-wise, we are in process of doing major inner changes in order to improve the transparency and the quality of our work. These changes will be hard to notice at first, as they are strictly related to our Team's organization and policies (they will especially affect the Moderators Team). After a while though, you might be able to see their effects for yourself as well. That's it for now. ? ? Happy Holidays and best wishes to all of you! Let's hope that 2021 will be better than 2020. ?️ ? -- MTA Team15 points
-
1 point
-
Honored to be featured, it makes me feel nice to know the stuff I do might make an impact on some people. Happy holidays :)1 point
-
Hello, I wish you happy and peaceful days. I am Barış Erdoğan, Code Step~ [K.R.A.L.]<3BARİS<3 I'm sure you want to see what the forum site was like in the old times. Witness how an Age evolves by following the Links. 28 / Şubat / 2007 This link does not show the website in full, as pictures and designs are incompletely archived. https://web.archive.org/web/20070228103605/https://forum.multitheftauto.com/ 24 / Şubat / 2008 The theme is nice because the phpBB infrastructure is used. https://web.archive.org/web/20080224045356/https://forum.multitheftauto.com/ 04 / Ağustos / 2011 Theme Installed and Modernized. https://web.archive.org/web/20110804014733/https://forum.multitheftauto.com/ 28 / şubat / 2012 The Theme Is Still The Same, But There Are Some Things Changing. MTA: SA Family is Growing and 23K People are active. https://web.archive.org/web/20120228082458/https://forum.multitheftauto.com/ 30 / Mayıs / 2013 New Topics New Features and New People. https://web.archive.org/web/20130530111557/https://forum.multitheftauto.com/ 15 / Mart / 2015 Some New Plugins and Topics. And 37K MTA: SA Family https://web.archive.org/web/20150315003549/https://forum.multitheftauto.com/ 14 / Ekim / 2016 I guess the infrastructure has changed and we've been presented with a modern theme https: // web.archive.org/web/20161014144057/https://forum.multitheftauto.com/ 25 / şubat / 2018 New Additions New Small Designs and Touches. https://web.archive.org/web/20180225183748/https://forum.multitheftauto.com/ 2020 new updates and Current Theme https://forum.multitheftauto.com MTA: SA My Favorite Game Right Now 70K Members. Better Days Await Us. I Started In 2012 And I Have No Intention To Date :)1 point
-
1 point
-
happy new year everyone! @xLive Your map editor PR was my xmas present! I've already started using it. cheers!1 point
-
Você usará o evento onPlayerDamage, para verificar quando o player é danificado, nela você pode verificar quais as partes do corpo foi atingida e trabalhar em cima dela. Então no caso, você deseja cancelar tiros que não seja na cabeça isso ?. Fará assim: blocked = { {3}, -- torso {4}, -- Ass {5}, -- Left Arm {6}, -- Right Arm {7}, -- Left Leg {8}, -- Right Leg } addEventHandler('onPlayerDamage', root, function(attacker, damage_causing, bodypart) for i,v in ipairs(blocked) do if bodypart == v[1] then -- caso bodypart seja igual qualquer um que está na tabela: cancelEvent() -- o evento de dano será cancelado end end end) __________________________________________________________________________ I ask someone with permission to move this topic to (Other Languages --> Portuguese / Português / Programação Em Lua) Other languages Portuguese / Português Programação em Lua1 point
-
1 point
-
Maybe something like that: local checkpoints = { { -316.20703125, 1398.3125, 71.81689453125 }, { -348.99221801758, 1459.1591796875, 64.749496459961 }, { -410.787109375, 1697.8046875, 39.512222290039 } } local activeRaces = {} function nextMarker(thePlayer) -- there is an active race if activeRaces[thePlayer] then -- remove previous marker if exists if activeRaces[thePlayer].marker then destroyElement(activeRaces[thePlayer].marker) end -- next marker's index activeRaces[thePlayer].checkpoint = activeRaces[thePlayer].checkpoint + 1 -- this was the last marker -> race finished if activeRaces[thePlayer].checkpoint > #checkpoints then activeRaces[thePlayer] = nil -- remove race session -- you can do anything here, give money to player for example outputChatBox("finished") else -- there is more markers in table, create the next local pos = checkpoints[ activeRaces[thePlayer].checkpoint ] local marker = createMarker(pos[1], pos[2], pos[3], 'checkpoint', 2.0, 209, 13, 13, 100 ) local blip = createBlipAttachedTo(marker, 0) activeRaces[thePlayer].marker = marker addEventHandler("onMarkerHit", marker, function(hitElement, matchingDimension) if getElementType(hitElement) == "player" and matchingDimension then nextMarker(hitElement) end end) end end end function Racing( thePlayer ) if not activeRaces[thePlayer] then local x, y, z = -301.59182739258, 1497.7869873047, 75.678192138672 setElementPosition(thePlayer, x, y, z) local RaceVehicle = createVehicle ( 411, x, y, z ) setElementRotation ( RaceVehicle, 0, 0, 180) warpPedIntoVehicle ( thePlayer, RaceVehicle ) -- save current marker's index in the table activeRaces[thePlayer] = { checkpoint = 0 } -- create the next marker (the first in this case) nextMarker(thePlayer) end end local raceStart = createMarker(-303.2841796875, 1521.22265625, 75.359375, "checkpoint", 2) addEventHandler("onMarkerHit", raceStart, function(thePlayer, matchingDimension) if getElementType(thePlayer) == "player" and matchingDimension and not isPedInVehicle(thePlayer) then Racing(thePlayer) -- start a race end end)1 point
-
local num = "1111222233334444" local formatted = num:gsub("(....)(....)(....)(....)", "%1-%2-%3-%4") Not the most beautiful way, but works.1 point
-
The only way right now is it to interrupt the entering task, like you do when you hold movement keys as a player during jacking. If you set the "backwards" control state after jacking starts, you can do this. The current implementation of jacking is very lacking in this aspect. If jacking is aborted for one of many reasons, the server doesn't know how far the jacker is, ie. if he physically pulled out the jacked ped yet, so it relies on the jacker to abort properly. But for peds, if the syncer changes the jacking isn't aborted properly and the jacker will be warped into the car. This is something I plan on improving, and also add a client and server event for when jacking physically starts, as it could be useful in many scripts. -- onClientPedJacked: when a ped/player has been actually jacked from a vehicle by the local player or syncing ped. -- Source: ped that got jacked -- 1st parameter: ped that jacked the other ped addEvent("onClientPedJacked", false) local ENTER_RESPONSE_TIMEOUT = 600 -- Time for server to ack our entry request and we start entering otherwise we consider it declined -- Sub tasks to indicate we are actually jacking now local PED_JACK_TASKS = { ["TASK_SIMPLE_CAR_SHUFFLE"] = true, -- Jacking through passenger seat ["TASK_SIMPLE_CAR_QUICK_DRAG_PED_OUT"] = true, ["TASK_SIMPLE_CAR_SLOW_DRAG_PED_OUT"] = true, ["TASK_SIMPLE_CAR_GET_IN"] = true, -- Jumping on a bike from the front } local timerData = {} local getPedTask = getPedTask local isElement = isElement local getVehicleController = getVehicleController local function stopEnterVehicleTimer() timerData[sourceTimer] = nil killTimer(sourceTimer) end local function onEnterVehicleFrame() if not isElement(timerData[sourceTimer].jackingPed) then return stopEnterVehicleTimer() end local pedTaskComplex, pedTaskSimple = getPedTask(timerData[sourceTimer].jackingPed, "primary", 3) if not pedTaskComplex then pedTaskComplex = "" end if pedTaskComplex:sub(1, 22) ~= "TASK_COMPLEX_ENTER_CAR" then if timerData[sourceTimer].enterTaskActive then return stopEnterVehicleTimer() else if getTickCount() - timerData[sourceTimer].enterTick > ENTER_RESPONSE_TIMEOUT then return stopEnterVehicleTimer() end end return end timerData[sourceTimer].enterTaskActive = true if PED_JACK_TASKS[pedTaskSimple] then triggerEvent("onClientPedJacked", timerData[sourceTimer].jackedPed, timerData[sourceTimer].jackingPed) return stopEnterVehicleTimer() end if not isElement(timerData[sourceTimer].veh) then return stopEnterVehicleTimer() end if not isElement(timerData[sourceTimer].jackedPed) then return stopEnterVehicleTimer() end if getVehicleController(timerData[sourceTimer].veh) ~= timerData[sourceTimer].jackedPed then return stopEnterVehicleTimer() end end local function onClientVehicleStartEnter(jackingPed, seat, door) if jackingPed ~= localPlayer and not isElementSyncer(jackingPed) then return end if seat ~= 0 then return end local jackedPed = getVehicleController(source) if not jackedPed then return end for k,v in ipairs(timerData) do if v.jackingPed == ped then return end end local timer = setTimer(onEnterVehicleFrame, 0, 0) timerData[timer] = { enterTick = getTickCount(), jackingPed = jackingPed, jackedPed = jackedPed, veh = source, enterTaskActive = false, } end addEventHandler("onClientVehicleStartEnter", root, onClientVehicleStartEnter) You can use above snippet, "onClientPedJacked" triggers when ped is physically getting jacked by local player or syncing ped. Set control state "backwards" when this event triggers, and release it again when the ped is no longer entering (see TASK_COMPLEX_ENTER_CAR in the snippet above). Let me know if you need an example for that.1 point
-
1 point
-
Eu pedi pra mostrar oq tem na pasta vtrbope e não na pasta BOPE-VRTv2 que está dentro dela. O que parece que está ocorrendo é que vc está colocando mods dentro de um mod. O MTA não consegue interpretar as pastas que estão dentro de vtrbope pois considera ele como um Mod. Então ele procura os arquivos meta.xml e scripts.lua na pasta, mas não encontra eles pois vc deixou dentro da sub-pasta BOPE-VRTv2.0 points
