Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 08/08/21 in all areas

  1. Multi Theft Auto: San Andreas 1.5.9 is released! Happy autumn! We've been working hard and today we're proud to announce the release of MTA:SA 1.5.9. You will receive an automatic update soon, but if you don't have MTA installed, you can get it from the home page. Statistics This is the 26th 1.x.x release 355 days 49 new functions 16 new events 0 deprecations 77+ bug fixes and changes 334 commits (see comparison) 189 new open GitHub issues (see list) 81 resolved GitHub issues (see list) 135 closed GitHub issues (see list) 71 new open GitHub pull requests (see list) 207 merged GitHub pull requests (see list) 53 closed GitHub pull requests (see list) 38 contributors of which 11 are new (see list) 94+ total contributors (see list) 13 vendor updates Download This release is (mostly) backwards compatible with the older 1.5.x releases (1.5.8, 1.5.7, all the way to 1.5). If you're a server owner, please take note of the Changes in 1.5.9 wiki page, more specifically the Backwards Incompatible Changes. You may need to update your scripts for 1.5.9. Servers: binaries are available. Don't forget to update your default resources. WANT TO DOWNLOAD THE MOD? CLICK HERE (Win7/Win8/Win10) Twitch We hosted a community livestream event at the end of July which was very nice! We hung out and played MTA with you on various servers. You can watch a recording of the livestream on our YouTube channel at https://youtu.be/n2KcspT0F0A. We wish to do more of these livestreams soon! Merch We launched a 100% non-profit merch store on Spreadshirt earlier this year! If you feel like getting some of that official MTA swag, check out the merch store here: https://multitheftauto.myspreadshop.net/all and wear that MTA gang drip at school or work. AMX (SAMP) amx is a software package that allows the execution of unmodified San Andreas: Multiplayer 0.3.7 gamemodes, filterscripts and plugins on Multi Theft Auto: San Andreas 1.5.8 and higher servers. It is open source, and a prebuilt binary for Windows is available for testing purposes right now. The AMX team hopes that more people get involved with the development on GitHub as they need some help! Check out our GitHub repo for more information on how to use your SAMP scripts in MTA! 1.5.9 Highlights This release includes many additions, improvements, and fixes: You can now use the new onPlayerResourceStart server-side event to trigger when client is ready! Thanks to @Lpsd You can now detect element interior or dimension change through two new client and server-side events onElementInteriorChange and onElementDimensionChange – should reduce some of your code! Thanks to @Patrick and @Strix You can now edit element bone behavior through 7 new bone manipulation functions! Great for some dynamic animations. Get started at setElementBonePosition and setElementBoneRotation. Thanks to @Saml1er More vehicle customisation options! You can now edit vehicle dummy positions per vehicle. See setVehicleDummyPosition. Thanks to @botder More audio customisation with sound effect parameters! See setSoundEffectParameter. Thanks to @Strix and @Sarrum More client download transfer box customisation options! See for example onClientTransferBoxProgressChange. Thanks to @botder and @CrosRoad95 You can now allocate custom objects and vehicles through engineRequestModel. One of the most sought after features in a long time. Thanks to @TheNormalnij You can now use scalable vector graphics (SVG) in MTA! See svgCreate for more info. Thanks to @Lpsd You can now use peds and vehicles as the camera target. Thanks to @TheNormalnij A lot more features for scripters to build even more immersive experiences with! Many synchronization improvements! Many varying size fixes, quality of life improvements, updates and security enhancements! Many default resource fixes, refactors and upgrades, including webmap working once again! We have also improved the detection of world objects in map editor (editor_main resource), so you can select many more objects that you couldn't before - such as bushes, fences and many more! You can now also remove world objects inside interiors. This should help mappers a lot. If you are a scripter, you really should wanna dig in to these improvements! Show off your creations on our #showroom channel on our Discord server and have a chance at getting your work featured on our social media pages. Read the 1.5.9 release notes for a complete set of changes and more information about the improvements listed below. Watch or star our GitHub repository to keep on top of all the things we're working on. Important future script changes This will be the last 1.5 update and in the next version of MTA there will be numerous backwards incompatible changes and refactors that may affect old code. We will try to focus on making migration from 1.5.9 to the next version smooth for everyone. From 1.6 onwards we will be making at least the following changes: callRemote callbacks currently set the error code to nil when there is no error. In 1.6, to be consistent with fetchRemote, the error code reported will be 0. See GitHub #294. Since July 2016 if you provide an invalid string like "randomstring" when a function expects a number, the string will be treated as 0 and raise a script warning. In 1.6 this will be an error. You will still be able to provide strings containing numbers (e.g. "100" and "12.34"), this change only affects invalid strings. See GitHub #1043. When providing a width and height of (0, 0) to createBrowser or guiCreateBrowser you will encounter a script error instead of a warning. The warning was introduced Feb 2019. See GitHub #1069. Some functions expect only unsigned integers (positive numbers), and since Jan 2016 providing negative numbers would be a warning. This will now be an error. See GitHub #1070. Since Aug 2015, we replaced the custom mtalocal:// URL scheme with http://mta/resourceName/blah.html. This mtalocal:// URL scheme will now be removed. See GitHub #1071. This list is incomplete and we may introduce more changes later. What's next? Our eyes are now on the next version of MTA, which will break backwards compatibility in many ways as we work to refactor MTA's codebase. We are looking to host more community livestreams in the future, especially when we get further into the development of the next version of MTA. Stay tuned for more info most likely starting next year! We are also still working on our community 2.0 website with an internal goal of having phase 1 of development finished by August 2022. Latest news on this is that we've had major advancements on our stack which has been long overdue. We have also continued design on both backend and frontend. We will keep you updated should any news on this project surface. Multi Theft Auto depends on community input and contributions. To keep a project like MTA going we need LOTS of people. You can help in the following areas: Testing and bug reporting Whenever you encounter a bug or recognise a need for improvement, we can't fix it until you tell us your problem! We're continually working on new features and fixes for MTA, and this always needs testing. Join our Nightly release stream and make sure you keep in touch with on Discord and report issues on GitHub. Programming If you know C++ you may be interested in helping improve Multi Theft Auto's client. Working on open-source software may seem scary, but the best way is to try! Read GitHub's open source guide, and then find an itch to scratch, or scratch your own! Documentation Documentation is important, but also time consuming. If you enjoy writing and have some knowledge of English, or you would like to translate the English version to your native language, you’re very welcome to do so. Just head over to our wiki, create an account, and start editing! Support Do you like people? Can you give calm and thought-out responses to users needing help? Then you can spend some time providing support to those who need it. Many answers can be found on our wiki, so make sure to take some time to read it. Then, either join our chat or forums (linked below), or simply help us sort out issues and answer questions on the GitHub repository. Translation Want to translate MTA to your own language? Awesome! Visit us on Pootle. As soon as your translation is approved, it will be pushed to our repository for use in future releases. Donations Keeping the MTA downloads, master server and websites alive costs money! If you want to help us sustain our financial expenses, please donate! Show your creativity! We are actively looking for new creations on our #showroom channel on Discord, as well as #mtasa on Twitter for content we would like to repost on our social media pages and pin on our annual recap forum post. Follow us on our social media channels: Twitch, YouTube, Facebook, Reddit, LinkedIn. Thank you! Thank you to the following community members for their donations this year: @Arran, @Azukie, @Dmi7ry, @IIYAMA, Malone, Berni, @NoHear, lupinek, @Flatliner_, @Sarrum, Shine, @Trumavarium Thank you very much to the following community members for their work towards this release: @botder, @myonlake, @Pirulax, @TheNormalnij, @sbx320, @Dutchman101, @Strix, @qaisjp, @Zango, @Sarrum, @Lpsd, @Jusonex, @Woovie, @cleopatra, @Saml1er, @Patrick, @TEDERIs, @ccw, @fastman92, @Allerek, drop-club, @CrosRoad95, @iDannz, @JeViCo, @STR6, se16n, @FileEX, delinx, emre1702, @Disinterpreter, @LosFaul, @NanoBob, @pieT, PauloKim1246, ecastro98, @Luxy.c, Unde-R, TeteX1, @The_GTA, @leetIbrahim, @mertcan4555, @Lvrent, @Inder00, @Arran, @iDannz, @xLive, jlillis, ricksterhd123, @srslyyyy, @androksi, Yamsha75, @AfuSensi, Dark-Dragon, umithyo, brenodanyel, Mkl21, 1lyncon, Dante383, @turret001, Dezash, @Deihim007, @0xCiBeR and many others who contributed to our Wiki and helped out with issues. (If your name is missing or you want to change your entry above, please let us know on Discord!) You could be on this list! We're always on the lookout for new contributors. Contribute on GitHub, and chat with us on Discord. We have channels for scripting, general support (bugs), mod development, and many more! And one more thank you to every member of the MTA staff who helps support this forum and Discord. Without your efforts, this project would not be nearly as successful as it is now. Also a big thank you to the new MTA helpers team who support our users on this forum and Discord! Finally, please give a ? to our newest staff members @androksi, @Pirulax, @Sarrum and @xLive; newest contributors colistro123, @Pirulax and @TheNormalnij, as well as our newest addition to the MTA team @myonlake! Have a good autumn! — MTA Team
    41 points
  2. CIT Cops 'n' Robbers, Gang Wars, Civilians | cit.gg (CnR, Turf wars, Civilian jobs.) A community mainly focused on cops 'n' robbers, gang turf wars and a variety of civilian jobs, community made events, joining groups to play and have fun together. Click to join (mtasa://94.23.158.180:22003) ______ SAUR Utopia RPG An RPG server with multiple unique features and activities, with an active staff team. Click to join (mtasa://phoenix.saur.co:22003) ______ SAES:RPG SAES:RPG is a gaming community and server which has ran on MTA since 2003 on both MTA:VC and MTA:SA, Our current server is an RPG based gamemode in which you can be Cops, Robbers, Gangs, Dealers, Medics, Mechanics and participate in Roleplay, Bank Robberies, Store Robberies, Racing, Hunting down criminals, Monthly giveaway events and much much more! Click to join (mtasa://51.38.67.64:4999) FFS Gaming DM/Race/DD/Hunter/Shooter/Stuntage/Trials/HP/RUN/CW/PTP/CarBall/Training/Minigames FFS Gaming provides a vast amount of race type gamemodes all in one server. From regular races to be the fastest one, kicking your opponents into water in destruction derby or simply having a fun time in minigames, we provide everything to enjoy your stay. Click to join (mtasa://54.37.245.209:22003) ______ Lumiverse: Atlas (DM, HDM, OS, FDD, CATCH, CTF, RACE, TRAINING, GARAGE) Lumiverse is a modern Multi-Gamemode Community that offers a wide range of different gamemodes to suit everyone's needs. Observe the undiscovered. Click to join (mtasa://lumiver.se:22003) ______ MX Gaming (Destruction Derby / Fun Destruction Derby / Shooter) A gaming community with a variety of gamemodes and servers. Join DD (mtasa://server.mx-palace.com:22003) Join FDD (mtasa://server.mx-palace.com:22007) Join Shooter (mtasa://server.mx-palace.com:22006) Need For Speed: San Andreas (Race/Freeroam/Other) Racing server inspired by various nostalgic Need for Speed titles such as Underground 1/2, Most Wanted, Carbon, World where you start out with a slow car and progress by racing, participating in AI police pursuits and numerous other activities, all of which let you buy new cars and and upgrade their performance and visuals with hundreds of unique custom made body parts and complete customization of paintjobs through a NFS Carbon-like vinyl editor. Click to join (mtasa://178.33.54.30:20256) ______ Mr. Green Gaming (Race, DM, CTF, Shooter, MIX) The classic racing experience! Join Race (mtasa://race.mrgreengaming.com:22003) Join Mix (mtasa://racemix.mrgreengaming.com:22003) ______ Sofa King Cool Click to join (mtasa://87.98.182.70:22005) Epic-Row Zombie RPG (Zombie, RPG) PvE based zombie gamemode with RPG elements. Click to join (mtasa://s.epicrow.com:22003) Default MTA Server || Freeroam [P] The classic freeroam experience with unlimited chaos, drifting, shooting other players (or just using /peace for passive mode), hydra dogfighting and fun arena's. As a classic freeroam there are no restrictions to spawning in vehicles & weapons, and freedom applies to all other game aspects as well. Average players online is 100, so there's always someone to troll or fight! Click to join (mtasa://149.202.51.189:22005) ______ Grafuroam: Phantom (English Freeroam Server) (Dogfight, Pursuit, Race, Team Deathmatch, Tank Deathmatch, Survival, Duel, War, Derby, Vehicle Deathmatch) A freeroam server with many great features created to provide fun to the players. Click to join (mtasa://109.230.215.29:22003) ______ Prime Freeroam (Freeroam, NPC, AI) Click to join (mtasa://149.28.237.162:22003) ______ Welcome To San Andreas (Single Player Features!) (Freeroam, NPC, AI) The old-school single player San Andreas experience! Click to join (mtasa://wtsa.sparrow.moe:22003) StoneAge [Rust] (Survival, Rust) StoneAge is a survival server, having the game Rust (Facepunch Studios) as its biggest inspiration. On this server players must search for items and resources, build bases, destroy enemy bases, explore islands, radioactive zones, fight against animals and survive their biggest threat: the other players. Click to join (mtasa://158.69.122.226:22003) ______ San Andreas Police Department: First Response (Emergency Services Simulation / RPG / AI) Step into the life of a Police Officer, Paramedic or Firefighter and react to a wide variety of callouts all over San Andreas. Click to join (mtasa://37.187.250.129:22004) ______ SAAW World War II (Team deathmatch / War (Conquest) / Airstrike / Sea war / Tank war) A team-based tactical world war II server featuring third person and first person gameplay and dozens of different vehicles, weapons, classes and maps. Main objective in every map is to bring the enemy ticket count to zero by capturing points, shooting enemies or sinking convoy ships. Click to join (mtasa://116.203.196.16:22003)
    31 points
  3. Hi people! Same drill as usual. The year is nearing to an end, so here is a freshly baked summary post for you. Read on and learn about all the interesting things that happened in the MTA community in 2021. 2021 in Recap Early this year, we have restructured our Moderation team a bit by adding the Specializations divisions (such as: Management, Tech and Infrastructure, Social Media). The aim of this was to refine extra talents of our Moderators and put them to a better use. As one of the results of that, the Management division has introduced a new way for more-involved-but-not-quite-there-yet MTA supporters to contribute - a Helper role. Curious about what it is? Check out the post by Tut. At the end of July, our developer and designer, Patrik, has revived the live streaming idea a bit and played some MTA:SA on our Twitch channel. He focused on visiting various servers ran by the community. In case you have missed it, you can check the stream capture here: https://www.youtube.com/watch?v=n2KcspT0F0A There were a few recurring requests that you guys have kept asking us about over the years. One of them was to release the mobile version of MTA:SA - apologies, but unfortunately that is still not going to happen . But another request was to make it possible to buy some official MTA merchandise. And guess what - we have listened to you on that one! Patrik has prepared some neat designs and we have put them for sale - although please keep in mind, we do not make any profits of these sales. Want to see the goods? Check them out here: https://multitheftauto.myspreadshop.net/all Not that long ago, in early October, we have released Multi Theft Auto: San Andreas 1.5.9. This release was focused on wrapping up the contributions made to the mod so far and put them in a single package for your convenience. Same month, Rockstar Games has announced an upcoming release of "Grand Theft Auto: The Trilogy - The Definitive Edition", a remake/remaster of the original 3D era GTA trilogy (GTA3, GTA:VC and GTA:SA). Not only was it a sudden announcement, but also the release was coming really soon. The remastered games were released, but received mixed reactions from gamers and reviewers. Technical-wise, they are a feat, as games were remade in a different and well-established game engine and are available for multiple platforms. Sadly, the same could not be said about the actual quality of these games as it was inconsistent. Hopefully, the improvements planned by Rockstar will bring them up to the quality they deserve. It is important to note that MTA mods (GTA3:MTA, MTA:VC and MTA:SA) do not work with the remastered games from the GTA: The Trilogy. We currently have no plans of making them compatible, as it would require an insane amount of effort, considering the technical differences between the original games and their remastered equivalents. Lately, our Development and Infrastructure divisions have been working on improving the reliability and performance of our web services. You may have noticed that for instance, our forums have been running faster - it is all a result of CiBeR's hard work. One of our distinguished community members, Haxardous, has prepared a list of interesting MTA:SA servers. If you are looking for a new MTA:SA server to play on, then you might want to check out one of his recommendations. You can find them here. ModDB has recently featured all of the mods that won the "Mod of the Year" award in the last 20 years. We had won this award ten years ago, so naturally we are on the list too! A bunch of interesting MTA:SA-related YouTube videos from this year [DM] NikotiN ft. Lost ft. Driver ft. SKooD - Enormous Cataclysm - video by CHRS / map by Nikotin, Lost, Driver and SKooD MTA-SA: Welcome to San Andreas Trailer (WTSA) #1 by ヌルぽ / Nurupo #MTA:SA: ~ TACTICS / STEALTH by notzz & the_bestteam Grafuroam drift handling update by Unity SHORT ONE | NON-STOP MTA DAYZ by BuczU YouTube in Car - Interactive Dashboard (MTA:SA) by Chemical Creations MTASA Dangerous Experiments by Toliak Purple Current player counts and version fragmentation statistics Type Amount of players Date / Time Recent peak number of concurrent unique players 37 487 players 2021.12.19 (at 19.13 GMT) Highest recorded number of concurrent unique players 52 098 players 2020.04.02 (at 18.00 GMT) Recent number of daily unique players 148 783 players 2021.12.19 (Sunday) Highest recorded number of daily unique players 185 818 players 2018.02.03 (Saturday) Recent number of monthly unique players 626 613 players November, 2021 Highest recorded number of monthly unique players 805 903 players January, 2018 MTA:SA version or series Percentage of players using that version or series as of 25th of December, 2021 1.6.0 (alpha; custom) 0.2% 1.5.9 97.6% 1.5.8 1.9% 1.5.7 (and older) 0.2% 1.4.x + 1.3.x 0.1% Still looking good. On a side note, our community on Discord keeps growing. We went from 20k users last year to nearly 40k this year. Our presence on social media (Twitter, YouTube, Twitch, Facebook and Reddit) is improving too - thanks to work done by Patrik and the Social Media division. --- Enjoy the holidays and hope to see you back in the next year! -- MTA Team
    27 points
  4. Hello, We recently discovered a vulnerability within MTA Server, as a result of which an attacker could crash your server. The issue has been fixed and we urge all server owners and hosters to update immediately. Getting the update Linux: https://linux.multitheftauto.com/ Windows x64: https://nightly.multitheftauto.com/?mtasa_x64-1.5-rc-latest If your server is hosted locally (out of your MTA installation folder), reinstall with the full installer from https://mtasa.com/ for the x86 server
    18 points
  5. Sphene is a SCM Interpreter in development for Multi Theft Auto. It is capable of running the mission scripts and parsing many other game files in order to recreate the storyline, minigames and anything else the default game has within Multi Theft Auto. We will then add Co-Op on top of it. In this video you are able to see Sphene run the N.O.E mission with only very minor bugs (such as the radar sound not always working). We did not specifically target this mission but the more we are able to implement all the game logic the more parts of the game become available. This is the first mission to be fully playable from start to end.
    16 points
  6. hi guys, today i opened a new server and i invite you,I would like you to take a look at my Dayz server because I worked hard, you will never have fps problems. Server IP : 147.135.251.43:22013 If you like TWD series you should login to this server. my server features: - Item Shop - Advanced group system - Missions - Vehicles of all types - Smart Zombies - NPC Bandit Groups - CCTV - Bases - Lobby - Derby - Race Mode - all databases available - old Accounts available - Shop Token - etc.
    13 points
  7. This is my second ban appeal for my friend. Since he is banned on that mta forum, i am creating it instead. We created the first ban appeal about a month ago and waited patiently, but the yesterday when the ban appeals were examined, i realized that the ban appeal was deleted and there was no answer. That's why i am here to create ban appeal gain, i am writing on his behalf right now and i would like to add my own opinions here personally my friend cheated and abused some things. I think he suffered enough from it. (about 2 years) Everyone deserves to be forgiven, but my friend did not get what he expected. He tried to show himself that he was away from these bad things, he reported the people who are still dealing with these things to the mta team. My friend has been playing this game for about 10 years and he regrets the mistakes he made in the past years. He sends his apologies over and over to the mta team and to the players in the DD scene that he beated with using these cheats. There are many people who want to see our friend again on the DD scene. We know his mistakes and you should know that we won't ignore him if he does it again. The DD scene has changed and is run by certain community clans. In addition, he knows that this ban is impossible to bypass and is very sorry for the methods he used in the previous time. He needs to be forgiven in order to be able to play this game again. All I ask is for you to unban my friend. I would be very grateful if you could provide this. Kindest Regards For my friend OneCaddy. His serial is 11B438D959118B6B2C66865E51A945F3
    13 points
  8. I need your help! After long time, long discussion with other contributors what initial release should containi spent a lot of time polishing, fixing bullet physics feature people first would see almost 3 years ago. Meanwhile API got limited to bere usable minimum to limit points of failure, all cool features i was showing got moved to different branch as a reference for future updates. Whole logic got moved to "shared" section to let you use all of it's feature both client and server side! Core devs are busy, pull request is HUGE and nice to give them tested, cleaned up code they can review and because it is not a trivial task testing even limited amount of feature i need your help If you have some free time, and minimum lua/mta experience you can download latest build of mta, client and server and test it yourself, maybe you find an issue i was unable to spot? Download newest custom build of mta with bullet physics at https://github.com/multitheftauto/mtasa-blue/suites/6176759056/artifacts/216790429 Download test resource ( if you want ), v1: https://github.com/multitheftauto/mtasa-blue/files/8459389/tests.v1.zip it should yield a result the same as on the video below. Documentation: All availiable both client and server side except "physicsDrawDebug" Bullet physics functions: physics-shape-box physicsCreateBoxShape( float xyzSize ) -- creates cube of given dimensions, 1 means 1x1x1. physics-shape-box physicsCreateBoxShape( float x, float y, float y ) -- creates box of given dimensions. physics-rigid-body physicsCreateRigidBody(physics-shape, float x, float y, float z [, float rx, float ry, float rz [, table options ] ] ) -- spawns rigid body from given shape at given position and rotation with options: -- "mass" - float between 1.0 to 1000000.0, default: 1.0 -- "localIntertia" - vector, default: 0,0,0 -- "centerOfMass" - vector, default: 0,0,0 physics-static-collision physicsCreateStaticCollision(physics-shape, float x, float y, float z [, float rx, float ry, float rz ]) -- spawns static collision at given position and rotation. table physicsGetDebugLines( float x, float y, float z, float radius ) -- returns table of lines in format { fromX, fromY, fromZ, toX, toY, toZ, color } of all collisions in given radius - mostly used to debug server side physics. bool physicsDrawDebug() -- draws debug collision in 500 meters radius, availiable only client side, use in onClientRender event. bool isPhysicsElement( physics-element physicsElement ) -- isElement equivalent for physics elements Extended functionality: setElementPosition, setElementRotation, getElementPosition, getElementRotation -- accepting physics-world-element as first parameter setElementVelocity, setElementAngularVelocity, getElementVelocity, getElementAngularVelocity -- accepting physics-rigid-body as first parameter destroyElement -- accepting physics-element Bullet physics introduces new user-data / element types ( they are not acctual elements like vehicle, player ). Used lighter version of elements to increate overall performance, simillar to how "setTimer" return timer handle, functions above return simillar handle. New user-data/elements types and it's hierarchy: Default, current physics settings: Gravity: 0.0, 0.0, -10.0 Simulation step: fps independent, 10 substeps Fixed time step: 1.0 / 60.0 Other useful informations: 1. One shape can ( should ) be used in many rigid bodies, static collisions ( in future as a part of compound shape ) 2. Spawning many rigid bodies at one position will lead to high memory usage. 3. If you destroy shape, all referenced rigid bodies and static collision will be removed as well - removing static collision or rigid body never removes shape 4. Physics is frame indendent and not perfectly deterministic. 5. Yellow/White wireframe indicate active rigid body, blue are "about to sleep", green are sleeping. Sleeping rigid body behave like static collision until get hit, reactivated ( changing position, applying forces activates body, in future i have a plan to introduce function to wake up them on demand ) 6. Physics elements created server or client side are not synced at all. You have to do this manually but in plan is to add build in customizable synchronization. Pull request: https://github.com/multitheftauto/mtasa-blue/pull/1246 Read more about bullet physics: https://github.com/bulletphysics/bullet3 https://pybullet.org/wordpress/ More at mta dev discord: https://discord.gg/GNN6PRtTnu Do you have any idea of physics applications in mta? Let us know in the comment down below! Thanks in advance for help! Patch 19.04.2022 - "getUserdataType" now returns exact shape type not only general shape type - clientside draw debug no longer render debug when game minimalized. Download newest custom build of mta with bullet physics at https://github.com/multitheftauto/mtasa-blue/suites/6176759056/artifacts/216790429
    10 points
  9. server has been activated The Fade2Black Team ( DayZ ) Hello, I'm here with a New DayZ Mod, I'm Eren, I've been working on MTA DayZ Scripts, and I've been working on my own server for 1 year. To introduce myself, I'm Eren, I've been playing MTA for years and I'm enjoying it, I have dual citizenship (I'm Turkish and German) I'm new to script development and I'm a beginner. Before moving on to the server's features, I would like to make a few remarks,We are trying to open the server in a better quality as a result of really long efforts, I really recommend this server for those who like to play MTA DayZ, please review,Our server is currently in BETA version, we will release it as a FULL Version in a few weeks. DISCORD ADDRESS : discord.me/fade2black / https://discord.gg/DeK2yS44PM You can reach the MTA DayZ IP address via Discord. TeamSpeak3 ADDRESS : If you want, you can log in with a numeric IP address or you can log in by typing the following. (80.253.246.8 / fade2black or f2b) [all versions can login] features of our server : VIP House ( vip members will create their own vip house and can hide their loot indoors. ) VIP features ( VIP members will be able to use their own skins when spawned,VIP members will be able to create motorbikes in exchange for Shop Tokens,When VIP members spawn, some loot is given to them by typing ./viploot ,VIP members can paint their cars with a single command,VIP members are open to the use of the Hunt system, so they can play more enjoyable games with other players...) Chase Mission (Think of a car, you have to protect this car from enemies within certain minutes, if the car is under your control, you will be rewarded when the time is up.) Interiors (you have access to the interiors of some buildings, for example police stations and casinos,there are better loot indoors.) 2x Zombie Area (There are powerful zombies waiting for you in the inner area of the driving school in the SF area,These zombies that are very hard to kill are full of loot,You can easily collect Level/Shop Tokens in this area...) Ranks (Colors assigned to ranks so you can distinguish everyone.) Skills (Skills given to weapons such as the M4 AK, thus allowing for smoother gameplay.) Missions (Big hack in the big ear,The mission to hijack the Rustler plane,war mission on secret islands,Mission to hijack police car in police station.) War Room (Area51) (In the secret room in area 51, you can find the traces of serial killers. (5 or more players killing players). ) Garages (You can buy a garage to store your vehicles,You can use the ./rentgarage command to rent a garage.) CCTV (CCTV in secret areas) Level System War System (Red areas are formed in some selected areas, if you fight in these red areas, Shop Tokens are given to the 1st, 2nd and 3rd players.) AND MORE. A lot of effort has been put into the MTA DayZ server, with the help of some of my friends they help me fix my systems bugs,I thank them here for that. tasty Tekken AngelAlpha MittellBuurman Tails You can be sure that you will not have any trouble logging into our MTA DayZ server, because more optimization studies have been done so that the FPS / Ping values are adjusted, this is a good advantage for low-end computers. My love to our friends Luke and dYak for their donations to our MTA DayZ server.
    10 points
  10. Disclaimer: This is aimed at MTA open source contributors only. Hi devs! If you're looking for support regarding MTA C++/module/resource development, or you have some ideas or want to discuss about MTA development related matters, come and join our dedicated MTA development Discord server at https://discord.com/invite/GNN6PRtTnu where we have dedicated channels for various topics. The server is English only. Non-development chatter is prohibited. Please note that the MTA development server is only for development matters. If you need help with your MTA client/server or scripting, or you just want to chat and hang around, please use our official Discord server instead at https://discord.com/invite/mtasa
    10 points
  11. Lights Add-on for MTA:SA Map Editor Download resource on GitHub > This resource is still a beta release and under construction. Use at your own peril. You want to add lights inside the MTA:SA Map Editor? You've come to the right place. Installation You must download and install the following resources to use this resource: dl_core by @Ren_712 dl_lightmanager by @Ren_712 Once you've installed the prerequisites, we can install this resource! Download the latest release on GitHub Put the resource inside your MTA San Andreas 1.5/server/mods/deathmatch/resources folder Refresh resources by running refreshall in your server console The add-on is ready for use! How to use in map editor Start the map editor resource (editor) or enter the Map Editor from the main menu Click "definitions" from the top editor menu Add "editor_addon_lights" to your definitions and press OK "dl_lightmanager" resource should have been automatically started, if this is not the case, please start it manually Hover on the buttons in the bottom-left corner, and scroll your mouse wheel once Click the "Light" button to place a new light into the game world Double-click the light to change its properties Once you've finished with your map, save the map in a resource How to use with a saved map Start your map resource together with this "editor_addon_lights" resource, and you should be able to see the lights placed in the game world using your defined settings! License MIT License Copyright (c) 2021 patrikjuvonen Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Download resource on GitHub >
    10 points
  12. Download (Github) https://github.com/gta191977649/MTASA-SkyGfx Note: the resource updates frequently, please always check the github for the latest verion SkyGfx (Sky is name of Renderware for the PS2, any semblance to the actual sky is purely accidental) brings accurate PS2 and Xbox graphics to the PC version of San Andreas, Vice City and III. if you enjoy vanilla San Andreas graphic, this mod is essential to have. to learn more about it from the original author (AAP), please see here. Now i will straight go through the documentation. Screenshots The Thanks List ren712 - for shaders & coronas help aap - for the original work & renderware engine help What have done or working in progress? Not Start yet/ not invesgate Partically Works Done & Fully Supported Pre-request Library Timecyc Parser Rendering the timecyc interpolation directly from timecyc.dat, interpretation algorithm conveted from librwgta. custom_coronas For rendering the classicFX, like VC style vehicle big headlight, trail light effect. DGS - (Optional) for the debugTools, But you're need dgs to work, i just a bit lazy with gui things Features Postfx Trails(Blur) - blurLeft,blurTop,blurRight,blurBottom works! Radiosity - Color Filter - PS2 PC Mobile - Night Version Goggles - Infrared Goggles - Building Pipeline SimplePS - BuildingVS - partially, some engine data requires to work, still working on that BuildingVSFX - For model with specular lighting property Not even start yet Vehicle Pipeline PS2 Pipeline - Done, you happy? Xbox Pipeline - Only specular lighting works. Pipeline tweaks radiosityFilterPasses - radiosityRenderPasses - radiosityIntensity - zwriteThreshold - detailMaps - leedsShininessMult - neoShininessMult - neoSpecularityMult - envShininessMult - envSpecularityMult - envPower - envFresnel - sunGlare - just see my feature PR. ps2ModulateBuilding - World Effect Dual Pass Render - Yeah, it's done, thanks to ren712 PS2 Alpha Test not even start yet Grass dualPassGrass - it overrides by dual pass render. grassBackfaceCull - grassAddAmbient - grassFixPlacement - only can do it via modify the mta engine ps2ModulateGrass - Shadows pedShadows - stencilShadows - Misc disableClouds - disableGamma - neoWaterDrops(xbox rain postfx) - neoBloodDrops - transparentLockon - lightningIlluminatesWorld - toogle timecyc lighting on world object. fixPcCarLight - coronaZtest - partially works, however this will breaks and bugs up the other corona's ztesting in mta. needs to work on a new solution. fixShadows - Special Misc FX (Unique addon by nurupo) vehicleClassicFx Show VC/III liked vehicle big headlight and light trails when you rotate the screen vehicleTrailLength Length of light trails (buffered frame) vehicleTrailDrawDist What distance should trails start visiable? vehicleHeadLightAlpha Alpha multiplier for head light vehicleRearLightAlpha Alpha multiplier for rear light buildingExtraBrightness Multiplier for building extra brightness vehicleExtraBrightness Multiplier for building extra brightness stochasticFilter Make repeative texture look better, ported from Valdir da Costa Júnior Bugs/Issue Sun can see through by walls -> Due to zTest disabled fixed by manually re-create sun from shader, thanks to Ren712 Element garbage collection for vehicle classic fx
    9 points
  13. Summary: Off the end of my hiatus, I returned to MTA after 6 years to pick up LUA once again and make something cool of the game that I(and many others), love the most. I was originally going to develop the gamemode to a playable point and then open source it for others to contribute and play, but after talks with a few people I have decided to keep the project private and host it when completed. So at the moment, this project is a Work In Progress, and I'm working on it on my own. But in such a short space of time, it has came a long way. The script is written the script from scratch, beginning on the 22/12/2022. I wanted the script tailored to be exactly what we need from it, no other garbage. I know these are advertisements for "Servers to Play On", but I'd like to see how much interest I can drum up to see if there's a potential playerbase, thus not wasting my time. The Lore: The background story to the lore of the server scenario is that it's 6 months into the zombie apocalypse. If you've made it this far, you must have some kind of clue so please roleplay as though you do. People are scarce, energy and fuel is scarce, items are scarce. Zombies move around in large herds. You must do what you have to do to survive. The source of the virus is unknown, but you're welcome to conspire your own theories. Roleplay: This is a roleplaying server, however you are only asked to roleplay when it affects another players experience. For instance, when encountering new players, trading with players, firefights, stealing another players vehicles/items etc. If you're playing solo and there's no-one around, play as you wish. If a bear :~s in the woods, and nobody is around... Staff: I'd like to keep staff interaction with roleplay minimal, so you can play without the need to report for an admin, and have them come to complete a task. I believe staff should only require involvement with player to player, or game-breaking bugs. Showcase: I will include a few links to screenshots, videos etc here to stuff I've been working on or made, but I can't promise I'll stay completely up to date with it. Fishing: https://youtu.be/-vuAC-4Iouo Vehicle Dashboard: https://youtu.be/ePV3rRbt7j0 Abseiling & NVG's: https://youtu.be/T-o8_IqDhaY Prone Animation: https://youtu.be/tAr61LadAdg Vehicle Refueling: https://youtu.be/92BPKAVXy2E Character Descriptions: https://youtu.be/XpcJlCVtFao Weapon Raising/Lowering & Sprinting: https://youtu.be/aQQj9thAXZA Vehicle Crashes: https://youtu.be/HzD6e8x_GW4 Realistic Vehicle Handling: https://youtu.be/sqG4hut3J_M Reload & Dry Firing Sounds: https://youtu.be/AC22-DD3_p4 Weapons, Magazines & Ammunition: https://youtu.be/WWitr8Q9QuA Player, Vehicle & Container Inventories, Character Customization & Clothing States: https://youtu.be/TGP4IjYeiEw Base Building W.I.P Demo: https://youtu.be/qunJQDzSIzU Scuba Diving W.I.P Demo: https://youtu.be/38NPWMAjicA Custom Text Signposts: https://www.youtube.com/watch?v=yzJFJ3FvPT0 Weapon Attachments: https://youtu.be/Dmll7y9r_i0 Switching Pistol Animations: https://www.youtube.com/watch?v=KAa1rAHDuwk Website: http://6monthzin.com/ Discord: https://discord.gg/FSUYd3mK
    8 points
  14. OVERVIEW: Our team comes from a huge and well established Roleplay Community from San Andreas Multiplayer, which has been languishing in the past months/years and is on its way to end soon. As Roleplay lovers and with a vast community of fans, we decided to invest in a platform more prone to putting our dreams and plans into operation, something that was impossible to do in the previous one due to several limitations and because it stopped developing years ago. We started the development of a Game Mode from scratch months ago with our team of developers, mappers, modelers and engineers. In a new universe, we will put the impossible and the never idealized into practice, ideas never thought before to enrich Roleplay. POSITION SUMMARY: We are looking for people with or without experience as developers in Multi Theft Auto, so prior knowledge or willingness to learn LUA is more than necessary. Internship opportunities for those interested in learning or starting as a programmer are also offered by us. As mentioned before, we have a large and united team working on the project for months, so, like any serious company, we are looking for people willing to work as a team, respecting the harmonious environment we live in, in addition to contributing to further unity. LANGUAGES WE SPEAK: • English (writing/reading required) • Portuguese • French • Spanish SKILLS & EXPERIENCE: • Knowledge in programming logic • Knowledge/interest to learn software engineering • Knowledge/interest to learn software design patterns • Familiarity with Roleplay servers • Knowledge/interest to learn SQL structure • Must produce clean and easy to understand code that follows our convention • Excellent verbal and written communication skills • Ability to effectively present information to management and/or public groups • Optional: Experience with any modern JS frameworks (Angular, React, Vue) • Optional: Experience with any modern PHP frameworks RESPONSABILITIES: • Be able to receive mentorship from senior developers on best practices, design patterns, etc • Collaborate with management and others engineers to get the job done efficiently • Participate in the full development lifecycle • Be able to listen and contribute to a harmonic environment • Prepares reference/comments in code for future developers • Contributes to team effort by accomplishing related results as needed • Supports system upgrades as necessary INTERNSHIP OPPORTUNITIES: Reiterating the summary of the positions we offer, we offer the opportunity for beginners, or even those who want to learn to program, the opportunity to learn with us and, consequently, contribute to the project. Don't be shy about it, the will to learn is what is necessary to achieve our goals and objectives. Contact us at my private discord if possible: Klis#0001 Feel free to reach out through PM, but be aware there will be a significant delay in response compared to my discord contact.
    8 points
  15. Hello MTA community, for quite a while I have been thinking about the Lua language. I think that we can all agree on this fact: that the Lua language is simple and beautiful, especially inside MTA San Andreas. Would any of you be interested in a service that lets you compile Lua directly into machine code, for example into a stand-alone PE executable file? I am not talking about srlua or LuaJIT, rather a completely new application/web service where you could queue your Lua code for compilation. There are major benefits to compiling to machine code rather than Lua bytecode. When I'd finish this project then I would implement a C++ interface and port it into MTA aswell. Benefits of machine code translation Speed boosts during script execution due to native format of the code Code cannot be reversed into Lua anymore Lua code optimizations that the reference Lua compiler does not perform (constant optimizations, function inlining, computation node grouping, loop unrolling, etc) The ability to market your programs I am thinking about a future business partnership with the MTA team where electronically-signed machine code translated from Lua would be securely run on MTA clients. The modernization of the Lua component would bring more freedom in designing the future scripting possibilities too. If you guys voice enough interest for this product then I would be greatly encouraged to create it. There is no such product available yet and it's creation would be both interesting and challenging. What do you think, community member? - Martin
    8 points
  16. Wow, I'm very happy to see my scripts are still relevant, thanks! But it can be a negative thing as well, I mean it wasn't supposed to end up this way, back then I tried to improve the script, then I tried to make a new, a more advanced ped system from scratch but didn't have enough time, and to make things even worse, the code I wrote then looks horrible to me now So happy to feel appreciated, yet the fact that everyone's focused on my work that still wasn't satisfying enough to myself, gives me this unpleasant feeling that I gotta clean up this mess, gotta finish the work I once started but I don't know when I'm going to try scripting on MTA again Conversion of game paths to my path format sounds interesting, but making my own paths instead of converting the ones from the game was the reason I came up with my format and traffic editor to begin with. I was having trouble understanding some things in the game's format, and the paths have things like multiple nodes in a straight line, which needlessly uses more data. Now, to the documentation details. node_conns tells the connection ID from node IDs. That is, node_conns[node1_id][node2_id] = connection_id. Also, node coordinates are decimal fixed-point numbers, not floats, and RX/RY each takes 2 bytes as opposed to 4. Reading the value as integer and dividing it by 1000, you get the actual value. I had some problems converting between bytes and floats, and integers were faster to process. Finally, traffic lights. The value 3: "PED" means red for all cars, and that's when the peds cross the road. Normally it would work according to pedestrian traffic lights, but as far as I know, those are neither synced, nor scriptable - at least they weren't when I made the resource.
    8 points
  17. Congrats on the release! Great to see so much progress still happening!
    8 points
  18. Today I bring you a library resource that I made named mta-add-models: Its purpose is allowing you to add new peds(skins)/objects/vehicles to your server. All the new added models will be automatically synced with all players. Supports encrypted mod files using the NandoCrypt system. The way to achieve this is by following the tutorial included in the project's documentation (see GitHub link below) to make your own implementations. The resource comes with test commands for you to experiment with the mods provided and see what's going on under the hood. GitHub Repo (Download): https://github.com/Fernando-A-Rocha/mta-add-models#about (Documentation here) Community Page (Download): https://community.multitheftauto.com/index.php?p=resources&s=details&id=18598 (will try to update often) I hope you enjoy it! For any questions/support you can reach me on Discord: Nando#7736 or reply below.
    7 points
  19. Happy Holidays & New Year everyone! Thank you all for your continous support and contributions towards this project!
    7 points
  20. DISCLAIMER: Most of these models have been created for MTA:SA/GTA:SA, and were created by me. These items are not free for use. Hey. I've been real quiet here recently, and not had much interest in MTA or even gaming at all over the last few months due to personal reasons. But I know a lot of people liked my 3D work as much as my scripting so I thought I'd show some of it off and show that it's still possible to create great looking objects and mods in GTA:SA without having crazy detailed high-poly models. I begun modelling GTA:SA style mods around 15 years ago and it's something that I've always enjoyed, trying to liven the world back up and fill in the missing pieces. I will gradually update this post with more stuff that I find in my archives, but here Models: Do you need custom models for your MTA server or project? Please let me start by saying, I do NOT work for free. I am a grown man with a family and a life, for me to enjoy hobbies like this taking time away from other commitments, it needs to pay for itself. You can contact me on Discord @ messiahxadz#4163 to enquire further.
    6 points
  21. With the rise of specialised anti-DDoS solutions, it is possible to make your MTA server almost immune to DDoS attacks, should you know how to isolate your other services & ports properly so that the specialised DDoS protection can absorb everything. For example, the market-leading soyoustart and OVH GAME anti-DDoS provides 100% protection with MTA natively supported through their protection layer (if you enable it for your specific MTA server UDP ports in their Hosting Control panel).. so that you can't be DDoSed if the following circumstances are met: * There is no attack method that your hoster, e.g OVH still needs to patch (they surface every now and then, it's a cat and mouse game) * You managed to isolate other services and ports, this requires a serious extent of skill and understanding of networking (like being a sysop or having studied for it) As part of 1 of the isolation steps, securing your HTTP resource download interface can be important. This guide is for that particular thing. If you use the internal HTTP server in MTA server, you aren't protected at all (except for maybe your hoster's general traffic firewall).. if an attacker can't deal serious damage through sending DDoS to your UDP ports, they will usually carry out TCP attacks next. More details on isolating other services & ports may follow in the future in Reserved posts to this topic. Let's get to the point: Basic tutorial for setting up Cloudflare for HTTP server in MTA 1. Add your domain to CloudFlare, using it as your DNS provider. It will tell you what nameservers to assign to your domain 2. Under the DNS tab create an A record for either your subdomain or the domain itself that should point to your Nginx. In here add the IP address to the Nginx server. (NOTE: You should use the standard HTTP port in your Nginx config and use that subdomain as your server_name). Make sure to tick the proxy status to on so that the request is proxied 3. In your mtaserver.conf set httpdownloadurl to whichever (sub)domain you assigned for the downloads You can then further modify your CloudFlare settings to have https, a firewall setup etc. But that's a lot more specific than what you may go with initially. Under "caching", then "configuration" you can setup how the caching itself should work Extra info (to help you understand the logic of this infrastructure): - For using CloudFlare in this way, you need just a domain, no webhost (other than the nginx External HTTP server itself). You need to be able to point the nameservers to Cloudflare. You will have to modify the DNS records at Cloudflare, and point it to your nginx External HTTP server. Since you can't just upload that data to Cloudflare and have them handle it that way The subdomain is essentially just used for Cloudflare to proxy request through, when it has that data cached it will serve it itself If not it will go further to your Nginx server to fetch it, then caches it - It is recommended to use a separate machine (VPS/dedicated server) to host your External HTTP, which Cloudflare is connected to on its time. Why? Because it helps you to isolate from DDoS attacks.. for reasons like these: * keeping your real host IP hidden is crucial to benefit from the added protection of Cloudflare. If you use a host on the same machine as your MTA Server is, it's easy to leak the IP, rendering your CloudFlare useless should they attack it directly rather than where it gets served from (Cloudflare hosts). * if an attack hits your HTTP server after all, load won't get forwarded to your main MTA server machine and immediately freeze its CPU with 100% usage/disconnect all players
    6 points
  22. This MTA module is about total filesystem access to your MTA server. You can find it's documentation here. It supports the Windows and Linux operating systems, each with different and specialized details (path handling, OS calls, etc). Contains many neat features such as memory-mapped files, stream copy helpers, direct binary-encoded writing and reading API, etc. The module has got a very long history (used in Scene2Res, Magic.TXD). It is very strongly unit tested. If you like this module then you can use it's C++ API for even greater freedom. Current version: 2.0 Source code location (Module-specific): Source Tree: blueMods/fileSystem/ (head) - green-candy (svn) - green-candy - OSDN Source code location (C++ Library): Source Tree: FileSystem/ (head) - eirfs (svn) - Eir FileSystem - OSDN Download (Win32): https://green-candy.osdn.jp/external/releases/fileSystem_2_0_win32.zip Download (Linux): https://green-candy.osdn.jp/external/releases/fileSystem_2_0_linux.zip
    6 points
  23. Hello everyone! Back at you with another resource, this time called NandoCrypt! This tool lets you encrypt any files using a secret key (string) that is stored inside a script that it generates & compiles. You use the script it creates to decrypt the files in your own resource(s). It uses aes128 (Advanced Encryption Standard in CTR mode) with 16 characters long keys and IVs to decrypt. You can download the latest version & read the documentation @ GitHub Repository: https://github.com/Fernando-A-Rocha/mta-nandocrypt All the information you need is there ^^ Also available on MTA:SA Community: https://community.multitheftauto.com/index.php?p=resources&s=details&id=18672 (will try to update often) MTA Discord discussion thread: https://discord.com/channels/278474088903606273/955219814358597642/955220504422273095 See nando_crypt-example resource in the repository for an example implementation (script that replaces vehicles using encrypted files). Let me know what you think and share with your friends PS. Thank you @Patrick for the help!
    6 points
  24. Server Time Sync This resource is used to sync server timestamp (in Milliseconds) to all clients. It is for scripters and resources that may use it in the future. The resource itself is not very complicated at it's core, but it can be incredible useful for (infinity) animations. For example to let many trains drive around the map with almost no bandwidth required, in that resource is the same concept applied. local timeNow = exports.servertimesync:getServerTime() if timeNow then local currentRotation = ((timeNow % 10000) / 10000) * 360 -- Rotate 0-359 every 10 seconds. end I have added a little test resource. Which you can download below. World location: 0, 0, ~. You can download the resource here. Enjoy your server . The test resource. (requires servertimesync)
    6 points
  25. I often see how people are trying to start server using really strange solutions. So I thought "I need to make a good tutorial", let's get it! You need a Linux server (I use Debian 10) and installed the server. Usually I put the server in /opt directory, in this tutorial we do it same. Part One: Installing the server Let's start to install pure Multi Theft Auto linux server. As a joke from bashorg said: "it only takes three commands to install Gentoo", you have to put only two commands apt install unzip wget https://linux.multitheftauto.com/dl/multitheftauto_linux_x64.tar.gz && \ tar xvf multitheftauto_linux_x64.tar.gz && \ rm multitheftauto_linux_x64.tar.gz &&\ cd multitheftauto_linux_x64/mods/deathmatch/ && \ wget https://linux.multitheftauto.com/dl/baseconfig.tar.gz && \ tar xvf baseconfig.tar.gz && \ mv baseconfig/* . && \ rm -rf ./baseconfig/ && \ mkdir resources && cd resources && \ wget https://mirror.multitheftauto.com/mtasa/resources/mtasa-resources-latest.zip && \ unzip mtasa-resources-latest.zip && \ rm mtasa-resources-latest.zip && \ cd ../../../ && chmod +x ./mta-server64 putty_xjovvhDRiG.mp4 What are about these commands? Downloading and unpacking mta server binaries Downloading and unpacking default configs Downloading and unpacking resources Part 2: Daemonization Many of tutorials was written when systemd isn't exists. But not today. Let's make a systemd unit. Before we're starting to do it, we need to check one thing. Basically MTA Server has ncurses UI, that's can be inconvenient for daemons, so we have to check flags. Okkay! We take them all! There are a lot of guides how to make different systemd units, but I've made the config for you. You only need to put the file into /etc/systemd/system/multitheftauto.service [Unit] Description=Multi Theft Auto Dedicated server After=network.target StartLimitIntervalSec=0 [Service] Type=simple Restart=always RestartSec=1 User=root WorkingDirectory=/opt/multitheftauto_linux_x64 ExecStart=/opt/multitheftauto_linux_x64/mta-server64 -t -n -u [Install] WantedBy=multi-user.target And make systemd reload the configs Need video? putty_QR8ebBKoVy.mp4 Seems like you're done all of my steps. What's next? There are good commands for management the unit 1. journalctl -u multitheftauto -n -f 2. systemctl enable multitheftauto 3. systemctl stop multitheftauto 4. systemctl restart multitheftauto 5. systemctl start multitheftauto 6. systemctl status multitheftauto 1. Reads logs in the stream 2. Enable the unit (after rebooting the server the unit will start) 3,4,5 Stop/restart/start the unit (the server) 6. Status of the unit (is it running? Stopped? and last lines from the std out) More info you may read here: https://www.freedesktop.org/software/systemd/man/journalctl.html and here: https://www.freedesktop.org/software/systemd/man/systemctl.html
    6 points
  26. Thank you for everything. For me it's been 10 years since I started playing MTA. It changed my life! May this continue forever @Tut @[email protected] @The_GTA @Dutchman101 @patrik You guys are awesome!!
    6 points
  27. I am happy to have contributed to this amazing MTA 1.5.9 release! Not only has the stability of the mod been improved (based on my contribution). By introducing strong model-related engine functions, MTA is providing the opportunity for content creators in general to make their multiplayer ideas come true. I have always been dreaming about this and thank you very much for that! On a side note I do appreciate the introduction of SVG clientside functions. It could be useful to power-users like me who wish to bundle many draw-calls into one from either external tools of a serverside thing. Cool new addition!
    6 points
  28. You can find Multi Theft Auto on video media platforms YouTube and Twitch! Subscribe to us on YouTube Follow us on Twitch
    6 points
  29. Hello MTA developers, today I have added the Linux version of the FileSystem 2.0 release. I am sorry for the delay - caused by unnecessaringly technical and motivational factors - but this release is the most stable Linux version yet. It is made possible by directly linking to the deathmatch.so Linux module so that fileSystem.so does use the actual Lua implementations exported by MTA. I was unable to get a LuaRocks version ready because I do not understand how to integrate my custom Code::Blocks build system into it. If there is sufficient interest and straight-forward help I might deliver that too. Wouldn't want to disrespect the hard-effort by qaisjp and co. Only AMD 64bit is supported. Hit me up if you need any other platform. Download it here: https://green-candy.osdn.jp/external/releases/fileSystem_2_0_linux.zip Have fun!
    5 points
  30. السلام عليكم ورحمة الله تعالى وبركاته أخباركم جميعاً عساكم بخير ------------------------------------------- اليوم جيت أتكلم عن الأشخاص بعض الكلمات المنتشرة كـ "مزح " وهي محرمه ومنتشره للأسف -------------------------------------------- أولاً: التحريف بأسماء الله عز وجل مثل " واللهي " , " سبهان الله " , "اللههه" للأسف هذا الشي منتشر عند الناس و يجب كتابة لفظ الجلالة بالشكل الصحيح ---------------------------------------------- ثانيا: سب الدهر (والعياذ بالله) مثل يلعن الوقت الي إحنا فيه(استغفر الله) حرام ولا يجوز لأن الله هو الدهر عن أبي هريرة رضي الله عنه قال: قال رسول الله صلى الله عليه وسلم: قال الله تعالى: يؤذيني ابن آدم يسبّ الدّهر وأنا الدّهر أقلّب الليل والنهار -------------------------------------------- والسلام عليكم ورحمة الله وبركاته
    5 points
  31. ( السلام عليكم ورحمة الله , رمضان مبارك على الجميع ) حبيت اشارك معاكم مهمة بسيطة [ شوتر على شكل مهمة لسيرفرات الهجولة ] -: معلومات عن المهمة عند بدء المهمة يمكنك المشاركة فيها بالكتابة في الشات [ شوتر ] اطلاق صاروخ من المركبة بالضغط على زر الماوس اليسار [ Shift ] القفز بالمركبة بالضغط على يتم توزيع عنصر بساحة المهمة بشكل عشوائي عن ملامسته يرفع صحة المركبة صاحب اخر مركبة يحصل على مبلغ عشوائي صورة لساحة المهمة ( لتحميل المهمة من موقع اللعبة ) المود غير مشفر رمضان كريم
    5 points
  32. السلام عليكم اليوم حبيت اعرض عليكم اخر اعمالي بالـثري دي ماكس وبليندر باللعبة واخذ ارائكم وهو مقتبس من مسلسل Squid game واول شي سويته هو اللفل 1 وهذي بعض الصور : وقريب بسوي بقية مابات الالعاب وبحط صورها هنا بالموضوع وبرفعها هنا بنفس الموضوع ومنتظر رأيكم هل اكمل ولالا ؟ Discord : MO7O#4039
    5 points
  33. Dear MTA forums administration, there appears to be a fair amount of users on our forums that auto-translate all of the content on this web-page. Support topics start with the impression that they are awkwardly-speaking-but-trying English speakers but in replies the quotes turn out to be Spanish, Polish, etc giving away that they actually auto-translate everything. There are people who do not know about this problem because they just set the auto-translator for everything English. Those people suffer from issues of understanding, essentially because the auto-translator botches-up the original writing. I suggest that users should have the ability to decide whether their forums posts should be posted using auto-translation disabled on the HTML elements. This can be done using the HTML translate attribute on div tags. I suggest that there be a new option in the user's preferences to put this attribute on all of their posts by default. Then you should be able to decide on an individual post's basis if auto-translation should be allowed. Please think about the future of our forums.
    5 points
  34. Airplane This resource adds ambient aircraft to your MTA map. As many as you want, as long as the MTA element stream engine likes it. The aircraft models can be modified in config_s.lua. The resource was pre-mentioned in the Server time sync resource, because it is was an example resource which made use of serverside time. (And still makes use of) But by posting updates there for a different resource is a bit confusing. It is beyond a test resource now. Note: you still need to download the server time sync resource for this resource to work. You will be given an option to download server time sync resource, when you the download the resource airplane. The resource doesn't only creates planes, but also helicopters. Which is confusing I know, since the resource name is 'airplane'. But it was already too late for that without losing my version archive. Version 1.2.0 / 1.1.1 video's Admin settings Quantity aircraft Developermode Displaying the airplanes and other useful information. Demomode true - Let the resource create the aircraft false - Fill in your own aircraft list manually in file: config_s.lua How the aircraft is adjusted according to the GTA map. The blue crosses are used to display the max ground height of that specific area(200x200). You see that the crosses are placed higher near trees and buildings. The resource will adjust the aircraft height according to this data. This view is visible when development mode is active and some adjustments in the config_s.lua for the ground height data. Dataset for the aircraft height is available here: https://wiki.multitheftauto.com/wiki/Dataset-map-height Pro's: Low CPU usage after initialization. No network usage after initialization. Only the dependency server time sync will use network usage after initialization. Not that many lines of code for you have to scan through, if you want to modify the resource. Simple to implement. If you find a bug, I will be here. Con's No AI implementation. Brain-dead AI. The 'time based driven (animations)' concept is used, not everybody is familiar with that concept. That makes it harder to edit. It basically means that the aircraft animations are unstoppable, since time doesn't stop either. Pro: Which nearly nullifies the need of constant network usage between the server and the client. All aircraft are indestructible (even if not set to damage proof). (Can also be a pro) But I might add something in the future to counter that... but I first must figure out how that is suppose to work. Does not work outside of the GTA map. Download link: Resource Airplane Other downloads: Resource Server time sync Dataset GTA map height
    5 points
  35. The Walking Dead DayZ [500+ Vehicles] Fade2Black [English] (Interiors, Zombies,Survival) Server IP : 91.134.166.72:22013 Server Discord : discord.me/fade2black There are a few innovations on our server, you can come and see them and try them. Interiors system Caligula's Casino. (Interior) Las Venturas Police Dep. (Interior) Las Venturas Planing Dep. (Interior) Four Dragons Casino. (Interior) Los Santos Police Dep. (Interior) SF Police Dep. (Interior) SF Jizzy's Pleasure Domes (Interior) LS Jefferson Motel (Interior) LS CJ House (Interior) Level System (LevelBar etc.) Secret Places. Finally we have closed all the bugs, and you can enjoy the game without any hassle.
    5 points
  36. Motivation Recently I'm working on vice city stories map conversion project, thinking whatever I can also convert the path from the single-player to the MTA. there's a traffic resource made by one of our lovely community members CrystalMV @Reyomin. however, a few documentation were in there regarding its traffic file structure since it is encoded in binary. For sure, we do need a bit more understanding of the basics of how this thing works before we can start doing some magic on that. Disclaimer: The information might contain errors due to extracting by eyeball directly guessing from code The Variables Traffic Map File Structure Description Identifier Type Description Node Block X int (4 bytes) X, / 1000 for actual value Y int (4 bytes) Y, / 1000 for actual value Z int (4 bytes) Z, / 1000 for actual value RX int (2 bytes) RotX, / 1000 for actual value RY int (2 bytes) RotY, / 1000 for actual value Connection Block Start int (4 bytes) The Start node index of a connection (Refer by index from node block) End int (4 bytes) The End node index of a connection (Refer by index from node block) Bend int (4 bytes) The blending point of a connection (Refer by index from node block) Traffic type unsigned integer (1 byte) Traffic Type, 1: ped, 2: car, 3: boat, 4: plane Lights unsigned short (2 bytes) Traffic light direction has two sub value, can obtain them by light_1= lights % 4 , light_2= floor(lights/4) it can be: 1: “NS”, 2: “WE” 3: “PED” (Red for all cars, no matter what direction, use when peds are crossing roads) Speed unsigned integer (1 byte) Value from 0 – 255, indicate the max speed limit when passing through the node Left lane Number of left lanes does this node have Right lane Number of right lanes does this node have Density Indicate the density of how many traffic can generate forbidden turn Block C1 int (4 bytes) The Start node index of a connection (Refer by index from node block) C2 int (4 bytes) The End node index of a connection (Refer by index from node block) At last I also posted another copy in my blog, Feel free to correct me anything you found in the following reply. At last, I'd like to appreciate all the hard work that the author made into this work, although it's an old stuff
    5 points
  37. Happy New Year everyone, hoping yall enjoying your best times! - Thanks for mentioning my list -
    5 points
  38. So I was inactive for a bit (on and off SAES, player since 2010ish). But today, I was going through my spam folder cleaning it up and somehow a notification for this post was there. WTF! The emails I used for my gta/mtasa needs were from waay back some even inactive etc. Anyway, wanted to login here after years just to say thank you to everyone that contributed. It means a lot to players that grew up playing MTA. The fact that you guys are keeping it updated in 2021 shows just how passionate all of you are in whatever you are doing. keep it up ! just imagine in 50 years mtasa servers still running. this is legendary! - quality
    5 points
  39. MOD,Supporter purchases will be made and if you have 5 clan members, we will give you a free base.
    5 points
  40. This is so cool. I'm looking forwards to see more media from you guys! @Sonny-SARP - great screenshots, gotta love the Bearcat.
    5 points
  41. Hey. After two years of scripting i've decided to shared a bit of my knowledge with community, which i've learnt - special thanks goes to @IIYAMA for teaching me trigger and tables related stuff. Therefore i present you: Custom element data It is data system based on Lua tables and trigger(Server)(Client)Event, which was created and released back in 2020, over few months received a significant updates which introduced useful client-side features and not-so complex logic to fully control data flow through server-side. I do plan to actively develop it, mainly in improving performance which is already great, but also introducing new features. But before going forward... Let's do some comparision to element data. Color of divbox explains whether is a pro, con, or neutral difference. Tables are resource dependent, that means you cannot get table and it's contents in other resource without special steps (using exports), while Element data is resource independent, it's possible to get data from any resource. Restarting resource causes table to lost stored data, while Element data keeps it, until element gets destroyed. Tables are considerably faster, while Element data is slower. After acknowledging differences you might say that advantage is taken by element data system because of resource independency, but in later part of tutorial i will point out and describe two scripted features in this data system (they aren't implemented in element data) which are important during sending anything to players, afromentioned features are heavily affecting both client and server performance. Source code Latest version is available on GitHub. Syntax Client: mixed getCustomData(mixed pElement, string pKey, string pType) mixed getElementsByKey(string pKey, mixed pValue, string pType, bool pMultipleResults) bool setCustomData(mixed pElement, string pKey, mixed pValue, string pType, mixed pEvent, mixed pSyncer) bool addDataHandler(mixed pElementTypes, mixed pTypes, mixed pKeys, function pFunction, mixed pEvent) Server: mixed getCustomData(mixed pElement, string pKey, string pType, mixed pRequester) mixed getElementsByKey(string pKey, mixed pValue, string pType, mixed pRequester, bool pMultipleResults) bool setCustomData(mixed pElement, string pKey, mixed pValue, string pType, mixed pReceivers, mixed pSyncer, mixed pEvent, mixed pBuffer, int pTimeout) bool forceBatchDataSync(mixed pQueue, mixed pType) Function acceptable types of data, returns and behaviours: Client: mixed getCustomData(mixed pElement, mixed pKey, string pType) pElement: element or a string which holds data pack pKey: string which holds data under certain name or nil pType: string which defines data type, can be "local", "synced" or "private" nil: on failure, or when certain key it's not existing table: with all data, on success, when pKey is equal to nil anything else: on success, this can be a string, number, table, bool This function is used for retrieving data stored under element, you can retrieve certain key or whole data. mixed getElementsByKey(string pKey, mixed pValue, string pType, bool pMultipleResults) pKey: string, which defines a key used by element pValue: string, bool, number, userdata in case if you want filter by certain value, or false/nil if you don't need value to be matching pType: string, which defines data types, can be "local", "synced" or "private" pMultipleResults: bool, which decides if you want get more than one element using certain data, true for multiple elements, false for single element false: on failure table: empty on failure, and containing element(s) on success - only if pMultipleResults is enabled element: on success This function allows you to get a element(s) which contains certain data key, if required you can enable matching key to specified value. bool setCustomData(mixed pElement, string pKey, mixed pValue, string pType, mixed pEvent, mixed pSyncer) pElement: element or string, which you wish to set data pKey: string, which defines a key used by element pValue: string, boolean, number, userdata or table which will be set as key value pType: string, which defines type of data, can be "local", "synced" or "private" pEvent: string or false/nil, defining which server event caused data to change pSyncer: element or false/nil, responsible for data syncing false: on failure true: on success This function allows you to set a data for element, with certain key, value and data type on client-side with some extras. It doesn't force sync due of security reasons. Server: mixed getCustomData(mixed pElement, string pKey, string pType, element pRequester) pElement: element or a string which holds data pack pKey: string which holds data under certain name or nil pType: string which defines data type, can be "local", "synced" or "private" pRequester: player or nil/false, which requests data - ignored when pType isn't equal to "private" nil: on failure, or when certain key it's not existing table: with all data, on success, when pKey is equal to nil anything else: on success, this can be a string, number, table, bool This function is used for retrieving data stored under element, you can retrieve certain key or whole data. mixed getElementsByKey(string pKey, mixed pValue, string pType, mixed pRequester, bool pMultipleResults) pKey: string, which defines a key used by element pValue: string, bool, number, userdata in case if you want filter by certain value, or false/nil if you don't need value to be matching pType: string, which defines data types, can be "local", "synced" or "private" pRequester: player or nil/false, which requests data - ignored when pType isn't equal to "private" pMultipleResults: bool, which decides if you want get more than one element using certain data, true for multiple elements, false for single element false: on failure table: on success/failure, when pMultipleResults is enabled element: on success, when pMultipleResults is disabled This function allows you to get a element(s) which contains certain data key, if required you can enable matching key to specified value. bool setCustomData(mixed pElement, string pKey, mixed pValue, string pType, mixed pReceivers, mixed pSyncer, mixed pEvent, mixed pBuffer, int pTimeout) pElement: element or string, which you wish to set data pKey: string, which defines a key used by element pValue: string, boolean, number, userdata or table which will be set as key value pType: string, which defines type of data, can be "local", "synced" or "private" pReceivers: player or table with players or nil/false, specifies which players will receive data, ignored if pType isn't equal to "private" pSyncer: element or false/nil, responsible for data syncing pEvent: string or false/nil, defining which server event caused data to change pBuffer: string or false/nil, if string passed it will enable batch or buffer functionality (see below for explanation) pTimeout: integer or false/nil, if it's == -1 then server will use batch, if it's >= 0 server will use buffer, ignored if pBuffer isn't enabled true: on success false: on failure This function allows you to set a data for element, with certain key, value and data type with some extras on server-side. bool forceBatchDataSync(mixed pQueue, mixed pType) pQueue: string/false/nil, when string is passed server will search for specified queue to sync, otherwise it will select all queues, not dependent on it's name pType: string/false/nil, when string is passed server will search for certain type of queue, can be "synced" or "private", otherwise it will select all queues, not dependent on type true: on success false: on failure This function allows you to optimise data flow by collecting pack of data and sending it with merged trigger, further explanations available in later part of tutorial. After reading detailed syntax, it's time to move on next topic and understand server-side data validation. Often skipped by majority of scripters, even though it's a very important thing. Server-side data validation It's a process when server validates data sent from client, if you aren't familiar with it, it might sound difficult, but in reality it isn't. Validation is made in server event function handler, via simple if conditions, it ensures that client sent valid data which later will be used by server. While MTA:SA anticheat is one of strongest ones and you can rely on it in most cases, it is scripter task to make sure that server-side logic is also scripted well, to completely eliminate possibility of harming your server by client sending fake (malicious variant), or incorrect data (default variant). Yes, even default client could be harmful, even unintentionally - let's take for a example ping as a main factor, due of delay between certain player and server, data for player A might have different value than for player B. What to do in that case? Answer is simple, get data value from server. Instead of: Client -> Request data change with player value -> Server -> Process it Do: Client -> Request data change -> Server -> Check for client variable -> Get value from server -> Process it But, what if (MTA) function isn't available server-side? Then you need use client for returning it and sending to server, e.g collision checks. While this might feels insecure you can (and should) always check whether type of data passed is valid. Special Lua function will be irreplaceable here. local clientData = {} local typeOfData = type(clientData) print(typeOfData) -- "table" You might wonder what is client variable? Shortly, it's a special global variable which is used in server events. This wiki article explains that when we want to receive a player who called the event, we should use client instead of source. Why? Because: Any player with access to runcode/Lua injector can pass another player which might have admin permissions. This will result in executing server code even though it shouldn't happen by default. Aforementioned source might be not an actual player, because you can pass pretty much every element e.g root, resourceRoot. Perhaps you already know that nothing is 100% safe? That is accurate sentence, but when it comes to scripted server-side data validation - you can't bypass it, if it's correctly written. Well, probably you could do that, but you'd need to access server itself, however if it'd happen then it's game over. Example of validation is available here, since i do not pass any data from player side, if client then condition with parent check is sufficient. Is there anything else you can do to protect your server more? Actually yes. Since trigger(Client)ServerEvent is a function which calls a counter-side functions (and pass data to it) it's affecting traffic and CPU. It should be well maintained (element data isn't exception). If you do not understand events then feel free to check IIYAMA's events tutorial, while he explains basics i will be expanding this by showing how you can reduce calls and optimise passing data between sides, because triggers are main component of my data system. We'll be moving step by step from easier to a bit harder topics, here comes our first step. Client-side delays As i mentioned before that triggers should be well maintained, we should add some delay for client-side, which will be a obstacle for someone, who'd try to spam server with triggerServerEvent calls. It's easily achievable with getTickCount function. --[[ /*************************************************** Client ***************************************************\ ]] local dataToPass = "string" -- data we want pass to server local lastTriggerCall = getTickCount() -- store last trigger call local delayValue = 500 -- ms function triggerEventByCommand() if getTickCount() - lastTriggerCall >= delayValue then -- if delay has passed triggerServerEvent("onServerEvent", localPlayer, dataToPass) -- trigger server event lastTriggerCall = getTickCount() -- update last trigger call end end addCommandHandler("trigger", triggerEventByCommand) --[[ /*************************************************** Server ***************************************************\ ]] function onServerEvent(pData) if client then -- check whether client exists (just for sake) local isString = type(pData) == "string" -- make sure that is string if isString then -- if so local validLength = #pData <= 4 -- check whether is less or equal to 4 chars if validLength then -- if so print("The checks have passed... Processing code.") end end end end addEvent("onServerEvent", true) addEventHandler("onServerEvent", root, onServerEvent) You can also implement same delay checks on server-side, but i believe that client-side should be sufficient. Selecting lowest possible source element for trigger Probably many of you (including myself), have passed root or resourceRoot as a 2-nd/3-rd argument in function: triggerServerEvent ( string event, element theElement, [arguments...] ) triggerClientEvent ( [ table/element sendTo = getRootElement(), ] string name, element sourceElement [, arguments... ] ) That shouldn't be done, unless you know what you are doing. Because of CPU impact which wiki states on client and server variation. Most of people (once again, including myself) misunderstood this note. Which is not about attaching custom events to root, but about passing it to trigger itself. While resourceRoot is lower than root in element tree, you should use localPlayer instead - on client-side. When it comes to server-side you can also use same player which triggered certain event, as for example this is handled similarly in server-side part of custom data. But i do also check if sourceElement (pSyncer) is actual element to avoid warnings. We could say that attachedTo is some kind of filter which checks if sourceElement which triggered certain event is allowed (depending on it's position in element tree) to process the function. But you've should already know that if you read events tutorial. addEventHandler ( string eventName, element attachedTo, function handlerFunction [, bool propagate = true, string priority = "normal" ] ) Optimising data flow First and foremost my favourite way - batching. What is it, why and when you should use it? Batching is a process when you place data in certain queue, this data however isn't synced instantly, it's stored at server-side in additional table, till force sync will be called (forceBatchDataSync). This is different scenario when we compare it to element data, while custom data with batching enabled sends pack of data in 1 trigger (1 queue = 1 trigger), element data sends each (!) data separately. In other words, you can do x100 setCustomData and they will be sent with 1 trigger, while x100 setElementData waste a lot of traffic and CPU by doing that separately. Generally you should use it always when you set more than one data. Practical example, setting data upon spawning vehicle: local dataTable = {{"Data 1", "Value 1"}, {"Data 2", "Value 2"}} function spawnInfernus(pPlayer) local playerType = getElementType(pPlayer) == "player" -- check if it's player if playerType then -- if so local dataPack = false -- store it for later reuse local dataName = false -- store it for later reuse local dataValue = false -- store it for later reuse local playerX, playerY, playerZ = getElementPosition(pPlayer) -- get player position local infernusElement = createVehicle(411, playerX + 5, playerY, playerZ) -- create vehicle for dataID = 1, #dataTable do -- loop through data table dataPack = dataTable[dataID] -- get data at certain index dataName = dataPack[1] -- get data name dataValue = dataPack[2] -- get data value setCustomData(infernusElement, dataName, dataValue, "synced", false, pPlayer, "spawn_infernus", "queue_spawn_infernus", -1) -- set data for vehicle, with specified name and value, with type "synced", receivers false, pPlayer as syncer, "spawn_infernus" as event name and queue "queue_spawn_infernus" with timeout -1 (batch) end forceBatchDataSync("queue_spawn_infernus", "synced") -- force "queue_spawn_infernus" to sync from "synced" type end end addCommandHandler("spawninfernus", spawnInfernus) Second way is using buffer, the difference between previous technique is that instead awaiting synchronization we create a timer which collects pack of data with given delay. Using it also results in data reduction, because calls are reduced. You can apply it to data which is being changed by multiple players, or in different scenario where you'd want to collect various data and sync them in same queue, i'll also include handy code by @IIYAMA which would help you adjust your delay. local sendingDelay = 100 -- ms local fps = 60 local timeSlice = 1000/fps local dataReduction = sendingDelay/timeSlice print("~"..(dataReduction - 1).." x times LESS per "..sendingDelay.." ms.") An simple buffer example: function bufferExample(pPlayer) local playerType = getElementType(pPlayer) == "player" -- check if it's player if playerType then -- if so local bufferChanges = getCustomData(pPlayer, "Buffer changes", "private", pPlayer) or 0 -- get changes for this data setCustomData(pPlayer, "Buffer changes", bufferChanges + 1, "private", pPlayer, pPlayer, "buffer_change", "queue_buffer_change", 3000) bufferChanges = getCustomData(pPlayer, "Buffer changes", "private", pPlayer) -- get once again changes for this data outputChatBox("Data has changed for player: "..getPlayerName(pPlayer).." -> Buffer changes: "..bufferChanges) end end addCommandHandler("buffertest", bufferExample) Data handlers - awesome addition Meet data handlers, equivalent of onClientElementDataChange, those are your own custom functions which could be attached to certain element, data type, key, and event. Once the function is triggered, it provides set of useful parameters which could be used inside function scope, this is another feature which makes this data system powerful. For examples, we'll refer to previously set data with batch and buffer. function onClientInternusDataChange(pElement, pKey, pType, pOldValue, pNewValue, pEvent, pSyncer) if pSyncer == localPlayer then print("I am syncer of this data! At event: "..tostring(pEvent)) end print("Key: "..pKey.." ("..pType..") has changed: "..tostring(pOldValue).." -> "..tostring(pNewValue)) end addDataHandler("vehicle", {}, {}, onClientInternusDataChange, "spawn_infernus") -- requirements to trigger function: element needs to be vehicle, any data type and key name can trigger this, event needs to be equal to "spawn_infernus" --[[ /*************************************************** ***************************************************\ ]] function onClientBufferChange(pElement, pKey, pType, pOldValue, pNewValue, pEvent, pSyncer) if pSyncer == localPlayer then print("I am syncer of this data! At event: "..tostring(pEvent)) end print("Key: "..pKey.." ("..pType..") has changed: "..tostring(pOldValue).." -> "..tostring(pNewValue)) end addDataHandler("player", "private", "Buffer changes", onClientBufferChange, "buffer_change") -- requirements to trigger function: element needs to be player, data type == "private" and key name == "Buffer changes" can trigger this, event needs to be equal to "buffer_change" How to use it? Download latest version, and add it directly to your gamemode, to use functions directly or leave it as a separate resource to use functions with exports. First option gives best performance, and allows you to use data handlers. Make sure that player parent isn't changed, in order for server-side to work correctly. Efficiency test Element data & Custom data in 100000 iterations (client-side, sync off) Set local data: ED: 31 ms < CD: 17 ms Get local data by key: ED: 19 ms < CD: 9 ms Get all local data: ED: n/a < CD: 10 ms
    4 points
  42. Happy New Year! From Germany.
    4 points
  43. I like the idea of your resource! It acts as a scripting backend, hence the suffix "(library)", which allocates new real model IDs for your own virtual set of model IDs. There appears to be a requirement to a fixed set of models into the resource so that it can sync them to players. Found issues in version 1.1.0 if there are two peds synced for the player and both have the same custom model assigned to them, then if one of them streams out your syncer attempts to release the custom model for both of the ped elements, especially the one already streamed in. While the documentation of engineFreeModel does not mention what happens in this case, I assume that the request fails. This scenario is a potential model ID leak (the client will run out of available real model IDs at some point). Even worse: the client could run out of RAM very quickly. Here are my suggestions add a custom model cache based on usage frequency, API hinting (setCustomModelAlwaysLoaded) or database flag so that MTA does not have to perform the expensive disk loading of model data as frequently (improves FPS) add a way to register custom models from other storage resources. This way custom models could potentially be downloaded from the server on-demand by a second resource and - after finishing the download - be registered as custom model inside of your own resource. Could be really fun! add statistics API about the number of custom models loaded, their usage details (frequency, number of elements with the model, etc) and the general performance of the resource. You could even add a debug dashboard using some hidden key combination (very important to build user-trust into your resource workings) One issue and suggestions · Issue #1 · Fernando-A-Rocha/mta-add-models (github.com) Nice work so far! Keep it up.
    4 points
  44. Hi, We currently have no plans to release a MTA Trilogy version as the game code just isn't there for us to see, however it is an option we would like to explore once Grand Theft Auto Trilogy is released.
    4 points
  45. This is an amazing effort done by SKC Vanilla staff, for making an amazing FORMULA 1 type-like event on MTA:SA - here are the video from the official race, they converted maps, they did scripts by their own. As a classic race player i'm proud of what they did. Tell me, if you like that also ;)
    4 points
  46. I activated the server again, I developed some features, I'm waiting for you all SERVER IP : 91.134.166.72:22013 my server features: - Item Shop - Item Sell System - Advanced group system - Missions - Vehicles of all types - Smart Zombies - NPC Bandit Groups - CCTV - Bases - Lobby - Derby - Race Mode - all databases available - old Accounts available - Shop Token - etc.
    4 points
  47. We've updated our Account Application system that allows you to register in-game and answer some questions about our rules & roleplay. It should be more accessible and less painful! Stay tuned for the upcoming update
    4 points
  48. There will be support and mod purchases
    4 points
×
×
  • Create New...