-
Content Count
556 -
Joined
-
Last visited
-
Medals
Posts posted by Bon
-
-
New to me that there's an Eventhandler called "LoadOutChanged":
http://community.bistudio.com/wiki/ArmA_2:_Event_Handlers
Where did u get it from?
-
Hi Benny.
Can u tell me which errors actually occur with these modules when in MP? (did not find any references)
I am going to integrate the AIS and BC into one of my own missions, but didn't do or test it yet. Of course I believe in your words and will use your fixes anyway (so thanks in advance for your effort), but I also would like to know what to expect if I were not using it.
Cheers, Bon.
-
Thank you all mates.
-
Another week went by, and beta.3 comes again with many small changes and improvements, here the most striking ones:
changelog
- FIXED: spawn too many enemy units, a point can be reached where no more enemies spawn at all
- FIXED: using the HALO jump the settingsmenu and progess status are not available anymore by pressing "T" and "I", respectively.
- CHANGED: Special Vehicles, unlocked by resolving a sidemission, respawn now. Respawn time: 20 minutes.
- CHANGED: Resolving a sidemission brings the team 2500$ now.
- NEW: Load ammunition into any vehicles cargo space (read Manual, section "Other Features", for more information).
Version beta.3 will be the last, or perhaps the next to the last betaversion I am going to release, however, no later than the 30th of October the final will be downloadable.
Hf.
- FIXED: spawn too many enemy units, a point can be reached where no more enemies spawn at all
-
Thanks everyone for your compliments, I will try to continue making as many of these as are neccessary.I have created ranging tables for the M107, MK12, DMR, and tested the M40. I have found that the M40 ranging and correction is the same as the M24 (at least, I couldn't tell any difference). Here are the word files for each weapons containing the files. I figured this would be easier than posting a picture until I post my complete guide/tables. I have also included a link to the M24 tables so that those not wanting to wait for me to make them more printer/user friendly can modify these.
NOTE: When the variable scopes are zoomed in, the mil-dots appear to be accurate assuming a 2 meter tall target like with the M24. Another thing to be noted here is that the zero ranges for zoomed and unzoomed are different.
Also, for the printer-friendly tables to come in the compiled guide, what details would you want in them and in what order? I was thinking of making them with Target Height, Correction, and then Range. I was thinking about using only height and correction, but I remembered that you might need to know the ranges and corrections for shooting from an incline. Would you guys also want them to list ranges in 50 or 100 meter increments?
Also from me many thanks to Daniel_Malloy. These tables are very helpful.
I put all the above listed tables in one pdf and provide it on our clans download page so that at least my other clanmates can benefit from them.
-
Hi T-Bone,
glad you still like it, considering the initial version release is a long long time ago.
This mission went a long way of development - 9 or 10 updates in total I think, which is absolutely not my kind of working - either it is working at its first official versions (betas excluded) or its crap. Uh, did I really said that? Of course ArmA2 is an exception :p. Seriously, what would we all do without ArmA2, I don't know, so may Bohemia still release updates in 10 years.
What I was intended to say was, with the hotfix 1.51 the development of Hunt Waldo on Utes arrived at its end, happy that it gave me so much of fun and experience in mission making, and people like you or Landstriker in playing it. Once again, thank you all.
To the issues you mentioned:
The daytime issue is an ArmA2 Engine problem which was claimed to be fixed with patch 1.04. I quote the changelog of patch 1.04:
"* Fixed: Time of day synchronized on client after connection to server."
If its still not working....all I can suggest is
.JIP means "Join in Progress". JIP players are players that are joining your server after the mission had started.
Hf, Bon.
And check out the newest version (beta.2 atm) of the Hunt Waldo 2 mod :D
-
Update beta.2
Thanks to all who have taken the time to play the Mission in the past week - As long as there is still no Linux server files, I depend on you.
The few times where I joined a server and have played, I found not many, but serious bugs, which I hereby announce as fixed.
- Fixed: One of the main missions does not create Tasks and markers which then breaks the whole mod, since the player does not know what to do next.
- Fixed: Markers on map resize, replace or just disappear when another player connects
- Improvement: Decreased range of enemy patrols around the airfield in the initial mission, also airfield is now secure once players number exceeds enemy number, to avoid endless searching for single enemy units to conquer the airfield.
- Improvement: "Calling the bomber for sidemission" thing: You can request as many bombers as you want during the sidemission. A bomber getting shot means 2000$ less after the current main mission is done. After 2 minutes of inactivity the bomber "returns to base",(i.e. leaves the battlefield and gets deleted)
The new version is available on my download page.
Have fun, I will keep my eyes open for you guys playing it, maybe I will join your game :cool:
- Fixed: One of the main missions does not create Tasks and markers which then breaks the whole mod, since the player does not know what to do next.
-
Hi Seve,
thankful for your post, I am sorry for this late response.
One sidemission where team has to blow church didn't work as church was nothing but rubble after multiple bomb hits and sidemission just wouldn't end.True, the churches are not destroyable by regular fireworks. I once used about 20 satchel charges, blew all M1 Abrams ammunition into it, even crashed some helicopters into the building. The damage model reaches maximum very quick, but the church will never become fully destroyed.
If that's what you tried, there is nothing to fix, because the task actually is not about blowing the church but to designate it with a laser marker and call in an AI controlled bomber.
Once the church receives a hit by a GBU bomb it becomes maximum damaged by script. Just read the task of this sidemission carefully.
If you actually tried to call in the bomber, which then dropped the bomb on the church and it did not end the sidemission anyway, let me tell you that I am currently working on improving the "call bomber thing" and that it will work in the next version.
Cheers, Bon.
-
hint"Click on map to mark the drop zone"; onMapSingleClick " //HERE WE CREATE MARKERS 'cargo_drop_point' setMarkerPos _pos; onMapSingleClick ''; "; //HERE WE CREATE PLANE AND MAKE IT FLY TOWARDS THE MARKER...
-
I've written the Waldo thing, and I copied the original c4only.sqf out of the Evo mod in Armed Assault.
And I am quite sure that there was written //by Xeno in it.
Wait I'll just take a look, must have the mission somewhere backupped....
...
...yes, actually there's written //by Xeno in it. ^^
So I pimped it a bit since ArmA2 provides the allowDamage command and changed the //by Xeno to //Original by Xeno.
I think for me it works fine, btw the correct call in the initline must be
null = [this] execVM "c4only.sqf"
(dont forget to pass the object as a paramater)
I also think this c4only script was needed instead of just using an eventhandler because it is not really the Pipebomb itself that causes the damage but something else.
-
Can you try to put a sleep statement into the while loop of spawn.sqf so the marker position doesn't reset in each frame? Could be overkill to the server machine.
Hmm, sorry, thats all my suggestions, can't see any other possible relations between your code and the desync issues.
-
What's a desync issue btw?
I've downloaded the mission and saw its quite complex with many scripts, so I guess you are no rookie in Editing.
You need to understand that most of us (or at least me myself) do not have the time and motivation to read trough and understand your code first and then to analyse what could cause problems, so at least some more information about your trouble issues would be nice.
Start with a user case that is broken so far without linking to any code line, this perhaps is already enough to help you.
-
Short description:
You start as USMC from the Carrier at south coast of Chernarus, with your first objective to capture the main airfield.
Once the airfield is yours, the search starts for the oppositions leader, codename "Waldo", who hides somewhere in Chernarus. You can now check each house in each town on the map, or solve main missions to gather Intel about Waldo's whereabouts. There are 10 different main missions atm which are picked randomly by the server, taking place at random locations (so replayability should be given, since its all random).
There are also different side missions, which, solved, unlock special vehicles for your team, like A10, AH1Z, Abrams and so on.
During a single main mission your Death count is stored. Dependend on your Teams Deathrate after a mission is accomplished, your team earns money which can be used to construct usefull things as respawn points, static defences or covers.
Same as its predecessor each unit class comes with different skills and weapon pool.
All important information to the missions and other features is written in the enclosed Manual.
The mission itself is packed as a .7z archive together with the Manual, provided on
Armaholic.com (v2.1) <- thanks to Big
armedassault.info (v2.1) <- thanks to Old Bear
Hf, Bon.
-
-
I have to announce a small update.
changelog v1.51
hotfix: lifting vehicles with the blackhawk not possible for jip players
hotfix: artillery does not fire on client machines
new: choose number of possible respawn points (none, 1, 2) by mission parameter
-
I can get the script working in its basic format. But when I add the line
_nul=[_vec,""markerToPatrol""] execVM ""ups.sqf"";
It ceases to work.
Ok a simple script call for an extern script CANNOT break the current script. If just the content of this "ups.sqf" doesn't work it must be a failure in the ups.sqf script. Otherwise here are my only suggestions:
- First of all do as I said and remove the very last line "_Grp". This was the return statement of the former function and doesn't belong to a normal script.
- Then (I know it should'nt matter but just in case to make sure) write
[_vec,"markerToPatrol"] execVM "ups.sqf";
instead of
_nul=[_vec,""markerToPatrol""] execVM ""ups.sqf"";
.
Also is there something in the script that sets the crew to never fire? I can't get a violent reaction from them no matter what I do.
This script only creates a vehicle with its crew, it is not responsible for its behaviour. To give them particular behavior
{_x enableAI} forEach units group _grp;is completely wrong, as you can read out in the list of scripting commands.
Give them a waypoint or use setCombatMode or setBehaviour.
In case you meet problems with these statements, read its description in the biki carefully and use the advanced search function of this forum before posting it in this thread, since it is a bit out of topic.
EDIT: add
-showScriptErrors
to your ArmA2 shortcut to list all script syntax errors ingame.
-
We could try to collect all predicates and logical operators and create such list.
A better list of all commands for ArmA2 you'll find in the Biki:
http://community.bistudio.com/wiki/Category:Scripting_Commands_ArmA2
in the category "#" you can find all logical operators like AND (&&), OR (||), == and so on.
Then, every command that starts with "is" is a predicate as well as every command that starts with "has", which is only "hasWeapon" atm.
Then I remember "lock" and "engineOn" and "alive".
Oh, and of course:
true and false are conditions itself
Everyone is welcome to add stuff.
-
No reason for me to assume some waypoint statements or another script call at the end of the script would break it.
-
Bingo, the radio trigger was the problem.I don't want this to be a player call - so I'll probably use a present or detected trigger.
Is the script as above ok to run on a dedi or do I need to add if (!isserver) exitwith {};
First of all, a trigger of any kind SHOULD be executed on each machine, so the if(!isServer) exitWith{} is important, most definetly.
I said "SHOULD", because I often experienced a trigger being executed on a client machine but NOT on the dedicated server machine. Weird, but true. So this could cause some more problems. A quick and dirty workaround is to write into your trigger condition something like
this || trigger_executed
and in the activation field you add
trigger_executed=true; publicVariable "trigger_executed"
That makes sure the trigger is executed on the dedicated server, too.
As I said, this really is dirty, but it will do the trick.
---------- Post added at 01:09 PM ---------- Previous post was at 12:55 PM ----------
Edit: the crew aren't spawning in the vehicle
I changed the skillset in the script before posting it, because I am using a mission parameter for it, and just replaced it by "random 1". Maybe there is a number of form 0.1 or 0.2 or 0.3 ... expected, but the random function creates numbers of 0.122345 whatever.
I just replaced these areas above with skill 0.5 in hope that will create the crew now.
-
I think the problem is that the statement in the radio trigger is initialized BEFORE the function gets compiled.
Use addAction instead. Also as shk mentioned, never use a radio trigger to spawn units since radio trigger statements are executed on each machine.
You of course can use the function as a normal script by:
- cutting out the last line containing the _Grp,
- add the line
if(not isServer) exitWith{};at the beginning of the script.
Then you don't have to precompile it and can use it out of a radio trigger, call it with
_spawn = ["BMP3",EAST,getPos testH,50] execVM "spawnVehicle.sqf";
(rename the func_spawnVehicle.sqf to spawnVehicle.sqf).
But then you have to abdicate the main benefit of a function, that it can return the group of the recently spawned enemies. Then it will be a bit harder to handle events with these units.
-
Hmm, I'll give it a go. But the last one of these FNC func scripts I tried just crashed my PC.Also I'm struggling to figure out how to get the pos working.
Last time my example was about spawning about 1000 enemy infantry units. Don't know if you used exactly this example, but I am quite sure this would crash my PC, independend on the script itself. I never had any problems with these functions.
For the position it is very simple. Big_Daddy gave you the hint last time: Place an invisible HeliH in the editor, name it as you like, lets say, testH.
Now you call the function with
grp = ["BMP3",EAST,getPos testH,50] call spawnVehicle;
Ok?
-
Once again I can present a function to you that I am using all the time:
func_spawnVehicle:
private ["_Grp","_type","_side","_vec","_unit","_pos","_radius"]; _type = _this select 0; _side = _this select 1; _pos = _this select 2; _radius = _this select 3; _x = _pos select 0; _y = _pos select 1; _Grp = createGroup _side; _spawnpos = [0,0]; While{surfaceIsWater _spawnpos} do { _spawnpos = [_x + _radius - random (_radius*2), _y + _radius - random (_radius*2)]; }; _spawnpos set [2,0]; _vec = _type createVehicle _spawnpos; _crewtype = getArray (configFile >> "CfgVehicles" >> _type >> "typicalCargo"); _max = (count _crewtype)-1; if(count(_crewtype - ["Soldier"])==0) then{ if(_side==EAST) then{_crewtype = ["RU_Soldier"]} else {_crewtype = ["USMC_Soldier"]}; }; if((_vec emptyPositions "commander") > 0) then { _unit = _grp createUnit [_crewtype select (round random _max), _pos, [], 0.5, "NONE"]; _unit moveinCommander _vec; }; if((_vec emptyPositions "gunner") > 0) then { _unit = _grp createUnit [_crewtype select (round random _max), _pos, [], 0.5, "NONE"]; _unit moveinGunner _vec; }; if((_vec emptyPositions "driver") > 0) then { _unit = _grp createUnit [_crewtype select (round random _max), _pos, [], 0.5, "NONE"]; _unit moveinDriver _vec; }; _GrpPrecompile it by writing into the Init.sqf:
spawnVehicle = compile (preprocessFileLineNumbers "func_spawnVehicle.sqf");
The first parameter is the vehicle type, second is the side the vehicle's crew is assigned to, third is the spawn position (in form of [x,y,z]) and last is the spawnradius. It returns the group the vehicles crew is assigned to.
Example:
grp = ["BMP3",EAST,pos,50] call spawnVehicle;
creates a russian BMP3 in a radius of 50 around the position pos and stores the crew's group into the grp variable.
-
I have written a function to spawn my enemies:
func_spawnInf.sqf :
private ["_side","_strength","_Grp","_unit","_allunits","_pos","_radius"]; _side = _this select 0; _strength = _this select 1; _pos = _this select 2; _radius = _this select 3; _x = _pos select 0; _y = _pos select 1; _Grp = createGroup _side; _spawnpos = [0,0]; While{surfaceIsWater _spawnpos} do { _spawnpos = [_x + _radius - random (_radius*2), _y + _radius - random (_radius*2)]; }; _spawnpos set [2,0]; if(_side==WEST) then{ _allunits = ["USMC_Soldier_AA","USMC_Soldier_HAT","USMC_Soldier_AT","USMC_Soldier_Medic","USMC_SoldierM_Marksman","USMC_Soldier_GL","USMC_Soldier_MG","USMC_Soldier_LAT","USMC_Soldier_GL","USMC_Soldier_MG"]; } else{ _allunits = ["RU_Soldier_AA","RU_Soldier_HAT","RU_Soldier_AT","RU_Soldier_Medic","RU_Soldier_Marksman","RU_Soldier_GL","RU_Soldier_MG","RU_Soldier_LAT","RU_Soldier_GL","RU_Soldier_MG"]; }; _max = (count _allunits)-1; for "_j" from 1 to _strength do { _unit = _allunits select (round random _max) createUnit [_spawnpos,_Grp]; _unit setSkill 0.5; }; _GrpYou then have to precompile it, for example writing into the Init.sqf:
spawnInf = compile (preprocessFileLineNumbers "func_spawnInf.sqf");
The first parameter is the side you want the Infantry to spawn, second is the amount of units, third is the spawn position, fourth is the spawn radius. It returns the group.
For example with
grp = [EAST,1000,pos,50] call spawnInf;
you create 1000 Russian units at position pos with spawn radius 50 which are in the group stored in the variable grp.
The enemies are of random type listed in the _allunits array with skill 0.5.
It also provides a bit faster performance since its a precompiled function.
Can't tell if this is not crashing your server, BUT: never met any problems with this script, so I claim it error free, and with the group returned it is no problem to check whether the units in the group are all dead and the group can be cleaned up.
EDIT: I have to say that some parts of it I picked from the Evolution mod.
-
Bon, how the heck do you pick up the vehicles for transport by chopper? We tried the Blackhawk but couldn't seem to do it. We only had a pilot and an Engineer.Hi,
destroy the Blackhawk and let it respawn, then you should be able to lift the vehicles.
The problem is that the initialization of the chopper is not executed on client machines at the beginning of the mission, even not synchronized to jip players.
Officially this should be done, and considering this issue appears for the first time, and hell, I know this issue is new, I am quite sure it relies on patch 1.04.
I will give it a shot, searching for another method to avoid using the vehicle init and control it completely on client side, but could take a while.
Thanks for the commendation anyway.

What am i doing wrong ?
in ARMA 2 & OA : MISSIONS - Editing & Scripting
Posted
Well, to delete the nearest Weaponholder is no problem:
This would delete the nearest WeaponHolder.
Your problem atm is to detect when the players loadout changed. Have no idea how to do that without hax0ring.