Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Zango

  1. Zango


    Try downloading the latest version, from mtasa.com, and run MTADiag again
  2. Zango

    aiming problem

    What version of MTA are you on? type "ver" in console (F8) Does this happen on one server or several? Can you upload a video of this?
  3. Zango

    [Help] Turf

    Have a look at the radar area functions and colshape functions. What are you looking to do?
  4. The only way right now is it to interrupt the entering task, like you do when you hold movement keys as a player during jacking. If you set the "backwards" control state after jacking starts, you can do this. The current implementation of jacking is very lacking in this aspect. If jacking is aborted for one of many reasons, the server doesn't know how far the jacker is, ie. if he physically pulled out the jacked ped yet, so it relies on the jacker to abort properly. But for peds, if the syncer changes the jacking isn't aborted properly and the jacker will be warped into the car. This is s
  5. It will give you better results, as in the random numbers wont be the same each time you run the script. But it wont make the Lua random generator better, it has a propensity for certain numbers and patterns like any pseudo-random number generator. If you need better randomness you can consider fetching numbers from random.org, they have an API.
  6. local last_button_action = 0 function onClientKey(button, pressOrRelease) if not pressOrRelease then return end local boundKeys = getBoundKeys("vehicle_secondary_fire") if not boundKeys then return end if not boundKeys[button] then return end local tick = getTickCount() if tick - last_button_action < 500 then cancelEvent() return end last_button_action = tick end addEventHandler("onClientKey", root, onClientKey) This will limit the vehicle_secondary_fire control to once every 500 ms, it should be enough to block the super jump on bike. This applies to all vehicles,
  7. If you want to get the target in the center of the screen, you can use getCameraMatrix. It returns the camera position and lookat position, which is a unit vector from the camera position, so you can easily multiply it to get a point further out. Made the following so you can see if thats what you need. local scrW, scrH = guiGetScreenSize() local maxTargetDistance = 100 addEventHandler("onClientPreRender", root, function() local cx, cy, cz, lx, ly, lz = getCameraMatrix() local px = cx + (lx - cx) * maxTargetDistance local py = cy + (ly - cy) * maxTargetDistance local pz = cz
  8. To see errors and warnings from your script, use /debugscript 3. The problem here is you are parsing a resource element into triggerClientEvent where it expects a player. function ShowImage (player) The player here is a resource, because you have bound it to onResourceStart. If you want to send this image to everyone on the server, use root as "sendTo" parameter. triggerClientEvent ( root, "onClientGotImage", root, response ) I've made a few changes to it, see the comments here: -- server function ShowImage() outputChatBox ( "event called, fetching image..."
  9. I tested it and it looked fine. Can you show with a screenshot what looks wrong?
  10. Try using modulate_add as blend mode instead of add before fading it (line 18)
  11. What doesn't work? Are you getting an error? Use /debugscript 3
  12. Do you want to fade two images with each other? Or fade the current image to nothing and then fade the next image from nothing? Use alpha in tocolor to fade it. (red, green, blue, alpha). dxDrawImage(0, 0, screenSize.x, screenSize.y, backgroundTexture, angle, 0, -120, tocolor(255, 255, 255, 255)) To fade it a bit dxDrawImage(0, 0, screenSize.x, screenSize.y, backgroundTexture, angle, 0, -120, tocolor(255, 255, 255, 100)) Now you need to add or subtact a bit of alpha every render. If you add 1 alpha, the effect will take 255 frames, so about 4 seconds at 60 FPS. Let me k
  13. If you haven't already, you need to find the scoreboard resource, by default it will be in server\mods\deathmatch\resources\[gameplay]\scoreboard Scoreboard has a few different settings you can adjust. In meta.xml at the bottom you will find settings to toggle whether teams and country flag will always or never be shown. You can also disable colorcoded names there. You probably want to force teams to be shown. Change <setting name="*forceShowTeams" value="false" to <setting name="*forceShowTeams" value="true" Besides those settings there are some the players can change
  14. Head into server\mods\deathmatch\resources\[managers]\mapmanager. Open meta.xml. Find <setting name="*color" value="#E1AA5A"/> Change the hexadecimal value to fe. value="#0000FF". Go here to convert RGB to Hex: https://www.rgbtohex.net/rgbtohex/
  15. You can open a file handle on server.log and read it periodically. Move the pointer to end of file after opening it initially, and read from it at some interval (500ms should feel like realtime).
  16. I made the below function as you might find it useful to animate multiple floating arrows, as alternative to the static approach above. Use createAnimatedArrow(...) instead of createMarker(...) for your arrow. It uses the stream in/out events so we don't waste CPU on markers that are far away. You could further optimise it to bind/unbind the render event at the first and last stream in / out, saving 1 pairs call. local markers = {} local animationMethod = "InOutQuad" -- What easing function to use, see https://wiki.multitheftauto.com/wiki/Easing local animationTime = 1000 -- The
  17. It's worth mentioning you can carjack a dead ped, if you are looking to make a workaround. However it's almost impossible to create a workaround that looks good and works well. I've considered a lot of approaches for a workaround, but it's ridiculous for such a basic mechanic that should just work. Better to focus our efforts on fixing it in MTA.
  18. There is no way for peds (bots) to enter a car like players do. You can only send them directly to the car with warpPedIntoVehicle.
  19. local weapon_table = { -- model, id [30] = { [422]=10, --Bobcat [596]=9, --PoliceLS }, } function getElementSpeed(theElement, unit) -- Check arguments for errors assert(isElement(theElement), "Bad argument 1 @ getElementSpeed (element expected, got " .. type(theElement) .. ")") local elementType = getElementType(theElement) assert(elementType == "player" or elementType == "ped" or elementType == "object" or elementType == "vehicle" or elementType == "projectile", "Invalid element type @ getElementSpeed (player/ped/object/vehicle/projectile expected, got " .. elementType .
  20. Hello and welcome to MTA. Your code looks fine, looks like you store the rotation correctly. I think the issue is in your database. You might have a row in your "vehicles" table that doesn't contain anything in rotation_x. So your vehicle is not created on line 34 (MTA gives you a warning). But then your code fails because it thinks vehicle_object is created (line 38). So try deleting the "vehicles" table and creating it again.
  21. Without testing it, the matchingDimension parameter should work and tell you if the element hit the colshape in the right dimension. Can you post your code?
  22. Use the partial animation crry_prtial for walking while holding the crate. Set last parameter to true (freezeLastFrame). setPedAnimation(localPlayer, "carry", "crry_prtial", 0, false, true, true, true)
  23. Pass 0 (or something else) in the 'time' parameter and controls should work. setPedAnimation(localPlayer, "ped", "run_fat", 0)
  24. Do you want a player to control it? Take a look at the weapon creation functions here and attachElements.
  25. Try not using -1 in the time parameter. setPedAnimation(localPlayer, "ped", "run_fat", 0)
  • Create New...