Jump to content

Xwad

Members
  • Posts

    1,089
  • Joined

  • Last visited

Everything posted by Xwad

  1. How can i set the vehicles draw distance to maximum (1200m) ? I tried with creating low lod for the vehicle, used "setVehiclesLODDistance" and set all the game settings to maximum but still have a draw distance for vehicles with the maximum of 300 m. client: function lod() for i,v in ipairs(getElementsByType("vehicle")) do local model = getElementModel(v) local x,y,z = getElementPosition(v) local rx,ry,rz = getElementRotation(v) local objLowLOD = createObject ( model, x,y,z,rx,ry,rz,true ) setLowLODElement ( v, objLowLOD ) engineSetModelLODDistance(v, 9999) end end addEventHandler("onClientResourceStart", resourceRoot, lod) setVehiclesLODDistance(6000) setFogDistance(10) setFarClipDistance( 9999 )
  2. Ohh no haha. I want to disable the auto camera adjustment (the cam rotates in the direction where the vehicle is looking at while moving. But i think its not possible, just wanted to make sure.
  3. I dont know how this should solve my problem
  4. Is it possible to disable camera adjustment in vehicles?
  5. I fixed some bugs but its still not perfect. idk why. https://www.mediafire.com/file/frrcxykix48mg29/crosshair.rar/file
  6. No, that's not exactly what i need. I have problems with maths. Look, i uploaded the script to mediafire! https://www.mediafire.com/file/b3xd1n4ws979zgu/crosshair.rar/file I did not express myself clearly enough so i think the easiest way is if i give you the script so you can test it.
  7. But im trying to add a croshair to the ground position where the bomb will fall to. I am using the free fall formula: local time = vz - math.sqrt( vz*vz + height * 19.6 ) / -9.8 VZ : initial speed of the element when its released from the plane height : height of the plane (in meters) and the 19.6 (9.8x2) is the gravitational acceleration. When i get the time then i can calculate the y distance by multiplicating the time with the planes speed (m/s).
  8. Hi. I started creating a new plane bombing script. I created this code that calculates the x,y,z position, where the element (bomb) will fall to. There is only one problem. It's bugging (the positions are not always correct) and i can't fix it. Any idea? Thx. local face = dxCreateTexture( "crosshair.png" ) function output_bombs() local veh = getPedOccupiedVehicle(localPlayer) local speed = getElementSpeed(veh, 0) local px,py,pz = getElementPosition(veh) local rx,ry,rz = getElementRotation(veh) local vx,vy,vz = getElementVelocity(veh) local ground = getGroundPosition(px,py,pz) local height = pz - ground local vz = vz * -50 if vz < 0 then vz = vz * -1 end local time = vz - math.sqrt( vz*vz + height * 19.6 ) / -9.8 -- THAT'S IT if time < 0 then time = time * -1 end local distanceY = speed * time local npx = px + distanceY local npy = py + distanceY local x,y,z = getPositionFromElementOffset(veh,0,distanceY,0) local ground = getGroundPosition(npx,npy,pz) dxDrawImage3D( x,y-10,ground+1, 0,20, face, tocolor( 255,255,255, 255 ), 0, false, x,y,z ) dxDrawText ( "height: "..height, 400,100, 0,0, tocolor ( 240,240,240, 255 ), 1.5 ) dxDrawText ( "speed: "..speed, 400,50, 0,0, tocolor ( 240,240,240, 255 ), 1.5 ) dxDrawText ( "fall time: "..time, 400,150, 0,0, tocolor ( 240,240,240, 255 ), 1.5 ) dxDrawText ( "initial speed: "..vz, 400,250, 0,0, tocolor ( 240,240,240, 255 ), 1.5 ) end
  9. Xwad

    shader issue

    Hello, is there anybody who's good with shaders? I have this UV scroll shader code that is scrolling a texture, but i have no clue how to create parameters for mta lua. I want to create a parameter to set the speed of the texture scrolling. float gTime : TIME; float3x3 getTextureTransform() { float posU = -fmod( gTime/20 ,1 ); float posV = 0; return float3x3( 0, 1, 0, 1, 0, 0, posU, posV, 1 ); } technique tec0 { pass P0 { TextureTransform[0] = getTextureTransform (); TextureTransformFlags[0] = Count2; } }
  10. https://wiki.multitheftauto.com/wiki/Shader_examples#UV_scroll how can i set the scrolling direction? Should i use dxSetShaderValue? Thanks in advance.
  11. Xwad

    Synch question

    If i create a weapon in client side and fire it through server side, will other players see the gun firing? with other words (to be sure) if the createWeapon is not synched but the fireWeapon is, will other players see the gun firing?
  12. Xwad

    loop question

    That's not exactly what i need. I want to loop throught all peds and get the one that is the closest to a given position. Its not that difficult, i just wanna know if theres any simpler way to do it, so i dont have to loop twice
  13. Xwad

    loop question

    I want to check which ped is the closest to the wx,wy,wz position. Is there any easier way do it then this method? local wx = 0 local wy = 0 local wz = 0 function test() for i,v in ipairs(getElementsByType("ped")) do local x,y,z = getElementPosition(v) local distance = getDistanceBetweenPoints3D(x,y,z,wx,wy,wz) for i,v2 in ipairs(getElementsByType("ped")) do local x,y,z = getElementPosition(v) local distance2 = getDistanceBetweenPoints3D(x,y,z,wx,wy,wz) if distance < distance2 then --- end end end
  14. Xwad

    getElementData

    Yes thats it. It was not working because the script had other gui static elements that didnt have the data.
  15. Xwad

    getElementData

    But i need the data[2].
  16. Xwad

    getElementData

    local gui1 = {"496","Pz.Kpfw. II","pz2","50","40","11","50","30","20","15"} local gui2 = {"401","Pz.Kpfw. III","pz3","50","64","70","40","50","30","50"} local gui3 = {"517","Hetzer","hetzer","50","42","110","40","50","30","50"} local img1 = guiCreateStaticImage( 100, 100, 175, 127.5, "files/images/pz2.png", false, tab2 ) local img2 = guiCreateStaticImage( 500, 200, 175, 127.5, "files/images/pz3.png", false, tab2 ) local img3 = guiCreateStaticImage( 100, 300, 175, 127.5, "files/images/hetzer.png", false, tab2 ) setElementData(img1, "data", gui1) setElementData(img2, "data", gui2) setElementData(img3, "data", gui3) for i,v in ipairs(getElementsByType("gui-staticimage")) do local data = getElementData(v,"data") local x,y = guiGetPosition(v, false) local label = guiCreateLabel ( x,y, 150,20, data[2], false, tab2 ) end Inside the looping, the data variable has no value (a boolean value). Its a mystery for me. I checked everythink 100x times, but does not work.
  17. Xwad

    Math question

    YES i did it+! Thanks for the hint!
  18. Xwad

    Math question

    i have a table with elements inside it. if the number of elements inside the table are 0 or 1 then do a calculation with the number (#table) which will be the result of 10. If the number of elements are 2 or 3 then do the same calculation which will be the result of 20. And the same with result 30,40,50,60, etc.... Is this possible? (i need it for an auto positioning gui element)
  19. Xwad

    getOffsetFromXYZ

    And which function should i use for getting the angle?
  20. Hello. I wan't to determine which side of the vehicle was shooted (front or rear). My problem is that the front and the rear will be the opposite when the vehicle is rotated 180 deegres. I know, i have to use getOffsetFromXYZ but i dont really understand the logic. function onFire(weapon,ammo,ammoInClip,hitX,hitY,hitZ,hitElement) if getElementType(hitElement) == "vehicle" then local x,y,z = getOffsetFromXYZ( getElementMatrix(hitElement), getElementPosition(hitElement) ) local offsetX = hitX - x local offsetY = hitY - y local offsetZ = hitZ - z if offsetX > 0 then outputChatBox("rear") elseif offsetX < 0 then outputChatBox("front") end end end addEventHandler("onClientPlayerWeaponFire", root, onFire) function getOffsetFromXYZ( mat, vec ) -- make sure our matrix is setup correctly 'cos MTA used to set all of these to 1. mat[1][4] = 0 mat[2][4] = 0 mat[3][4] = 0 mat[4][4] = 1 mat = matrix.invert( mat ) local offX = vec[1] * mat[1][1] + vec[2] * mat[2][1] + vec[3] * mat[3][1] + mat[4][1] local offY = vec[1] * mat[1][2] + vec[2] * mat[2][2] + vec[3] * mat[3][2] + mat[4][2] local offZ = vec[1] * mat[1][3] + vec[2] * mat[2][3] + vec[3] * mat[3][3] + mat[4][3] return {offX, offY, offZ} end
  21. yeah but i get the value with getVehicleComponentRotation, so why is it not working?
  22. Well, although this problem is fixed, i got a new one haha line 4: attempt to perform arithmetic on local rh a nil value this means that rh does not have a value?
  23. Hmmm i'm wondering why does this not work. line 3: unexpected symbol near ' function rotate() for i,v in ipairs(getElementsByType("vehicle")) do local _,_,rh = getVehicleComponentRotation(v, "misc_a") setVehicleComponentRotation(v, "misc_a", _,_,rh+2) end end addEventHandler("onClientRender", root, rotate)
×
×
  • Create New...