Jump to content

vincentz

Member
  • Content Count

    37
  • Joined

  • Last visited

  • Medals

Everything posted by vincentz

  1. Usually I have some idea, but here I'm clueless :( I want to give 1 score for each kill the AI in my group makes. eventhandler?
  2. Fantastic! Thanks guys, it was driving me crazy.
  3. Before I found it, I was trying to speed read. :butbut: (feeling stupid)... Anyway to get rid of these bugs : None of this is in my scripts :( Error in expression <; _recompile = (count _this) > 0; if (BIS_fnc_init && !_recompile) exitwith {t> Error position: <BIS_fnc_init && !_recompile) exitwith {t> Error Undefined variable in expression: bis_fnc_init File ca\Modules\Functions\init.sqf, line 28 Error in expression <] spawn BIS_ARTY_F_playerMonitor; if (BIS_ARTY_SHELLTRACK_DEBUG==1 && !isNull(> Error position: <BIS_ARTY_SHELLTRACK_DEBUG==1 && !isNull(> Error Undefined variable in expression: bis_arty_shelltrack_debug File ca\modules\arty\data\scripts\init.sqf, line 87 Old style material 205 used in ReportStack not available Out of path-planning region for O 1-1-M:4 at 6198.8,6372.5, node type Error in expression <onsLBSetFocus; }; default { }; }; if _doFilter then { (_filterSets select IGU> Error position: <_doFilter then { (_filterSets select IGU> Error Undefined variable in expression: _dofilter File ca\ui\scripts\handleGear.sqf, line 521 Error in expression <onsLBSetFocus; }; default { }; };
  4. I'm suspecting my enemy troops to desert, so I kinda want to be able to keep track of the enemy. (maybe also adding it as "Intel Report" in end game as the area that needs to be cleared is rather large) So I came up with this : {_marker = createMarker ["_x", getpos _x]; "_x" setMarkerType "attack";} foreach allUnits; but it only marks 1 unit. What am I doing wrong??? Edit : Also a bonus question if the above is too obvious ;) Im making capture points that is invisible, but shows green flag when captured, and red flag if recaptured by enemy. However if I fly over the trigger, it detriggers (shows red flag) which is unintended. Cap_0 = getmarkerpos "Area_0"; _trg=createTrigger["EmptyDetector", Cap_0]; _trg setTriggerArea[100,100,0,false]; _trg setTriggerActivation["ANY","PRESENT",true]; _trg setTriggerStatements["(count (thislist unitsBelowHeight 10) > 0) && (east countside thislist < west countside thislist)", "; caca = caca +1; 'Area_0' setMarkerType 'hd_flag'; 'Area_0' setMarkerColor 'ColorGreen';", "'Area_0' setMarkerColor 'ColorRed'; caca = caca - 1"]; _trg setTriggerTimeout [10, 15, 20, false]; dbl edit : looking at the last question, I think I might have solved it with triggertimeout [x,x,x,true]
  5. Just wanted to say thanks :D I actually ended up using it as Intel gathered from the Officers killed in my gamemode Full Metal Arma. It is called by a Radio Channel (Intel Report) to not overload server with constant updates, and requires the variable IPosXXX to be set as 0 when inactive (I set in Init) and to 1 when Intel have been acquired. If (IPOSINF == 1) then { //INF GROUP INTELLIGENCE _getposvecs = allGroups; for "_i" from 0 to number do {deletemarkerlocal format ["InfGroup_%1",_i];}; { if ((side _x == east || side _x == resistance) && (vehicle leader _x == leader _x)) then { _markername = format ["InfGroup_%1",number]; _pos = getPos leader _x; _vpos = [_pos select 0, _pos select 1]; _marker = createMarkerLocal [_markername, _vpos]; _marker setMarkerTypeLocal "o_inf"; _marker setMarkerSizeLocal [1, 1]; _marker setMarkerColorLocal "ColorRed"; }; number = number + 1; } forEach _getposvecs; }; If (IPOSCAR == 1) then { //LIGHT VEHICLE INTELLIGENCE _getposvecs = vehicles; for "_i" from 0 to number do {deletemarkerlocal format ["LightVehicle_%1",_i];}; { if (_x isKindOf "Car" && (side _x == east || side _x == resistance)) then { _markername = format ["LightVehicle_%1",number]; _pos = getPos _x; _vpos = [_pos select 0, _pos select 1]; _marker = createMarkerLocal [_markername, _vpos]; _class = getText (configFile >> "cfgVehicles" >> typeof _x >> "displayName"); _marker setMarkerTextLocal _class; _marker setMarkerTypeLocal "o_mech_inf"; _marker setMarkerSizeLocal [1, 1]; _marker setMarkerColorLocal "ColorRed"; }; number = number + 1; } forEach _getposvecs; }; If (IPOSARM == 1) then { //TANK INTELLIGENCE _getposvecs = vehicles; for "_i" from 0 to number do {deletemarkerlocal format ["HeavyVehicle_%1",_i];}; { if (_x isKindOf "Tank" && (side _x == east || side _x == resistance)) then { _markername = format ["HeavyVehicle_%1",number]; _pos = getPos _x; _vpos = [_pos select 0, _pos select 1]; _marker = createMarkerLocal [_markername, _vpos]; _class = getText (configFile >> "cfgVehicles" >> typeof _x >> "displayName"); _marker setMarkerTextLocal _class; _marker setMarkerTypeLocal "o_armor"; _marker setMarkerSizeLocal [1, 1]; _marker setMarkerColorLocal "ColorRed"; }; number = number + 1; } forEach _getposvecs; }; If (IPOSSTA == 1) then { //STATIC WEAPON INTELLIGENCE _getposvecs = vehicles; for "_i" from 0 to number do {deletemarkerlocal format ["Static_%1",_i];}; { if (_x isKindOf "StaticWeapon" && (side _x == east || side _x == resistance)) then { _markername = format ["Static_%1",number]; _pos = getPos _x; _vpos = [_pos select 0, _pos select 1]; _marker = createMarkerLocal [_markername, _vpos]; _class = getText (configFile >> "cfgVehicles" >> typeof _x >> "displayName"); _marker setMarkerTextLocal _class; _marker setMarkerTypeLocal "o_mortar"; _marker setMarkerSizeLocal [1, 1]; _marker setMarkerColorLocal "ColorRed"; }; number = number + 1; } forEach _getposvecs; }; If (IPOSAIR == 1) then { //AIR INTELLIGENCE _getposvecs = vehicles; for "_i" from 0 to number do {deletemarkerlocal format ["AirVehicle_%1",_i];}; { if (_x isKindOf "Air" && (side _x == east || side _x == resistance)) then { _markername = format ["AirVehicle_%1",number]; _pos = getPos _x; _vpos = [_pos select 0, _pos select 1]; _marker = createMarkerLocal [_markername, _vpos]; _class = getText (configFile >> "cfgVehicles" >> typeof _x >> "displayName"); _marker setMarkerTextLocal _class; if (_x isKindOf "Helicopter") then {_marker setMarkerTypeLocal "o_air";} else {_marker setMarkerTypeLocal "o_plane";}; _marker setMarkerSizeLocal [1, 1]; _marker setMarkerColorLocal "ColorRed"; }; number = number + 1; } forEach _getposvecs; };
  6. thanks. I was hoping for a "trick" to do it. I have well over 150 (more if selected in MP Parameters) enemy units, and putting eventhandler on all of them, i guess, will slow down the system considerably.
  7. Getting some work done :D todolist: Enemy Artillery (if Arty Radar up, then fire from random arty capable enemy with delay. incl. firing at Frigates) Make Loop file instead of triggers Enemy Waypoints for attacking player directly by closeby enemy if spotted Fix double Loadout for airvecs exploit Fix RoadCone Carrier CenterPiece faildropping Turbo for RHIB One WeaponBox for all weapons Color new Actions different than green More Intel Types from Officer (closest static/AA static) Airport Capture (can send in airdrops from C130 if captured) Factory Capture by ally (saboteur/engineer) (produce CDF vehicles) Factory Reduced production when Areas have been captured US Base with ground vehicles/personnel Future versions Secondary missions MP Compatible Download newest version https://www.mediafire.com/?wpt7scyrb56ezuc
  8. Vincentz proudly presents... Download newest version What is it? FMA or Full Metal Arma is a lot of stuff. It is a gamemode and a mission. It is "Kill the VIP", "Capture the Island", "Warfare", "Hold the Base", "Seek and Destroy", "Air Combat simulator" and general patrolling on the beautiful island of Lingor all at once. For now it is only singleplayer, but for players to be able to respawn, as well as adjust through MP Game Parameters (see picture) it have to be run through Multiplayer. All in all I'd like to call it "A random battlefield generator", because everything is randomized, which makes it optimal for replayability. F.ex. the enemy squads amount are randomized, their placement is randomized, the number of soldiers in the squad is randomized, each squads soldiers class is randomized, each soldiers skills are randomized, the squads waypoints are randomized, the squads role is randomized. And that is just for the infantry ;) Add planes, helicopters, spec ops, tanks, static defenses, light vehicles, factories and lots more, and you have Full Metal Arma. CREDITS IceBreakr for Lingor Island Xeno and Benny for inspiration TCP for Save Weaponloadouts when respawn Clayman for Random Weather Script Requirements : CO or A2+OA and Lingor Island 1.5 http://www.icebreakr.info/lingor/download/ Installation : Put in gamefolder's MPMissions folder and run through Multiplayer in game.
  9. Changes made : Added Repaircrew to service bay (Vehicle Service Point not working properly) Added CM Flares, Cannon rounds and Hydras to Weapon Loadout (Vehicle Service Point not working properly) Fixed scoring system with Reinforcements Changed Reinforcements vehicles crew from 2x Assault Gunners to Medic+Engineer Added MP Parameter : Carrier Service Time (Instant/Fast/Normal/Slow/Realistic) Fixed enemy factory production time will post new version shortly
  10. I made this script which shows the unit number and class as many of the uniticons look the same, and I have randomized the units given when recruiting. However it doesnt really show as I would like it to be :( Here is a screenie : http://i.imgur.com/j8QGsXX.png (1286 kB) I cant get it to left align, and I would love for it to be the number (3) of the soldier and not the whole group ID B 1-1-A:3. Also all the "" and [] is no good :( Best way would be : 2 - Pilot 3 - Assault Rifleman 4 - Assault Rifleman 5 - Engineer etc. Help needed please :D script : _fullsquad = []; _ugp = units group player; _cugp = count units group player; for "_i" from 1 to _cugp-1 do { _type = _ugp select _i; _dispname = getText (configFile >> "cfgVehicles" >> typeof _type >> "displayName"); _fullsquad = _fullsquad + [_type, _dispname, "\n"]; }; hint format ["%1", _fullsquad];
  11. mmm. its very strange. I'm obviously doing something very wrong, but I tried to put it in both a Radio Channel (Juliet) and as an addAction on the player, and I'm still not getting anything. Can you maybe try to look at my mission to see what I'm doing wrong? (I know its a bit much to ask :D) (the radiochannel : Request Reinforcements, will supply you with plenty of "material" ;)) I put it as an addaction in init, and as a radio trigger (on top) in scripts/triggers. <<removed file as it had a very bugged afterburner>> edit. lol, I have no idea what a spawn is and how to make loops. I've just started scripting 14 days ago, and the whole Calling thing is above my paygrade. I have figured it out now :D Thanks alot for the help, it looks AMAZING ;)
  12. Today is 2 weeks after I started on my little project. :D I have to admit that right now I'm prolly playing more than modding, as it is indeed very playable. Still a long way to go, but gonna upload an Alpha (?) version later today. Some things have been very hard for me to learn, and I will prolly not be able to make it multiplayer compatible, but since MP gives me the options to adjust the game parameters (time of day, type of enemy, amount of enemy, skill of enemy and allies, enemy production time, even fuel consumption by the Afterburner (found a nice rumbling sound for the afterburner as well :D)) and the option of respawning, plus scoreboard, so all in all I think it is better played from the MP section of Arma 2. It requires CO, since apparently Lingor requires OA, and friendly units are the Marines and Force Recons. The random placed carrier have given me some grey hairs, as the placement of units (deck crew) and ammoboxes have been either flying or got their legs cut off. I am very happy with the result so far, as when I started the project I thought it was going to take at least a month before anything playable came out of it, and now 14 days later it is ready for some testing, with more features than I originally thought of (though not all is implemented yet). But best part, it really feels like FULL METAL ARMA, when taking my Force Recon squad into the battlezone, dodging heavy armor, maybe sending some Arty down on it, sending demolitions specialist to blow up factories, setting up camps and killing numerous infantry. :D
  13. Thanks :D I cant get it to work though. I can see there is a Call, should I put the _typeToNr in separate file and compile it from init? The reason why I needed it, was especially the Force Recons : Demolition/FAC/Saboteur. With a max (at full rank) of 40 AI, it can be quite difficult to quickly find the demo guy and sent him to the factory, or when the A10 is flying overhead the FAC guy should be ready with the laser. Also I like to take the inf with SD weapons and send them ahead. :D
  14. I've started loosing my mind over this. Before someone breaks in and says :" this has been asked before, use search!" then its not the typical setposasl [x,x,15.7].... I've added a random placed carrier spawn on Lingor Island, but unfortunately the height is not same everywhere (donno if its because of waves, terrain levels or something completely different). I've then used attachto to different objects and units, so they are placed correctly (random carrier is also random direction of carrier ;)) However, attachto, though I thought it was going to be, is not a constant, meaning every new place carrier is placed, a new Pos/ASL/ATL height is being used... So I either gets "flying" Carrier Crew or units without legs. The only solution I've found is to drop a roadcone on the deck, and then attach all the units to the roadcone. That way the units have a constant height to go for. Unfortunately if someone kicks the cone, all equipment and personel goes flying, as they are attached. Please help me find another solution. I really need the random placed carrier, and a good constant height to place units. //***** CREATING LHD CARRIER ***** waituntil {!isnil "bis_fnc_init"}; CarRND = floor (random 4); switch (CarRND) do { case 0: {carX = 0; carY = random 10240}; case 1: {carX = 10240; carY = random 10240}; case 2: {carX = random 10240; carY = 0}; case 3: {carX = random 10240; carY = 10240}; }; LHD1 setposasl [carX, carY, 0]; LHD1Dir = random 359; LHD1 setdir LHD1Dir; LHD1 call BIS_EW_fnc_createLHD; Stuff placed Liftupramp = "HeliH" createVehicle (getposasl LHD1); Liftupramp attachto [LHD1, [22.5,-92,17.5]]; Liftupramp setdir getdir Liftupramp-90; //Liftupramp setposasl getposasl CPLHD; Liftupramp2 = "HeliH" createVehicle (getposasl LHD1); Liftupramp2 attachto [LHD1, [-22.5,-42.5,0]]; Liftupramp2 setdir getdir Liftupramp+90; //Liftupramp2 setposasl getposasl CPLHD; RHIBRamp = "HeliH" createVehicle (getposasl LHD1); RHIBRamp attachto [LHD1, [-21,22,9]]; // RHIBRamp setdir getdir RHIBRamp-90; StorageAirA = "PARACHUTE_TARGET" createVehicle (getposasl lhd1); StorageAirA attachto [LHD1, [-3,-17,10.45]]; StorageAirA setdir getdir StorageAirA+90; StorageAirB = "PARACHUTE_TARGET" createVehicle (getposasl lhd1); StorageAirB attachto [LHD1, [-3,4,10.45]]; StorageAirB setdir getdir StorageAirB+90; _carriercrew = CreateGroup west; "USMC_LHD_Crew_Blue" createUnit [getposasl GEN1, _carriercrew, "Liftcrew1 = this; this attachto [GEN1, [16,-85,0]]; this allowDamage false;"]; "USMC_LHD_Crew_Yellow" createUnit [getposasl GEN1, _carriercrew, "this attachto [GEN1, [10,-95,0]]; this allowDamage false;];
  15. I've decided to go with a different "angle". I primarily use deckcrew for services on carrier, and since attachto makes them act funny, I wanted to use setpos (ATL/ASL/POS) to put the crew down. That way (if i put them a bit higher) they will fall into place, and not fly or get their legs cut off. However, I have a math problem.... :( How do I place them correctly? If the centerpoint of the LHD is LHD1 and the direction of the LHD is LHD1Dir what would the formula be for a crew who would have been "attachto [LHD1, [16,-85,17]]"? My guess (which is obviously wrong) would have been : "USMC_LHD_Crew_Blue" createUnit [[(getPos LHD1 select 0)+ (16*cos(LHD1Dir)),(getPos LHD1 select 1)+ (-85*sin(LHD1Dir)), 17]. Help needed :D
  16. another thought I had was to let the cone drop, then copy its location, delete the cone, make a nonmovable object at the cones dropped position and attach stuff to the nonmovable (invi heli) point. Could work, but problem is I setup carrier before spawn, and somehow it wont let me use sleep, so I have to move objects placed to after init. I was really hoping for some other, more clean way of doing stuff.
  17. Thanks :D Its a great little tool, and almost a game in itself (I spent much time trying to find the best settings for my Lingor mod, and maybe will go back again with these enhancements.)
  18. This makes it come up with error when trying to test mission in editor (undefined expression in paramsarray) :(
  19. Well, its fun modding :D (otherwise I wouldnt do), but I have to say, learning a programming language is pretty damn hard. Objects, bool, strings etc. Always gets the wrong thing. If I knew a bit more, it would go so much faster, as it is painstakingly slow atm. I doubt it will be multiplayer compatible even though it plays from the MP lobby. My programming are simply lacking skills to make it so :( But a beta tester is always nice :D I need to clear out some error, and then its pretty much in alpha release state :D Got all the primary functions (Officer, Factories, Cities, waypoints, interceptors, AA radar, statics and AAs). Also shined the Carrier with a (non moving) lift that transports air vecs to cargo bay for service and weapon loadout changes. Got a RHIB dropable with Turbo on so it actually can be used for transport. Also added Afterburners to planes, though they use a bit too much fuel atm. Got some nice camps buildable from a certain distance from RHIB (Beachhead), MH60S (Basecamp) and MV22 (Field Hospital), which randomizes positions of statics and ammoboxes. Build meself a static/item randomizer just for the purpose :D Best of all is that (except for the weather randomizer) I have programmed everything meself :D
  20. Thanks :D I have been trying to find them for a loooong time :D I have started a small project on my own, and while still in the alpha stage it is very much playable. Keep an eye out if you like to play domi as "singleplayer" too;)
  21. The Island The island of Lingor is divided into 12 counties. In the beginning of the game one county is randomly selected (or chosen through MP Parameters) and will serve as the battlefield. It will have 10 points of interest (POI) which needs to be captured and held, as well as 5 Factories and 2 Radar Stations. . Each county will also have an airport from which enemy planes will be launched. The Officer One Officer carries around top secret documents showing locations of Factories, Radars, POI or even have codes for enemy radio transmissions. Luckily we have a mold, who feeds Allied Intelligence with whereabouts of the Officer. Your mission is to kill him and acquire the documents before a new Officer emerges and changes the codes. The Factories The enemy will have 5 Factories which produces enemy troops. The more POI held by Allied forces, the slower the enemy factories will produce units. The Factories are as follows : Barracks -> produces Infantry Training Camp -> Produces Spec Ops Light Vehicle Factory -> Produces Light Vehicles Heavy Vehicle Factory -> Produces Armored Vehicles Helicopter Factory -> Produces Helicopters The Radar Stations The enemy have 2 Radar Stations : The Anti Air Radar Detects incoming Allied aircrafts and launch interceptor planes. Destroy the AA Radar and you will be able to call in Airstrikes, Gunship Runs and Supply Drops. The Artillery Radar Detects Allied gunfire, artillery strikes, missile barrages and shore bombardments, and will direct enemy artillery and rockets to the target (not implemented yet). The Carrier The Carrier is the base of operations. From there you will be able to acquire planes (A10, F35B, AV8B) and attack helicopters (Cobra, Apache), as well as fuel/repair, change weapon loadouts and get reinforcements. The Cost of the services is determined in MP Parameters and the vehicles (incl recruits inside) can be returned at the lift (Lift to Storage Deck) for a refund of the score. The Carrier Deck Crew : Blue Crew : Aircraft Elevator Operators (lifts airvecs in and out of Service Bays and to Storage Decks) Yellow Crew : Aircraft Handling Officers (lift airvecs from Storage Deck) White Crew : Air Transfer Officers (ATO) (transfer player to basecamp/militarybase/fieldhospital/beachhead) and promotes players to correct rank. Red Crew : Ordnancemen (Aircraft weapon loadouts) Purple Crew : Aviation Fuel (Fueling aircraft) Green : Air wing maintenance personnel (repairing aircraft) Reinforcements The reinforcements are requested over the Radio (0-0-1) and are as follows : MV22 with Marines (max 25 soldiers). Can set up a Field Hospital with AT and AA statics. MH60S with Marines (max 15 soldiers). Can set up a Base Camp with Mortar and Mounted MG. UH1Y with Force Recons (max 11 soldiers). RHIB (rigid-hulled inflatable boat) with Force Recons (max 12 soldiers). Can set up a Beachhead with Mounted MG and Grenade Launcher. Radio Channels 0-0-1 Request Carrier Reinforcements 0-0-2 Request Base Reinforcements (not implemented yet) 0-0-3 Call UAV (use com 0-8 to set location) 0-0-4 Call Shore Bombardement (use com 0-8 to set type and location) 0-0-5 Call Missile Barrage (use com 0-8 to set type and location) 0-0-6 Call Supply Drops (use com 0-8 to set location) 0-0-7 Call Airstrike (use com 0-8 to set location) 0-0-8 Call Gunship (use com 0-8 to set location) 0-0-9 Debugging channel 0-0-0 Counting Crows (shows how many enemy left as well as info of your squads soldiers class)
  22. Hey :D I wanted to make a trigger that detects air units flying close to AA Radar, but I dont know how to negate UnitsBelowHeight? // ANTI AIR RADAR INTERCEPT _trg=createTrigger["EmptyDetector", AntiAirRadarpos]; _trg setTriggerArea[1500,1500,0,false]; _trg setTriggerActivation["WEST","PRESENT",true]; _trg setTriggerStatements["'Air' countType thislist > 1 && count (thislist unitsBelowHeight 50) !> 0 ", "hint 'you have been detected';_handle = execvm 'intercept.sqf'", "hint 'trigger off'"] _trg setTriggerTimeout [10, 10, 10, false]; I guess its the !> that creates the error, but I have no clue to write "trigger on airunits except if units flying below 50m." Heeeelp please :D (Im no programmer, so please no sarcastic rolling of eyes or such ;)) EDIT : Nevermind. I put it here && !(count (thislist unitsBelowHeight 35) > 0) and it worked :D sweeet !
×