Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 22/04/17 in all areas

  1. Happy Spring Break! We have got a new release for you - Multi Theft Auto: San Andreas 1.5.4! This release includes security updates for the server that protect both you and us, so we recommend all server owners to upgrade as soon as possible - see the steps below for tips on that. Failure to do so may affect your server's visibility on the Master Server List in the ingame server browser. Aside from security fixes, there are some feature updates in this version for the client as well, so regular players are more than welcome to update. What do you need to do to upgrade your server properly Stop your server, then upgrade your server binaries like usual. You can also upgrade your server resources if you use any of the default MTA:SA ones. Start your server, and when it is running, stop your server again (This will step will ensure mtaserver.conf is upgraded) Edit your mtaserver.conf file, and find <owner_email_address> (it should be just below the <servername> parameter) and insert a valid e-mail address that we can use to contact you, should there be an issue with your server. This e-mail address IS NOT visible publicly and will only be used for means listed earlier. That is, only if those occur. Save the mtaserver.conf file, then start your server again. Release Highlights Authorized Serial Account Protection is now enabled by default. To put it simply, this feature prevents players from logging in to an account on the server if their serial differs from the serial associated with that account. Naturally, this feature is configurable so you can restrict it to specific account groups and you can authorize more than just one serial for a specific account. You can also disable this in the mtaserver.conf file if you are sure you do not need the feature. Database Credentials Protection is now enabled by default. passwordHash() & passwordVerify() can now be used to store and verify passwords securely and efficiently fetchRemote() now supports parallel downloads with the queue name parameter setWorldSpecialPropertyEnabled() now has settings for "sniper moon", "random foliage" and "extra air resistance" New scripting functions: get/setVehicleLODDistance() setElementDimension() now supports element omnipresence, which means that an element can be in all dimensions at once fixes for weapons/fists desync Corona markers should now have a correct attach offset position SQLite or MySQL no longer makes the server freeze if the connection is lost (#9520) Goggles no longer stay after player was killed (#9477) updates for CEF and other dependencies and redists fakelag command for testing sync issues fixes for some crashes and improvements for error handling for installation and startup issues removed max password length limit for server account passwords added server option to allow locally modified (gta3.img) vehicles added world special property "extraairresitance" to remove speed limiter on certain road sections (#7546) resource pack: various changes in acpanel, editor, freeroam, killmessages, playerblips, race and webbrowser ... plus more! A complete list of changes can be found here (recommended read) and here (incomplete, from r10623 upwards). List of changes to the resource pack can be found here (starting from and including Oct 29, 2016 upwards). Want to download MTA:SA 1.5.4? Click here to download the build for Win 7+. Looking for a legacy build for XP/Vista? You can download it here. Or you can click here to go to our home page. Once there, click the Download button at the top center of the page, then choose your build and you are set. Linux server packages are also available. This release is backwards compatible with the 1.5.3 (also 1.5.2, 1.5.1 and 1.5). If you use these versions, then you may as well upgrade to the newest one. Credits for this release: 4O4, Arran, Dutchman101, einheit-101, Fernando, lopezloo, Necktrox, next, Noki_, qaisjp, ZReC ^ (Have you contributed to MTA:SA 1.5.4's source code/resources pack but were not mentioned in the above list? PM @jhxp with a link to your contribution and you will be added ASAP) ^ Oh, and did you know that we have got our very own Discord server now? Click here for details on how to join our server. Take care. -- MTA Team
    20 points
  2. Hi! Following the community discussion in our forums, we have created an official Discord server quite a while ago, as an alternative (and maybe a full replacement in the future) to our current IRC channels. We kept it in under the radar while we were fine tuning things, but we believe we can now present it to you guys. All MTA players and fans are welcome to join our Discord server (though please behave while you are in there ). You can join it by using this link: https://discord.gg/mtasa What is Discord? Discord is a hybrid of IRC, an Instant Messenger and a Voice Chat software. It incorporates the most important features of these elements into a handy and multiplatform app which you can run on your desktops, smartphones or tablets. Why is it cool? Compared to IRC, it offers a built-in chat history buffer, so even if you are offline, you can still catch up with what happened in the channels then. IRC also offers that, but only through an IRC Bouncer that you either need to pay for, or have someone host it for you. It also has a modern look and features such as URL embedding (regular websites, but also pictures and videos), handy syntax colouring for pasted code snippets, emojis (also custom ones), chat messages reactions, Steam integration and more. What can I find while I am there? We currently have some channels created, including: #general - for general MTA and offtopic chats #scripting - for Lua scripting-related queries #support - for any problems related to MTA:SA client or server #announcements - for all important messages from us as well as some others. We are still thinking of how to put our Discord server into its full potential, so we may add more channels soon. Can I have Discord app installed and/or running on several of my devices concurrently? Can I use more than one server? Sure, absolutely. It will sync the messages automatically. And yes, you can add more servers than just our one. How do I join it? Hey, we have mentioned that already. Just click the link below and follow the instructions: https://discord.gg/mtasa I have a suggestion about the Discord... Okay, let us know. As usual, we are open for suggestions. Just post in this topic or hit us up directly on Discord. Hope to see you there! -- MTA Team
    4 points
  3. I was bored and long time without do any script so I started looking in the wiki some functions what I not used yet and I found dxDrawMaterialLine3D. You have a video and code about a scoreboard what I made for test this function. Maybe this can be useful for you ( take scrollbar, etc ). Client-Side code:
    3 points
  4. function Save() local Acc = getPlayerAccount(source) if ( Acc ) then local bMoney = getPlayerMoney(source) setAccountData(Acc, "MoneySave", bMoney) setPlayerMoney(source, 0) end end addEventHandler("onPlayerQuit", getRootElement(), Save) addEventHandler("onPlayerLogout", getRootElement(), Save) function Recover() local Acc = getPlayerAccount(source) if (Acc) then local SaveData = getAccountData(Acc, "MoneySave") if (SaveData) then setPlayerMoney(source, tonumber(SaveData)) end end end addEventHandler("onPlayerLogin", getRootElement(), Recover)
    2 points
  5. Yep @LopSided_, re-read it already, and found that I misread his comment.
    1 point
  6. Edited version now supports rotating vehicle and number on the right has been changed
    1 point
  7. الي يبي يشوف التغيرات بالاصدار الجديد 1.5.4 https://wiki.multitheftauto.com/wiki/Changes_in_1.5.4 تغيرات بطله صراحه والي عجبني اكثر الفنكشين ذول passwordHash passwordVerify
    1 point
  8. Correct one was this btw. setPedAnimation(source, "CARRY", "crry_prtial", 1, true, true, false)
    1 point
  9. addEventHandler ( "onPlayerVehicleExit", getRootElement(), function(theVehicle, towedBy) local thePlayer = getVehicleController(source) if not thePlayer then destroyElement(trailer) destroyElement(trailer2) destroyElement(trailer3) outputChatBox("#FFffFFElhagytad a mozdonyt. A vagonok törlődtek!", source, r,g,b, true) end end ) Try this.
    1 point
  10. oh really? Do you pay to get a point? my dude go to download app and see if point free or not hd -
    1 point
  11. Event parameters addEventHandler ( "onPlayerVehicleExit", getRootElement(), function ( vehicle, seat, jacked ) if getVehicleType(theVehicle) == "Train" then detachTrailerFromVehicle(theVehicle) end end, )
    1 point
  12. اصلأ ماهو موزعها هو مسوي بدل تاج الزائر مخليه كونسول هههههههههه
    1 point
  13. DATABASE_CONNECTION = dbConnect( "sqlite", "uhr.db" ) function db_executeCommand( COMMAND, ... ) local ARGUEMENTS = { ... } local VARS = {DATABASE_CONNECTION, COMMAND} local DB_EXEC if #ARGUEMENTS == 0 then DB_EXEC = dbQuery(unpack(VARS)) return DB_EXEC end for i, VAR in ipairs( ARGUEMENTS ) do local TYPE_COUNT = VAR:find("type=") local TYPE = VAR:sub(TYPE_COUNT, #VAR) TYPE = TYPE:gsub("type=") local VAR = VAR:sub(1, TYPE_COUNT - 1) VAR = TYPE == "INT" and tonumber (VAR) or TYPE == "loadstring" and loadstring(VAR)() or TYPE == "TEXT" and VAR table.insert(VARS, VAR) end DB_EXEC = dbExec(unpack(VARS)) return DB_EXEC end db_executeCommand( "INSERT INTO accounts( column1, column2, column3 ) VALUES ( ?, ?, ?)", "value1 type=INT", "value2 type=TEXT", "value3 type=loadstring" ) Try it.
    1 point
  14. ما اشوف استخدامه مفيد لهاذي الدرجه لكن على كل حال الفنكشن يسمحلك انك تحط الالمنت عنصر اساسي لالمنت اخر او الوالد او صاحب الالمنت الاخر فهمت علي انا احاول اوصلك الفكره
    1 point
  15. تقدر تختصر كودك بالجداول
    1 point
  16. مثلا انت كتبت رسالة وجا لاعب ثاني كتب رسالة تبي التايمر للكل ولا تبي تايمر للي يكتب الرسالة فقط ؟ يعني انا كتبت رسالة وجا خويي يكتب لازم ينتظر 8 ثواني ولا بس انت الي تنتظر 8 ثواني ؟
    1 point
  17. كل مهمة 10 ؟ ماتوقع فيه احد يسويلك مهمة ب 10 لان المهمة موب اي واحد يسويها
    1 point
  18. طيب وريني سطر الدي اكس او الي يظهرلهم بالشاشة
    1 point
  19. setElementData ( resourceRoot, "Msg_", message ) setTimer ( function ( ) setElementData ( resourceRoot, "Msg_" , false ) end , 1000*8 , 1 ) في سطر 51 و 52 و53 بدلهم بهذا if getElementData ( resourceRoot, "First_") == true then setElementData ( resourceRoot, "Msg_", message ) setElementData ( resourceRoot, "First_", false ) else setTimer ( function ( ) setElementData ( resourceRoot, "Msg_", message ) end , 1000*3 , 1 ) end
    1 point
  20. حط ذا في أول سطر بسيرفر addEventHandler("onResourceStart",root,function () setElementData ( resourceRoot, "First_", true ) end) وحط ذا بدال الكود الي عطيتك اياه قبل setElementData ( resourceRoot, "Have_", true ) if getElementData ( resourceRoot, "First_") == true then setElementData ( resourceRoot, "Msg_", message ) setElementData ( resourceRoot, "First_", false ) else setTimer ( function ( ) setElementData ( resourceRoot, "Msg_", message ) end , 1000*8 , 1 ) end
    1 point
  21. if getElementData ( resourceRoot, "First_") == true then setElementData ( resourceRoot, "Msg_", message ) setElementData ( resourceRoot, "First_", false ) else setTimer ( function ( ) setElementData ( resourceRoot, "Msg_", message ) end , 1000*8 , 1 ) end
    1 point
  22. setElementData ( resourceRoot, "Msg_", message ) setTimer ( function ( ) setElementData ( resourceRoot, "Msg_" , false ) end , 1000*8 , 1 ) ^ بدل الأسطر ذي بـ setTimer ( function ( ) setElementData ( resourceRoot, "Msg_", message ) end , 1000*8 , 1 )
    1 point
  23. @#_MR.DEAD ليه تشفر ملفات السيرفر اساس هي ماتتحمل بمعنى ماراح تظهر بملفات اللعبة بس الكلينت الي يتحمل
    1 point
  24. الأفضل تعطيه 10 سوا كل مايسويلك مهمة او لوحة لأن ماتوقع واحد بينتظر شهر كامل بس عشان 10 ريال :_
    1 point
  25. جديد .. رسالة بمكسب او خسارة للأشياء اللي معك
    1 point
  26. addCommandHandler ( "Open" , function ( aPlayer_ ) if ( aPlayer_ ) then if ( getPlayerSerial ( aPlayer_ ) == " " ) then triggerClientEvent ( aPlayer_ , "Open" , aPlayer_ ) else outputChatBox ( " * انت لا تملك خاصية فتح اللوحة " , aPlayer_ ) end end end ) كمل الترايقر
    1 point
  27. I like seeing people sharing which others the knownledge adquired in an individual learning process without waiting any kind of benefits. Respect.
    1 point
  28. Muy buen aporte, este aporte nos muestra que mediante el aprendizaje uno puede compartir los conocimientos adquiridos a los demás de forma gratuita sin solicitar nada a cambio. Respeto.
    1 point
  29. Solved. (If somebody want to know:) luac is the lua compiler's main file. The makefile will generate 1 library and a compiler exe. (Ok i discussed it with myself )
    1 point
  30. admin powers to hide the players are complaining İ speak engilish less soriy
    1 point
  31. I think you should post this in your language section, it's impossible for me to understand anything from your sentences. Go to the Other languages section, and select the one sub-section which is desired for your language.
    1 point
  32. T chat authority hide ? example : ban .... nick it will be seen
    1 point
  33. We, or atleast I, don't understand anything from this post. Maybe try to explain it better.
    1 point
  34. I think you'll have to use setElementRotation and a ton of math.
    1 point
  35. Buenos como estaba aburrido y sigo en youtube a un programador de la universidad de NY decidí ver uno de sus vídeos y me dije porque no hacerlo en mta así que aquí esta: Os dejo el vídeo en el cual código me base para hacer esto. Source local sX, sY = guiGetScreenSize() local w, h = 600, 700 local x, y = sX*0.5 - w*0.5, sY*0.5 - h*0.5 local len = 100 local angleOffset = 10 local separation = 20 local tick = getTickCount() local baseX, baseY = x + w*.5, y + h local updateLen = false local nodes = {} function setup() table.insert(nodes, {x = baseX, y = baseY - len, angle = 300, len = len, parent = 0, haveChildres = false}) end addEventHandler("onClientResourceStart", resourceRoot, setup) function renderWorkStation() --Render Background dxDrawRectangle(x, y, w, h, tocolor(50, 50, 50, 255)) for i = 1, #nodes do branch(i) end --Create new Nodes if getTickCount() - tick > 500 then for i = 1, #nodes do local node = nodes[i] if not node.haveChildres and len > 2 then createChildrens(i) node.haveChildres = true end end tick = getTickCount() updateLen = true end if updateLen then len = len*0.67 updateLen = false end end addEventHandler("onClientRender", root, renderWorkStation) function getXYFromAngle(angle, len) return math.cos( math.rad( angle ) ) * len, math.sin( math.rad( angle ) ) * len end function createChildrens(index) local parent = nodes[index] local angle = parent.angle - angleOffset --Right local startX, startY = getXYFromAngle(angle, len) table.insert(nodes, {x = startX + parent.x, y = startY + parent.y, angle = angle + separation*2, len = len, parent = index}) --outputChatBox("[Node] Creating node ID => "..#nodes.. " Angle => "..angle) --Left local startX, startY = getXYFromAngle(angle - separation*2, len) table.insert(nodes, {x = startX + parent.x, y = startY + parent.y, angle = angle - separation, len = len, parent = index}) --outputChatBox("[Node] Creating node ID => "..#nodes.. " Angle => "..-angle) end function branch(index) local node = nodes[index] if index == 1 then --dxDrawRectangle(node.x - 2.5, node.y - 2.5, 5, 5, tocolor(255, 0, 0, 255)) dxDrawLine(node.x, node.y, baseX, baseY) else --dxDrawRectangle(node.x - 2.5, node.y - 2.5, 5, 5, tocolor(255, 0, 0, 255)) local color = node.len < 20 and tocolor(75, 200, 75) or tocolor(255, 255, 255) dxDrawLine(node.x, node.y, nodes[node.parent].x, nodes[node.parent].y, color) end end addCommandHandler("changeAngle", function(cmd, angle, sep) angleOffset = tonumber(angle) separation = tonumber(sep) len = 100 nodes = {} setup() end) Esto lo hice porque me aburria así que no es un código ni bien organizado ni pensado para un servidor simplemente for-fun
    1 point
  36. @JanKy mix your "onClientResourceStart" functions into one function and also put night_init() in the first line of function like this function loadShaders () InselMapStart() night_init() for path,texstures in pairs (shaderMap) do local shader = dxCreateShader('shader.fx') table.insert(shaderList, shader) local terrain = dxCreateTexture(path) dxSetShaderValue(shader, 'gTexture', terrain) for i,txd in ipairs (texstures) do engineRemoveShaderFromWorldTexture(nightShader, txd) engineApplyShaderToWorldTexture(shader,txd) end end end addEventHandler( "onClientResourceStart", resourceRoot, loadShaders )
    1 point
  37. N/A رجعت معا سيت اب جديد , وفودكا :3 https://steamcommunity.com/id/httrckcldhks - Main Steam http://steamcommunity.com/id/Siffxr - Sec Bot Main http://steamcommunity.com/id/BOTMarketSiffxr - Bot Market 500$ ليبغا يلعب يكلمني
    1 point
  38. Have you tried https://github.com/sbx320/lua_utils?
    1 point
  39. If they can make a hack that bypasses our anti-cheat and is willing to give it to us, sure. He can probably make more money selling it to idiots though.
    1 point
×
×
  • Create New...