Jump to content
Sign in to follow this  
Dwarden

ARMA 2: OA beta build 93296 (1.60 MP compatible build, post 1.60 release)

Recommended Posts

Any more "useless scripting commands" someone needs while I am in the mood for it? :cool:
Do you consider event handlers also scripting commands? ;-)

Cause in that case there's a bunch of EventHandlers that would be welcome (can aggregate them from DH), or improvements like the ammoHit eventHandler should also be triggered globally, not only where local.

Share this post


Link to post
Share on other sites

Votes for scripting type in the CIT might be one way.

Here is a list of somewhat fitting starting with highest voted:

  • visiblePosition behaving like getPos
  • Add visiblePositionATL and visiblePositionASL
  • New hitPart eventhandler triggers only where the shooter is local
  • Assigned team broadcast in MP
  • Ammo created with createVehicleLocal is transferred over network
  • setWeaponDirection
  • setVelocity does not have global effect
  • Add scripting command: addWeaponTurret and removeWeaponTurret
  • Add AmmoHit eventhandler
  • Add scripting commands: fatigue and setFatigue
  • currentMagazine/currentWeapon gunner is not working for turrets
  • modelToWorldASL/worldASLToModel commands
  • assignAs... counterpart to moveInTurret
  • Add scripting command: markers
  • New Scripting Command: setObjectMaterial
  • Stackable onPlayerConnected and onPlayerDisconnected
  • ppEffectsEnabled scripting function
  • Request for scripting function getHit (getHitPointDamage)
  • Add "Every Frame" eventhandler
  • Add Suppressed Eventhandler
  • unit GetWeaponIndexes "weaponname"
  • assignedTarget - Missing Gunners Target identification
  • attachToBone command
  • unitA forgetAbout unitB
  • new command: setFSM (to swap/disable danger/formation/"core" fsm)
  • displayAddEventHandler 'MouseButtonDown' with return true, still executes mouse action
  • currentWeapon works only for player
  • removeAmmo
  • A createAmmo Command
  • Add new scripting command: attachMarkerTo
  • allowGetOut (new command)
  • Command: sceneBrightness
  • New script command: moonphase
  • Provide addKill/getKills commands
  • Add a scripting command to return current optics mode
  • Add scripting commands to query the various optics data
  • 'currentMagazine' should work also on AI entities
  • Request: nearestBuilding <position>
  • Add new scripting command: disableKeyAction
  • Add new scripting command: executeKeyAction
  • Scripting command to add number of kills to player's score
  • Add new scripting command: combatBehavior and setCombatBehavior
  • isKindOf should work with magazines and weapons too
  • Add scripting command: playMusicDone and playSoundDone
  • Script function: assignTurretPosition
  • Add new scripting command: setDifficulty
  • Add new scripting command: cargo

(tickets with less than 5 votes were skipped)

My vote would be to back-port profileNamespace as discussed in another CIT ticket.

Edited by .kju [PvPscene]

Share this post


Link to post
Share on other sites
My vote would be to back-port profileNamespace as discussed in another CIT ticket.
+31337

ASL variations of all position commands, incl VisiblePosition would be very welcome yes.

Edited by Sickboy

Share this post


Link to post
Share on other sites

Big thanks for the eye direction, Suma. :) One command that I have been missing is a publicCode (similar to publicVar). What you could use just like publicCode {player sidechat "Hello";}; and that would display for all clients and server. Would save a lot of time when creating mp missions.

And the publicCode would have some timeout, after that its no longer launched for late players. E.g. 5 secs -> [5] PublicCode {}.

Share this post


Link to post
Share on other sites
Big thanks for the eye direction, Suma. :) One command that I have been missing is a publicCode (similar to publicVar).

No please, that would be another major security hole... A good event system ftw: Instead of sending code over the net simply register the code when a client/the server connects and just send parameters is the way to go.

Xeno

Share this post


Link to post
Share on other sites

Ah, sure. I understand, Xeno. Didnt mean that. The coop missions I have just created, have nearly 100 triggers waiting for publicvariables to launch chats/task update/cutscenes/other stuff for clients. Simple system, but quite slow to create needing much extra scripts for clients. A way around that would make coop mission creating much more fun/fluent.

Share this post


Link to post
Share on other sites
Eye direction will be added in 93619.

Any more "useless scripting commands" someone needs while I am in the mood for it? :cool:

Not sure if its worthwhile but a command that returns the last emitted sound from a unit/vehicle might be useful (if possible) for stealth missions or the distance from which the last sound (emitted from a unit/vehicle) could be heard from in-game. This may or may not be useful for scripting enemy audio perception etc.

I am sure however there are probably other commands that require more priority then my suggested one.

Share this post


Link to post
Share on other sites
Eye direction will be added in 93619.

Any more "useless scripting commands" someone needs while I am in the mood for it? :cool:

Brilliant, more new commands, thank you!

Please consider:

AddMagazineBackpack & RemoveMagazineBackpack (to / from backpacks attached to a unit)

removeMagazineCargo (complementary to removeAllMagazinesCargo)

OTOH if you have anymore really splendid ideas up your sleeve like LineIntersect, etc., please concentrate on those to surprise & delight us some more :)

Share this post


Link to post
Share on other sites

Any more "useless scripting commands" someone needs while I am in the mood for it? :cool:

Can i has the ez mode :) /jk

Seriously good work Suma. More commands for us the better (even if 'some' people think they are useless to start off with!)

Share this post


Link to post
Share on other sites

a way to kill the reaction fsm atleast on civs so we can write our own.

a way to stop animations instantly

jip markes is a good idea - shouldnt be hard - as all i have to do with server made markers for JIP is setmarkerpos to itself onplayerconnect and it shows up on the client - but all my markers are in arrays.

maybe a move command or movefast or moveslow that overrides combat reaction fsms

a command like SAY3D that can access the sounds in dubbing.pbo and/or dubbingradio_e.pbo

Edited by Zonekiller

Share this post


Link to post
Share on other sites

setWeaponDirection and disableGunnerInput. Those two functions would do soooooo much in moving towards better armor simulation.

Share this post


Link to post
Share on other sites

I know there are workarounds, but...

Knowing night from day and viceversa (is the sunset/risen?)

lightIsOn could return the actual light status, instead of what it is set to by script. If set to "auto" it returns "AUTO" where it could return the value it dinamicaly is being set to at runtime (ON/OFF). Don't know how this change could impact previous scripts dependent on the current return.

Anyway a easy/fast way to get daylight conditions independently of hourtime would be swell.

Share this post


Link to post
Share on other sites

Fixing the hitPart EH is probably one of the most important fixes though, because it will enable so much more detailed damage simulations in both vehicles and humans. :)

Share this post


Link to post
Share on other sites
Eye direction will be added in 93619.

Any more "useless scripting commands" someone needs while I am in the mood for it? :cool:

I think you opened Pandoras box with that^^

Share this post


Link to post
Share on other sites

I think we need a separate thread for new beta commands :)

Share this post


Link to post
Share on other sites
Ah, sure. I understand, Xeno. Didnt mean that. The coop missions I have just created, have nearly 100 triggers waiting for publicvariables to launch chats/task update/cutscenes/other stuff for clients. Simple system, but quite slow to create needing much extra scripts for clients. A way around that would make coop mission creating much more fun/fluent.

i do it this way - save a lot of scripting - and can have it run on all clients or just 1 client

have an object such as a wreck on the map called server_object

run this on the client on connect

if (isDedicated) exitwith {};

private ["_array","_orders","_myorders"];

server_object setVariable ["playerorders", nil, false];

_myorders = {
_array = _this select 0;
_orders = _array select (count _array - 1);
_array set [(count _array - 1),-1];
_array call _orders;
};

while {true} do
{
waituntil {(!isnil {(server_object getvariable "playerorders")})};
_array = (server_object getvariable "playerorders");
[_array] spawn _myorders; 
server_object setVariable ["playerorders", nil, false];
};

in your server sided code run this format

_ordercode = {
_veh = _this select 0;
_veh vehicleChat "Our Destination Has Changed";
};
server_object setVariable ["playerorders", [_veh,_ordercode], true];

or

_ordercode = {
private ["_player","_target","_cost","_wep"];
_player = _this select 0;
_target = _this select 1;
_cost = _this select 2;
_wep = _this select 3;

[_player,_target,_cost] spawn Player_Banks_Code; // is run on all clients
if ((local _player) && (currentweapon _player == _wep)) then {hint "Go Get Them " + Name _player}; // - hint only shows for _player in question because of (local _player).
};
server_object setVariable ["playerorders", [_obj,_target,50,_wep,_ordercode], true];

i use this a lot for all my MP missions

also you can do the reverse from client to server

by running the same code on the server and change

all the "playerorders" to "serverorders"

and change this line if (isDedicated) exitwith {};

to if !(isserver) exitwith {};

Edited by Zonekiller

Share this post


Link to post
Share on other sites

Cool thanks, Zonekiller. That will be handy, I wrote that down. Will try it soon. Didnt think that possibility before, I only lately started to use setVariable (and getVariable) for few things.

Share this post


Link to post
Share on other sites

Don't forget the commands:

(get)FuelCargo

(get)AmmoCargo

(get)RepairCargo

Without them their since OFP integrated set variants not very useful because noone knows the residual values after anyone use it.

Share this post


Link to post
Share on other sites

what would be nice -- is to fix the sounds in duddingradio_e - my RPT keeps filling with cannot load sound.

in the duddingradio_e in the default- there is no weapons folder in the Male#TK for the sounds to live in.

how many resources are getting waisted trying to play a sound thats not there - is it confusing the code in any way ??

any error in the code is not good.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×