Jump to content

Leaderboard

Popular Content

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

  1. Hi everyone, and thank you for taking interest in my post. I would like to introduce you all to a roleplay server that I will be opening. A release date is currently not set but we won't be keeping players from experiencing what we have to offer for much longer. Between me, my friend TMTMTL(Developer) and my dedicated staff team, we aim to provide a comfortable, reliable and fun place to roleplay for the English community in MTA, that will stay up to date, listen to the community and provide the best experience possible. Unnamed Roleplay? Is this some kind of joke? It genuinely did not have a name for some time, but it seems to have just stuck, and instead it was the players that put the idea out there to just stick with it and that a name really is not that important. We don't believe a fancy name is what will really make players want to experience the server either, so instead we decided to roll with it and let the script do the talking. What gamemode is it? It's based on a backup of a server TMTMTL has been working on since 2012 and it would feel familiar to most MTA roleplayers. It has been polished and smoothed off very well with with a push for a somewhat light, but realistic roleplaying experience whilst still being fun, with a lot of guidance and experience from people with knowledge in the field of certain features of the script. We are sticking with GTA lore and will not be supporting IRL branding. What's the goal? We hope that people can appreciate the level of detail and the atmosphere we are trying to provide for the English roleplaying community in MTA, it feels as though people have lost faith in roleplaying communities in MTA because of events over the years involving servers, whether they be competing with each other or closing down after a few months. This is a cycle we aim to break and for as long as there is player interest, the server and community will exist. We would like to bring a very interactive and seamless experience to the community that does not require admin reports to advance with roleplay every 5 minutes, or people being able to escape situations because the script does not support them. I and many of my staff team have been around since the very early days of RP in MTA and SA-MP, and we would like to bring that back. What features do you have? As well as TMTMTL's whole library of Roleplay addons(Smartphone, dirty vehicles, jetwash's, marijuana cultivation, vehicle realism) etc, we have so much more, and a changelog that would take you a while to really take it all in! As of recently we have implemented a completely new custom fishing script that allows people to fish for business or pleasure, and turns it into a more interactive and sporty activity to do. Completely fresh and new hud with buttons to minimise them to avoid screen clog, clean nametags with no icons etc. Advanced injuries system that will assign realistic injuries to player based on the area of the body and the type of wound, opening many doors to EMS/FD roleplay. Advanced vehicle fuel system with realistic fuel pumps and fuel types. Advanced vehicle description system allowing independent descriptions for the trunk, the engine, the interior and the exterior. Advanced investigative items for police investigation roleplay. Advanced weapon system with custom statistics per weapon, allowing for serials to be removed, descriptions to be made etc. New PK system allowing dead players to make EMS calls, be revived, accept death, or be assassinated. We also have unlimited custom weapon, vehicle and object models implemented allowing us to load custom mods to help visualise the experience tenfold. We also have a custom player skin uploader in the works that will allow players to upload their own .TXD and .DFF mods for their character. Advanced drugs interaction system allowing players to craft many different drugs in a realistic manor, and also sell them to NPC buyers in a bid to resurrect the in-character drug markets. I wish I could think of more core features to showcase here but the changelog is so extensive and can be accessed in the Discord. Media? We are talking with people about producing cinematic trailer videos and showcase videos but I don't feel like I have the skills to really showcase the server properly. Although you will find a tonne of screenshots and video in the #media channel of the Discord from our Developers that will give you a sneak peak into what's going on and what will be available. Links: Forums - http://www.unnamedroleplay.com/ Discord - https://discord.gg/VkeF24gJJg We are making great progress at a rapid rate and I will be updating this post in coming weeks with more information and media. Thank you for your time, Lindemann and URP Staff.
    4 points
  2. 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. Burak5312 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.
    3 points
  3. Thanks for the suggestion. I've added links to Crowdin.
    2 points
  4. I've been lurking in your Discord for the last few days and have noticed that you guys have some interesting ideas going on. Best of luck with the project!
    2 points
  5. Hello! You should've made a backup of the files before editing, but since you didn't, you will have to reinstall your GTA (unmodded and original version)
    2 points
  6. ..Romania Project Play .. 𝐬𝐞𝐫𝐯𝐞𝐫 𝐰𝐚𝐬 𝐦𝐚𝐝𝐞 𝐢𝐧 𝟐𝟎𝟏𝟐 𝙖 𝙨𝙪𝙘𝙘𝙚𝙨𝙨𝙛𝙪𝙡 𝙨𝙚𝙧𝙫𝙚𝙧 𝙗𝙖𝙨𝙚𝙙 𝙤𝙣 𝙛𝙧𝙚𝙚𝙧𝙤𝙖𝙢, 𝙄 𝙬𝙤𝙣'𝙩 𝙩𝙖𝙡𝙠, 𝙗𝙪𝙩 𝙄 𝙙𝙤 𝙥𝙤𝙨𝙩 𝘁𝗵𝗲 𝗶𝗽 𝘁𝗼 𝘁𝗵𝗲 𝘀𝗲𝗿𝘃𝗲𝗿 : 37.187.205.59:22003 𝗼𝗿 𝘀𝗲𝗮𝗿𝗰𝗵 𝗯𝘆 𝗻𝗮𝗺𝗲 : Romania Project Play 𝘁𝗵𝗲 𝗱𝗶𝘀𝗰𝗼𝗿𝗱 𝗼𝗳 𝘁𝗵𝗲 𝗥𝗼𝗺𝗮𝗻𝗶𝗮 𝗣𝗿𝗼𝗷𝗲𝗰𝘁 𝗣𝗹𝗮𝘆 𝘀𝗲𝗿𝘃𝗲𝗿 𝘀𝗲𝗿𝘃𝗲𝗿 𝘀𝗲𝗿𝘃𝗲𝗿 𝘀𝗲𝗿𝘃𝗲𝗿: https://discod.gg/eqtx9vmcmu Youtube: https://www.youtube.com/results?search_query=rpp+mta+ 𝑤𝑒 ℎ𝑎𝑣𝑒 𝑚𝑎𝑛𝑦 𝑢𝑛𝑖𝑞𝑢𝑒 𝑠𝑦𝑠𝑡𝑒𝑚𝑠, 𝐼'𝑙𝑙 𝑙𝑒𝑡 𝑦𝑜𝑢 𝑦𝑜𝑢 𝑦𝑜𝑢 𝑦𝑜𝑢 𝑒𝑛𝑡𝑒𝑟 𝘄𝗲 𝗮𝗹𝘀𝗼 𝗵𝗮𝘃𝗲 𝘂𝗽𝗱𝗮𝘁𝗲𝘀 𝗼𝗻 𝗱𝗶𝘀𝗶𝘀 𝒓𝒆𝒔𝒑𝒆𝒄𝒕𝒇𝒖𝒍𝒍𝒚 𝙩𝙝𝙚 𝙍𝙤𝙢𝙖𝙣𝙞𝙖 𝙋𝙧𝙤𝙟𝙚𝙘𝙩 𝙋𝙡𝙖𝙮 𝙩𝙚𝙖𝙢
    2 points
  7. Hello @mahdi47x and welcome! Please create a new appeal containing your MTA serial. If you don't know how to get it then open your MTA, press F8 and type serial
    2 points
  8. Selam dostum, projen çok güzel ve şık duruyor, İyi forumlar.
    1 point
  9. Hi Over the past few years, on and off, I have been developing a roleplay script from scratch that is nearing completion. Together with my team, we have created something very special, and we really can’t wait to share it. I have been scripting on MTA for over 7 years now, mostly on independent projects, but most notably for OwlGaming before I decided to leave in 2017. OwlGaming was the original roleplay experience for me, and despite it’s ups and downs, it was a defining experience. It dominated the English roleplay scene on MTA. However, it's unfortunate closure has left a huge gap, which is why I think it’s time we come together to create something new. A very quick highlight of some of our cutting-edge features, all of which were developed by me, from the ground up: An advanced dx-rendered interface system (a highly customizable, visually pleasing, unique UI experience not seen in roleplay before). An advanced weapon system that allows for unlimited weapons, all with unique models, sounds, damages and animations (defying the limitations of GTA: San Andreas’ default weapons). A slot-based inventory system, not only for players, but for vehicles and storage objects as well. A host of custom animations, including entire walkstyles (i.e. handcuffed walkstyle, wheelchair walkstyle, injured walkstyle). And LOTS more. This is a calling to anyone that is still out there that is still interested in MTA roleplay, and would consider helping us build a brand new, state of the art, roleplay experience. Building a roleplay experience is not just about the scripts, but the people too. We are going to need all the help we can get. If you think you can contribute in any way, anything from graphic design, animation, mapping, or even if you just want to help test our scripts or come up with new ideas, then please, please get in touch with me. Our goal is to bring a defining roleplay experience back to MTA but we can't do it alone. Besides, MTA is the perfect platform for roleplay. I won’t be posting any videos or screenshots on this thread, but I will be happy to share some over Discord if you reach out. Most will be subject to change as the script is still in active development. Thanks, Contact me on Discord (all messages are welcome): Hurley#7509
    1 point
  10. You need to trigger an event to all clients or to those near the desired player. Something like this: -- Server: addEventHandler ( "onPlayerReachCheckpoint", root, function ( checkpoint, timePassed ) local vehicle = getPedOccupiedVehicle ( source ) if not ( vehicle ) then return end if getElementModel ( vehicle ) ~= 403 then -- Linerunner return end local x, y, z = getElementPosition ( source ) local nearbyPlayers = getElementsWithinRange ( x, y, z, 50, "player" ) triggerClientEvent ( nearbyPlayers, "playSyncedSound", source ) -- source is the element that is the source of this event end ) -- Client: addEvent ( "playSyncedSound", true ) addEventHandler ( "playSyncedSound", root, function ( ) local x, y, z = getElementPosition ( source ) local sound = playSound3D ( "path/to/audio/file.ext", x, y, z ) if ( sound ) then attachElements ( sound, source ) end end ) These are just parameters that almost every event has. The description can be found on the wiki or by looking at the source code of the resource, as in this case. The name of the parameters does not matter, only the order of the parameters is important. You don't have to specify the parameters if you don't plan to use them in your code.
    1 point
  11. If you have @TheManTheMythTheLegend in your development team, this job will be successful without any hesitation. good luck with your project...
    1 point
  12. . I think the best solution would be to use onPlayerReachCheckpoint server-side event, which is triggered when a player reaches a checkpoint. Example: addEventHandler ( "onPlayerReachCheckpoint", root, function ( checkpoint, timePassed ) local vehicle = getPedOccupiedVehicle ( source ) if not ( vehicle ) then return end if getElementModel ( vehicle ) ~= 403 then -- Linerunner return end -- do whatever you want end )
    1 point
  13. Good luck with this guys, I'm glad to be a part of the dev team.
    1 point
  14. https://streamable.com/9p0wyp installation: - right click the picture above, save. - replace with MTAPATH/MTA San Andreas 1.5\MTA\cgui\images\busy_spinner.png
    1 point
  15. I see now, okay i got it Thank you for the link to tutorialspoint as well.
    1 point
  16. You can for example replace all non numeric characters with empty strings. string.gsub("abcdefg69hijklmn7opqrs0tuvw71xyz72", "[^%d]", "") --[[ Returns 2 values: Result: 69707172 Items replaced (with empty string): 26 ]]
    1 point
  17. yes its possible by using the following functions -getPlayerSerial - givePlayerMoney -getAccount -addEvent -addEventHandler and others table as attached to the source ( the player who is going to create a new account ) and a lot of customized functions if you need any help i can help you more on it
    1 point
  18. We know who you are, so pretending you have no idea why this PC is also banned (because it belongs to you.. a paid hack user) isn't going to change anything The answer to your original appeal at https://forum.multitheftauto.com/topic/135698-ban-trainer-im-sorry/ is final
    1 point
  19. Hi, You forgot to include your serial. This is needed so the anticheat team can further investigate your case. Please create a new topic including it. You can grab it by launching MTA, opening the console (F8 key by default) and typing 'serial' without any quotes.
    1 point
  20. Здравствуйте, столкнулся с такой ситуации то что меня забанил античит. Предыстория как это произошло: Вы наверняка знаете о копиях некст рп, так вот, я осуждаю все копии некст рп и я занимаюсь разносам, дудосами этих копий. У меня есть приватный чит который сносит весь сервер и в том числе Базу Данных, этот чит я брал у моего помощника Жульверика за 400р можете сами перейти на его канал и посмотреть чем он занимается - https://www.youtube.com/channel/UCp3otcj2xeX6MJDeUhrBOGQ И после того как я закончил дудосить копии я решил зайти поиграть на офицеальный некст рп на сервер Федеральный и я совсем забыл выключить этот чит и меня забанил античит навсегда. Можете пожалуйста разбанить так как у меня на аккаунте бизнес Верфь 2 уровня. (Играю с 2019 года) Ник: Максим Игнатов Сервер: Федеральный Мой Discord для связи: Kizaru#8888
    1 point
  21. Hi, Please create a new ban appeal providing you serial aswell. This is needed so the anticheat team can further investigate your case. You can grab your serial by launching MTA, opening up the console (F8 key by default) and typing 'serial' without any quotes.
    1 point
  22. I made this tool for myself and a bunch of friends who wanted to split a larger map (with objects all over SA) into multiple maps easily, without having to open the .map file while looking for x and y coordinates and manually filtering potentially hundreds of objects (that's obviously a no-go). Figured that maybe some of you might find this useful. Usage is pretty straightforward, added some information in the tool to help you out. Hope it helps! https://github.com/marty000123/Marty-s-MTA-SA-Map-Cut-Tool
    1 point
  23. Tocmai ce am lansat a treia parte din primul episod! În această parte, discutăm despre tipurile de comunități pe care le poți întâlni și cum se diferențiază fiecare în parte. Forma completă a episodului va fi publicată separat odată cu publicarea tuturor celorlalte părți din acest episod. Inițiativa Școala Roleplay este un demers al comunității Los Santos Roleplay. Comunitatea Los Santos Roleplay reprezintă o comunitate virtuală românească de roleplay axată pe platformele jocurilor Grand Theft Auto. Comunitatea Los Santos Roleplay a luat naștere din pasiunea pentru roleplay și din dorința de a pune la dispoziția jucătorilor un mediu cât mai propice, matur și de lungă durată în care aceștia să facă roleplay. Ne dorim să oferim un mediu cât mai plăcut tuturor celor care doresc să facă roleplay la standarde cât mai înalte, într-o atmosferă relaxată și prietenoasă în care scopul și satisfacția supremă este distracția și bunăstarea. Poți afla mai multe despre proiectul nostru și comunitatea Los Santos Roleplay accesând topic-ul de prezentare aici: https://forum.multitheftauto.com/topic/123732-los-santos-roleplay-românia/
    1 point
  24. data,_add = { },addEventHandler function SColor(e,r,g,b) if getElementType(e) == 'gui-button' then guiSetProperty(e, 'NormalTextColour', string.format("%.2X%.2X%.2X%.2X",r,g,b,255)) end end dxDrawImage_ = dxDrawImage local dxDrawImage = function (...) local a = {...} if isElement( a[1] ) and getElementType( a[1] ) == 'gui-button' and guiGetVisible (a[1]) then data [ a[1] ] = true local posX, posY = guiGetPosition ( a[1] , false ) local width , Height = guiGetSize ( a[1] , false ) dxDrawImage_ (posX , posY, width,Height,a[2], a[3],a[4],a[5], a[6] , a[7]) local r, g, b = getColorFromString("#"..guiGetProperty(a[1], "NormalTextColour")) dxDrawText(guiGetText ( a[1] ) or tostring '',posX, posY, width + posX , Height + posY,SetTextcolor or tocolor(r, g, b,255),1,"default-bold","center","center",false,false,true) guiSetAlpha( a[1] , 0) end if not isElement( a[1] ) then return dxDrawImage_ (...) end end local function Enter() if data [ source ] == true then SColor(source,0 ,255, 0) end end local function Leave() if data [ source ] == true then SColor(source,255, 124,124) end end _add ( "onClientMouseEnter",resourceRoot,Enter) _add ( "onClientGUIMouseUp", resourceRoot,Enter) _add ( "onClientMouseLeave",resourceRoot,Leave) _add ( "onClientGUIMouseDown",resourceRoot,Leave) -----------------\\\\\\\\\\\\\\\\\\\\----------------- event = guiCreateButton(16, 20, 250, 40, "Take", false) guiSetVisible (event, false) addEventHandler ("onClientRender", root, function () dxDrawImage(event ,'img/event.png', 0, 0, 0,tocolor(255, 255, 255, 255), true) -- attach to Button -- dxDrawImage(160, 200, 250, 40 ,'img/event.png', 0, 0, 0,tocolor(255, 255, 255, 255), true) -- dx Image end) bindKey( "k", "down",function( ) guiSetVisible( event , not guiGetVisible( event )) showCursor( guiGetVisible( event )) end ) try this
    1 point
  25. marker1 = createMarker(2094.8940429688,-838.72570800781,52.3, "corona", 1.5, 230, 251, 3, 153) function event(el) if getElementType(el) ~= "player" then return end triggerClientEvent (el,"openWindow",getRootElement(),el) end addEventHandler("onMarkerHit", resourceRoot, event)
    1 point
  26. function AttachDxToGuiElement( GUIElement , img ) if ( guiGetVisible ( GUIElement ) ) then local x, y = guiGetPosition ( GUIElement , false ) local width , Height = guiGetSize ( GUIElement , false ) dxDrawImage(x, y, width , Height ,img, 0, 0, 0,SetImagecolor or tocolor(255, 0, 0, 255), true) dxDrawText(guiGetText ( GUIElement ) or tostring '',x, y, width + x , Height + y,SetTextcolor or tocolor(55,55,55,255),1,"default-bold","center","center",false,false,true) guiBringToFront ( GUIElement ) guiSetAlpha ( GUIElement , 0) end end ------------------ event = guiCreateButton(16, 20, 250, 40, "Take", false) guiSetVisible (event, false) addEventHandler ("onClientRender", root, function () AttachDxToGuiElement( event ,'img/event.png' ) end) bindKey( "k", "down",function( ) guiSetVisible( event , not guiGetVisible( event )) showCursor( guiGetVisible( event )) end )
    1 point
  27. Por favor, crie seu próprio tópico para receber assistência. Não é interessante usar o tópico de outras pessoas, principalmente porque o seu problema não é relacionado.
    1 point
  28. bro I’m not wizard but I can sense that you done something (destroyElement probably) upon onVehicleExit or onPlayerVehicleExit trigger. Post the code
    1 point
  29. hello , you can use variable to change the image path = "img1.png" addEventHandler("onClientRender",root,funtion() dxDrawImage ( 100, 300, 100, 240, path, 0, 0, 0,tocolor(255,255,255) ) end) addCommandHandler("changeimage",function() path = "img2.png" end)
    1 point
  30. Hi, welcome to the forums! Please download and run MTADiag and follow the instructions. Post any Pastebin URL MTADiag gives you.
    1 point
  31. Hello and welcome! You didn't provide any video, so it's hard to check what's wrong and try to find a solution to your problem.
    1 point
  32. Hello @seyithanozbey_46 Please create a new appeal containing your MTA serial. If you don't know how to get it then open your MTA, press F8 and type serial
    1 point
  33. OHHH so this is your project? Nice... I hope it doesn't left unfinished. I will pray for you, hope for the best. May the force be with you my friend.
    1 point
  34. SetElementData is data stored on the player temporarely, if the player logs off, or the server shuts down, you will lose that information. It is stored inside GTA memory and is synced with all players and the server unless specified otherwise. SetAccountData only allow you to insert key/value pairs into a fixed db. You have no real control over it, and with lots of data this could be bad for performance because it'd need to do a lot of queries (via getAccountData) for each key/value pair that you saved to a player account. MySQL allows you to structure your database and gives you control over what you put in your database and how you modify and query the data. You can also access the data from other places like a website. This will give you the best optimization. If you're new or uncomfortable with MySQL you could try using SQLite instead, which creates a new .db file for you which you gives you similar control over it as MySQL except that you don't have a address from which you can access it. I recommend this if you're new and want to try out MySQL for the first time. You don't have to install MySQL to your desktop or server with this option. You can use setAccountData for small gamemodes if you don't need to store a ton of data per user, otherwise use MySQL or SQLite. Hope this helps.
    1 point
  35. Matrix Gaming is a clan server founded by particularly skilled people in content creation and development. We offer you a completely new environment to have fun in, with limitless possibilities and constant improvement. We're players that always wanted to take the gaming experience in MTA:SA to the next level, and this server is proudly a project we dedicated a lot of time on to ensure you the best gameplay you'll ever experience. Our IP: mtasa://185.225.232.138:22003 (Click to beam inside your MTA:SA client) Our website: https://mxgaming.net Our discord server: https://discord.com/invite/ncJxqsY9Wz Our Freeroam gamemode is very diverse, it differs a lot from the usual freeroam where all you do is pretty much drive all day until you get bored. We offer you custom vehicles models made by our talented 3D Modeller (-mx-Wanted), models that even lower end computers can properly run. Not only that, but with our IVF 2.0 mod, you can use realistic vehicle features in-game, just like the original GTA:SA mod. In addition to that, thanks to -mx-Bolm, we also offer you a whole lot of character skins that you can use and have your fun with. Our Freeroam also contains multiple events that run after a specific interval of time, such as Car Treasure. This event challenges you to find a hidden vehicle through a hint, you'll have exactly 10 minutes to find it to win Money and XP. Besides all of this, you can customize your game however you like through our main panel (can be accessed by pressing F7). You'll find a bunch of settings ranging from QoL to Graphics that'll completely transform how your game behaves. We also care for laid-back and competitive players, we provide custom weapon models and sounds with completely REBALANCED properties and synchronized damage. Although, if you're not a big fan of Deathmatch, you can just toggle your PASSIVE MODE through our panel. You have the ability to customize your environment, your gameplay, edit your handlings, fly, hover and jump using your vehicles too! * Shooter: The classic Shooter experience, where you're given an Infernus and a jumping ability to eliminate all your enemies and be the last one standing to win. You can switch your vehicle, obtain nitro or a vehicle repair through the custom pickups in the game mode's maps. * DD: A fun Destruction Derby experience, where you push the players off the map towards the water or ram them until their vehicle explodes. The last one standing wins. Maps include nitro, repair and vehicle change pickups as well. * Domination: A game mode inspired from the Call of Duty game series, where two teams 'Alpha' and 'Bravo' compete against each other to capture the 3 flags: A, B and C. For each flag a team captures, they gain 1 point every 5 seconds. The team that reaches 200 points first, or has the most points by the end of the 10 minute match wins. * Team Deathmatch: In this game mode, two teams 'Grove' and 'Vagos' fight each other with enabled respawn inside the event. Each kill equals 1 point, headshots grant double points. The match's duration is 10 minutes. The team that has most points by the end of the match wins. * Heist: Our server offers a heist game mode that allows clans in-game to compete between each other to crack a vault's code to rob the goods inside and obtain a briefcase. The briefcase must be delivered to the delivery drop-off location using the special Heist bulletproof and damage tolerant Van. Our clan is very fond of dogfighting. Because of that, we decided to take the Dogfight experience to the next level by implementing new things. Our aircraft rockets are improved and are patterned through custom AI that allows a very engaging aircraft combat experience with high speeds and required accuracy. Where and how you aim actually matters. We were heavily inspired by how GTA V's aircraft work. Besides Hydra, we have also improved Hunter and Rustler by granting them additional features. For hunters: You can use advanced missiles to take down your enemy, in addition to the usual explosive cannon. For rustlers: the aircraft is now faster and generates less drag. And its explosive cannons are way more powerful now. All our combat aircraft are given a targeting vizor to help track enemies down. EXTRA FEATURES: * Clans: Allows you and your friends or other players to be part of one team. Customize your clan with any kind of tag, color and name you want. We have a special clan panel that allows you to view your clan logs, invite new players to your clan, be invited to a clan and list all the clan invitations you are the source or target of. Each clan has 3 ranks: Member, Leader, and Owner. Only one person can own a clan. * A custom rank/level system: Currently, the max Level is set to 35. You level up by gaining XP points through killing other players or winning events. * Responsive, modern and fluid GUI, for an amazing user experience. * A full-on game customization panel with plenty of settings and graphical modifications. * Responsive damage system: Weapons are rebalanced, and damage is properly synchronized. Damage is bodypart responsive, which means hitting a player on the leg would deal less damage to the target than hitting them on the torso or the head. * Car Treasure: Every 30 minutes, a car spawns in the Freeroam. Players have 10 minutes to find the car to win a good amount of XP and money. * Lotto: Your usual lotto feature, starts every 30 minutes and generates a random number. If the player purchases the ticket with the lucky number, they win a good sum of money. MORE TO COME SOON! THE SERVER IS HEAVILY OPTIMIZED SO THAT EVEN THE LOWEST END COMPUTERS USERS CAN ENJOY A MESMERIZING EXPERIENCE. We look forward to seeing you. -mx- Administration.
    1 point
  36. Holy :~, this looks amazing! Can't wait to see what else you're going to do with this. I do like to ask you, speaking performance, how is everything holding up? Are lower end systems going to have a problem?
    1 point
  37. We know it's a FiveM cheat you were making.. but we have no sympathy for cheat developers in general, we better throw them out as soon we notice one. In addition, we stand by other GTA MP mod creators like FiveM. I noticed that you're not a very nice individual overall, also a cybercriminal. We also found indications that you'll soon turn towards focussing at MTA with your cheat development activities. We don't want you around here, thanks for understanding To avoid things like this, be a normal player in all games. It's a possibility that you get judged elsewhere. @Zeemi
    1 point
  38. السلام عليكم ورحمة الله تعالى وبركاته اليوم اقدم لكم نظام حماية من الاسماء المخفية من تصميمي وفكرة المود هي منع اي شخص مسوي اسم مخالف في اللعبة وملاحظة النظام بيتحقق مع اللاعب اول ما يحاول الاتصال واذا كان مخالف هـ يمنعه من دخول السيرفر : والحالات الممنوعة كـ التالي 1.ممنوع اي اسم قصير ( يحتوي على حرف واحد فقط ) 2.ممنوع اي اسم يحتوي على نقاط او علامة استفاهم فقط ( خالي من الحروف ) 3.ممنوع الحروف المتكررة ( AA,BB,CC) 4.ممنوع اسم يحتوي على ارقام فقط ( خالي من الحروف ) 5. ممنوع اسم يحتوي على اكواد الوان فقط ملاحظة : بـما اني ذكرت مع الاسماء التي تحتوي على اكواد الوان فقط هذا يعني ان الثغرة او الطريقة المشهورة عندنا نحن العرب التي تجعل اسمك مخفي اصبحت مخالفة يعني استعمالها هـ يمنعك من دخول السيرفر مميزات اخرى للمود : 1. يمكن تغيير اللغة التي النظام يستعملها ( ممنوع تغيير اسمك ، "Please Change your name ") وذلك من meta .xml setting name="@Language" وتبحث عن سطر وتعدل على ال value= واللغات المتوفرة حاليا هي الانجليزية او العربية للانجلزية عدل على الخيار و حطه "en" وللعربية حط : "ar" 2.يمكن إضافة سريال حقك عشان النظام يصير ما يفحصك ويخليك تدخل بأي اسم تبغاه وذلك من meta.xml setting name="@BypassSerial" وتبحث عن سطر وتعدل على ال value= و القيمة بتكون كالتالي : لو بدك تضيف بس سريالك انت بتكتب سريالك داخل "" مثال : "3EF081DD76D7FC468CD5ECA96ECFDDC2" لو بدك تضيف اكثر من سريال واحد بتحطهم داخل {} مثال : "{"سريال حقي","سريال خويي,"سريال النائب"}" ملاحظة : من المهم جدا انك تسوي ال علامات " في بداية السريال او بداية القائمة و في نهايتهم ولو ما بدك نظام تخطي السريالات تقدر تخليه false بدون علامات ال "" : رابط التحميل اضغط هنا للتحميل وفي الأخير احب اقول انو المود كلو من تصميمي مافي ولا سرقة من اي احد ، و المود مشفر والسبب انو ما في شي لازم تعدل عليه بس احب اقول انو اي شخص محتاج المود نسخة غير مشفرة لـ اسباب تعليمية او معرفة الاكواد يلي انا مستعملها يقدر يكلمني خاص ويوجد ميزة او شي سري انا ما ذكرتو اي شخص يلاحظو هـ ياخذ المود النسخة غير مشفرة و بحاول اساعدو في مود ثاني
    1 point
  39. السلام عليكم ورحمة الله وبركاتة اليوم حبيت اجيب لكم مود المسج غير مشفر صوره للمود تفضل الرابط https://community.multitheftauto.com/index.php?p=resources&s=details&id=18713 اتمنه يعجبكم ولاتنسونه من تعليقاتكم الجميله
    1 point
  40. local antiflood = { } local currentflood = { } local timer = { } mutado = false function antiFlood( mtaz ) if mutado then outputChatBox ("Você está mutado, aguarde um pouco para enviar mensagens novamente.", source, 0, 255, 0, true) cancelEvent( ) return false end plr_source = source if isTimer( timer[source] ) then killTimer( timer[source] ) end if not currentflood[source] then currentflood[source] = 0 elseif currentflood[source] <= -1 then currentflood[source] = 0 end if currentflood[source] >= 3 then setPlayerMuted( source, true ) outputChatBox ("Você foi mutado, aguarde 1 minuto para enviar mensagens novamente!", source, 0, 255, 0, true) mutado = true else if antiflood[source] == true then cancelEvent() currentflood[source] = currentflood[source] + 1 outputChatBox("Aguarde 1 segundo!", source, 255, 0, 0, true) else currentflood[source] = currentflood[source] - 1 end antiflood[source] = true timer[source] = setTimer ( function() antiflood[plr_source] = false end, 900, 1 ) end end addEventHandler( "onPlayerChat", root, antiFlood ) Você colocou um setTimer fora da função atrelada ao evento "onPlayerChat", e também, o "chatbox" não é um control em si, e sim um comando, da maneira acima, se a variável "mutado" for verdadeira, a mensagem que o player enviar será cancelada e enviará um outputChatBox o avisando que ele está mutado.
    1 point
  41. root will send it to everyone change it to hitElement if you are going to send it only to the player who entered the marker --this triggerEvent( "addNotification", hitElement, "Você precisa da skin do CJ antes de poder definir a roupa!")
    1 point
  42. addCommandHandler isObjectInACLGroup getElementsByType givePlayerMoney
    1 point
  43. 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)
    1 point
  44. What is a Helper? Helpers are regular members of the Community who dedicate some of their time to help others. They are recognized by MTA for standing out as friendly and helpful support for scripting, technical and other topics. Helpers serve as role models for the Community and are easily approachable for general advice, problem solving or pointing to the right direction. Helpers can move threads into the correct sections, but cannot assist with moderation, unless they are also a Moderator. They can be identified by their unique rank and colored name. How can I become a Helper? Helpers are recruited through invitation only. There is no way to apply for this role, however we are on constant lookout for, and pick members who provide solid, helpful advice over a longer period of time. To make communication easier between MTA Staff and Helpers, they have their own private channels to liaise and discuss general Forum and Discord issues. It is required to have a Forum account in order to become a Helper, but there are no activity requirements. List of Helpers Tekken Haxardous iDannz Cuervo_fi Paweł The_GTA Reyomin Vampire
    1 point
  45. The map editor can now remove collisionless world objects, if you toggle "Enable collision patches" in the options. This will also make these models selectable when placed as objects. https://mirror.multitheftauto.com/mtasa/resources/
    1 point
  46. Thomas_Nightfire function getPointInFrontOfPoint(x, y, z, rZ, dist) local offsetRot = math.rad(rZ) local vx = x + dist * math.cos(offsetRot) local vy = y + dist * math.sin(offsetRot) return vx, vy, z end function GetMarrot(angle, rz) local marrot = 0 if(angle > rz) then marrot = -(angle-rz) else marrot = rz-angle end if(marrot > 180) then marrot = marrot-360 elseif(marrot < -180) then marrot = marrot+360 end return marrot end function findRotation(x1, y1, x2, y2) local t = -math.deg(math.atan2(x2 - x1, y2 - y1)) return t < 0 and t + 360 or t end local px,py,pz = getElementPosition(localPlayer) local prx,pry,prz = getElementRotation(localPlayer) local vx,vy,vz = getPointInFrontOfPoint(px,py,pz, prz+90, 15) local thePed = createPed(299, vx,vy,vz+1, prz+180) local theVehicle = createVehicle(404, vx,vy,vz+1, 0,0,prz+180) warpPedIntoVehicle(thePed, theVehicle) function UpdateBot() px,py,pz = getElementPosition(localPlayer) prx,pry,prz = getElementRotation(localPlayer) vx,vy,vz = getElementPosition(theVehicle) local vrx,vry,vrz = getElementRotation(theVehicle) local brakes = false local maxspd = 40 local MaxDist = 4 local vehreverse = false if(getDistanceBetweenPoints2D(px,py, vx, vy) < MaxDist) then brakes = true end if(brakes) then setPedAnalogControlState(thePed, "accelerate", 0) setPedAnalogControlState(thePed, "brake_reverse", 0) setPedControlState(thePed, "handbrake", true) setElementVelocity (theVehicle, 0,0,0) else local vxv, vyv, vzv = getElementVelocity(theVehicle) local s = (vxv^2 + vyv^2 + vzv^2)^(0.5)*156 -- Speed local rot = GetMarrot(findRotation(vx,vy,px,py),vrz) if(rot > 80) then if(rot > 100) then vehreverse = true end rot = 20 elseif(rot < -20) then if(rot < -80) then vehreverse = true end rot = -20 end if(vehreverse) then setPedAnalogControlState(thePed, "brake_reverse", 1-(s*1/maxspd)) setPedAnalogControlState(thePed, "accelerate", 0) setPedControlState(thePed, "handbrake", false) if(s > 10) then setPedControlState(thePed, "handbrake", true) else if(rot > 0) then setPedAnalogControlState(thePed, "vehicle_left", (rot)/20) else setPedAnalogControlState(thePed, "vehicle_right", -(rot)/20) end end else if(rot > 0) then setPedAnalogControlState(thePed, "vehicle_right", (rot)/20) else setPedAnalogControlState(thePed, "vehicle_left", -(rot)/20) end setPedAnalogControlState(thePed, "brake_reverse", 0) setPedControlState(thePed, "handbrake", false) if(s < maxspd) then setPedAnalogControlState(thePed, "accelerate", 1-(s*1/maxspd)) else setPedAnalogControlState(thePed, "accelerate", 0) setPedAnalogControlState(thePed, "brake_reverse", (s/maxspd)-1) end end end end setTimer(UpdateBot, 50, 0) Demo
    1 point
  47. To post a topic in the Scripting section your topic should meet the following requirements: It must contain specific questions about either: the code you will include that is problematic or you are asking direct support for, or asking for help in finding the best approach to achieve something. For example, asking more experienced scripters if there is a more efficient way of coding your desired script/function. The contents of the topic must focus around code support or coding methods. It needs to follow the Formatting guidelines and Conduct guidelines listed below. This section is not for: (resource) progress show-off, recruiting scripters, or polling interest or brainstorming on what kind of project you are up to next All of the above things have their own categories to post them in. These categories are respectively: https://forum.multitheftauto.com/forum/87-resources/ https://forum.multitheftauto.com/forum/149-looking-for-staff/ https://forum.multitheftauto.com/forum/140-mta-chat/ If you still post such a topic in the Scripting section mistakenly, the first time it will get moved gracefully to the correct section. Any subsequent repeated mistakes may result in an instant deletion of your topic. Formatting guidelines It would be highly appreciated if you tag your topics appropriately and use proper topic titles. Although this is not a hard requirement, it helps to maintain overview. Use the following template for this: [BUG] TOPIC_TITLE - for problematic code that will not work or has issues that you need assistance with. This type of topic must always contain a code snippet of the script in question. Most of the times, you will need to provide the entire script. [QUESTION] TOPIC_TITLE - scripting questions, including (but possibly not limited to): asking for help in understanding scripting principles, function or code usage, or if you wonder whether your approach to achieve something is the most optimal and efficient one. We are all learning and aid from more experienced scripters can be useful. Use code snippet tags. Always add your code (if applicable) in this uniform way. Click the ''< >'' shortcut in the text editor, as seen in below screenshot: Then put your code within the box that said button (< >) creates. Be sure to select Lua for highlighting from the drop-down list in bottom right corner for automatic syntax colouring, wiki links for built-in functions and events and other cool features. Please do not use loose [ code] tags for the sake of readability. Do not mass-quote code snippets, or else it would fill up the whole topic with repeats of the same code over and over again. Remove the code column from a previous quote before posting or limit your own quote by narrowing down the parts of code you are replying about. Quote selectively. Advice Last but not least, please try to explain your issue or question the best way you can. A clean and detailed topic can increase the chance that someone will sit down to analyse your problem and actually help you. Clear communication and description is also the key to attracting scripters who may potentially take a look for you. Note that a common request is to "post the full script" and that isn't without reason - problems often go deeper than you think (or the issue is structural / architectural of nature) and other scripters will find it difficult to help you debug or trace it without having a good picture of everything. Especially with questions regarding bugs or something not working as it's supposed to, you may have low or non-existent outreach from others if you're not providing full code. Similarly, also keep in mind posting screenshots (or lines) from debugscript, errors or warnings, that include the line number, you will need to number any script code you provide in your topic to ensure others can intepret it and find the corresponding erroring lines. Code of Conduct Treat everyone with respect, no matter their skill in scripting. If someone posts what you think is low level/''stupid'', remember that you have once been there as a novice scripter yourself and everyone should have a chance to learn. Instead of resorting to humiliating replies, think about how hard it is to learn how to script efficiently, and dedicate yourself even more to help them understand it. You might play a noticeable role in someone's future as MTA scripter (or who knows, maybe an even more prominent role later on too). Long story short, avoid making remarks or rude comments aimed at someone's skill level, incapabilities, etc. It is not appreciated neither by us Moderators nor by regular users of the forums. The Scripting section is not meant for those unwilling to learn, whose only intent is to try get others to finish the scripts they need, line by line. We see this happening way too often - someone with seemingly zero scripting skills does not react on-topic to the set of functions they can use that other users provide them, and does not seem to take any pushes in the right direction forward; they are just waiting for a collective effort from other scripters to develop what they want. This is what we do not want to see. Do not expect all the work to be done for you while you lean back. You should at least try to script it by yourself - users on this subforum are generally happy to help in any particular issue you come across while coding. If you see someone who keeps bumping their topic that is clearly oriented at letting his work be done by others, then please report the post. The bumping policy in scripting section is a bit different from other forum sections, because scripting topics serve as a sort of knowledge-base for those dealing with the same issue/question as described in existing topics. It is often suggested (and usual practise for many scripters) that prior to posting a new topic, someone searches the forums to see if their question has been asked/answered before. Therefore, you may bump old topics if you're certain your approach or solution/code is better than other posted answers, and if it's a fairly common question (not someone just asking how to have their own code fixed or similar case-specific topics). However, we the moderating team may still review if your posts are really useful bumps with new insights, and even if so, we can lock the topic to prevent derailing of an old topic/continuous posts. So expect your useful bumps to possibly be the last ever made in a certain topic (which means if you do it, do it well). If you believe a popular topic for a really common scripting problem should be unlocked for you to post input, or you wish to improve upon someone's earlier bump after which it was locked, then please use the Report button referring to this part of the regulations. No support is offered for leaked code or scripts (even if they only partially originate from a leak) and such topics will be locked and trashed on sight. If you notice a topic where something related is being asked, or other clandestine requests (such as questions how to decompile scripts, etc, anything with not-so-noble intentions) then please report the topic and do not reply as it may incite unnecessary arguments. Mention the source proving that it is a leaked code within your report, though you can omit that if you feel that it is fairly obvious that the resource/script was leaked. In the latter case however, keep in mind that we may not be aware of such a leak, so the Moderator who handles your report will have to take his judgement upon it if you do not provide evidence. Still, keep in mind that you should not openly accuse users who post pieces of your (or someone else's) code as per https://forum.multitheftauto.com/topic/46410-stolen-resource-accusations/. If this happens, simply report such posts. Failure to abide by the Code of Conduct may result in a forum punishment. If you notice anything that violates the Code of Conduct, please report those posts instead of enforcing the rules yourself. It just takes a few seconds, but greatly benefits the Section and makes it a better place to seek help from.
    1 point
  48. Debugging Do you know what debugging is? You might think you do, but unfortunately (in my opinion) only ~15% of the scripters in the community do know the full definition of it. Many people think that debugging code is the same as looking in to the Debug Console and waiting for warning + errors to show up. That's indeed debugging and yet it never provide all information you need to build your scripts. It only can say what goes wrong at a certain line. With other words, the Debug Console by default will only show a limited amount of mistakes you have made in your code. So what is next? You fixed all warnings and errors and yet it doesn't work. You start with making your code visible! I guess 70% would think: Making code visible? Ehhh how??? Let me write it down a little bit different: By using Debug Information making the behaviour of the code visible. I guess 50% would think: Eh what? behaviour of code????? Let me give you an example. Example: (1) outputDebugString("the script has started") -- < this is a debug line if true then outputDebugString("code works here") -- < this is a debug line else outputDebugString("code shouldn't be working here") -- < this is a debug line end Debug console "the script has started" "code works here" The debug console is NOT information for players, it is information for YOU developers! BTW this is a debug line outputDebugString("test") -- < this is a debug line In this case it is just a piece of code that shows information in the debug console. Example: (2) local playerName1 = "snake1" local playerName2 = "cow" if playerName1 == playerName2 then outputDebugString("players playerName1 and playerName2 do share the same name. Name: " .. tostring(playerName1)) -- < this is a debug line else outputDebugString("players playerName1 and playerName2 do NOT share the same name. playerName1: " .. tostring(playerName1) .. ", playerName2: " .. tostring(playerName2)) -- < this is a debug line end Debug console "players playerName1 and playerName2 do NOT share the same name. playerName1: snake1, playerName2: cow" Easy isn't? The concept behind this debug method is to see what the code does / doesn't execute. Is this method handy? It is actually the very basic of debugging, for code that doesn't contain any errors/warnings. I would say it is handy and it is a very powerful method too. It is also handy for people who do not know how to script. If you want people to help you with your code, but you do not know what is wrong with it. You can add those debug lines and point out to where the code stops working. This will make it more efficient for you and the scripter to work out the problem, because the scripter knows where to look. How much debug lines do you have to add to your script? 1? 10? 100? 1000? You could start with around 100 debug lines and as you learn how to script, you can reduce it to 10+ debug lines. Too much debug lines are not always good, because they will give you too much information and it will cost time to manually filter them. So I recommend you to remove some of them afterwards. When you are finished with the tested code, you can remove 90+% of them. Feel free to disable them instead of removing them, if you know that you are going to need them again. For complex code, I use around 25 debug lines, SO DON'T HOLD BACK! Render events It is strongly recommended to remove debug lines that are executed on onClientRender/render events when you are finished with your code. Because that can have influence on the smooth fps.(It will not drop much of the fps, but it can make it feel unsmooth) Clearing the debug console? /cleardebug Know your tools: outputDebugString -- Show a message on the Debug Console bool outputDebugString ( string text, [ int level=3, int red=255, int green=255, int blue=255 ] ) --- outputConsole -- Show a message on the F8 panel. bool outputConsole ( string text ) -- client bool outputConsole ( string text, [ element visibleTo=getRootElement() ] ) -- server --- inspect -- Convert one mixed value to a string. string inspect ( mixed var ) --- print -- Show a message on the terminal / serverwindow / Debug Console. bool print ( string var1[, string var2, string var3...] ) --- tostring() -- Convert a value in to a string. (but for objects/elements, inspect works better) --- iprint -- Show a message on the terminal / serverwindow / Debug Console (convert multiple mixed values automatic to string, no need for tostring or inspect) bool iprint ( mixed var1[, mixed var2, mixed var3...] ) --- outputChatBox -- You can also debug with outputChatBox (even though it is less efficient) bool outputChatBox ( string text [, int r=231, int g=217, int b=176, bool colorCoded=false ] ) -- client bool outputChatBox ( string text [, element visibleTo=getRootElement(), int r=231, int g=217, int b=176, bool colorCoded=false ] ) -- server Debug message levels 0: Custom message 1: Error message 2: Warning message 3: Information message (default) Addition by @Hale https://wiki.multitheftauto.com/wiki/OutputDebugString Advanced tools: local line = debug.getinfo(1).currentline -- get the line of the script where the code has been executed. 1 = current function. (can be useful if you want to get the line where this function has been called from) https://www.lua.org/pil/23.1.html WIKI MTA: WIKI MTA debugging tutorial/information. https://wiki.multitheftauto.com/wiki/Debugging
    1 point
×
×
  • Create New...