Jump to content

chrisnic

Member
  • Content Count

    24
  • Joined

  • Last visited

  • Medals

  • Medals

Posts posted by chrisnic


  1. A minor update v0.8.2c has just been released. This is a compatibility update to support 1.48. Enjoy!

    - Combined cleanup scripts into events loop to improve server fps

    - Guided missile, lock-on, railgun, mines and explosive damage now affected by target armor

    - Notifications and alerts should now fade a bit more smoothly

    - Updated several commands to avoid conflicts in 1.48

    - Fixed - PreviewLocation defaulting to the sea

    - Fixed - Owner not being set on vehicle creation to lock terminal correctly

    - Fixed - Vehicle lock halo not showing

    - Removed - Tailored vehicle textures in favor of file size reduction

    - Removed - Respawn scoreboard flashing on death screen

    - Added - Auto height snapping of similar types to object manipulation

    - Added - Custom sound effects to attach/detach actions


  2. v0.8.2 is rolling out (all sources should be updated shortly). Here's a quick list of changes:

    - Stratis map support, with three new zones - Airbase, Peninsula and Beach

    - Weapon damage and armor rebalance

    - Vehicle melee weapons - Metal Spikes, Concrete Pylons and Wooden Battering Rams

    - First person is now enabled in both combat and the workshop

    - A number of script and network optimizations to improve FPS and stability

    - Fixed - Stats system now functioning correctly

    - Fixed - Game crashes involving HMG/GMGs and vehicle collisions while in zone

    - Added - Rocket Pods, Harpoon, Teleportation Pad, Electromagnet

    - Added - EMP Resistant Fencing, Military Grade Concrete, Chainlink Panel

    - Added - Box Truck, Fuel & Ammo Trucks, Tempest to available vehicles

    - Added - Vehicle name generator

    Known issues: Tempest cannot have textures applied to it.

    As always a full changelog is available at getwrecked.info/changelog. Vehicles from previous versions are compatible, but might require a re-save to be fully functional.


  3. Weird but extremely funny mission.

    The only problem i encountered so far is that curved sandbags sometimes load in wrong positions.

    Glad you had fun and thanks for the feedback! There are indeed a handful of items that behave like that. The issue is that they never load in a consistent position no matter what location you record for them. Sometimes this is also because with even the slightest amount of server lag the object collides with the source vehicle before it has a chance to disable simulation on it. Static turrets and rpgs/railguns in ground weapon holders are notoriously bad at this. The object shifting on save/load, the ballistics system and some form of starter tutorial are the three major hurdles I currently have to make this game-mode less frustrating for fresh players.


  4. Hey, I had a crack at this, it's a bit rough but it should get your started:

    [color="#FF8040"][color="#006400"][i]//[/i][/color]
    [color="#006400"][i]//      Name: createTransportLoop[/i][/color]
    [color="#006400"][i]//	Desc: Creates a transport route for an ai vehicle that stops for players and loops indefinitely		[/i][/color]
    [color="#006400"][i]//	Author: Sli[/i][/color]
    [color="#006400"][i]//      Return: Nothing[/i][/color]
    [color="#006400"][i]//[/i][/color]
    
    [color="#191970"][b]if[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#191970"][b]count[/b][/color] [color="#000000"]_this[/color] [color="#8B3E2F"][b]=[/b][/color][color="#8B3E2F"][b]=[/b][/color] [color="#FF0000"]0[/color][color="#8B3E2F"][b])[/b][/color] [color="#191970"][b]exitWith[/b][/color] [color="#8B3E2F"][b]{[/b][/color][color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color]
    [color="#1874CD"]_transportWaypoints[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#000000"]_this[/color][color="#8B3E2F"][b];[/b][/color]
    
    [color="#006400"][i]// Create the transport and assign a crew for it[/i][/color]
    [color="#1874CD"]_transportArray[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#8B3E2F"][b]([/b][/color][color="#000000"]_this[/color] [color="#191970"][b]select[/b][/color] [color="#FF0000"]0[/color][color="#8B3E2F"][b])[/b][/color][color="#8B3E2F"][b],[/b][/color][color="#191970"][b]random[/b][/color] [color="#FF0000"]360[/color][color="#8B3E2F"][b],[/b][/color] [color="#7A7A7A"]"O_Truck_03_transport_F"[/color][color="#8B3E2F"][b],[/b][/color] [color="#000000"]west[/color][color="#8B3E2F"][b]][/b][/color] [color="#191970"][b]call[/b][/color] BIS_fnc_spawnVehicle[color="#8B3E2F"][b];[/b][/color]
    [color="#1874CD"]_transport[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#1874CD"]_transportArray[/color] [color="#191970"][b]select[/b][/color] [color="#FF0000"]0[/color][color="#8B3E2F"][b])[/b][/color][color="#8B3E2F"][b];[/b][/color]
    [color="#191970"][b]createVehicleCrew[/b][/color] [color="#1874CD"]_transport[/color][color="#8B3E2F"][b];[/b][/color]
    [color="#1874CD"]_transportDriver[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#191970"][b]driver[/b][/color] [color="#1874CD"]_transport[/color][color="#8B3E2F"][b];[/b][/color]
    
    [color="#006400"][i]// Configuration[/i][/color]
    [color="#1874CD"]_waitPeriod[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#FF0000"]30[/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// How long the transport should wait if there is people at a stop[/i][/color]
    [color="#1874CD"]_radiusFromStop[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#FF0000"]30[/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// Radius around the stop to check for people[/i][/color]
    [color="#1874CD"]_movingPeriod[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#FF0000"]5[/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// How quickly the transport should switch between waypoints [/i][/color]
    [color="#1874CD"]_checkPeriod[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#FF0000"]1[/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// Default minimum check rate of the overall loop[/i][/color]
    [color="#1874CD"]_transportTarget[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#FF0000"]1[/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// Start by going to stop #1[/i][/color]
    
    TRANSPORT_ACTIVE [color="#8B3E2F"][b]=[/b][/color] [color="#000000"]true[/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// Set to false to end the bus loop if it's active (may take the sleep period to stop)[/i][/color]
    [color="#1874CD"]_hasWaited[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#000000"]false[/color][color="#8B3E2F"][b];[/b][/color]
    
    [color="#191970"][b]for[/b][/color] [color="#7A7A7A"]"_i"[/color] [color="#191970"][b]from[/b][/color] [color="#FF0000"]0[/color] [color="#191970"][b]to[/b][/color] [color="#FF0000"]1[/color] [color="#191970"][b]step[/b][/color] [color="#FF0000"]0[/color] [color="#191970"][b]do[/b][/color] [color="#8B3E2F"][b]{[/b][/color]
    
    [color="#006400"][i]// If the bus dies, is stuck, or its driver is incapacitated, abort![/i][/color]
    [color="#191970"][b]if[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#8B3E2F"][b]![/b][/color][color="#191970"][b]alive[/b][/color] [color="#1874CD"]_transport[/color] [color="#8B3E2F"][b]|[/b][/color][color="#8B3E2F"][b]|[/b][/color] [color="#8B3E2F"][b]![/b][/color][color="#191970"][b]canMove[/b][/color] [color="#1874CD"]_transport[/color]  [color="#8B3E2F"][b]|[/b][/color][color="#8B3E2F"][b]|[/b][/color] [color="#8B3E2F"][b]![/b][/color][color="#191970"][b]alive[/b][/color] [color="#1874CD"]_transportDriver[/color] [color="#8B3E2F"][b]|[/b][/color][color="#8B3E2F"][b]|[/b][/color] [color="#8B3E2F"][b]![/b][/color][color="#191970"][b]canMove[/b][/color] [color="#1874CD"]_transport[/color] [color="#8B3E2F"][b]|[/b][/color][color="#8B3E2F"][b]|[/b][/color] [color="#8B3E2F"][b]![/b][/color]TRANSPORT_ACTIVE[color="#8B3E2F"][b])[/b][/color] [color="#191970"][b]exitWith[/b][/color] [color="#8B3E2F"][b]{[/b][/color][color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color]
    
    [color="#1874CD"]_nextStop[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#1874CD"]_transportWaypoints[/color] [color="#191970"][b]select[/b][/color] [color="#1874CD"]_transportTarget[/color][color="#8B3E2F"][b])[/b][/color][color="#8B3E2F"][b];[/b][/color]
    [color="#1874CD"]_sleepTime[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#1874CD"]_checkPeriod[/color][color="#8B3E2F"][b];[/b][/color]
    
    [color="#006400"][i]// If the bus is outside the check radius for the stop, keep sending it to the position[/i][/color]
    [color="#191970"][b]if[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#1874CD"]_transport[/color] [color="#191970"][b]distance[/b][/color] [color="#1874CD"]_nextStop[/color] [color="#8B3E2F"][b]>[/b][/color] [color="#1874CD"]_radiusFromStop[/color][color="#8B3E2F"][b])[/b][/color] [color="#191970"][b]then[/b][/color] [color="#8B3E2F"][b]{[/b][/color]	
    	[color="#1874CD"]_transport[/color] [color="#191970"][b]doMove[/b][/color] [color="#1874CD"]_nextStop[/color][color="#8B3E2F"][b];[/b][/color]
    	[color="#1874CD"]_sleepTime[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#1874CD"]_movingPeriod[/color][color="#8B3E2F"][b];[/b][/color]
    	[color="#191970"][b]systemChat[/b][/color] [color="#191970"][b]format[/b][/color][color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]'Transport moving to %1 at %2'[/color][color="#8B3E2F"][b],[/b][/color] [color="#1874CD"]_transportTarget[/color][color="#8B3E2F"][b],[/b][/color] [color="#000000"]time[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color]
    [color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color]
    
    [color="#006400"][i]// If the bus is within range of the stop, check for commuters[/i][/color]
    [color="#191970"][b]if[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#1874CD"]_transport[/color] [color="#191970"][b]distance[/b][/color] [color="#1874CD"]_nextStop[/color] [color="#8B3E2F"][b]<[/b][/color][color="#8B3E2F"][b]=[/b][/color] [color="#1874CD"]_radiusFromStop[/color][color="#8B3E2F"][b])[/b][/color] [color="#191970"][b]then[/b][/color] [color="#8B3E2F"][b]{[/b][/color]
    
    	[color="#FF8040"][color="#006400"][i]// Find commuters/players in stop radius[/i][/color]
    	[color="#1874CD"]_hasCommuters[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color]  
    	[color="#8B3E2F"][b]{[/b][/color] [color="#191970"][b]if[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#191970"][b]isPlayer[/b][/color] [color="#000000"]_x[/color][color="#8B3E2F"][b])[/b][/color] [color="#191970"][b]then[/b][/color] [color="#8B3E2F"][b]{[/b][/color]  [color="#1874CD"]_hasCommuters[/color] [color="#191970"][b]pushBack[/b][/color] [color="#000000"]_x[/color][color="#8B3E2F"][b];[/b][/color] [color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color] [color="#8B3E2F"][b]}[/b][/color] [color="#191970"][b]count[/b][/color] [color="#8B3E2F"][b]([/b][/color] [color="#1874CD"]_nextStop[/color] [color="#191970"][b]nearEntities[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"Man"[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b],[/b][/color] [color="#1874CD"]_radiusFromStop[/color][color="#8B3E2F"][b]][/b][/color] [color="#8B3E2F"][b])[/b][/color] [color="#8B3E2F"][b]>[/b][/color] [color="#FF0000"]0[/color][color="#8B3E2F"][b];[/b][/color] [/color]
    
    
    	[color="#006400"][i]// If there are people there and we've not already waited, stop for wait period[/i][/color]
    	[color="#191970"][b]if[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#191970"][b]count[/b][/color] [color="#1874CD"]_hasCommuters[/color] [color="#8B3E2F"][b]>[/b][/color][color="#8B3E2F"][b]=[/b][/color] [color="#FF0000"]1[/color] [color="#8B3E2F"][b]&[/b][/color][color="#8B3E2F"][b]&[/b][/color] [color="#8B3E2F"][b]![/b][/color][color="#1874CD"]_hasWaited[/color][color="#8B3E2F"][b])[/b][/color] [color="#191970"][b]then[/b][/color] [color="#8B3E2F"][b]{[/b][/color]
    
    		[color="#1874CD"]_sleepTime[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#1874CD"]_waitPeriod[/color][color="#8B3E2F"][b];[/b][/color] [color="#1874CD"]_hasWaited[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#000000"]true[/color][color="#8B3E2F"][b];[/b][/color]
    		[color="#191970"][b]systemChat[/b][/color] [color="#191970"][b]format[/b][/color][color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]'Transport stopped at %1 until %2'[/color][color="#8B3E2F"][b],[/b][/color] [color="#1874CD"]_transportTarget[/color][color="#8B3E2F"][b],[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#000000"]time[/color] [color="#8B3E2F"][b]+[/b][/color] [color="#1874CD"]_waitPeriod[/color][color="#8B3E2F"][b])[/b][/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color]
    
    	[color="#8B3E2F"][b]}[/b][/color] [color="#191970"][b]else[/b][/color] [color="#8B3E2F"][b]{[/b][/color]
    
    		[color="#1874CD"]_hasWaited[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#000000"]false[/color][color="#8B3E2F"][b];[/b][/color]
    
    		[color="#006400"][i]// Otherwise, find the next stop, loop back to the start if we're at the end of the array[/i][/color]
    		[color="#191970"][b]if[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#1874CD"]_transportTarget[/color] [color="#8B3E2F"][b]=[/b][/color][color="#8B3E2F"][b]=[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#191970"][b]count[/b][/color] [color="#1874CD"]_transportWaypoints[/color] [color="#8B3E2F"][b]-[/b][/color] [color="#FF0000"]1[/color][color="#8B3E2F"][b])[/b][/color][color="#8B3E2F"][b])[/b][/color] [color="#191970"][b]then[/b][/color] [color="#8B3E2F"][b]{[/b][/color]	[color="#1874CD"]_transportTarget[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#FF0000"]0[/color][color="#8B3E2F"][b];[/b][/color] [color="#8B3E2F"][b]}[/b][/color] [color="#191970"][b]else[/b][/color] [color="#8B3E2F"][b]{[/b][/color] [color="#1874CD"]_transportTarget[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#1874CD"]_transportTarget[/color] [color="#8B3E2F"][b]+[/b][/color] [color="#FF0000"]1[/color][color="#8B3E2F"][b];[/b][/color] [color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color]			
    		[color="#1874CD"]_sleepTime[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#1874CD"]_checkPeriod[/color][color="#8B3E2F"][b];[/b][/color]		
    
    	[color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color]
    
    [color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color]
    
    [color="#191970"][b]sleep[/b][/color] [color="#1874CD"]_sleepTime[/color][color="#8B3E2F"][b];[/b][/color]
    
    [color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color]
    [/color]

    All you need to do is an array of points (positions) and it will create the AI vehicle and do the rest. You may need to fiddle with how/who the AI vehicle is spawned by, especially in MP as if the groups aren't configured correctly they might not do what you want. I just used BIS_fnc_spawnVehicle to easily make a demonstration vehicle.

    [color="#FF8040"][color="#8B3E2F"][b][[/b][/color]   [color="#8B3E2F"][b][[/b][/color][color="#FF0000"]34943[/color][color="#8B3E2F"][b],[/b][/color] [color="#FF0000"]12123[/color][color="#8B3E2F"][b],[/b][/color] [color="#FF0000"]0[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b],[/b][/color][color="#8B3E2F"][b][[/b][/color][color="#FF0000"]33223[/color][color="#8B3E2F"][b],[/b][/color] [color="#FF0000"]13333[/color][color="#8B3E2F"][b],[/b][/color] [color="#FF0000"]0[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b],[/b][/color][color="#8B3E2F"][b][[/b][/color][color="#FF0000"]32113[/color][color="#8B3E2F"][b],[/b][/color] [color="#FF0000"]13333[/color][color="#8B3E2F"][b],[/b][/color] [color="#FF0000"]0[/color][color="#8B3E2F"][b]][/b][/color] [color="#8B3E2F"][b]][/b][/color] [color="#191970"][b]execVM[/b][/color] 'createTransportLoop.sqf'[color="#8B3E2F"][b];[/b][/color][/color]

    Assuming your positions aren't likely to change , my favourite method of getting all that position data is creating markers in the editor like this:

    wRFS3dC.jpg

    And then using this function when the mission loads to find all the positions:

    [color="#FF8040"][color="#006400"][i]//[/i][/color]
    [color="#006400"][i]//      Name: findAllMarkers[/i][/color]
    [color="#006400"][i]//	Desc: Finds all markers of a given stem and returns all positions as an array[/i][/color]
    [color="#006400"][i]//	Author: Sli[/i][/color]
    [color="#006400"][i]//      Return: Array [Marker positions][/i][/color]
    [color="#006400"][i]//[/i][/color]
    
    findAllMarkers [color="#8B3E2F"][b]=[/b][/color] [color="#8B3E2F"][b]{[/b][/color]
    
    [color="#191970"][b]private[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"_stem"[/color][color="#8B3E2F"][b],[/b][/color] [color="#7A7A7A"]"_a"[/color][color="#8B3E2F"][b],[/b][/color] [color="#7A7A7A"]"_d"[/color][color="#8B3E2F"][b],[/b][/color] [color="#7A7A7A"]"_max"[/color][color="#8B3E2F"][b],[/b][/color] [color="#7A7A7A"]"_endIf"[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color]
    
    [color="#1874CD"]_stem[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#000000"]_this[/color] [color="#191970"][b]select[/b][/color] [color="#FF0000"]0[/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// String with the beginning part of the marker name[/i][/color]
    [color="#1874CD"]_endIf[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#191970"][b]if[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#191970"][b]isNil[/b][/color] [color="#8B3E2F"][b]{[/b][/color] [color="#000000"]_this[/color] [color="#191970"][b]select[/b][/color] [color="#FF0000"]1[/color] [color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b])[/b][/color] [color="#191970"][b]then[/b][/color] [color="#8B3E2F"][b]{[/b][/color] [color="#000000"]false[/color] [color="#8B3E2F"][b]}[/b][/color] [color="#191970"][b]else[/b][/color] [color="#8B3E2F"][b]{[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#000000"]_this[/color] [color="#191970"][b]select[/b][/color] [color="#FF0000"]1[/color][color="#8B3E2F"][b])[/b][/color] [color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// End early if we're missing a marker (default: false)[/i][/color]
    [color="#1874CD"]_max[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#191970"][b]if[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#191970"][b]isNil[/b][/color] [color="#8B3E2F"][b]{[/b][/color] [color="#000000"]_this[/color] [color="#191970"][b]select[/b][/color] [color="#FF0000"]2[/color] [color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b])[/b][/color] [color="#191970"][b]then[/b][/color] [color="#8B3E2F"][b]{[/b][/color] [color="#FF0000"]50[/color] [color="#8B3E2F"][b]}[/b][/color] [color="#191970"][b]else[/b][/color] [color="#8B3E2F"][b]{[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#000000"]_this[/color] [color="#191970"][b]select[/b][/color] [color="#FF0000"]2[/color][color="#8B3E2F"][b])[/b][/color] [color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// Absolute maximum number of markers in this series (default: 50)[/i][/color]
    
    [color="#1874CD"]_a[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color]
    
    [color="#191970"][b]for[/b][/color] [color="#7A7A7A"]"_s"[/color] [color="#191970"][b]from[/b][/color] [color="#FF0000"]0[/color] [color="#191970"][b]to[/b][/color] [color="#1874CD"]_max[/color] [color="#191970"][b]step[/b][/color] [color="#FF0000"]1[/color] [color="#191970"][b]do[/b][/color] [color="#8B3E2F"][b]{[/b][/color]			
    
    	[color="#1874CD"]_m[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#191970"][b]getMarkerPos[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#191970"][b]format[/b][/color][color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]'%1_%2'[/color][color="#8B3E2F"][b],[/b][/color] [color="#1874CD"]_stem[/color][color="#8B3E2F"][b],[/b][/color] [color="#1874CD"]_s[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b])[/b][/color][color="#8B3E2F"][b];[/b][/color]		
    	[color="#1874CD"]_d[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#191970"][b]vectorMagnitude[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#1874CD"]_m[/color][color="#8B3E2F"][b])[/b][/color][color="#8B3E2F"][b];[/b][/color]
    
    	[color="#191970"][b]if[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#1874CD"]_d[/color] [color="#8B3E2F"][b]<[/b][/color][color="#8B3E2F"][b]=[/b][/color] [color="#FF0000"]0[/color] [color="#8B3E2F"][b]&[/b][/color][color="#8B3E2F"][b]&[/b][/color] [color="#1874CD"]_endIf[/color][color="#8B3E2F"][b])[/b][/color] [color="#191970"][b]exitWith[/b][/color] [color="#8B3E2F"][b]{[/b][/color][color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// End loop early if the marker chain is incomplete[/i][/color]
    	[color="#191970"][b]if[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#1874CD"]_d[/color] [color="#8B3E2F"][b]>[/b][/color] [color="#FF0000"]0[/color] [color="#8B3E2F"][b]&[/b][/color][color="#8B3E2F"][b]&[/b][/color] [color="#8B3E2F"][b]![/b][/color][color="#1874CD"]_endIf[/color][color="#8B3E2F"][b])[/b][/color] [color="#191970"][b]then[/b][/color] [color="#8B3E2F"][b]{[/b][/color] [color="#1874CD"]_a[/color] [color="#191970"][b]pushBack[/b][/color] [color="#1874CD"]_m[/color][color="#8B3E2F"][b];[/b][/color] [color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color] [color="#006400"][i]// Marker is valid, so add it to the array[/i][/color]
    [color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color]
    
    [color="#1874CD"]_a[/color]
    
    [color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b];[/b][/color][/color]

    It accepts a marker "stem" i.e "stop" and then finds all markers in a series, such as stop_0, stop_1, stop_2 etc and returns their positions as an array. So the transport route above might work a bit like this:

    [color="#FF8040"][color="#8B3E2F"][b]([/b][/color][color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"stop"[/color][color="#8B3E2F"][b]][/b][/color] [color="#191970"][b]call[/b][/color] findAllMarkers[color="#8B3E2F"][b])[/b][/color] [color="#191970"][b]execVM[/b][/color] 'createTransportLoop.sqf'[color="#8B3E2F"][b];[/b][/color][/color]

    Made with KK's SQF to BBCode Converter


  5. That has nothing to do with it, the number you changed is just the minimum required version of Blender. In order to enable the properties panel, you need to check the empty check box next to the title, and it only works on mesh and armature objects.

    Can't say I understood it either but it wasn't working correctly until I did that. To confirm my sanity I just edited the version back to see what would happen and I found that it was the restart of blender that was needed. If you load the add-on again or edit the version as I did during one session, you get no toggle option like this:

    vpY8x1p.jpg

    Which persists until blender is restarted. Not exactly an issue since restarting is kind of obvious when installing new stuff, but i've corrected my post above. Thanks for making this add on.


  6. As the title implies, i'm looking for a way to set the mouse position when opening a dialog control. Specifically I need the mouse to 'auto-center' and go back to [0.5, 0.5] whenever this control is opened. At the moment it seems to keep shifting from its previous position by a few hundred pixels each time (perhaps the width/height of the control?) and eventually it ends up at the edge of the screen.

    Does anyone know of a trick that will allow this behaviour?

    Thanks!

    EDIT:

    Ok, so after a more extensive google search I found setMousePosition :j:. Should this not be added to: https://community.bistudio.com/wiki/Category:Command_Group:_GUI_Control?


  7. Just so I fully understand it' date=' the difference between [b']modelToWorld(Visual[/b]) and BIS_fnc_relPos is that BIS_fnc_relPos is to get a relative position (only X and Y) at any relative angle while modelToWorld(Visual) gets a relative position only before, behind, left or right (plus height) of the object?

    Basically yep, you can use them similarily but with modelToWorld you are calculating the x and y values for the angle you want manually ( [3,3,0] would be 45 degrees for example and with some trig you could do any angle, really). You are correct in that relPos doesn't calculate height and I dont believe it considers the vectorUp of the object either. I find modelToWorld far more flexible to use because of this.


  8. Just released a hotfix (v0.8.0b) to solve the following issues:

    - Fixed - Attached weapons should now be properly immune to damage

    - Fixed - Flamethrower consuming ammo in addition to fuel

    - Fixed - Invulnerability not working vs bag of explosives

    - Fixed - Attached static weapons disappearing after second save

    - Fixed - Hud failing to update after dropping explosives

    - Fixed - Explosives dropping all in one stack rather than individually


  9. New version v0.8 is now public. Here's a few release highlights:

    - Type !fixdlc in chat to toggle Karts DLC ads

    - Added support for up to 12 players

    - Random supply drops in battle zones that can contain power ups

    - Nitro pads for epic getaways

    - New Camo, Fire and Pink paints

    - Reworked damage and armor system to prolong engagements

    - More keybinding options (disable left click to fire for specific weapons)

    - Vehicle taunts to humiliate your opponents

    - A range of optimizations to improve client and server fps and reduce network load

    A full changelog is available at getwrecked.info/changelog

    Note: All vehicles made in earlier versions are compatible, although it's recommended to save, clear and load the vehicle again before attempting to use it. Vehicles made in v0.8 are not backwards compatible.

    Thanks to everyone who has contributed so far by giving their time, ideas and feedback. Progress is already happening on a new race-mode and also expansion onto new maps. ;)


  10. Since you are using caltrops then, you can also use nearObjects and check for the caltrops objects. If the players are closer than for instance 0.5m then you damage them. Im assuming you have an object for the caltrops.

    No, this wasn't accurate enough since the caltrops are 3m long and 0.1m wide. Using the line intersect to draw a line along the extent of the object and raised slightly made it super accurate and trigger exactly when tyres hit it. The above solution I placed to satisfy op's request to use lineIntersect, in this situation nearEntities might be better since the object is small and not elongated or irregular.


  11. I am using a lineIntersect check for triggering caltrops in my mission, so this problem intrigued me as I wasn't aware this didn't work for player objects.

    My workaround was to attach an object to the player that's floating and using that as the trigger object for the intersect. LineIntersect doesn't work below ground so I was forced to put it as high as possible so that it's out of sight. In testing this worked as high as 20km, but past maybe 1km you can't see it anyway. Once it's triggered you can just use attachedTo on the trigger object to retrieve the player reference. I used a file, but you might want to use a slightly larger object depending on the tolerance you want.

    // Set this however high you want to go
    _alt = 2000; 
    
    _origin = player modelToWorldVisual [0,0,_alt];
    
    _trigger = createVehicle ['Land_File1_F', [0,0,0], [], 0, 'CAN_COLLIDE']; 
    _trigger attachTo [player, [0,0,(_alt + 0.5)]]; 
    
    _pos1 = ATLtoASL _origin;
    _pos2 = ATLtoASL _origin;
    
    // Set one point slightly higher
    _pos2 set [2, (_pos2 select 2) + 1];    
    
    while {true} do
    {   	
           _intersect = lineIntersectsWith[_pos1, _pos2, objNull, objNull, true];	
    hintsilent format["_intersect: %1", _intersect];
    sleep 0.1;
    };
    

    I used a custom function to render some debug lines so you can see the intersect in action at 2m.


  12. www.getwrecked.info

    @getwreckeda3

    JP71qn7.jpgJorgbYF.jpg

    Get Wrecked challenges players to create, customize, drive, survive and destroy. Players construct wheeled, armoured behemoths using a variety of building parts then fight to the death in a race zone of choice. It's a creative vehicle combat sandbox for Arma 3 and designed for small games of up to 12 players. It is in an alpha release state.

    The game mode requires no mods (not even CBA). It's just a mission file so you only need to find a server running it to play (unless you want to host yourself). Please see the release thread here for download links and more information. Alternatively check the website for a breakdown of features, server list and a quick guide.


  13. Hi guys I'm trying to connect to my BE server for lock the server with a .js. The reality is that i don't know shit about java so my question is that did "https://github.com/Lulz0rz/battle-node" need this for run "http://forums.bistudio.com/showthread.php?178327-Node-js-Extension-for-Arma-3-(sock-sqf-sock-dll-sock-rpc)" because the first one doensn't have a .dll

    You don't need a .dll for the first one, but the commands are limited to the default battle-eye ones (the second looks like you can actually send snippets of sqf which is awesome).

    To lock the server using battle-node you should be able to use (although i've yet to try this):

    bnode.sendCommand('lock');


  14. Is development still ongoing for this? I have been running a server for it, but there have been no players in a while. I'm sure it would gain more traction if more updates were coming.

    Absolutely! The best place to catch updates is if you follow @GetWreckedA3 on Twitter. A new version should be out this month that addresses a number of bugs, improves key binding and customization, plus a few surprises.


  15. It wasn't meant to be condescending, sorry if you took it that way. The impression I got from your first post is that you were suggesting this mod was somehow fundamentally broken because of that one combination. While it may not be balanced perfectly just yet, I can assure you that it's pretty far from being as simple as slapping three lasers on a vehicle.

    Admittedly, the tactical laser isn't technically meant as a primary weapon; its main feature is the burn effect it tags vehicles with. The fire status effect does not stack so its intended primarily for being able to damage fast moving or well protected targets. If it's being used as a one-shot kill weapon then for sure it's not fulfilling the aim of its original implementation. Frankly, however, there are a number of options for countering the combination you are talking about and with a bit of experimentation you and others may come across them too.


  16. Okay so...

    The Combo of Laser and ATV is very very imba.

    Get an ATV with 3 Laser, and you'll kill everything in an instant....

    People have very different expectations for what is an "Alpha" I think. Complaining about balance issues right now is like pointing out the sky is blue. It will all be sorted, but right now the focus is padding features out and bug fixing. I'd be curious to know if you were running 0.7.6 or 0.7.7? Overall weapon damage was tweaked in the latter to increase the time-to-kill and i've seen a few of the German servers still running the older version.

    As a side note, I found a rather funny comment from someone stating they were disappointed this wasn't "realistic vehicle combat". It can't be stressed enough that this mod isn't for everyone, so if there's something you really don't like no-one is forcing you to play it. At the very least if you are going to leave critical feedback please make it constructive; perhaps even contextualise it a bit if you are reporting an obvious bug.


  17. Pretty cool but please include a parameter to stop the forced third person action going on. It interferes with forced first person scripts and makes it unusable!

    Hey mate, yep i'll definitely add that to the list. It was a poly-fill for the MANW release as the object manipulation system didn't seem to function 100% in first person. That and some of the audio effects were not working in first person in a vehicle. There are a handful of issues being reported that seem to be related to people trying this with other mods active, so it is definitely helpful if people diagnose it first by turning them off.

    This is a really nice idea and put together well! Keep up the good work!

    Thanks! It's been really fun to make and test. Glad you enjoyed it!


  18. www.getwrecked.info
    @getwreckeda3

    4NuplO6.jpgVle1UZf.jpg

    Description

    This game mode challenges players to create, customize, drive, survive and destroy. Players build their ultimate vehicle using a range of parts, weapons and modules and then fight to the death in a race zone of choice. It's a prototype vehicle combat sandbox that's designed for small games of up to 12 players. This mod is also a finalist in the multiplayer category of Make Arma Not War.

    JorgbYF.jpg3vPKIS9.jpg


    Download & Links

    TJiwJOi.jpgblFRixd.jpgvRRHUuQ.jpg


    Features

    - Custom object manipulation system (rotation, snapping, lifting and moving)
    - Unique and original textures to put a finishing touch on your vehicle
    - Custom key-binding system that's specific to each vehicle
    - The ability to save/load your vehicle so you can play with it next time
    - Earn money from kills that you can then use to purchase higher tier weapons and vehicles
    - Persistent stats tracking (kills, deaths, mileage etc)
    - Five uniquely challenging custom race zones (Airfield, Swamp, Downtown, Salt flat & Wasteland)
    - A total of 8 different weapons, 14 tactical modules and 22 different building parts


    Controls

    Binding these controls can be helpful, but isn't necessary.
    Use Esc Menu > Settings > Configure > Custom Controls

    Grab/Drop [user Action 1]
    Attach [user Action 2]
    Rotate CW [user Action 3]
    Rotate CCW [user Action 4]
    Open Vehicle Settings Menu [user Action 20]

    All other controls are handled by the settings menu (cog icon when scrolling on a vehicle). From that menu you can double click an item then press a key to bind it.


    Guide

    Quick start guide available at getwrecked.info.

    License

    This mod is licensed under a CC-BY-NC-ND 4.0 License Attribution-NonCommercial-NoDerivatives 4.0 International
    Permission must be sought from the Author for its commercial use or any modification

     

×