Search the Community
Showing results for tags 'dogfight'.
-
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.
-
Odyssey Freeroam We're a advanced freeroam server with loads of features that most of the competition doesn't have. Our goal is to satisfy every player playing on our freeroam with a lot of customisable settings and never before seen features. Some of our features are: - A custom hydra lock-on (dogfight) system - Base capturing (something like turfs, but way more action-packed) - A crew system (crew owners/leaders can invite you to their crew, players can join 2 crews per account. Every crew has their own Hydra skin and base if they captured one in base capture) - Custom vehicles and vehicle upgrades - Custom reflection/water/detail/particle/effect shaders - A customisable settings menu (some of the settings are setting the quality of dx elements being drawn on the screen, object draw distance, vehicle draw distance and player draw distance) - A player blacklist menu (blacklisted players can't send you whispers/pms if you've blacklisted them) - A custom group chat (party) system - A custom vehicle/weapon damage system - Custom weapon switch system (similar to GTA V's weapon wheel) - Custom radio stations We're looking forward to see you on our server :). - Odyssey Staff team. IP: mtasa://51.68.190.72:22003 Discord: https://discord.gg/3dna9jS
- 1 reply
-
- freeroam
- dogfight system
-
(and 5 more)
Tagged with:
-
When you press handbrake it should draw the image named 'crosshair.png' on the target, but this does not happen. What can be the error? The debugscript 3 does not output any errors Here's the code : local SHOOT_COOLDOWN = 5000 --Cooldown between homing shots local LOCKON_TIME = 100 --Time required to lock on to a target local LOCK_RANGE = 330 --Maximum distance between you and the target local LOCK_ANGLE = 0.95 --(in radians) We cannot lock on targets unless they are within this angle of the front of the hydra local VALID_TARGET_FUNCTION = function (vehicle) --Used to decide whether a vehicle should appear as a lock-on option -- local targetTeam = vehicle.controller and vehicle.controller.team -- local ourTeam = localPlayer.team -- if targetTeam and ourTeam and targetTeam == ourTeam then -- return false --The target vehicle has someone driving, and both of you are on the same team -- end return true end local validTarget = VALID_TARGET_FUNCTION or function() return true end LOCK_ANGLE = math.cos(LOCK_ANGLE) local inHydra = false local firestate = nil local visibleVehicle = {} local targetVehicle = nil local nearbyVehicles = {} getNearbyVehicles = function() return nearbyVehicles end --Used by other files local currentHydra = nil local function getTarget() -- Look for the nearest targets and lock on local nearestVehicle = nil local shortestDistance = LOCK_RANGE for _, vehicle in ipairs(nearbyVehicles) do local targPos = vehicle.position local myPos = localPlayer.position local displacement = targPos-myPos local dist = displacement.length if vehicle ~= localPlayer.vehicle and dist < shortestDistance then shortestDistance = dist nearestVehicle = vehicle end end return nearestVehicle end local function checkForLockout(vehicle) if visibleVehicle[vehicle] then visibleVehicle[vehicle] = nil lockedVehicle = nil targetVehicle = nil end end local lastShot = SHOOT_COOLDOWN*-2 local function shootMissile() if not inHydra then return end local target = lockedVehicle if not target or getTickCount() < lastShot + SHOOT_COOLDOWN then return end lastShot = getTickCount() local hydra = localPlayer.vehicle -- Shoot missile createProjectile( hydra, 20, hydra.position, 5000, target, _, _, _, hydra.velocity*1.2) lockedVehicle = nil targetVehicle = nil visibleVehicle[target] = nil end local function update() local curtime = getTickCount() local vehicle = targetVehicle if not vehicle then return end local visibleNow = false if vehicle ~= localPlayer.vehicle and not vehicle.blown and validTarget(vehicle) then local targPos = vehicle.position local myPos = localPlayer.position local displacement = targPos-myPos local dist = displacement.length local cosAngle = localPlayer.vehicle.matrix.forward:dot(displacement)/dist if dist < LOCK_RANGE and cosAngle>LOCK_ANGLE and firestate then local aX, aY = getScreenFromWorldPosition(targPos) if (aX and aY) then visibleNow = true if lockedVehicle == vehicle then dxDrawImage (aX-118,aY-118, 246, 246, 'crosshair.png',0,0,0,tocolor (255,0,0,255)) else dxDrawImage (aX-118, aY-118, 246, 246, 'crosshair.png',0,0,0,tocolor (255,255,255,255)) end end end end if not visibleNow then checkForLockout() elseif visibleVehicle[vehicle] then if curtime - visibleVehicle[vehicle] > LOCKON_TIME then lockedVehicle = vehicle end else visibleVehicle[vehicle] = curtime end end local function homingState(key,state) if not inHydra then return end if state == "down" then targetVehicle = getTarget() firestate = isControlEnabled("vehicle_secondary_fire") toggleControl("vehicle_secondary_fire",false) bindKey("vehicle_secondary_fire","down",shootMissile) else targetVehicle = nil lockedVehicle = nil toggleControl("vehicle_secondary_fire",firestate) firestate = nil unbindKey("vehicle_secondary_fire","down",shootMissile) end end local function vehicleGoneHandler() removeEventHandler("onClientElementDestroy", source, vehicleGoneHandler) removeEventHandler("onClientElementStreamOut", source, vehicleGoneHandler) if getElementType( source ) == "vehicle" then for i, v in ipairs(nearbyVehicles) do if v == source then checkForLockout(source) table.remove(nearbyVehicles, i) return end end end end local function prepAfterStreamIn(vehicle) addEventHandler("onClientElementStreamOut", vehicle, vehicleGoneHandler) addEventHandler("onClientElementDestroy", vehicle, vehicleGoneHandler) end local function streamInHandler() if getElementType( source ) == "vehicle" then table.insert(nearbyVehicles, source) prepAfterStreamIn(source) end end local function startHydra(vehicle) if not inHydra and vehicle and isElement(vehicle) and vehicle.model == 520 then nearbyVehicles = getElementsByType("vehicle", root, true) for i, v in ipairs(nearbyVehicles) do prepAfterStreamIn(v) end addEventHandler("onClientElementStreamIn", root, streamInHandler) addEventHandler("onClientVehicleExplode", vehicle, stopHydra) addEventHandler("onClientElementDestroy", vehicle, stopHydra) addEventHandler("onClientElementStreamOut", vehicle, stopHydra) inHydra = isControlEnabled("handbrake") currentHydra = vehicle toggleControl("handbrake", false) bindKey("handbrake","down",homingState) bindKey("handbrake","up",homingState) addEventHandler( "onClientRender", root, update) end end function stopHydra() if inHydra then local target = getTarget() for i, v in ipairs(nearbyVehicles) do if v ~= target then removeEventHandler("onClientElementDestroy", v, vehicleGoneHandler) removeEventHandler("onClientElementStreamOut", v, vehicleGoneHandler) checkForLockout(v) end end checkForLockout(target) if target then removeEventHandler("onClientElementDestroy", target, vehicleGoneHandler) removeEventHandler("onClientElementStreamOut", target, vehicleGoneHandler) end removeEventHandler("onClientRender", root, update) unbindKey("handbrake","down",homingState) unbindKey("handbrake","up",homingState) if firestate ~= nil then homingState("handbrake","up") end local vehicle = currentHydra currentHydra = nil toggleControl("handbrake", inHydra) inHydra = false removeEventHandler("onClientElementStreamIn", root, streamInHandler) if isElement(vehicle) then removeEventHandler("onClientVehicleExplode", vehicle, stopHydra) removeEventHandler("onClientElementDestroy", vehicle, stopHydra) removeEventHandler("onClientElementStreamOut", vehicle, stopHydra) end end end local function initScript() if localPlayer.vehicle and localPlayer.vehicle.model == 520 then startHydra(localPlayer.vehicle) end addEventHandler("onClientResourceStop", resourceRoot, stopHydra) addEventHandler("onClientPlayerVehicleExit",localPlayer,stopHydra) addEventHandler("onClientPlayerWasted",localPlayer,stopHydra) addEventHandler("onClientPlayerVehicleEnter",localPlayer,startHydra) end addEventHandler("onClientResourceStart",resourceRoot,initScript)
-
Hello out there , I tried alot to fix out the hydra damage system but it didnt work. All i want to change is the damage script of hydra . When you shoot someone in hydra with a lock on shot i want it so that the missiles lower the victim's hp by around 25% per shot. I would be glad incase if anyone want to help me out of this. Thanks