Difference between revisions of "User:Faust Vollmar"

From Second Life Wiki
Jump to navigation Jump to search
(NexusCS and OWS Protocol Update. llRegionSayTo does the Key targeting first, so using a spread of channels to reduce processing is no longer necessary.)
(Additional Protocol and Misc. Info Update)
Line 1: Line 1:
==About==
==About==
An LSL [and a minor bit of PHP] scripter with a particular interest in SLRPG frameworks and weaponry.<br />
An LSL Scripter with a particular interest in SLRPG frameworks and Weaponry.<br />
Not a whole lot else to add really, no history nor achievements to speak of.
Not a whole lot else to add really, no history nor achievements to speak of.


Line 6: Line 6:


==Projects==
==Projects==
I should probably create sub-pages for my projects with a bit more comprehensive information and less rambling, but that can come later.
My Projects that become Public are presented under the name Nexus Industries, originally a fictional Weapons RDM company for an RP world that was never used.<br />
: Should I post Source code for the OpenSource projects? I'm not sure of complications the Contribution Agreement could have on managing them.
I should probably create sub-pages for my projects with a bit more comprehensive information and less rambling, but that can come later.<br />
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.
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.
 
===[ NexusCS ]===
===[ Nexus CS ]===
* '''ProjectID NI00'''
* This is my pet project, an SLRPG framework, it taught me LSL as I've gone along since '08, <strike>and will teach me C# when we can use it in SL.</strike>
* This is my pet project, an SLRPG framework, it taught me LSL as I've gone along since '08, <strike>and will teach me C# when we can use it in SL.</strike>
====Design Basis====
====Design Basis====
Line 24: Line 24:
*: Some statistics are weapon-defined (within reasonable values), the CS Unit calculates others to create a balanced result. [Versatility, Fairness]
*: 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 any form of 'enhancement' model. [Commercial Fairness]
*: All weapons by all creators are equal. There will not be any form of 'enhancement' model. [Commercial Fairness]
====Current Status====
====Release====
* Currently not available to the public, due to redevelopment to switch to the Prim Server design.
* Currently not available to the public, due to redevelopment to switch to the Prim Server design.
*: I sometimes make exceptions to this. Case-by-case thing. Contact me if interested.
====Outstanding Issues====
====Outstanding Issues====
* Raycasting currently does not allow for AoE Weapons, due to lack of a function for non-0 "Say" at arbitrary locations.
* Raycasting currently does not allow for AoE Weapons, due to lack of a function for non-0 "Say" at arbitrary locations.
Line 34: Line 33:
* So far only the Weapon API is complete. Specifications for other equipment such as Armor (if it should be used at all) have not been defined.
* So far only the Weapon 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?
* Should World Owners have direct access to the Comms Protocol for Attacks/Powers etc, such as being able to set their HMAC key?
====** Comm Protocol Info====
====* Comm Protocol Info *====
# [ User Input Channel ] : 9
# [ User Input Channel ] : 9
# [ Dialog Menu Channel ] : 99 (Positive to allow /99Menu to retrieve the Menu.)
# [ Dialog Menu Channel ] : 99 (Positive to allow /99Menu to retrieve the Menu.)
Line 42: Line 41:
#: ''Channel;'' Status HUD = -1409000001
#: ''Channel;'' Status HUD = -1409000001
#: ''Method;'' = llRegionSayTo()
#: ''Method;'' = llRegionSayTo()
#: ''Header;'' = "NCS"
#: ''Header;'' = "NI00"
#: ''Payload;'' = Double-Pipe ("||") delimited, with Single-Pipe ("|") delimited sub-sets.
#: ''Payload;'' = Single-Pipe ("|") delimited.
# [ Private Protocol ] : HMAC-Signed Data for System API input/output.
# [ Private Protocol ] : HMAC-Signed Data for System API input/output.
#: ''Channel;'' System API = -1409000002
#: ''Channel;'' System API = -1409000002
#: ''Method;'' Targeted = llRegionSayTo()
#: ''Method;'' Targeted = llRegionSayTo()
#: ''Method;'' Area = llSay()
#: ''Method;'' Area = llSay()
#: ''Header;'' = "NCS"
#: ''Header;'' = "NI00"
#: ''Payload;'' = Double-Pipe ("||") delimited, with Single-Pipe ("|") delimited sub-sets.
#: ''Payload;'' = Double-Pipe ("||") delimited, with Single-Pipe ("|") delimited sub-sets.
===[ OpenSource Weapons Systems ]===
===[ 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.
* '''ProjectID NI01'''
* Basically boils down to a project to make two base sets (One for Melee, one for Range) that can be used for SLRPG weapons.
* This project was originally born of wanting my own take on the well-known LCK Weapon Scripts, but has since evolved over time into it's current state.
* Intended for broad compatibility with any CombatSystems that do not require proprietary weapon scripts.
====Design Basis====
*: Plugin API leaves the door open for owners of systems that use proprietary weapon scripts to make plugins, if they so choose.
* Two sets of Scripts (One for Melee, one for Range) that can be used for SLRPG Weapons.
* There's really not much to say here. It does what it's meant to do and sometimes I add/fix something.
* Intended for broad compatibility with many CombatSystems (that do not require proprietary Scripts) within a single Weapon Attachment.
*: Plugin API leaves the door open for Creators of systems that require proprietary Scripts to make their own Plugins, if they so choose.
====Melee Weapon Scriptset====
====Melee Weapon Scriptset====
=====Release=====
=====Release=====
Line 64: Line 63:
* No coordination between multiple MainHand weapons.
* No coordination between multiple MainHand weapons.
*: Lesser issue for Melee, but needs to be resolved for the Range version.
*: 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.
* HUD will issue commands to all worn Weapons at once, not a desirable behavior.
*: Not hard to fix script-wise, but I lack icon art for differentiating which button is which.
*: 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.
* Menu System complicated to setup. Not useful for the Color plugin at all.
====Range Weapon Scriptset====
====Range Weapon Scriptset====
=====Release=====
* No Release: Working out issues with the Melee version, not well-versed in bullet rezzer design.
* No Release: Working out issues with the Melee version, not well-versed in bullet rezzer design.
====** Comm Protocol Info====
====* Comm Protocol Info *====
# [ User Input Channel ] : 4 (Default, configurable to use any Channel > 0)
# [ User Input Channel ] : 4 (Default, configurable to use any Channel > 0)
# [ Dialog Menu Channel ] : -99 (Default, configurable to use any Channel)
# [ Dialog Menu Channel ] : -99 (Default, configurable to use any Channel)
Line 76: Line 76:
#: ''Channel;'' = -1409001000
#: ''Channel;'' = -1409001000
#: ''Method;'' = llRegionSayTo()
#: ''Method;'' = llRegionSayTo()
#: ''Header;'' = "OWS"
#: ''Header;'' = "NI01"
#: ''Payload;'' = Single-Pipe ("|") delimited.
#: ''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.
# [ Notes ]
#: NOTE: Versions 2.3.6 to 2.4.4, MWS sub-project comms used channels -1409010000 to -1409010999.
#: Versions 2.3.5 and prior, MWS sub-project comms did not have a Header and used channels -851000000 to -851999999.
#: Versions 2.3.6 to 2.4.4, MWS sub-project comms used Header "OWS" and channels -1409010000 to -1409010999.

Revision as of 13:30, 7 January 2012

About

An LSL 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.

View my JIRA Reports

Projects

My Projects that become Public are presented under the name Nexus Industries, originally a fictional Weapons RDM company for an RP world that was never used.
I should probably create sub-pages for my projects with a bit more comprehensive information and less rambling, but that can come later.
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.

[ NexusCS ]

  • ProjectID NI00
  • 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.

Design Basis

  • A configurable Race/Class/Powers-based system in the vein of DCS2 and others like it, with some deviations from the standard model for such Systems.
  • Non-profit System, all items related to the System are entirely Free and Copy+Transfer. (The System will remain available if I leave SL.)
    Funding for content (Sounds, Particle Effects, etc.) would be on a Donation basis.
    Due to Copy+Transfer, Animations will not be part of the System. The Weapon API will inform weapons of casting, allowing them to play Animations.
    Dealing with people -selling- the System will be a community effort. (The items are No Modify, making it difficult to disguise as something else.)
  • No off-world Server. Sims use a Prim Server for Configuration storage. (The System will remain functional if I leave SL.)
    No Stats Tracking; Experience Points/Levels, Kill/Death counts, etc. (This is a result, either positive or negative, of the Prim Server design.)
  • Attempt to design Weaponry to meet the needs of Free Use, Cheat Proofing, Versatility and Fairness.
    An open Weapon 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 any form of 'enhancement' model. [Commercial Fairness]

Release

  • Currently not available to the public, due to redevelopment to switch to the Prim Server design.

Outstanding Issues

  • Raycasting currently does 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 Weapon 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?

* Comm Protocol Info *

  1. [ User Input Channel ] : 9
  2. [ Dialog Menu Channel ] : 99 (Positive to allow /99Menu to retrieve the Menu.)
  3. [ Internal Channel Range ] : -1409,000,xxx
  4. [ Public Protocol ] : Weapon API and Status HUD input/output. Usage will be documented.
    Channel; Weapon API = -1409000000
    Channel; Status HUD = -1409000001
    Method; = llRegionSayTo()
    Header; = "NI00"
    Payload; = Single-Pipe ("|") delimited.
  5. [ Private Protocol ] : HMAC-Signed Data for System API input/output.
    Channel; System API = -1409000002
    Method; Targeted = llRegionSayTo()
    Method; Area = llSay()
    Header; = "NI00"
    Payload; = Double-Pipe ("||") delimited, with Single-Pipe ("|") delimited sub-sets.

[ OpenSource Weapons Systems ]

  • ProjectID NI01
  • This project was originally born of wanting my own take on the well-known LCK Weapon Scripts, but has since evolved over time into it's current state.

Design Basis

  • Two sets of Scripts (One for Melee, one for Range) that can be used for SLRPG Weapons.
  • Intended for broad compatibility with many CombatSystems (that do not require proprietary Scripts) within a single Weapon Attachment.
    Plugin API leaves the door open for Creators of systems that require proprietary Scripts to make their own Plugins, if they so choose.

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 Weapons at once, not a 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

Release
  • No Release: Working out issues with the Melee version, not well-versed in bullet rezzer design.

* Comm Protocol Info *

  1. [ User Input Channel ] : 4 (Default, configurable to use any Channel > 0)
  2. [ Dialog Menu Channel ] : -99 (Default, configurable to use any Channel)
  3. [ Internal Channel Range ] : -1409,001,xxx
  4. [ Public Protocol ] : Protocol not likely to be used, however messages are documented in the Project's packages.
    Channel; = -1409001000
    Method; = llRegionSayTo()
    Header; = "NI01"
    Payload; = Single-Pipe ("|") delimited.
  5. [ Notes ]
    Versions 2.3.5 and prior, MWS sub-project comms did not have a Header and used channels -851000000 to -851999999.
    Versions 2.3.6 to 2.4.4, MWS sub-project comms used Header "OWS" and channels -1409010000 to -1409010999.