Leaderboard
Popular Content
Showing content with the highest reputation since 25/10/24 in all areas
-
Hey, here's something I started creating a few years ago now but hit a roadblock with. I decided to pick it back up again recently and see what I could do, and here's where I'm up to with it. This script is still a W.I.P.3 points
-
Hey everyone! I've completed a character customization script that works with all gamemode and easy to setup, and I'm excited to share its features! Key Features: Male & Female character models Loads character data directly from SQL Ensures data sync for real-time updates Smooth character loading in the selection screen Extensive customization options, with a wide variety of textures for male and female characters These features let you create a truly unique character with a broad range of personalization options! Additional Features: Integrated clothing store Accessories store Barbershop for detailed character styling Future Plans (V2): Specialized models for Police, Medic, and Mechanic characters (both Male & Female) Important Note: This script isn’t free. If you’re interested or have any questions, feel free to reach out for more information. Thanks for checking it out, and stay tuned for updates as I plan to add even more customization options! Discord: .undrr Discord: .undrr2 points
-
Quick update, project is very much alive and loads of progress has been made since this topic was made. I'll add a new comment soon outlining the work we've done over these 6 years. I usually just do updates on our Discord server but realized that there's possibly a group of people out there that might be trying to get their updates on the project here.2 points
-
Coopera San Andreas Online Gang War And Police Server Main Language: Arabic (Other languages could be spoken through our language-chat) Server Game-mode: Gang War Server IP: mtasa://23.88.73.88:35369 Discord Link: Click Here :سيرفر حرب العصابات تبع ميمون كاش https://www.youtube.com/@MimounX Gangs: { 11 Gangs } Gangs Clothes: Some Gangs Headquarters: Police: Vagos: Triads: Rifa: Jobs: Cleaner Job Dustman Job Icecream Job Pizza Job Towtruck Job Rob Bank: Clothes Store: Ammunition Store: Pizza Shop: and you can to play DeathMatch: Map DeathMatch: والمزيد من الاشياء رح اخليكم تستكشفونها في سيرفر اتمنى ان يعجبكم محتوى السيرفر ورح تكون هناك تحديثات قوية ومستمرة انشاء الله1 point
-
Coopera San Andreas Online Gang War And Police Server Main Language: Arabic (Other languages could be spoken through our language-chat) Server Game-mode: Gang War Server IP: mtasa://23.88.73.88:35369 Discord Link: Click Here :سيرفر حرب العصابات تبع ميمون كاش https://www.youtube.com/@MimounX Gangs: { 11 Gangs } https://i.postimg.cc/2j4LsQ3X/Gangs.png Gangs Clothes: https://i.postimg.cc/Ss9VFnz7/Gangs-Clothes.png Some Gangs Headquarters: Police: https://i.postimg.cc/PJ4WTYfZ/Police1.png https://i.postimg.cc/sf99YdPX/Police2.png Vagos: https://i.postimg.cc/26jjgZtg/Vagos.png Triads: https://i.postimg.cc/bJ6YPvcr/Triads.png Rifa: https://i.postimg.cc/8P7c1LCS/Rifa.png Jobs: Cleaner Job Dustman Job Icecream Job Pizza Job Towtruck Job https://i.postimg.cc/xdvqwY1N/Pizza-Job1.png https://i.postimg.cc/J40DG9PS/Pizza-Job2.png Rob Bank: https://i.postimg.cc/VvpYSHNc/Bank-rob1.png https://i.postimg.cc/gJ0dgPXW/Bank-rob2.png Clothes Store: https://i.postimg.cc/RCXJCMQc/Clothes-Store1.png https://i.postimg.cc/J0D8Wc5Y/Clothes-Store2.png Ammunition Store: https://i.postimg.cc/gJBp5B86/Ammunition-Store1.png https://i.postimg.cc/J0GrzWMq/Ammunition-Store2.png Pizza Shop: https://i.postimg.cc/W1r4ZjrY/Pizza-Shop.png and you can to play DeathMatch: https://i.postimg.cc/QCyMQd0w/Death-Match.png Map DeathMatch: https://i.postimg.cc/Gms4jv0Q/Death-Match-Map1.png https://i.postimg.cc/zfZV2381/Death-Match-Map2.png https://i.postimg.cc/8c2SkJyp/Death-Match-Map3.png "والمزيد من الاشياء رح اخليكم تستكشفونها في سيرفر اتمنى ان يعجبكم محتوى السيرفر ورح تكون هناك تحديثات قوية ومستمرة انشاء الله " |* مع السلامة *| --1 point
-
Please make sure you use English when posting outside language-specific sections. Thanks!1 point
-
https://github.com/Fernando-A-Rocha/mta-server-updater run this python script to easily update your server1 point
-
Hey. I've tried to update your server, and it appears I have updated mine, strange. But in all seriousness, that's a loopback address and is how your computer references itself on networks. An IP is not required to update your server, you can either do it as Shady said, or I'm pretty sure @FernandoMTA made a automatic server updater?1 point
-
Use AI in your MTA:SA resources. Powered by providers like OpenAI, Anthropic & Groq. You can now bake Artificial Intelligence into your resources, gamemodes and systems. This resource exports the below functions: init(config) generateText(prompt,system) generateObject(prompt, system) getProviders() getModels(provider) getConfig() Example usage: The below code initializes the AI agent (add your API key from the provider) and creates a ped and a marker. when the player hits the marker, the ped says something funny. addEventHandler("onResourceStart", resourceRoot, function() AI.init({ api_key = "", provider = "groq", model = "llama3-8b-8192", temperature = 0.7, max_tokens = 150 }) createPed(0, 0, 0, 5) local marker = createMarker(0, 0, 2, "cylinder", 5, 10, 244, 23, 10, root) local function handleMarkerHit(hitElement) local elementType = getElementType(hitElement) if elementType ~= "player" then return end local playerName = getPlayerName(hitElement) outputDebugString("Player "..playerName.." hit marker") AI.generateText(playerName.." got close to you, say something funny, and out of pocket. Limit is 255 characters. Your name is Pedro. Don't use quotes.", "You are a random pedestrian living in San Andreas, grand theft auto.")( function(result, error) if error then outputDebugString("Error: " .. error) return end if (result:len() >= 254) then result = result:sub(1, 254) .. "..." return end outputChatBox("[Pedro]: "..result, hitElement, 255, 255, 255) end ) end addEventHandler("onMarkerHit", marker, handleMarkerHit) end ) Download: https://community.multitheftauto.com/index.php?p=resources&s=details&id=18946 Roadmap: - Support conversation history - Support streaming - Contributing: Contributions are welcome on Github: https://github.com/MrgSub/mtasa-ai1 point
-
1 point
-
1 point
-
Pretty cool. Hopefully you can get it working and some roleplay servers can use it because I love billiards.1 point
-
1 point
-
Simplified MTA Beginner's Guide https://gist.github.com/Fernando-A-Rocha/f99294cf32d8a205830068d9668a9090 Created by me1 point
-
1 point
-
1 point
-
1 point
-
hi, offset = 0x000DFE92 is an error that is explained in the wiki https://wiki.multitheftauto.com/wiki/Famous_crash_offsets_and_their_meaning Bad sound mods or faulty audio driver/device. Use the unmodified GTA installation to check or update your audio drivers. The problem is usually caused by completely missing or empty/corrupted audio files (such as in \Rockstar Games\GTA San Andreas\audio > SFX or another subfolder), so you can alternatively restore a specific backup. Do not use 'compressed' GTA repacks for this reason, as the audio files may be cut off. modifications to your gta, such as overdose, shadow, moon, gta3, can cause these crashes due to poor otomization of the png or .img file, check this and download the gta with everything original here. I hope I helped.1 point
-
1 point
-
Thank you for your help, I managed to fix this issue - and probably prevented some upcoming issues - by adding the following to the ACL: <acl> <group name="ServerScript"> <acl name="ServerScript"></acl> <object name="resource.*"></object> </group> <acl name="ServerScript"> <right name="function.loadstring" access="true"></right> ... </acl> </acl> Have a great day, thanks again @IIYAMA for your help and time!1 point
-
Utilize getPedTask para saber se o jogador está fazendo a animação de entrar no veículo. (Client-Side)1 point
-
1 point
-
That is why you can capture those by surrounding the fromJSON with a table: local result = {fromJSON(data)} Although this solution might be more optimised: local result = fromJSON("[" .. data .. "]") It changes your data string to: [[ { "id": 49, "username": "framef318", "email": "[email protected]" }, { "id": 50, "username": "framef3188", "email": "[email protected]" } ]] Which helps returning everything inside of 1 variable, instead of multiple.1 point
-
Yes, i use that system because of this, if more easy than create a system using elementdata or tables for known who is loggin https://wiki.multitheftauto.com/wiki/IsGuestAccount1 point
-
On my server, I use both: the MTA database to know only whether the user is logged in or not, and MySQL to store all the information and be able to share it across servers. I have several tables in MySQL: one just for login, where I store the email, password, and username, and another one to store user information.1 point
-
This function can return one table, which also contains other tables, so you don't need to declare multiple variables to store the return vale of it. The detailed description of the function can be found here: https://wiki.multitheftauto.com/wiki/FromJSON1 point
-
And if you do: local result = {fromJSON(data)} ? { "id": 49, "username": "framef318", "email": "[email protected]" }, This is one return value. local a, b = fromJSON(data) { "id": 50, "username": "framef3188", "email": "[email protected]" } And this is one return value. local a, b = fromJSON(data) Other way (untested): local result = fromJSON("[" .. data .. "]")1 point
-
This seems to be a problem with your PC, when the problem is on the MTA a box appears with the problem, but this is not the case.1 point
-
1 point
-
Возможно) Когда-то форум был более активен. Сейчас же большинство перешло в discord, а русскоязычный сегмент обитает в форках. Может старый ник подскажешь?1 point
-
Brnchost is a specialized Virtual Dedicated Server (VDS) provider, initially established to cater to the MTA Multi Theft Auto: San Andreas community. One of our key strengths is providing professional-grade DDoS protection, ensuring a secure and uninterrupted service for our clients. Founded in 2023, Brnchost officially launched in 2024 with expanded infrastructure and dedicated servers. Since then, we have consistently developed and diversified our offerings, with a primary focus on the gaming industry. Our Services At Brnchost, we offer a range of specialized services, including: Game Servers: High-performance virtual server solutions, particularly for popular games like MTA Discord Bot VDS Services: Optimized VDS solutions for hosting bots on the Discord platform. Dedicated Server Services: Custom dedicated servers designed for high-performance projects and applications. Brnchost remains committed to delivering tailored solutions with a customer-centric approach and robust infrastructure, meeting industry needs with a professional outlook. Our contact information : E-mail : [email protected] Company number & WhatsApp support : WhatsApp Link Discord: https://discord.gg/brnchost1 point
-
Brnchost Hakkımızda Brnchost, başlangıçta MTA (Multi Theft Auto: San Andreas) topluluğuna yönelik olarak kurulmuş, uzmanlaşmış bir Sanal Adanmış Sunucu (VDS) sağlayıcısıdır. En önemli özelliklerimizden biri, profesyonel düzeyde DDoS koruması sunarak müşterilerimize güvenli ve kesintisiz bir hizmet sağlamamızdır. 2023 yılında kurulan Brnchost, 2024 yılında altyapısını genişleterek ve adanmış sunucularını devreye alarak resmi olarak faaliyetlerine başlamıştır. O zamandan beri hizmet yelpazemizi sürekli geliştirerek çeşitlendirdik ve öncelikli olarak oyun sektörüne odaklandık. Hizmetlerimiz Brnchost olarak sunduğumuz çeşitli özel hizmetler arasında şunlar bulunmaktadır: Oyun Sunucuları: Özellikle MTA gibi popüler oyunlar için yüksek performanslı sanal sunucu çözümleri. Discord Bot VDS Hizmetleri: Discord platformunda çalışan botları barındırmak için optimize edilmiş VDS çözümleri. Adanmış Sunucu Hizmetleri: Yüksek performans gerektiren projeler ve uygulamalar için özel olarak tasarlanmış adanmış sunucular. Brnchost, müşteri odaklı yaklaşımı ve güçlü altyapısıyla, sektör ihtiyaçlarına profesyonel bir bakış açısıyla özel çözümler sunmaya devam etmektedir. İletişim Bilgilerimiz: E-posta: [email protected] Şirket numarası ve WhatsApp desteği: WhatsApp Linki Discord: https://discord.gg/brnchost1 point
-
MTA tarafındaki bir çok host tarafını denemişimdir ancak şunu söylemeliyimki testlerim başarıyla gerçekleştirildi ve harika bir host sağlayıcısılar, benim tavsiyem sizlerinde bir göz atmasındır.1 point
-
Lua Metatables Guide Introduction Hello, I’m Shady, and I’m here with a new tutorial. At the bottom of this section, in the credits, you will find all the links to my other tutorials. Those should be your first priorities. I have prepared a tutorial that will help you explore metatables at an advanced level and set you on your way,The Lua programming language has gained popularity for its simple yet powerful syntax, making it a common choice for both game development and general-purpose programming. This guide will enable you to delve deep into the metatable feature of Lua and demonstrate how to apply object-oriented programming (OOP) concepts using metatables. Metatables are used to customize the behavior of tables in Lua and manage complex data structures. In this guide, we will focus on the following topics: What is a Metatable?: We will understand the concept of metatables and why they are used. Creating Classes with Metatables: We will create a simple Vector class and explore operator overloading methods. Inheritance: We will learn how to implement inheritance and override functions using metatables. Complex Scenarios: We will create more complex structures, such as a character class, using metatables in real-world applications. By the end of this guide, you will learn how to effectively utilize metatables in Lua, enhancing the functionality of your games or applications. So, let's step into the world of Lua metatables! What is Metatable? A metatable is a special table used to change the behavior of tables in Lua. With a metatable, you can inherit between tables and perform special operations. Creating Metatable... First, we need to create a metatable. We can define it as a simple table. myMetatable = {} Using Metatable in a Table To assign a metatable to a table, we use the setmetatable function myTable = {} setmetatable(myTable, myMetatable) Operator Overloading with Metatable Metatables can also be used for operator overloading. For example, let's define the __add function for addition. myMetatable.__add = function(t1, t2) return t1.value + t2.value end Adjusting the Values of Tables We can use the __index and __newindex methods in the metatable to set the values of tables. myMetatable.__index = function(table, key) return "Key not found: " .. key end myMetatable.__newindex = function(table, key, value) rawset(table, key, value) end Example of Use myTable.value = 5 local anotherTable = { value = 10 } setmetatable(anotherTable, myMetatable) local result = myTable + anotherTable print(result) -- 15 Metatable and Mapping Functions Metatables are used to provide functionality and inheritance relationships between tables in Lua. With special keys provided by the metatable, we can map between tables. Operator overloading functions like __index, __newindex, __add, and __sub allow us to change the behavior of tables. An Example in Depth: Vector Class Below, we will create a Vector class. This class will support addition, subtraction, and other vector operations. -- Creating the vector metatable Vector = {} Vector.__index = Vector -- Create a new vector function Vector:new(x, y) local vec = setmetatable({}, Vector) vec.x = x or 0 vec.y = y or 0 return vec end -- Vector addition function Vector:__add(other) return Vector:new(self.x + other.x, self.y + other.y) end -- Vector subtraction function Vector:__sub(other) return Vector:new(self.x - other.x, self.y - other.y) end -- Calculate vector length function Vector:length() return math.sqrt(self.x^2 + self.y^2) end -- Usage example local v1 = Vector:new(3, 4) local v2 = Vector:new(1, 2) local v3 = v1 + v2 print("Sum Vector:", v3.x, v3.y) -- 4, 6 print("Length of Vector 1:", v1:length()) -- 5 Metatables control the operations listed next. Each operation is identified by its corresponding name. The key for each operation is a string with its name prefixed by two underscores, '__'; for instance, the key for operation "add" is the string "__add". The semantics of these operations is better explained by a Lua function describing how the interpreter executes the operation. add": the + operation. The function getbinhandler below defines how Lua chooses a handler for a binary operation. First, Lua tries the first operand. If its type does not define a handler for the operation, then Lua tries the second operand. function getbinhandler (op1, op2, event) return metatable(op1)[event] or metatable(op2)[event] end By using this function, the behavior of the op1 + op2 is function add_event (op1, op2) local o1, o2 = tonumber(op1), tonumber(op2) if o1 and o2 then -- both operands are numeric? return o1 + o2 -- '+' here is the primitive 'add' else -- at least one of the operands is not numeric local h = getbinhandler(op1, op2, "__add") if h then -- call the handler with both operands return (h(op1, op2)) else -- no handler available: default behavior error(···) end end end "sub": the - operation. Behavior similar to the "add" operation. "mul": the * operation. Behavior similar to the "add" operation. "div": the / operation. Behavior similar to the "add" operation. "mod": the % operation. Behavior similar to the "add" operation, with the operation o1 - floor(o1/o2)*o2 as the primitive operation. "pow": the ^ (exponentiation) operation. Behavior similar to the "add" operation, with the function pow (from the C math library) as the primitive operation. "unm": the unary - operation. function unm_event (op) local o = tonumber(op) if o then -- operand is numeric? return -o -- '-' here is the primitive 'unm' else -- the operand is not numeric. -- Try to get a handler from the operand local h = metatable(op).__unm if h then -- call the handler with the operand return (h(op)) else -- no handler available: default behavior error(···) end end end "concat": the .. (concatenation) operation. function concat_event (op1, op2) if (type(op1) == "string" or type(op1) == "number") and (type(op2) == "string" or type(op2) == "number") then return op1 .. op2 -- primitive string concatenation else local h = getbinhandler(op1, op2, "__concat") if h then return (h(op1, op2)) else error(···) end end end "newindex": The indexing assignment table[key] = value. function settable_event (table, key, value) local h if type(table) == "table" then local v = rawget(table, key) if v ~= nil then rawset(table, key, value); return end h = metatable(table).__newindex if h == nil then rawset(table, key, value); return end else h = metatable(table).__newindex if h == nil then error(···) end end if type(h) == "function" then h(table, key,value) -- call the handler else h[key] = value -- or repeat operation on it end end "call": called when Lua calls a value. function function_event (func, ...) if type(func) == "function" then return func(...) -- primitive call else local h = metatable(func).__call if h then return h(func, ...) else error(···) end end end Override and Inheritance We can achieve inheritance using metatables in Lua. By creating subclasses and using the superclass's metatable, we can override some functions. -- 2D Vector Metatable Vector2D = setmetatable({}, Vector) Vector2D.__index = Vector2D -- Create a new 2D vector function Vector2D:new(x, y) local vec = Vector:new(x, y) setmetatable(vec, Vector2D) return vec end -- Rotate the 2D vector function Vector2D:rotate(angle) local cosA = math.cos(angle) local sinA = math.sin(angle) local newX = self.x * cosA - self.y * sinA local newY = self.x * sinA + self.y * cosA return Vector2D:new(newX, newY) end -- Usage example local v2d = Vector2D:new(1, 0) local v2dRotated = v2d:rotate(math.pi / 2) print("Rotated Vector:", v2dRotated.x, v2dRotated.y) -- 0, 1 More Complex scripts Metatables can be used to model complex data structures and behaviors. For example, we can create a class representing the attributes of a game character. -- Character metatable Character = {} Character.__index = Character function Character:new(name, health, power) local char = setmetatable({}, Character) char.name = name or "Unknown" char.health = health or 100 char.power = power or 10 return char end function Character:attack(target) target.health = target.health - self.power print(self.name .. " attacked " .. target.name .. "!") end -- Usage example local hero = Character:new("Hero", 150, 20) local monster = Character:new("Monster", 80, 15) hero:attack(monster) print(monster.name .. " remaining health: " .. monster.health) -- 60 NOT : Metatables form one of the foundations of object-oriented programming in Lua, allowing you to create complex structures and functionalities. In this guide, you learned how to create classes using metatables, inherit from them, and perform operator overloading. Metamethods: metatables and metamethods offer powerful functionality that enhances the flexibility and behavior of tables. Metatables allow you to customize the behavior of tables, while metamethods are functions that define this behavior. This tutorial will explore the fundamentals of these concepts with fun and practical examples,Metamethods are special functions defined within a metatable that get triggered when specific operations occur. Credits and Additional Resources Official Lua Documentation; Explore the official Lua documentation for comprehensive details on Lua features, including metatables. https://www.lua.org/manual/5.4/manual.html#2.4 https://www.lua.org/manual/5.1/manual.html#2.8 Lua 5.1 Reference Manual Lua 5.4 Reference Manual Metatable Events https://devdocs.io/lua~5.1/1 point
-
Hi!, my name is Laxante101, I'm a .Lua developer, And today I will try to help you understand SQlite WHAT IS SQLITE? SQLite is a relational database management system (RDBMS) that does not require a separate server to function. Unlike database systems like MySQL or PostgreSQL, which need an active server process, SQLite is "embedded" (that is, the database is stored in a local file on disk), and operations with they are made directly within the program that uses it. Luckily for us, SQLite is already built into the MTA. This means that you can use SQLite databases directly in your MTA Lua codes without having to install anything additional "external" or configure an external database server. SQLite support is native to MTA, facilitating the use of databases for persistent storage of in game information. It is normally used on servers that do not use the login panel, they use SQlite so their information that would be saved in accounts is now saved in the .db file. Or on servers that don't use the original game money, they create other types of “money” like diamonds, stars which are all saved every day, well that's usually the case IMPORTANT DETAILS • Simplicity: Doesn't require anything other than a notepad • Portabilidade: Data is stored in a single .db file, which makes backup and migration easier. SQlite Global Structure Connect to Database with dbConnect Execute Queries using dbExec to modify data and dbQuery to recover data. 3. Manipulate Results with dbPoll and process the returned data. Connection to the Database the database file can be created automatically when connecting. The database file is saved in the server's root folder. local db = dbConnect("sqlite", "storage.db") or if you want to automatically create a folder for your file, or to save your .db files, if it is not created it creates it automatically, if it is created it just puts the file in the path. local db = dbConnect("sqlite", "db/storage.db") in this case the "db" folder will be created Creating Tablese data, you first need to create tables in the database. This is done using normal SQL commands like consulta local = [[ CREATE TABLE IF NOT EXISTS players ( id INTEGER PRIMARY KEY AUTOINCREMENT , name TEXT , score INTEGER ) ]] dbExec ( db , query ) Create a player table if it doesn't already exist In this case, we are creating a players table with three columns: ID Name Score Table Structure TEXT: STRINGS INTEGER: STORAGE NUMBERS REAL:STORES FLOATING POINT NUMBERS BLOB: STORES BINARY DATA (images, files). NULL: NIL VALUE If you don't understand what a string or Boolean values are, learn about data types VIDEO HERE Entering Data To add data to the database we use the SQL command INSERT INTO function AddPlayerLX1(name, score) local query = "INSERT INTO jogadores (name, score) VALUES (?, ?)" dbExec(db, query, name, score) end AddPlayerLX1("juninho", 100) The INSERT INTO command inserts a new player with the name "juninho" and score 100 into the players table. Note: The question marks (?) are placeholders for the values that will be passed to dbExec. This helps prevent SQL injection. Deleting Data To remove data from the database, we use the SQL DELETE command DELETE function DeletePlayerLX2(name) local query = "DELETE FROM players WHERE name = ?" dbExec(db, query, name) end DeletePlayerLX2("juninho") Error Handling It is important to verify that database operations were successful. MTA doesn't automatically return detailed errors other than "/debugscript (1, 2, 3)" so let's add checks. function AddPlayerLX3(name, score) local query = "INSERT INTO jogadores (name, score) VALUES (?, ?)" local sucess = dbExec(db, query, name, score) if sucess then outputDebugString("Sucess.") else outputDebugString("Error.") end end IF SUCESS THEN the success variable stores the result of the dbExec function. If the SQL command execution was successful (i.e. the player was added to the database), success will be true. If success is true, the code inside the if block will be executed. else If the success value is false (that is, if the player's insertion fails for some reason, such as an error in the database connection or SQL query), the code inside the else block will be executed Optimizations and Best Practices Optimizations are great for your day-to-day life as a developer, this makes your code more beautiful, less likely to give you server overload errors, etc... Remember to use dbFree to flush queries after use, especially if you are not using dbPoll. local LX4 = dbQuery(db, "SELECT * FROM players") dbFree(LX4) There are several ways to create clean code, I left just one of them Let's be clear: Since the SQLite database is a flat file, you can back it up by simply copying the .db file. To restore the database, simply replace the old file, this is a big advantage of using SQlite instead of using external databases. OBS: All codes were made based on an example of player name and id points, not made in a real project. (just to make it clear That's all I remembered, if there's anything I didn't make clear here you can say it and I'll edit it or respond to you1 point
-
mta-add-models is a library/framework resource that I made: 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. As of v2.0.0, files with attribute download="false" in meta.xml are supported, and newmodels will handle downloading them! The way to achieve this is by following the tutorial included in the project's documentation (see GitHub link below) The resource comes with test commands for you to experiment with the mods provided and see what's going on under the hood. You're meant to make your own implementations to use newmodels in your server's complex systems. GitHub Repo (Download): https://github.com/Fernando-A-Rocha/mta-add-models#readme (Documentation here) (NEW) Custom Map Editor Community Page (Alternative Download): https://community.multitheftauto.com/index.php?p=resources&s=details&id=18598 For support/questions please access my main thread: https://forum.multitheftauto.com/topic/139644-rel-nandos-resources/ I hope you enjoy!1 point
-
@Malmalzkadicione esse script server-side no seu resource: (não se esqueça de colocar o nome do seu arquivo.map) function assignLOD(element) -- Função útil que gera um objeto LOD igual ao elemento declarado. local lod = createObject(getElementModel(element),0, 0 ,0, 0, 0, 0, true) setElementDimension(lod,getElementDimension(element)) setElementPosition(lod, getElementPosition(element)) setElementRotation(lod, getElementRotation(element)) setElementCollisionsEnabled(lod,false) setLowLODElement(element,lod) return lod end addEventHandler("onResourceStart", resourceRoot, function() -- Executa essa função ao iniciar este resource. local mapFile = getResourceMapRootElement(resource, "mapa.map") -- Nome do seu arquivo .map (se estiver dentro de uma pasta do resource, precisa declarar também.) local objetos = getElementsByType("object", mapFile) -- Obtém todos os elementos do tipo objeto neste mapa. for _, obj in ipairs(objetos) do -- Para cada objeto, faça: assignLOD(obj) -- Gera uma versão LOD igual ao objeto na mesma posição. Versões LOD são visíveis a grandes distâncias. end end) As casas vão passar de 150m para 400m de visibilidade.1 point
-
https://github.com/Vadya963/50pSublimeText3Package download from here you can read how to install it below1 point
-
https://github.com/philippekwiatkowski/pk-mta-roleplay-scripts I released my scripts for an RP server a few years ago. Code is old, but the logic can be useful for learning. Cheers, PK1 point
-
After a decade of building the best known Roleplay script out there. The OwlGaming community has been the last large community that has maintained (and publicly released) the Valhalla Gaming Roleplay script, with all its resources ready for anyone to create their own server. However, before the release of the script that is now available on github. The developers have cleared some specific resources, files, and possibly certain configurations, which ultimately resulted in a untested , and often difficult to install gamemode. Even if you managed to get the server running, you already get faced with various challenges to get your account operational. And when you do get your character created, and you can roam around the map. Many features (such as chat) are not functional. This seems a disservice to what the initial gamemode, its growth, and dedication of many developers actively working on it to leave such a prominent gamemode broken on a public service. Therefore I have made a 69th fork of the gamemode, with the intention to get the gamemode in working condition. But I cannot do it alone. This is where I ask the community to band together, and give this gamemode the care it deserves. Github Repo: MittellBuurman/MTA-Roleplay-Community Discord: SourPatch GC If you're interested in participating or contributing. Feel free to send me a PM on discord, or join the server and get the ideas flowing. Hope to see you there!1 point
-
Hello, This is a gamemode I made quite a while ago. The gamemode is heavily inspired by GMOD's cinema servers. I am releasing it as open source as it probably needs a little bit more polishing and I don't code in MTA anymore, therefore the community could improve on it if they find interest in it. To use the gamemode you must create a youtube v3 api and put the API key in Cinema\modules\services\server_youtube.lua file. Gamemode: https://github.com/Ali-Ysf/Cinema Notes: The gamemode is made for an "easy" integration inside another gamemode/server. A roleplay server for example. E - interactions. Q - video queue/request video Tab - scoreboard Video: Edit: I have noticed that the standby image still has the server's name where the cinema was deployed. You can find the stand by psd file in Cinema\data\images so feel free to change it to whatever you want1 point
-
Hello everyone, I'm not an active member on the MTA Community and I don't know if this is the best place to post my small contribution. Basically I've coded one small app that converts a figma project into a lua script with dxDraw function. With this converter you'll be able to design your server inside figma and generate all code automatically. This app just generates the design, nothing more. I have intentions to maintain the repository with more updates, so keep an eye on it. Here's the repository: https://github.com/was547/OpenFigmaToMTA Unfortunately I can't post any photos here, but once the app is open sourced you're free to check the code, compile and use. Also I'll create some tutorials soon of how to use. Any bugs feel free to open an issue. Regards, Woz1 point
-
Hello everyone. Before anything else, this script works client-side and it will not disrupt the server-side balance and it will NOT cause lag. It's a showcase, download is not available yet but there is a test server you can join. Explanation: This is a script we've been working on. It introduces peds all around the map with custom attitudes of their own. All killed peds will drop some amount of cash, and their weapon if they have one. When you alt tab, the "game" will pause like the single player. The bullets and the peds will freeze. When you alt-tab back on, everything will continue from the last second you left it on. Peds: Peds will be minding their own business and they are not hostile unles provoked. They will react to world events such as someone walking past them, gunshots, explosions, vehicles near them and obstacles. They will put their hands up when threathened and start running or fight back. Some of them will defend when attacked,ome of them will run. Some of them will even defend others from trouble. A few of them have some custom behaviors but I won't spoil that. Most of them will be unarmed but some of them will carry weapons. They prefer melee weapons such as a bat or a knife, but there are some paranoid nutjobs who can't go outside without a gun. Cops: If the police is near, commiting a crime will alert them and your wanted level will increase. As your wanted level goes up, more dangerous cops will start chasing you. You can stay away the police in order to reduce your wanted level, or find bail pickup I put around the map. All of them can be found in their original San Andreas locations, as well ass some I have added to suit the gamemode. That's not all though! If a ped kills another ped, the police will be agressive towards them instead. If a ped punches another, they will respond back. Some of them will defend their friends, some of them will bail etc.- This makes the world feel alive. Military/Swat: They will be introduced when your wanted level is above 4 stars. They will carry more dangerous weapons such as Deagle, M4 and MP5. They will reward you with really good EXP when killed, but they are really challenging. Gangs: In suitable ares, gang members will spawn as groups. They will all carry weapons and they will defend their group when one of them is attacked. Mafia: The mafia will spawn in certain areas, mostly being San Fierro. They are not agressive unless provoked, and they are REALLY dangerous. They will grant good loot and experience if you have the balls to mess with them. There are more features I couldn't show off because I don't want to make the video too long to sit through. Check the description in the video if you want to play-test the script. Have a good one! Screenshots:1 point
-
https://community.multitheftauto.com/index.php?p=resources&s=details&id=14568 Decided to go for a zombies script from scratch instead of relying on old and outdated ''zday'' zombies or slothboth. These zombies will follow you and try to kill you, once they get too close you'll be dead before you know it so make a good defense line. Location is open field near SF airport, zombies will only spawn and work inside that colshape. When player enters it (atleast one player must be there for any zombies to spawn and exist) he will see a stats window counting and saving his zombiekills, deaths and headshots on zombies. These stats will get saved to account if player is logged in. I will add a video demonstration soon. Zombie skins total size (34 gore skins): 250kb only (heavily optimized) and zombie moan/groan sound files about 77kbit each, no strain on client performance nor server (by the way, you can edit the amount of zombies and other variables in the beginning of zombies_s.lua;1 point
-
1 point
-
fixed a lot of bugs in the old version, please download1 point
-
Hello. Today I am giving you a gamemode inspired by the PUBG game! Without unnecessary talk, I will show you how to properly enable gamemode! It's easy to run this gamemode. Begin with adding this to mods > deathmatch > acl > "Admin" group bottom: <object name="resource.pubg"></object> <object name="resource.pubg_config"></object> So it will look like this: <group name="Admin"> <acl name="Moderator"></acl> <acl name="SuperModerator"></acl> <acl name="Admin"></acl> <acl name="RPC"></acl> <object name="resource.admin"></object> <object name="resource.webadmin"></object> <object name="resource.acpanel"></object> <object name="resource.pubg"></object> <object name="resource.pb_config"></object> *optionally; admin account for you, using <object name="user.yourAccount"></object> at the bottom. After doing that, open mtaserver.conf and add this at bottom (REMOVE all existing auto-start resources); <!-- pubg is the default gamemode. Remove the following line to prevent it from starting. --> <resource src="pubg" startup="1" protected="0" /> The main gamemode is supposed to start all other depending resources with <include resource="resourceName" /> in meta.xml of the main gamemode resource. So, after adding "pubg" / the main resource to autostartup, it should be sorted already. Now, start the server and play! No accounts or SQL DB required for playing, guest-based! It also contains commands such as: pb-start force || This command forces gamemode start, no matter the amount of players in lobby. pb-starttimer || This command force-starts the timer (default: 60 secs) to start running before auto-launching a new game from lobby, irrespective of amount of players. pb-end dimension || Ends a certain gaming session abruptly, use the dimension ID's for lobbies that are printed to Server console (MTA Server(64).exe) to identify and stop a game while its still running. pb-minplayers [min] || Override a player minimum for specific lobby Video: Download: https://www91.zippyshare.com/v/aSjy6xLh/file.html1 point
-
So... You download my gamemode from somewhere or by someone who leaked it previously https://github.com/rivor/pubg-mta/ and by making play button uglier you call it your own pubg 2.0? Lol1 point
-
New update added, changes: - This time actually made the promise of low server/client performance usage, true. More optimizations. (resource eats only about 0.15% server CPU now - Improved sync, added option to select syncer by lowest ping (disabled by default; change in variable .lua, may cause issues with players that have low FPSes..) - Added option to disallow players hurting eachother while in the zombie field (variable in clientside .lua, called 'noPVP') - Added option to respawn back players in the zombie-field when they die while in the area, at the hands of a zombie. (so only for participants) (variable in serverside .lua) - Adjusted position of player zombiekill stats and made its box scrollable if too many players join the area for it to fill up. New admin commands: - /wipefield (removes all players inside the zombiefield, you can use this for various purposes like many AFKers distracting zombies to their positions for no good) - /populate (selects and warps 5 random players to the zombie field; use with care, depending on your gamemode it may disrupt players if they get warped without asking for it; might be useful hosting zombiekill events) Bug fixes: - Fix limitation you could only headshot zombies. Now, you can shoot them anywhere on the body or blow them up.1 point
-
For every vehicle the cap is in a different position so you will have to create a table with offsets. The best way for the offsets to line up every time at any angle is using the element's Matrix. For this you'd need to enable OOP in your script. Here's a simple code that does this and make the offsets simple for you to edit -- This is the offsetTable where we add the vehicles and its fuel cap -- [vehicle Model] = Vector3(Right, Forward, Up) local oT = { [411] = Vector3(1.08,-2.1,0.09), --Infernus [400] = Vector3(-1,-2.1,-0.09), --Landstalker [485] = Vector3(-0.79,0.7,0), --Baggage } local color = tocolor( 255, 255, 255 ) -- Simple color variable. -- Run this function for every frame. addEventHandler( "onClientRender", root, function( ) --Create a table of all the vehicles in the server. local vehs = getElementsByType"vehicle" -- Loop through every vehicle in the server. for i=1,#vehs do -- Checks if the vehicle's model is in the offsetTable. if oT[vehs[i].model] then -- Create some simple variables. local veh,model,offset = vehs[i],vehs[i].model,oT[vehs[i].model] -- Convert the global position to screen position. local screenOffset = Vector2(getScreenFromWorldPosition( veh.matrix:transformPosition(offset), 0, false )) -- Draw a circle at that location. dxDrawText( "●", screenOffset, screenOffset, color, 2, "default", "center", "center" ) end end end ) https://streamable.com/x3mlx1 point