User:Faust Vollmar
Revision as of 22:02, 5 September 2011 by Faust Vollmar (talk | contribs) (MWS Version update, other minor change.)
About
An LSL [and a minor bit of PHP] scripter with a particular interest in SLRPG frameworks and weaponry.
Not a whole lot else to add really, no history nor achievements to speak of.
Projects
I should probably create sub-pages for my projects with a bit more comprehensive information and less rambling, but that can come later.
- Should I post Source code for the OpenSource projects? I'm not sure of complications the Contribution Agreement could have on managing them.
The project sections sound like advertising; I didn't mean it that way but that's kinda how my attempts to jot down what I do turned out.
[ Nexus CS ]
- This is my pet project, an SLRPG framework, it taught me LSL as I've gone along since '08,
and will teach me C# when we can use it in SL. - Intended to be a non-profit system that only collects funds to pay its operating costs. (Such as splitting web-server costs between World Owners.)
- Other Funding (for content such Animations, Sounds, Particle Effects, etc.) would likely be on a Donation basis.
Design Basis
- A configurable Race/Class/Powers-based system in the vein of DCS2 and Osiris.
- Worlds are independent from one another. Any number of Sims can be a part of the same World.
- An Avatar can have up to 12 separate Characters per World, instead of only one.
- Attempt to mitigate the gap between New and Old players that sometimes causes OOC drama in Level and/or Powers based systems.
- No Experience Levels, Character Stats are static, changed only temporarily by Buff Powers.
- Experience Points are only used for gaining new Powers, if they are enabled. The World Owner decides how strong Powers progression is.
- Attempt to design Weaponry to meet the needs of Free Use, Cheat Proofing, Versatility and Fairness.
- An open Weapons API for weapons to register their statistics with the CS Unit, which controls attacks internally. [Free Use, Cheat Proofing]
- Some statistics are weapon-defined (within reasonable values), the CS Unit calculates others to create a balanced result. [Versatility, Fairness]
- All weapons by all creators are equal. There will not be an 'enhancement' model. [Commercial Fairness]
- An open Weapons API for weapons to register their statistics with the CS Unit, which controls attacks internally. [Free Use, Cheat Proofing]
Current Status
- Currently not available to the public, attributing to the Outstanding Issues below.
- I sometimes make exceptions to this. Case-by-case thing. Contact me if interested.
Outstanding Issues
- The Web Control Panel is currently incomplete. Not enough time to learn enough PHP (or other language) for it.
- I have learned enough PHP to set up a basic Inworld-to-Database layer, but that's all.
- Raycasting is not yet fully enabled on the Main Grid.
- Raycasting currently would not allow for AoE Weapons, due to lack of a function for non-0 "Say" at arbitrary locations.
- (Could not find an existing JIRA for a llSayAt or similar function request.)
Design Feedback
- Suggestions for new Power casting Modes or Types. If you need the current list, IM me in-world.
- So far only the Weapons API is complete. Specifications for other equipment such as Armor (if it should be used at all) have not been defined.
- Should World Owners have direct access to the Comms Protocol for Attacks/Powers etc, such as being able to set their HMAC key?
- Or should the system stay with the tried-and-true method of closed-source scripts that check if their user/owner is a GM/Owner in the World?
- (Big Design Question) Should the system remain purely for managing Combat, or branch out into other aspects of RP such as Capture or Non-Combat Skills?
** Comm Protocol Info
- [ User Input Channel ] : 9
- [ Dialog Menu Channel ] : 99 (Positive to allow /99Menu to retrieve the Menu.)
- [ Public Protocol ] : x,000,000 to x,004,999 - Usage will be documented if/when it becomes necessary.
- Channel; Weapon OpenAPI = -1409000000
- Channel; Status Display HUD = -1409000001 - (llAbs((integer)("0x"+llGetSubString((string)OwnerKey, 0, 7))) % 4998)
- Header; = "NCS"
- Payload; = Double-Pipe ("||") delimited, with Single-Pipe ("|") delimited sub-sets.
- [ Private Protocol ] : x,005,000 to x,009,999 - Not for Public Use; HMAC-Signed Data for Attacks or other System Comms.
- Channel; Area Effects = -1409005000
- Channel; Target Effects = -1409005001 - (llAbs((integer)("0x"+llGetSubString((string)TargetKey, 0, 7))) % 4998)
- Header; = "NCS"
- Payload; = Double-Pipe ("||") delimited, with Single-Pipe ("|") delimited sub-sets.
[ OpenSource Weapons Systems ]
- This was a project born of wanting my own take on the well-known LCK weapon scripts, but has since evolved over time into it's current state.
- Basically boils down to a project to make two base sets (One for Melee, one for Range) that can be used for SLRPG weapons.
- Intended for broad compatibility with any CombatSystems that do not require proprietary weapon scripts.
- Plugin API leaves the door open for owners of systems that use proprietary weapon scripts to make plugins, if they so choose.
- There's really not much to say here. It does what it's meant to do and sometimes I add/fix something.
Melee Weapon Scriptset
Release
- Current Version: 2.4.4; updated 29.Aug.2011
- Free on the SL Marketplace or just IM me in-world.
Outstanding Issues
- No coordination between multiple MainHand weapons.
- Lesser issue for Melee, but needs to be resolved for the Range version.
- HUD will issue commands to all worn MWS weapons at once, not always desirable behavior.
- Not hard to fix script-wise, but I lack icon art for differentiating which button is which.
- Menu System complicated to setup. Not useful for the Color plugin at all.
Range Weapon Scriptset
- No Release: Working out issues with the Melee version, not well-versed in bullet rezzer design.
** Comm Protocol Info
- [ User Input Channel ] : 4 (Default, configurable to use any Channel > 0)
- [ Dialog Menu Channel ] : -99 (Default, configurable to use any Channel)
- [ Public Protocol ] : x,010,000 to x,010,999 - Protocol not likely to be used, however messages are documented in the Project's packages.
- Channel; = -1409010000 - (llAbs((integer)("0x"+llGetSubString((string)OwnerKey, 0, 7))) % 999)
- Header; = "OWS"
- Payload; = Single-Pipe ("|") delimited.
- NOTE: Versions 2.3.5 and prior, MWS sub-project comms did not have a Header and used channels -851000000 to -851999999.