Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 18/06/23 in all areas

  1. Dear Multi Theft Auto players and supporters! Today is the 20 Year Anniversary of Multi Theft Auto! On the February 9th 2003, a rudimentary GTA3 multiplayer prototype was released by our founder, IJsVogel. It did not take long for contributors to join the effort and turn it into a real multiplayer mod. The mod IJsVogel created was originally named “GTA3: Alternative Multiplayer”, but soon after it became “GTA3: Multi Theft Auto”. The Multi Theft Auto (MTA) name became the identity of all following projects. As new GTA games were released, new projects were created for GTA3, GTAVC, GTASA and GTAIV. Respectively, the main project names are: GTA3:MTA, MTA:VC, MTA:SA, MTA:IV. The development during GTA3 showed what the team was capable of with enough learning and reverse engineering. At this time, game modes were made for deathmatch and vehicle stunts. These game modes were hard-coded into the mod and could not be altered. It was not perfect, but it was an amazing accomplish for the time. Not only was it the first multiplayer for GTA, but it was an unprecedented undertaking. An early version of GTA3:MTA 0.2 (client and server). Some time in the first half of 2003. The working experience on GTA3 laid the framework for the second project, MTA:VC. It did not take long after GTA: Vice City for the 1st version of MTA:VC to release. The MTA Team succeeded in creating the basic multiplayer functionality much quicker through past-experience. At this point, MTA was well-known and there were mentions on gaming websites, magazines and even a TV interview on the gaming channel G4TV. Even Rockstar Games developers, the creators of GTA, contacted the MTA Team from time to time. The MTA:VC mod still offered a hard-coded deathmatch and vehicle stunting game mode that could not be altered. However, it had better synchronization and supported many new features. When GTA:SA came out, the contributors to the project were much more seasoned and mature. The 3rd project, MTA:SA, was much more ambitious. Although the first release was restricted to racing in vehicles, it was a proof of concept for a vastly superior framework that empowered users to make their own content. An editor was produced to allow in-game editing for the first time. When the full-featured product began development, a constantly evolving Lua-based scripting system accompanied it. This allowed the user to manipulate game code and modify various settings, elements and added features to create unique servers and game modes. Some added features include: voice chat, custom GUIs, web browser components. The MTA Team had the foresight to release this modification to the public as Open-Source code to attract future developers and embraced many new tools of game development that have become commonplace today such as installers, bug reporting, nightly builds, wiki documentation, anti-cheat, and Steam version support to name a few. MTA:SA 1.1 public tests. August, 2011. The release of GTA:IV did result in the beginning stages of MTA:IV, but once Rockstar released their official multiplayer, many of MTA’s most seasoned developers and contributors were ready to move on with their professional lives. Providing the same level of quality to GTA:IV would have been an extreme undertaking. It was decided that the best course of action would be to discontinue further projects and continue making MTA:SA better. The MTA:SA project still receives Open-Source contributions and still retains a consistent player base that is large enough to make developers of new games jealous! Thank You We would like to thank everyone who helped and participated over the years: developers, community/clan leaders, moderators, patch contributors, helpers, donators, testers, translators, scripters, mappers, server hosts/owners, streamers, players and fans. There were hundreds of thousands of such people over the years and they all had their place here. Many people have come and gone. Some are still very young and some are quite old now! Some of us have even developed life careers from our experiences working on this modification. We had the honor of befriending a lot of wonderful people in various stages of the project and many were just as enthusiastic about MTA as we were. Multi Theft Auto would not be here right now, had it not been for their hard work, interest and dedication. No seats? No problem. Screenshot from MTA:SA 1.0.5, taken by Zango. August, 2011. The social aspect has always been strong in MTA. No one knows what the future will bring, but there are things that will remain regardless of anything - and that is the time you all have spent here and your memories. Feel free to share your MTA stories in the comments! Feel free to say hi to us in Discord as well! Thank you all past and present MTA staff members, players and fans for sticking with us! Happy Birthday, Multi Theft Auto! Onwards to the next 20 years or more! -MTA Team
    1 point
  2. How can i edit the default scoreboard resource in order to turn on "showserverinfo" and other stuff. Already tried in dxscoreboard_clientsettings.lua and it doesn't apply the new settings.
    1 point
  3. local infos = { -- Tabela onde as infos de cada bot serão declaradas. [1] = {id, x, y, z, r, "CRACK", "crckidle1", -1, true, true, true}, [2] = {id, x, y, z, r, "CRACK", "crckidle1", -1, true, true, true}, [3] = {id, x, y, z, r, "CRACK", "crckidle1", -1, true, true, true}, } local bots = {} -- Tabela onde cada bot criado vai ficar. for i, v in ipairs(infos) do -- Para cada info, cria um bot na lista de bots. bots[i] = createPed(v[1], v[2], v[3], v[4], v[5]) end function restartPedAnimation() for i, v in pairs (bots) do -- Para cada bot, faça: if source == v then -- Se o bot que tomou dano é um da lista, então: setPedAnimation(source, infos[i][6], infos[i][7], infos[i][8], infos[i][9], infos[i][10], infos[i][11]) -- Seta essa animação que está nas infos. break -- Cancela o loop pois já encontrou o bot correto. end end end addEventHandler("onClientPedDamage", resourceRoot, restartPedAnimation) -- Ativa essa função quando qualquer NPC deste resource tomar dano. Tente isso. (não testado)
    1 point
  4. @J4cobLIVEmainI think this is what you're looking for: https://www.mediafire.com/file/tyu8gkwuylax61h/MTA_Maps_Converter.zip/file Not sure where to find it on the web, glad I save everything on my PC throughout the years
    1 point
  5. Lua tables are a fundamental data structure that allows you to store key-value pairs and create complex data structures. Tables in Lua are versatile and can contain values of different types. Let's dive into a detailed explanation with examples : Table Creation: To create a table in Lua, you use curly braces { } and separate the elements with commas. Here's an example: local table = {1, 2, 3, 4, 5} -- table crt In the above example, we created a table named table and populated it with values 1, 2, 3, 4, and 5. Accessing Table Elements: You can access table elements by using square brackets [ ]. Indices in Lua start from 1. Here's an example: -- Accessing table elements print(table[1]) --output : 1 print(table[3]) --output : 3 In the above example, we access the value at the 1st index (1) and the 3rd index (3) of the table. Adding Elements to a Table: To add a new element to a table, you specify the index and the value. If the specified index already exists in the table, the value will be overwritten. Here's an example: -- Removing elements from a table table[3] = nil In the above example, we remove the element at the 3rd index of the table. Getting the Size of a Table: To get the size of a table (i.e., the number of elements), you can use the # operator. Here's an example: -- Getting the size of a table print(#table) -- 5 In the above example, we print the size of the table using the # operator. Table Iteration: You can iterate over the elements in a table using the ipairs or pairs functions. ipairs provides index-based iteration, while pairs provides key-based iteration. Here's an example: -- Table iteration for index, value in ipairs(table) do print(index, value) end In the above example, we iterate over the table using ipairs and print the index and value of each element. +---------------------------------------------------+ | Game Settings | +---------------------------------------------------+ | Difficulty: | Hard | | Sound Volume: | 80% | | Controls: | Keyboard & Mouse | | Graphics Quality: | High | +---------------------------------------------------+ In the above example, an ASCII art representation is used to display a Lua table representing game settings. The table consists of different elements representing various game settings. Here's the Lua code that represents the table: local gameSettings = { difficulty = "Hard", soundVolume = "80%", controls = "Keyboard & Mouse", graphicsQuality = "High" } In the Lua code, a table named "gameSettings" is created, and different elements representing game settings such as difficulty, sound volume, controls, and graphics quality are added to the table. local person = { name = "Eren", age = 20, occupation = "Software Engineer", country = "Germany" } local tableFormat = [[ +-----------------------+ | Person Info | +-----------------------+ | Name: %s | | Age: %d | | Occupation: %s | | Country: %s | +-----------------------+ ]] local formattedTable = string.format(tableFormat, person.name, person.age, person.occupation, person.country) print(formattedTable) In the example above, we create a Lua table named "person" and populate it with some sample information about a person. We then define a string format named "tableFormat" which represents an ASCII table structure. We use placeholders like %s and %d to indicate the places where the values from the "person" table will be inserted. Finally, we use the string.format function to fill in the format with the data from the "person" table and store it in the variable "formattedTable". We print the "formattedTable" to display the final result. I explained string methods in the previous tutorial, here is the link: string methods LINK Output : +-----------------------+ | Person Info | +-----------------------+ | Name: Eren | | Age: 20 | | Occupation: Software Engineer | | Country: Germany | +-----------------------+ Nested Tables: Tables can contain other tables, allowing you to create nested or multidimensional data structures. Here's an example: -- Nested tables local team = { name = "Team A", players = { { name = "Eren", age = 20 }, { name = "Emily", age = 27 }, { name = "Angela", age = 23 } } } print(team.name) -- Team A print(team.players[2].name) -- Emily In the above example, we created a table named team with two elements: name and players. The players element is a nested table that contains information about individual players. We access the name element of the team table and the name of the player at the 2nd index of the players table. Table Insertion and Removal: Lua provides various functions for inserting and removing elements from tables. Here's an example that demonstrates these operations: -- Table insertion and removal local fruits = {"apple", "banana"} table.insert(fruits, "orange") -- Insert an element at the end table.insert(fruits, 2, "grape") -- Insert an element at the 2nd index table.remove(fruits, 1) -- Remove the element at the 1st index for index, fruit in ipairs(fruits) do print(index, fruit) end In the above example, we start with a table named fruits containing two elements. Using table.insert, we add an element at the end and another element at the 2nd index. Then, using table.remove, we remove the element at the 1st index. Finally, we iterate over the modified fruits table and print the index and value of each element. Table Concatenation: Lua allows you to concatenate tables using the .. operator. Here's an example: -- Table concatenation local table1 = {1, 2, 3} local table2 = {4, 5, 6} local mergedTable = {} for _, value in ipairs(table1) do table.insert(mergedTable, value) end for _, value in ipairs(table2) do table.insert(mergedTable, value) end for index, value in ipairs(mergedTable) do print(index, value) end In the above example, we have two tables named table1 and table2. We create an empty table named mergedTable and use table.insert to concatenate the elements from table1 and table2 into mergedTable. Finally, we iterate over mergedTable and print the index and value of each element. for MTA:SA Player Information: Lua tables can be used to store player information in MTA:SA. Below is an example of a player table that contains details such as the player's name, level, and score: local player = { name = "Eren", level = 5, score = 1000 } In the above example, we create a table named "player" and populate it with the player's name, level, and score. Vehicle List: Lua tables can be utilized to store data related to vehicles in MTA:SA. Here's an example of a vehicle table that includes the model names and colors of the vehicles: local vehicles = { { model = "Infernus", color = {255, 0, 0} }, { model = "Bullet", color = {0, 0, 255} }, { model = "Sultan", color = {0, 255, 0} } } In the above example, we create a table named "vehicles" and store each vehicle as a separate table with its model name and color data. Colors are represented using RGB values. NPC (Non-Player Character) List: Lua tables can be used to store in-game NPCs in MTA:SA. Here's an example of an NPC list table that includes the model IDs and coordinates of the NPCs: local npcs = { { model = 23, x = 100, y = 200, z = 10 }, { model = 56, x = 150, y = 250, z = 15 }, { model = 89, x = 200, y = 300, z = 20 } } In the above example, we create a table named "npcs" and store each NPC as a separate table with their model ID and coordinates. I hope you will like it
    1 point
  6. E aí, @wesssley — como é que você tá? Existe sim uma maneira de você fazer isso, através das funções de criptografia base64Encode, base64Decode, encodeString e decodeString. Deixarei abaixo um código que escrevi e você pode estudar mais como funcionaria. De qualquer forma, explicarei como usar: 1. Adicione o resource no seu servidor local. Sim, eu recomendo que use um servidor local, uma vez que o resource irá fazer um processamento pesado, podendo até causar perda de performance. 2. Vá até a pasta shared e abra o arquivo settings.lua. Edite as seguintes variáveis: KEY — use uma senha bem forte, você pode gerar em algum site. (exemplo: https://my.norton.com/extspa/passwordmanager?path=pwd-gen) OUTPUT_PATH — matenha dessa forma. 3. Adicione os arquivos sem criptografia na pasta assets e também adicione-os no meta.xml. 4. Inicie o resource no seu servidor, com o comando /start encrypt-assets. Você pode acompanhar a compilação no console do seu servidor, aquele terminal fora do MTA. 5. Uma vez finalizado, os arquivos criptografados estarão na pasta assets/output. Vá até o meta.xml e altere onde os arquivos criptografados estão, que é na pasta citada anteriormente, neste passo. Além disso, atente-se ao nome do arquivo, a extensão deles mudou para .dff_encrypted ou .txd_encrypted. Deseja mover esses arquivos para outro resource? Você pode mover, desde que o client/loader.lua esteja lá, configurado da maneira correta. Anexo: https://drive.google.com/file/d/1aOkqqLCj6wAq64kwzS7IfYuredrFAf_Z/view?usp=sharing Observação: por mais que eu tenha enviado o resource pronto para uso, peço que estude como ele funciona.
    1 point
  7. To take away some confusion, understand that the changes being announced here are mostly focussed on cutting out the 'community front' of AC team operations, so that we can optimize limited manpower and rebalance expectations for our users to accept there will be periods we can't make waves, if you were able to move yourself into our perspective on how people always want everything solved, fixed, sorted out immediately on their whim, and how persistent they are in that (and in most cases bring something misconceived/invalid, after which they can't even be convinced otherwise or that would take from our time disproportionally), you'd be straight out scared and quickly stressed out. OP was clarified by adding in this segment 1 day after the topic was made: We will continue to bring AC improvements and get rid of emerging cheats and cheaters, but at our own pace, without external pressure or too high community expectations, from now on everything is on a best-effort basis and the point is that there may be periods during which we can't make any waves due to manpower constricts. You can see that this topic intends to lower your expectations and respect the amount of free time we (as volunteers) are able to invest, and get off our backs for things being different compared to some years ago. We're also OK to restrict ban appeals and player reports so we can delegate all of the manpower that's left on our new strategy, breaking cheats (patching them) and just preventing them from working to begin with, instead of permanently banning cheat users and having to deal with them "regretting" in ban appeals. We are also OK to restrict reporting cheaters as our focus shifts to breaking the cheats, and to get the required information to break one, we have our own methods and channels so much that we don't need any sort of reports. Due to the state of anticheat and heuristics, we always have a good picture of abnormalities and what cheats are doing, so the main limiting factor is manpower to get to work with what we have & know. After all, cheating on MTA will not be left alone, and AC team will disrupt it and raise the border even more whenever manpower allows it to do so. Cheaters should realize that their fun may come to an end at any unexpected moment, and that if they're too used to being able to cheat, they will be very upset to have to adapt to playing normally for as long it takes the cheat devs to catch back up to us again.
    1 point
  8. You can try using setTimer command, if it doesn't work,I will forward this to my friend,can give you better information @The_GTA this is my good friend
    1 point
  9. Thank you! It didn't worked at first, i had to remove the scoreboard client from mta downloaded client files. After i deleted the old one it worked but the problem is i tested on other player's end and it was the same problem, he had to remove that file too and after he joined the server he downloaded the new file for it to work. Is there anything i could do about this or should i try and use some other scoreboard?
    1 point
  10. hello, you should add some code to the client side as an extra showServerInfo = true settings = { ["showserverinfo"] = nil, defaultSettings = { ["showserverinfo"] = true, i think you are using dxscoreboard,you can do it better than this site Dxscoreboard
    1 point
  11. I'm using the default joinquit resource and i want to edit the message colors for when a player quits the server and when he's changing he's nick. I've done it with "has joined the game" but i tried to do the same with other two messages and it doesn't work. I want the player names in these messages to be white color. I want to be like this: "#006400∙ #FF0000[Player name] #006400has left the game [#FF0000Quit#006400] "#006400∙ #FF0000[Player current name] #006400is now known as #FF0000[New player name] How can i edit it? function nickChangeMessage(oldNick, newNick) if (showColorCodes) then outputChatBox(getDefaultColor().."#006400∙ "..getHexFriendlyNick(source, oldNick)..getDefaultColor().." #006400is now known as "..getHexFriendlyNick(source, newNick), root, 255, 100, 100, true) else outputChatBox("#006400∙ "..oldNick.." #006400is now known as "..newNick, root, 255, 100, 100) end end addEventHandler("onPlayerChangeNick", root, nickChangeMessage) function leftMessage(reason) if (showColorCodes) then outputChatBox(getDefaultColor().."#006400∙ "..getHexFriendlyNick(source, getPlayerName(source))..getDefaultColor().." #006400has left the game ["..reason.."]", root, 255, 100, 100, true) else outputChatBox("#006400∙ "..getPlayerName(source).." #006400has left the game ["..reason.."]", root, 255, 100, 100) end end addEventHandler("onPlayerQuit", root, leftMessage)
    1 point
  12. ok i fix it . I will edit and send the script you want specially for you. you just need to embed these commands in your own JoinQuit script. local noColorName = string.gsub(playerName, "#%x%x%x%x%x%x", "")--this code prevents players from casting colors if setPlayerName(source, "#ffffff"..noColorName)--this code gives players white color these commands will make the names white, but "has left the game" and "is now known as" will make them green. If you share the joinquit script with me privately, I can show you where to place the codes I sent.
    1 point
  13. Thank you, but i want to edit the joinquit resource in order for when the player is changing the name and quitting to have the colors in the screenshot. And i am not sure where to put every color code. Tried already some variants and it doesn't work. Here's how it looks right now - check the screenshot I want like this: #006400∙ #FF0000Cosmin #006400has left the game [#FF0000Quit#006400] #006400∙ #FF0000Adr1ft #006400is now known as #FF0000Ady #FF0000 - White #006400 - Green
    1 point
  14. addEventHandler("onPlayerLogin", root, function(_, account) local playerName = getPlayerName(source) local noColorName = string.gsub(playerName, "#%x%x%x%x%x%x", "")--this code prevents players from casting colors if setPlayerName(source, "#ffffff"..noColorName)--this code gives players white color end end ) I recommend using commands like this
    1 point
  15. 1 point
  16. ********** Changes (10 July 2023): Updated the Forum Rules to reflect the removal of the ban appeal option for Global Bans. For more information see our post on that. ********** Changes (8th November 2021): Added a new rule in B. User Accounts Rules which adds certain user restrictions to recently created and junior Forum profiles Changes (29th June 2021): Added a new rule in A. General Forum Rules regarding advertising and posting content heavily based on other servers ********** Changes (6th October 2019) (qaisjp): remove duplicate entry ********** Changes (23 January 2019): Refreshed the Forum Rules again so that they hopefully better reflect our current needs. They should also look better visual-wise. changed the layout of the Forum Rules to suit our IPS board more added ordered lists to rules sections and content to make it easier to refer to specific rules (eg. E-1 for people contacting multiple Moderators at once) added a paragraph about Forum Staff and means of contacting us to the Forum Rules replaced IRC references with Discord changed order of main rule paragraphs, merged some points added a note about bounties for Cheating Software in A-12 added a note about not sharing user personal details (A-5) added a note regarding user's passwords security in B-1 added a note about changing usernames (B-4) added a note about restrictions when editing own posts and topics (C-5) split and re-phrased notes regarding our anti spam-bot measures into B-7 and C-14 added previously written Section Specific rules which were already enforced but not listed and re-ordered the entire section added full processes for Moderator Decision Appeals and Forum Account Removal in Appendices C and D to make these processes be more transparent to users re-phrased A-4, tweaked A-14, A-15, B-2, B-3, B-5, minor tweaks in A-3, A-10, C-1 other grammar tweaks and re-wordings over the entire article added a note about global MTA ban appeals (F-6) ********** Changes (12 May 2018): Added a link to new rules for the Hosting solutions section ********** Changes (10 October 2016): Grammar fixes. Also made minor adjustments to the layout of the Forum Rules so that they show correctly in new forum software ********** Changes (12 May 2015): Added a note regarding sharing moderator applications with other Moderators ********** Changes (23 April 2015): Made it clear that re-posting same topic or content multiple times to different sections is disallowed (with an exception) ********** Changes (31 March 2015): Forum rules have been greatly rewritten to become more clear and straight forward to our users. Summary of changes: Various changes Added a TL;DR note at the top of the forum rules as a summary for lazy users Added a list of potential moderator actions for rule violations, also introduced a posting restriction moderator action Added information about moderator applications Major stylistic changes - grammar fixes, rewordings and moving some rules to new (or other) paragraphs New and improved sections and rules Added a new rules section (User Accounts) along with a note, stating that we will never ask for users' passwords Added an information about our way of handling of new forum accounts (including a potential manual account activation) Added notes about recovering old forum accounts and merging posted content from multiple accounts Made it more clear that users should not create new accounts to evade a ban Listed scenarios in which account sharing is disallowed, otherwise it should be considered as allowed Added a note about account removals Added a new section with posting tips for forum users (Posting Advice) Added a note encouraging users to post their topics in correct sections Added a note suggesting use of code and Lua tags when posting code snippets Added an information about publicly posted code snippets Listed scenarios in which users can bump topics (also added an explanation of the phrase 'bump a topic') Added an explanation for why users shouldn't reply to topics/posts made by spam bots Added a section about the forum staff members who maintain the forums Described ways of contacting moderators Added a note about moderator decision and ban appeals and also the ways how to do them (and how not to do them) Added a note about insulting and impersonation - both are not allowed on these forums Made clear that posting obscene and religious content on the forums is not allowed Made adjustments for rules for the Other Languages Section: Disallowed posting of users who do not speak a certain language in specific international sections Disallowed posting in English in the International section (with exceptions). Added notes about MTA0.5 and Hosting Solutions forum sections and made tweaks to rules for other forum sections ********** Changes (1 September 2013): made it clear that using multiple forum accounts for posting fake feedback and opinions is disallowed ********** Changes (7 May 2012): backseat moderation is disallowed ********** Changes (15 March 2012): added more tips to general advices (topic titles, double posting, using quote tags, dealing with spam posts) made it clear that ban evasion and posting cheating software are forbidden multiple forum accounts are allowed made rules for signatures less restrictive added section-specific rules for Other languages and Servers to play on sections added notes about ban appeals (forum/irc)
    1 point
×
×
  • Create New...