Dynaverse.net
Taldrenites => Starfleet Command Mission Scripting => Topic started by: David Ferrell on January 29, 2003, 04:00:55 pm
-
http://208.57.228.4/Scripts_Source/SFC3_Scripting_API.zip
Check the readme for the important changes from SFC2/OP. The major difference is in that the script
interface need not be built. Simply build the script you are working on by itself.
The API is for use with the 1.01 patch for SFC3 (not yet available).
Thanks,
Dave
-
Good good news! Thanks Dave!
OK, the good news and bad news folks 
The good news is that API is VERY similar to OP's, so if you've done any scripting on EAW or OP you'll have no problems adjusting to SFC3.
Of course, the bad news is that the API is VERY similar to OP's, so if you don't have some C++ background it can be pretty tough sledding. The guide I put together for SFC2 mission scripting should still be helpful, but the setup steps have changed and more methods have been added, and there's some changes in the ship creation methods, so I'm afraid it's just going to be winging it for awhile. I'll try to put together an SFC3 version of the mission scripting guide, but I won't be able to go near that until at least the end of February.
A couple of features and notes that might be of interest,
- the mGetHexType method works, at least for identifying the hex owner (I'm having some problems getting it to identify the terrain features correctly, but that may be a glitch of mine)
- you'll need to install the DirectX SDK if you haven't already (the 8.whatever version is ok)
- there's an mChangeShipProperties method floating around that allows you to set visible/indestructable/collide options, could be fun to play with
I'm sure there's lots and lots more, but that's what I've seen from the first pass 
dave
-
hopefully this will be the start of some wonderful mission scripts.
BTW. the file is mirrored at SFU/fileplanet:
http://www.strategyplanet.com/sfc/missionapi.shtml#sfc3
-
Excellant... great news. I know a lot of people have been waiting for this one!
-
Yippee !
-
Some interesting functions:
mSetShipImmediateSpeed
mSetWarpSpeed
mChangeAppearance
mChangeShipsProperties
mSetHullStrengthFromOriginal
mSetShipLoadout
mSetShuttles
mSetFighters
mRegisterCommOption
mSetTeamCarryingStarbaseSeed
mIsTeamCarryingStarbaseSeed
mEnableSpectate
mGetMaxClassType
mAllInPosition
mHeartbeat
And events:
mOnCloakStatusChange
mOnShuttleLaunchLandEvent
mOnShieldStatusChange
mOnNewTeam
-
Also of interest is that the VC++.NET 2002 IDE is getting cranky with the scripts.
Not sure what it is yet that is the problem. 
Best,
Jerry
-
Glad to see this! I am not the programmer type, but I know some of the folks posting here are. This will do much to keep the D3 alive.
-
Yes the work these guys have done in the past is amazing, if anything can cure the ills of this game it will likely start here.
Keep at it guys!!.....
-
This is great news, thanks!
-
Cry havoc and let loose the programmer wolves/frogs of war, hehe.
-
Whoohooo!!! Its about time..Thanks Dave
-
CENTAURI VAUGHN old pal... I knew you'd chime in here!
Thanks, Dave
-
This is great news! Thanks!
-
Anyone used this API with the DX9 SDK?
Best,
Jerry
-
Never mind. I just tried to compile one of the included scripts and it whined about the D3DX8Math.h .
I guess it is safe to assume it is certainly not looking for any DX9 headers or includes. *sigh*
EDIT:Oh lord, save me from myself. I found the proper files and installed them in the proper lib or include folder. The scripts/api does work with DX9.0a using the VS6.0sp5 IDE. Gonna check whether or not doing the newer DX9.0s SDK with VS.Net2003 will solve the interlockexchange compile error.
Best,
Jerry
-
I have the DXSDK 9.0b installed with MS Visual Studio 6.0 and do not have any compiler errors. Just thought I'd mention it.
-
The new API for build 531 and later is available
here:
http://www.daywebhosting.com/SFC3_Scripting_API.zip
and here:
http://64.22.246.5/GermanScripts/SFC3_Scripting_API.zip
Thanks,
Dave
-
I have two questions about the new Api:
Where can I get the files for the misiion "Meta_Casino"?
Which is the correct folder for "kli_friendorfoe", because there is a folder "kli_friendorfoe" and a folder "kli_fiendorfoe"?