Jump to content
Sign in to follow this  
Guest

Scripting

Recommended Posts

I agree with vMatt on the need for finer control of vehicles in the mission Editor, and the input-recording method sounds good.

I'm always trying to get really flash, aggressive flying from AI choppers in the mission editor, but as they're fairly loose about the waypoints/positions you assign them it's very erratic.

For instance I have a mission on Tonal where 3 Littlebirds in a tight line formation, with Deltas in cargo, swoop down Lorenghau pass at full tilt and fly under that high wooden bridge, while TRF machine gunners wake up and start blazing away. It works about 70% of the time, but on some sessions they'll crash into the bridge, scatter when the guns start firing, or just bypass the valley completely, no matter how much tweaking and changing combat modes I do.

With really tight path-setting for AI vehicles, you could have some really good stuff going on - not only to look cool, but also to look realistic with jets blowing through valleys on terrain-masking flights etc.

I guess this would be pretty CPU-intensive, so it would need to be an optional setting in the waypoint box (loose/tight positioning), or as vMatt suggests, you would set one waypoint as class "pre-piloted", specify the starting speed, height, heading, bank, power and pitch then hit a "record input" button in the waypoint box. This would take you into the mission editor where you would fly the course you wanted, with the next waypoint automatically generating at the point where you stop recording.

Cheers,

Cornhelium

Share this post


Link to post
Share on other sites

I want pre-made scripts for people who don't know how to make them. Vehicle respawn for example,

Instead of going through all that sqs crap, don't you think a little drop box in the editor would be more easy?

----------------

UAZ

Respawn?

-Yes

-No

Time to spawn at game start

-1 minute

-2 minutes

-3 minutes

-ETC

Time to respawn after destroyed

-1 minute

-2 minutes

-3 minutes

-ETC

Or have a little box area where you can type in a number for seconds.

You get my picture I'm sure..

Share this post


Link to post
Share on other sites
How about allowing the script to make external SQL calls. This would generate a lot of possibilities....

1) modify a running game.

2) easy to store data from one game to influence the next.

3) simultaneous conflicts that have repercussions for each other.

4) would make a persistent battlefield feasable.

5) db could run on another machine reducing server load.

6) you would effectively have the entire status of the island whenever you wanted it - even for the rest of the campaign.

7) easy to write tools to maintain islands/battlefields

8) automated external tools

Limitless possibilities...

About # 1, bad idea.

Already there is a console cheat out that allows you to modify Multiplayer maps, while you are in them.

Share this post


Link to post
Share on other sites

I had some ideas as I've been scripting along. I've forgotten most of them, but a few that I've recently encountered is trying to find who trips a "useraction" that is defined within the config file. Several explinations have been provided for the "addaction" triggering, but not a way for useraction. Also with the addaction, provide a way to pass variables if needed.

I'm sure this has been mentioned before but the "nearestobject" I would love to see it work in the way it does right now and maybe a different way where you can just search for a specific class. example: "tank, plane, car, soldier,etc." Also, maybe a user specified radius of search.

Share this post


Link to post
Share on other sites

I forgot to add one thing..... previously the "getpos" was mentioned for getting the height above sea level, above land, and absolute hieght (this one not 100% accuracy to get in ofp) ....I would like to add this one request to the land height-to be able to choose a coordinate and find the land height at that exact coordinate.

This could open up some more possibilities in scripting- for smarter weapons, better gunsites scripted into airplanes..on and on biggrin_o.gif

Share this post


Link to post
Share on other sites

I would like to see the AddAction command be more exlusive to a player rather than a seperate object which can be invaded by a nearby player ---> ie: A player standing 1m away from me aquires my action commands as long as he stays within my action object radius.

Share this post


Link to post
Share on other sites

name SetSpeed x

x is the desired speed. Instead of Limited, Normal, and Full, this would give you a bit more control over exactly how fast you want someone to go.

Share this post


Link to post
Share on other sites

Separated server and client side scripting, with easy to use channels inbetween to sync it smile_o.gif

Share this post


Link to post
Share on other sites

One thing I'd like to see if you are going ahead with the addition of join in progress would be to have scripting functions that would make it only possible for the person that disconnected to rejoin the game in that spot.  It would be REALLY cool if this only effected the playable spots that HAD players at the start of a game (in CTI for example, it would be great to only have people that dropped out be able to rejoin their spot, but still have new players be able to join in at any point as long as the slot they joined was an AI from the start of the game.)  Something along the lines of the respawn command, with multiple variations of a single line giving you as much flexibility as possible.

I think this would GREATLY enhance the usefullness of JOIN IN PROGRESS...

Share this post


Link to post
Share on other sites

I don`t know if this would be the correct post or if it have been mentioned before but in the mission editor I would like to see a respawn scripts that are set .

Meaning you can just pick " respawn in group " etc from a list .

Share this post


Link to post
Share on other sites

Little thingie but maybe useful. Right now you can set trigger size with radius only. Especailly when big radius is chosen the performance goes down.

I often thought about a trigger with two circles, means that you create some outline only that is checked. For example you want to detect if someone is crossing a line and you want something to happen. Right now you have to :

a. Setup a big trigger with big radius

b. Setup multiple rectangular triggers with great length and small width and combine them.

c. use scripting like distance command and such

Wouldn´t it be good to have a second radius option for circular triggers that would enable you to have a wide radius but only a thin trigger line defined by second radius only a little smaller than first radius ?

Hope someone understands what I mean. biggrin_o.gif

Share this post


Link to post
Share on other sites

Basically like a Compact Disc, the inner hollow part is void of the trigger, as well as away from edges of the CD. But the inner, shiny, part is where the trigger will be activated.

Share this post


Link to post
Share on other sites

Yes. This would save performance even if large triggers are used as the area that has to be checked is in fact very small.

Edit :

So easy... like a ring  biggrin_o.gif with variable radius for inner and outer line. This would really save us from making oversized rectangular triggers in 4 parts.

Besides that it would offer the opportunity to have units inside the trigger of the same side that activate the trigger without actually activating it.  wink_o.gif

Haha I messed it again biggrin_o.gif

Share this post


Link to post
Share on other sites
I don`t know if this would be the correct post or if it have been mentioned before but in the mission editor I would like to see a respawn scripts that are set .

Meaning you can just pick " respawn in group " etc from a list .

This is a good idea, yet something that makes OFP so popular is the fact that people make their own scripts that are almost personalized. Maybe a basic template or something would be good

Quote[/b] ]Basically like a Compact Disc, the inner hollow part is void of the trigger, as well as away from edges of the CD. But the inner, shiny, part is where the trigger will be activated.

How about using a regular big trigger circle of radius 100, 100.

Then a new feature, an un-trigger circle (working title) of radius 50, 50?

Share this post


Link to post
Share on other sites

The major problem with scripting seems to be when saving game and reloading:

running scripts state and past inits are not replayed on reload.

The result is this:

- if you were running a script when saving, after the reload it won't be restarted.

- if you ran an "init field one frame script" or set variables in an initfield of a PBO at the beginning of the game, it won't be replayed as you reload (some variables and other features of the addon can be missing or mis-set).

A simple thing would be some "save" and "reload" EventHandlers... with the ability to save unit script variables states too.

Share this post


Link to post
Share on other sites

Hmmm..I don't think I've seen this anywhere... but I'd like to put in a request for...

Being able to get and set the rotational velocity of an object/vehicle,etc.

The animations in one plane and setdir, only goes so far..

Maybe have it set for 2 planes in relation to the object

oh and also have the ability to remove/change gravity effects on objects, or set their gravity..... that way we would not have to have a continous loop for holding something particular at one height...whether it was hovering or not..

just opening up any type of flexibility for all possibilities smile_o.gif

Share this post


Link to post
Share on other sites

How about a getviewdistance command that would return the player's exact settings rather than relying on benchmark?

I can think of at least one case where this would be useful.

Share this post


Link to post
Share on other sites

(!)

setXdir - getXdir --> set and get the X axis direction of an object

setYdir - getYdir --> set and get the Y axis direction of an object

setZdir - setZdir --> set and get the Z axis direction of an object

sorry for bad english, i hope that you have been understood.. biggrin_o.gif

Share this post


Link to post
Share on other sites

setXdir? I think I get it, being able to tilt a unit on an angle and such, I would also like to see something like that... But moreso i would like to be able to exclude items in the NearestObject command.. so Nearestobject [player,"ALL",player] would get anything close to the player, excluding the player itself.. I would also like to see some commands to create/get/change the properties of triggers and markers in scripts, and im hoping there will be a way to make actions global when activated, and being able to carry on defineable parameters with actions.

Share this post


Link to post
Share on other sites

i want call a drop particle with a name (ie: "dropone"), and then i can move the particle by setpos, setvelocituy ecc.

(sorry for bad english)

Share this post


Link to post
Share on other sites

i'm sure this has been asked for... but just making sure it wasn't over looked....

1. being able to pass arguments from action commands.... also what player/ai used the action command...

2. A command to determine which units are AI or not... might be a command already in the scripts that i have over looked...if so sorry sad_o.gif

Share this post


Link to post
Share on other sites

Yeah, or even say

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">this addaction ["Commit Suicide","player setdammage 1"]

OR have the stuff predefined like onmapsingleclick, like

<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">this addaction ["Request arty","[_actionholder,_actionuser,_action,"request"] exec "Artillery.sqs"]

that would be slick, so instead of a zillion scripts you would only have a few if you wanted to make something big.

Share this post


Link to post
Share on other sites

Well this is the best place that I can find for this request.... it kind of intails a needed function for islands.....

I've created object addons that would use an initialization script from the config file,

the only kicker is.... if an island maker uses these objects the scripts will not run when the island is used, instead a mission maker would have to come up with a way run this script....

Simple solution if you have a couple objects on the map, but what if it was a fence or plant object that is used hundreds of times through out the map... then its almost impossible to select all of the addons and run the script...

so I guess what I'm requesting is that anything that is used within an island, that has an initialized script configured ...please make it where it will run this script without the need of external scripts added to the mission biggrin_o.gif

even if anything give the option to the island maker to run the initialized scripts

thanks!

oh and umm...if anyone knows of a way to do this... please let me know ... i could be over looking something again crazy_o.gif

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  

×