Jump to content

meatball

Member
  • Content Count

    734
  • Joined

  • Last visited

  • Medals

Everything posted by meatball

  1. Yeah, I've prepoulated both the invisible helipads and the waypoints on the map. Thanks for all the input so far though!
  2. Having trouble with a helicopter I'm spawning with a script to move to a pickup location. The helicopter does spawn, but it just sits there, hovering at the spawn location. Here's the code I'm using. // Spawn evac helicopter and fly to Evac Point _evacH = [markerPos _spawnPos, random 360, "B_Heli_Transport_01_camo_F", west] call BIS_fnc_spawnVehicle; _heli = _evacH select 0; _heliCrew = _evacH select 1; _heliGroup = _evacH select 2; _heli allowDamage false; evacHeli = _heli; evacHeli doMove (getmarkerPos "_lzName"); call compile format["wp0 = _heliGroup addwaypoint [getPos %1, 0];",_hpName]; wp0 setWaypointType "LOAD"; wp0 setWaypointSpeed "FULL"; wp0 setWaypointBehaviour "CARELESS"; wp0 setWaypointCombatMode "BLUE"; doStop _heli; _heli land "LAND"; The doMove was at attempt to force it to go, but no dice. Anyone have any ideas?
  3. meatball

    =BTC= Revive

    Getting the same error at dbtj up above. Here's the actual error box. That call is located in =BTC=_functions.sqf, down between lines 156-160. This is the actual code block. if (count (BTC_back_pack_weap select 0) > 0) then { for "_i" from 0 to (count (BTC_back_pack_weap select 0) - 1) do { (unitBackpack _unit) addweaponCargoGlobal [(BTC_back_pack_weap select 0) select _i,(BTC_back_pack_weap select 1) select _i]; }; }; Not sure why "BTC_back_pack_weap" would kick an error since it looks like that's a global variable and shouldn't need to be locally defined.
  4. Hmm, strange. It seems to be working without the str in the call.
  5. meatball

    [MP | COOP 2-8 | WIP] Static Loop

    I've got a test version available if anyone wants to try it, but it's still pretty broken and I've not been able to test everything, but if anyone feels like giving it a shot, you're welcome to, just expect you're going to see some issues. V 0.65 Release - The latest patch (0.74.108135) really broke stuff in my opinion and makes the game hard to play in some cases. There's still stuff not working, and even though the scripts appear to be working fine, the engine continuously throws up tons of "Undefined variable" error messages. - Fixed the end game triggers that the latest patch broke. - Added random extraction points! (Still testing, so may be a bit buggy) - Added parameter to choose whether or not First Aid Kits are required to revive other players. Default is No. - Added vehicles and enemy spawn locations to southern portions of island. - Made enemy heli reinforcement arrival more variable. ---------- Post added at 23:19 ---------- Previous post was at 23:05 ---------- By the by, there's a slight chance someone might have figured out the underlying issue with all this errors (has something to do with the scripts using 'nil' in them). If that's the case, that's awesome, because it can be fixed, but until spunFIN can dig through some of his scripts and fix them, there's not a lot I'll be able to do to fix them. ---------- Post added at 00:17 ---------- Previous post was at 23:19 ---------- Ah, whoops. Completely spaced and forgot to re-enable revival ingame. Updated the mission file at dropbox above. I won't be updating again though until all the scripts are fixed for this latest beta patch. Apologize I can't get everything working, but a lot of these scripts are way above my head :)
  6. Thanks much for looking, and I'll let the author know what you think it might be. Is this something I could do a simple find/replace on nil to fix myself?
  7. move didn't seem to work either. Here's the entire script. I'm sure it's not the cleanest, since it's my first shot at building my own script so any suggestions would be appreciated. // randomExtract point script written by Meatball // // Have 6 invisible markers already on the map named lz_0 through lz_5 // Have 6 invisible helippads already on the map named hp_0 through hp_5 // lz_0 is next to hp_0, etc. // if (!isServer)exitWith{}; private ["_randomExtract","_lzName","_hpName","_evacH","_evacWP","_evacTrig1","_bricks","_heli","_heliCrew","_heliGroup"]; // Pick Random extraction location. _randomExtract = floor(random 6);// Update 6 to total number of extraction points/helipads you've created on the map. // Show Extraction point marker on map _lzName = "lz_" + str _randomExtract; _hpName = "hp_" + str _randomExtract; radFound = 0; //hint format["lzName & hpName: %1 & %2",_lzName,_hpName]; _lzName setMarkerTypeLocal "mil_Pickup"; // For more icon types see http://community.bistudio.com/wiki/cfgMarkers _lzName setMarkerColorLocal "ColorRed"; // For more Colors see http://community.bistudio.com/wiki/setMarkerColorLocal _bricks = [markerPos _lzName, random 360, "Land_Bricks_V4_F", CIVILIAN] call BIS_fnc_spawnVehicle; // Create Guardians around extraction point. //call compile format["nul = [%1,2,(numEnemies*80),true,true,false,0.20,0.05,enemySkill,nil,nil,nil] execVM 'militarize.sqf';",_hpName]; // Create evac trigger. // Trigger 1 - Radio Trigger _evacTrig1=createTrigger["EmptyDetector",getMarkerPos _lzName]; _evacTrig1 setTriggerActivation["WEST","PRESENT",false]; _evacTrig1 setTriggerArea[2,2,0,false]; _evacTrig1 setTriggerStatements["this","hint 'After digging through the pile of bricks you find the radio and call in for evac. The chopper is en route and they tell you to hold out till they arrive!';radFound = 1;",""]; _evacTrig1 setTriggerTimeout[2,2,2,false]; waitUntil {radFound == 1}; // Wait for players to 'find' radio with Radio Trigger. // Spawn evac helicopter and fly to Evac Point _evacH = [markerPos "evacSpawn", random 360, "B_Heli_Transport_01_camo_F", west] call BIS_fnc_spawnVehicle; _heli = _evacH select 0; _heliCrew = _evacH select 1; _heliGroup = _evacH select 2; _heli allowDamage false; evacHeli = _heli; call compile format["wp0 = _heliGroup addwaypoint [getPos %1, 0];",_hpName]; wp0 setWaypointType "LOAD"; wp0 setWaypointSpeed "FULL"; wp0 setWaypointBehaviour "CARELESS"; wp0 setWaypointCombatMode "BLUE"; wp0 setWaypointStatements ["true","doStop evacHeli; evacHeli land 'LAND';"]; sleep 20; hint "DemoTeam two, this is Ghost twelve. We are en route for evac. ETA under two minutes."; // Wait for units to extract waitUntil {{_x in evacHeli} count units demoteam == {alive _x and !captive _x} count units demoteam}; wp1 = _heliGroup addwaypoint [getMarkerPos "endMark", 5]; wp1 setwaypointtype "MOVE"; ---------- Post added at 22:17 ---------- Previous post was at 22:13 ---------- You're right, it is the doStop...duh. Any idea how to assign the doStop and Land commands to wp0?
  8. meatball

    [MP | COOP 2-8 | WIP] Static Loop

    Yeah, the latest patch jacked a lot of the underlying scripts. I'm working through them now, but to be honest, I think they have some sort of issue with the patch as a _lot_ of misions/scripts have become unplayable. Sorry, and I'll keep trying to figure out what's happening! I do have the targets destroyed piece fixed, and I'm working in some new additions (random extraction points anyone?) :) But until they fix whatever is messed up or tell us what the patch did, I can't seem to get rid of the black script error message popups. The game is playable with them, but it's annoying as heck.
  9. Yeah, something is just not right. I went through every single script/function script I'm using with a fine toothed comb looking for any local variables and made sure they were in the definition statement, including _x, _this and _ret and it's still spitting out errors. I don't have any idea where to even continue looking.
  10. So here's the basics of what I'm seeing. I'm using spunFIN's Ambient Combat script (which has worked without a problem prior to the patch), and when that fires, I see this error message pop up. The actual block of text is a portion of Ambient combat supporting script (LV_fnc_ACcleanUp.sqf) that is checking for dead groups and removing them. Here's the full script. //ARMA3Alpha function LV_fnc_ACcleanUp v0.85 - by SPUn / lostvar //removes dead groups and groups in defined distance private ["_i","_wGroup","_leader","_uns","_sUnit","_maxDis","_nsUnit","_tempUnits","_x"]; _sUnit = _this select 0; _maxDis = _this select 1; while{true}do{ _i = 0; while{_i < (count LV_ACS_activeGroups)}do{ _wGroup = LV_ACS_activeGroups select _i; _leader = leader _wGroup; _uns = { alive _x } count units _wGroup; if((typeName _sUnit) == "ARRAY")then{ _tempUnits = []; { if(alive _x)then{ _tempUnits set[(count _tempUnits), _x]; }; }forEach _sUnit; if((count _tempUnits)>1)then{ _nearestUnit = _tempUnits select 0; { if((_x distance _leader)<(_nearestUnit distance _leader))then{ _nearestUnit = _x; }; }forEach _tempUnits; _nsUnit = _nearestUnit; }else{ _nsUnit = _tempUnits select 0; }; }; // hint format["cleanUp, total groups: %1",(count LV_ACS_activeGroups)]; if(_uns < 1)then{ LV_ACS_activeGroups = LV_ACS_activeGroups - [_wGroup]; if((side _wGroup) == west)then{ LV_AI_westGroups = LV_AI_westGroups - [_wGroup]; }else{ LV_AI_eastGroups = LV_AI_eastGroups - [_wGroup]; }; }else{ if(_leader distance _nsUnit > _maxDis)then{ LV_ACS_activeGroups = LV_ACS_activeGroups - [_wGroup]; if((side _wGroup) == west)then{ LV_AI_westGroups = LV_AI_westGroups - [_wGroup]; }else{ LV_AI_eastGroups = LV_AI_eastGroups - [_wGroup]; }; { deleteVehicle _x }forEach units _wGroup; }; }; sleep 1; _i = _i + 1; }; sleep 30; }; Here's the latest .rpt file as well. I'm also seeing some crazy generic undefined variables in other portions of the script that actually look like it's referencing internal A3 functions. What's strange is that the script actually seems to be working correctly, it's just spitting out errors every 20 seconds once it starts running. Not sure we're going to find a work around to this and I think BI is going to have either fix it, or tweak the error messages so script writers can figure out what they have wrong.
  11. I've been having whacky issues as well, even to the point where I've seen _x be called out as an undefined variable. Even stranger I sent my entire mission folder to a friend and he ran everything and didn't see a single error message pop up. We both have straight vanilla A3 installs with the latest patch, so I'm baffled.
  12. Anytime you use a local variable in a script, you need to define it. Simplest thing to do is in the first line of your script, define every local variable you'll use with the following: private ["_localVar1","_localVar2","_localVar3"]; Where _localVar1/2/3, etc are the local variables you're using...
  13. Working on building a script that will pick a random evacuation location and then spawn an AI helicopter that will come in and pick up the players. I've got the script randomizing the evac point, putting that marker on the map for the players and then spawning an AI piloted Ghosthawk at a safe location so far. Since I really don't want the helicopter to be shot down, I'm trying to set it invulnerable, but it appears that the setVehicleInit has been disabled in Arma3. Anyone have any idea how to set initialization values (this allowdamage false; in particular) to units spawned using BIS_fnc_spawnvehicle?
  14. Ah perfect, that's got me going in the right direction. Now I'm just tweaking with Waypoints and trying to force the heli to sit and wait until all alive, but not captured units from a certain group are in. Here's what I have. wp0 = _heliGroup addwaypoint [getMarkerPos _lzName, 0]; wp0 setWaypointType "LOAD"; wp0 setWaypointBehaviour "CARELESS"; wp0 setWaypointCombatMode "BLUE"; doStop _heli; _heli land "LAND"; wp1 = _heliGroup addwaypoint [getMarkerPos _lzName, 5]; wp1 setWaypointType "MOVE"; wp1 setWaypointStatements ["true","{_x in _heli} count units demoteam == {alive _x and !captive _x} count units demoteam;"]; wp2 = _heliGroup addwaypoint [getMarkerPos "endMark", 5]; wp2 setwaypointtype "MOVE"; Pretty sure this should work, but with my testing with myself and an AI set to init with "demoteam = group this;" the heli is taking off as soon as one of us gets in. Looks like it's only showing one of us as being in demoteam for some reason. There something I need to do to make sure both player and AI are counted?
  15. Hate to start another AI Helicopter Pickup thread, but I think I have a different wrinkle with this. My mission puts all the players in the same group called "demoteam". Players can be revived if they get knocked out, but if they are not revived within a set amount of time, they automatically respawn in a 'prison' and get set captive by a repeatable trigger at that location with the following code in the triggers Action. {_x setCaptive true;removeallweapons _x;removeAllItems _x;removeBackpack _x;removeVest _x;removeHeadgear _x} foreach thislist; Once the uncaptured members of demoteam finish all the objectives they are given a location to get evac from and when they get there I have an AI helicopter called "heli" that comes in with a Load waypoint at the evac point with a "dostop heli;heli land "Land"; in the on Act for the waypoint. Waypoint is set to Careless behavior and Hold Fire combat mode so it should come in regardless of enemy activity. The helicopter comes in as expected, lands and shuts down without a problem. To make sure the helicopter doesn't just take off and fly off to the end point before anyone gets in, I have another Move waypoint just a few meters away with the following condition: {_x in heli} count units demoteam == {alive _x and !captive _x} count units demoteam; What I'm expecting the helicopter to do is to come in, land, and shut off it's engine until every member of demoteam that is still alive, but is not captured gets on board, and then take off to fly to the end point of the mission. The problem is, sometimes the helicopter works fine and takes off after all the team gets on board, other times it will take off as soon as any of the team members gets in, stranding the other players on the ground, and then other times it just never takes off, even if everyone that isn't captured gets in. I'm not really sure if it's my code, or things are just buggy with AI heli's and waypoints, but any thoughts would be appreciated. :)
  16. meatball

    =BTC= Revive

    Not positive about the first piece, but if you set "BTC_active_lifes" to 1 and "BTC_lifes" to 1 in the =BTC=_revive_init.sqf, it should only allow a player to be respawned once. About players revive duration timing out and spawning in the ocean there's a few things you can do. The script requires that there is 'respawn' enabled in the game, so you can't set it so people are truly dead, but what you can do is create a 'prison' somewhere and dump people there and say if they are not revived, they are captured. Create an empty icon on your map called 'Respawn_west" and when people time out, they will respawn there. Then just surround that location with concrete walls so they can't get out. You can even create a trigger there that will remove all their gear, etc. It's not the most elegant solution, but it works.
  17. meatball

    [MP | COOP 2-8 | WIP] Static Loop

    New Version Released, v 0.6 with some minor updates and tweaks including: - Multiple random insertion points (over 10) for player team using Shuko's SHK-randstapos script. - Tweaked amount of 'hunters' so they will continue to spawn in longer games. Until the Armaholic page is updated, the new version can be grabbed on dropbox: Static Loop v 0.6 Looking forward, I'm still trying to figure out why the evac helicopter works sometimes, and other times does not. In the meantime, I've created a marker that will appear on the map when the chopper comes in so the players can fly there manually if need be. Beyond that I'm looking to add random extraction points and more variety to enemy patrols/units. Let me know if you notice any issues or bugs!
  18. meatball

    [MP | COOP 2-8 | WIP] Static Loop

    Thanks again! I really tried to make it so it would be something that could be replayed multiple times and players would get a different experience every time. I've played a lot of missions that once you figure out where things are, there really isn't any reason to play it again, because you just get into a pattern. I took a lot of inspirations from Enigma's Escape from Chenarus for A2. That really became our go to co-op mission to play with our group of players because every time we played it was something new. I was trying to capture that feeling. Great ideas. This is my first go at mission making, so I'm still learning how to mod/script, but I'll see what I can come up with. :)
  19. Short of it is I have a mission where certain ingame and end game triggers are set using player unit names and player group name. If players go unconscious and are not revived (using the BTC Revive script) they respawn in a detention center. I've already figured out how to remove all gear/weapons/etc., but I can't figure out how to change peoples group and unit name. Related question. For troubleshooting purposes, is there a variable name I can call using hints to show me what the unit name/group membership is of something?
  20. meatball

    [MP | COOP 2-8 | WIP] Static Loop

    Excellent, I'm glad you like it! I'll have to look into the Ghosthawk not lifting off. It's supposed to check to make sure everyone that is alive, but not captured is in and then take off, but the waypoints are a bit buggy at times, so I'll experiment with it. Have you found the AI skill and numbers to be about right, or do you think they're too hard/too easy, or too few/too many of them? I thought about adding in a repair script, but I thought it might make it a bit too easy if folks could repair up all the vehicles they find to full health. I found that I liked it better personally when you had to search for vehicles and hope the wreck that you found would get you to the next point. Appreciated the feedback, and I'm happy you guys are enjoying it! If you guys have any other ideas or comments, feel free to toss them my way!
  21. meatball

    =BTC= Revive

    @Keewa - Pretty sure if you disable respawn (set BTC_disable_respawn to 1 in the revive_init.sqf file) it'll pretty much function exactly like that. Even though people won't see the button and be able to self respawn, they should still respawn at their main side respawn marker at the end of the BTC_revive_time_max time. Might also want to set BTC_black_screen and BTC_action_respawn both to 0, depending on if you want a black screen or the players to be able to see the surroundings.
  22. meatball

    Endless Survival

    Hmm, that leads me to think if there's anything that can be done. I've noticed in some of my testing I'll see missions bog down, yet I never see my CPU go above 45-50% for the Arma process. There must be some way to allow for more CPU processing and threads, especially with most folks having multicore CPU's these days.
  23. +1 for NotePad++ and the syntax highlighting addon.
  24. meatball

    group syncing

    That works too, but note that _any_ other player will trigger the trigger, so if there's ever any reason to keep the conversation from some players, that won't work.
×