This package is now out of date and will not be updated again. The good news, however, is that it is slowly being replaced by its sub-components being released seperately
Look at the
SPON Core release to see a list of components that have been re-released so far. Please feel free to IM me if you wish to discuss those sub-components that only exist in SPON Scripts, but sub-components that have been re-released should be discussed in their respective threads.
-------------------------------------------------------------------
This is the first open release of my general scripts pack (SPON Scripts) and, in fact, my first ArmA release!
Some of the features are certainly variations on existing scripts, but I'm sure that overall it contains a large number of innovations that I hope the community might find useful! The scripts have been tested for a while already within the RGG squad, but I felt it was worthwhile showing it outside that limited group now, especially because if I don't release it some time, I'll never release it
Still, it is very, very early BETA, so probably not a good idea to use it on your critical projects just yet, but the included demo mission is fine for a look-see...
Thanks in advance for suggestions (especially configuation options you'd find useful) and bug-finding! If anyone likes the pack and would like to help me out with some decent icons, than that would be appreciated even more!
Current release:
SPON Scripts demo v0.0.21 (2007-08-24)
Features for players- Friend recognition:
- Anyone playing the game properly will have friend & foe tags off since they are very gamey, however, there needs to be some way to recognise your comrades!
- Dummy action on people you know to tell you their name.
- See members of your group as "Fred Bloggs".
- See members of your side, outside your group, as "Fred Bloggs (WEST 1-1-C)".
- See drivers as "Driver: XXX" or "Pilot: XXX" when looking at a vehicle.
- For MP only (Pointless in SP, but team-switch breaks it badly anyway).
- Respawn management based on a
player's side:
- Individual's numbers of respawns before final death (unlimited or 0..N respawns). "Final death" starts kegetys spectator script.
- Respawn delay (while waiting to respawn, you just see a black screen. This needs replacing with something prettier ;P).
- Which sides are visible when spectating (well, just hooking this info up with the spectator script that does the work).
- Graveyard location (The graveyard is a contrivance since using spectator script means you can still see "dead" players lishould be able to remove this eventually).
- Conversations with AI:
- "Talk" action on specific AI (or inanimate objects if you prefer).
- AI says something then you have 1-5 options of replies. Click on a reply or press the number (1-5) to select it.
- Conversations are constructed from a tree (Array of arrays).
- Can run code based on how the tree is traversed.
- NPCs automatically record if they have ever spoken to you before.
- Does everything a conversation does in an RPG like NWN, except no multi-npc conversations, images or keeping a log of the conversation as it goes along. Some or all of these features may be implemented later.
- Money and commerce:
- Player cash and bank balance are recorded and displayed in a dummy action.
- Banking:
- Can transfer money into and out of the universal bank at banker.
- This is currently achieved using actions, but I will soon be making a dialog window for this.
-
Shopping:
- Can buy specific weapons, magazines and one-use items (explosives, grenades, etc) or vehicles at specific shops.
- Can sell any weapons and one-use items at any shop. Magazines can't be sold because you can't query how many rounds are left.
- Information display for last item selected to buy/sell.
- Accurately tracks what you are carrying and so does not allow you to buy anything you can't carry.
- Rear-view "mirrors":
- Pressing and holding shift-[turn left] or shift-[turn right] will change to looking through the leftlior right-hand mirror.
- Limitation: View is not mirror reversed ;( Just pretend you are sticking your head out the window if this worries you.
- Ignores other keypresses (like steering and acceleration) while looking. Not sure if there is a way to allow you to drive while using an alternate camera.
- Implemented in HMMWV only. The positions are fiddly to set up, so I'll wait until I'm sure I want to do it this way before doing the rest.
- Replaced the "I" scoreboard with an
information overlay:
- Order of battle, showing all groups and chain of command.
- List of soldiers in your group, indicating kit, vehicle and crew position using icons.
- List of soldiers in your vehicle, indicating kit and crew position using icons.
- Map that you can actually
draw all over:
- Opened and closed via '['. Probably need a better key choice later.
- Drawings are automatically shared by SIDE in MP.
- Can draw in 6 line colours.
- Weapons alterations:
- VBIEDs (car-bombs):
- Everyone has a "Place VBIED" action if they have satchel charges.
- Need a satchel charge and to be next to an unoccupied vehicle to place a VBIED.
- Can then detonate all placed VBIEDs with another action, which is available if you are inside or outside a vehicle.
- Blank rounds (West only):
- Suppressed rounds fired from non-suppressed M9/M4/M16/M249 have no effect.
- Self-arming UGL:
- Red flare fired from M203 (or other UGL) acts like a self-arming HE round.
- It will not detonate unless it has about 25m of uninterrupted flight before it impacts.
- Disposable M136: M136 is discarded after it is fired. A seperate launcher and round is still required to use it, but the launcher is effectively one-use.
-
Rangefinder added to SOFLAM (a.k.a. Laser marker).
- Shows range and, optionally, azimuth and elevation.
- Best viewed using the
NWD optics addon. I used this addon's SOFLAM optics to layout the information on my overlay, but even without this addon, the script still works fine. NOTE: NWD has his own
rangefinder script available, but it requires an addon.
- UGL smoke: White and green UGL flares act like the appropriately coloured smoke grenades.
Features for mission-developers:- Debug log:
- Makes a permanent record of all debug messages, viewable in a window, thus not cluttering up the screen with debug messages.
- Using SPON_TRACE macros, the debug commands are only executed in debug mode (so don't slow the server down lisaves you commenting them
all out for release versions).
- Allows the client to view all debug messages that have been generated on the client
or the server at any time!
- User event handling:
- Any player or server can broadcast local or global events. Those that have previously registered for the event will have their code run (Used very similarly to standard ArmA events).
- SPON_addEventHandler to register a handler for an event.
- SPON_removeEventHandler to remove handler for an event.
- SPON_publishEvent to initiate a local or global event which will be sent to every handler registered for that event.
- Some events are already raised by the framework:
- "SPON_playerConnected" => [_name, _id] (global)
- "SPON_playerDisconnected" => [_name, _id] (global)
- Key event handling:
- Allows de-coupled key event handlers to be set up (normally a new key event handler deletes any existing handler).
- SPON_addKeyEventHandler, SPON_removeKeyEventHandler
- Standardised equipment kits:
- Each kit has an icon that will be shown on the new scoreboard. Kits can share a kit icon if they have similar roles.
- Since kit details are held in a seperate script, not in the mission.sqm, changing the equipment for
all 20 riflemen in your mission would be a doddle (no need to use the editor to change each soldier individually).
- Kits are re-equipped after respawning (assuming the SPON respawn-management option is being used).
Known Bugs- Recognition: Changing position from driver will keep same vehicle recognition name. Changing position to driver does not set the vehicle recognition name.
- Rangefinder: There can only be a single rangefinder (SOFLAM) per SIDE in the mission. Not sure this can be overcome satisfactorily.
- Scoreboard and rear-view mirrors: The keys used to operate these functions are read from what the player has configured at the START of the mission. This means that if keys are changed during the mission, these functions won't change.
- Couple of seconds of freeze when first spawning as a soldier. I'm sure this can be fixed if I just think about it for a while.
- Icons are pretty much all place-holders, either to be redrawn by me, or someone who can draw, ASAP ;P
- Map drawing: If a very long line is drawn, then fails to send it in MP (raising an error for all players). Not hard to fix; I just haven't got around to it.
- Map drawing: If you JIP after a line has been drawn, then you never see it.
- Logging: The server log is broken currently, but it was working before now. Honest ;P
- Respawning: You can still use your character while waiting to respawn in the dark (since I'm mostly handling respawn, not the game). This won't be a problem once I make the respawn window.
Third-party work included:- Some icons drawn by Law [RGG] specifically for SPON.
- Kegetys Spectator script used (actual version included in the demo taken from BAS f pack), at least until I can replace it with something that suits my purposes better.
- Not "included" as such, but significant testing and feedback by members of
RGG squad. Thanks fellas!
- Not "included" either, but thanks to those on BI/OFPEC forums that have helped me out.
Design aims:- Promote teamwork and improve general gameplay.
- Increase realism.
- Improve and streamline UI.
- Configurability and inter-operability.
- Avoid addons, in favour of scripting, as far as possible.
Coming soon (ish):- Map:
- Able to place markers on it, just like the regular map. The dialog to choose them will make this a
lot easier, especially when you have a large number of icons installed ;P
- Allow drawing/markers to be seen by group/side/global.
- Set line thickness (Probably just thin and thick options).
- Automatic kick/ban for people who use the interface to draw rude things ;P
- Molotov Cocktail: You know what this is (alters behaviour of red smoke grenade)! It sets people and vehicles on fire too (This is partially implemented already, but is totally broken in MP ;P).
- Respawn management: Respawn chosen from a map when you die. Respawn points can be added, removed, enabled or disabled during play.
- Banking: Currently uses actions, but this will be replaced with a proper dialog window.
- Demo: Hints when you log in to explain what specific thing the soldier you are playing as is testing.
- Documentation: How to install and configure the scripts. I was lazy...