Difference between revisions of "User:Asbrandt Resident"

From Second Life Wiki
Jump to navigation Jump to search
m
m (version/date updates)
 
(11 intermediate revisions by the same user not shown)
Line 14: Line 14:
* 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====
* Non-profit System with no operating costs, all items related to the System are entirely Free and Copy+Transfer. (The System will remain available if I leave SL.)
* Free and Lasting; Non-profit, No off-world Server and fully Copy+Transfer.
*: Funding for content (Sounds, Particle Effects, etc.) would be on a Donation basis.
* Location Owner Configurable CharacterTypes, flexible Powers system.
*:: Due to Copy+Transfer, Animations will not be part of the System. The Weapon API will include Trigger and State information, allowing them to play Animations.
* Weapon system that is Versatile, Cheat-proof, Fair and Free-use.
*: 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 an in-world prim Region Server for Configuration storage. (The System will remain functional if I leave SL.)
*: Due to the volatility and Memory limitations of SL Scripts, there is no Stats Tracking; Experience/Levels, Kill/Death counts, etc.
* Configurable Character Types with Stats and Powers, allowing for a variety of Types with their own abilities, advantages and disadvantages.
* Weapon system designed 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====
====Release====
* Current Version: Beta 0.7.6; updated 10.Apr.2012
* Current Version: Beta 0.8.2; updated 14.May.2014
* Free on the [https://marketplace.secondlife.com/p/A-Nexus-Combat-System/3625334 SL Marketplace]
====Outstanding Issues====
====Outstanding Issues====
* In the current Beta version, the Character Type Config Generator utility is incomplete.
* Due to the purely in-world design, some aspects require more effort, by both Location Owners and Players, than other similar Systems.
====Design Feedback====
====Design Feedback====
* Suggestions for new Power casting Modes or Types. If you need the current list, IM me in-world.
* Suggestions for new Power casting Modes or Types?
* Should World Owners have direct access to the Comms Protocol for Attacks/Powers etc, such as being able to set their HMAC key?
====Relevant JIRAs====
* [https://jira.secondlife.com/browse/SVC-1632 New Feature: llDefinedSay]
: Current API includes Position/Range for AoE to account for movement between events, this would remove the need for such.
====* Comm Protocol Info *====
====* Comm Protocol Info *====
# [ User Input Channel ] : 9
# [ User Input Channel ] : 9
Line 42: Line 37:
#: ''Payload;'' = Single-Pipe ("|") delimited.
#: ''Payload;'' = Single-Pipe ("|") delimited.
# [ Semi-Private Protocol ] : Internal System stacking detection.
# [ Semi-Private Protocol ] : Internal System stacking detection.
#: ''Channel;'' Detect API = -1192000002
#: ''Channel;'' Detect API = -1192000010
#: ''Method;'' = llRegionSayTo()
#: ''Method;'' = llRegionSayTo()
#: ''Header;'' = "A00"
#: ''Header;'' = "A00"
#: ''Payload;'' = Single-Pipe ("|") delimited.
#: ''Payload;'' = Single-Pipe ("|") delimited.
# [ Private Protocol ] : Region Server API input/output. HMAC-Signed Data.
# [ Private Protocol ] : Region Server API input/output. Signed Data.
#: ''Channel;'' Loadup API = -1192000003
#: ''Channel;'' Loadup API = -1192000011
#: ''Method;'' Ping = llRegionSay()
#: ''Method;'' Ping = llRegionSay()
#: ''Method;'' Comms = llRegionSayTo()
#: ''Method;'' Comms = llRegionSayTo()
#: ''Header;'' = "A00"
#: ''Header;'' = "A00"
#: ''Payload;'' = Single-Pipe ("|") delimited.
#: ''Payload;'' = Single-Pipe ("|") delimited.
# [ Private Protocol ] : System API input/output. HMAC-Signed Data.
# [ Private Protocol ] : System API input/output. Signed Data.
#: ''Channel;'' System API = -1192000004
#: ''Channel;'' System API = -1192000012
#: ''Method;'' Targeted = llRegionSayTo()
#: ''Method;'' Targeted = llRegionSayTo()
#: ''Method;'' Area = llSay()
#: ''Method;'' Area = llSay()
Line 63: Line 58:
====Design Basis====
====Design Basis====
* Two sets of Scripts (One for Melee, one for Range) that can be used for SLRPG Weapons.
* 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.
* Scripts designed for a few of the popular Combat Systems (that do not require proprietary Scripts) that may be compatible with other similar Systems.
*: Plugin API leaves the door open for Creators of systems that require proprietary Scripts to make their own Plugins, if they so choose.
* Plugin API allows for some new (non-Combat System) features to be added, possibly created by third parties, without needing to edit the Core Scripts.
*: New Combat System support would require modifying it into (or from) an existing MainHand Script.
====Melee Weapon Scriptset====
====Melee Weapon Scriptset====
=====Release=====
=====Release=====
* Current Version: 2.4.7; Updated 16.Apr.2012
* Current Version: 2.5.4; Updated 20.Nov.2013
* Free on the [https://marketplace.secondlife.com/p/A-Melee-Weapon-Scriptset/3417254 SL Marketplace] or just IM me in-world.
* Free on the [https://marketplace.secondlife.com/p/A-Melee-Weapon-Scriptset/3417254 SL Marketplace]
=====Outstanding Issues=====
=====Outstanding Issues=====
* No coordination between multiple MainHand weapons.
* No coordination between multiple MainHand weapons.

Latest revision as of 06:30, 14 May 2014

About

AKA: Faust Vollmar

An LSL Scripter with a particular interest in SLRPG frameworks and Weaponry.

View my JIRA Reports
Twitter

Projects

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 A00
  • 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

  • Free and Lasting; Non-profit, No off-world Server and fully Copy+Transfer.
  • Location Owner Configurable CharacterTypes, flexible Powers system.
  • Weapon system that is Versatile, Cheat-proof, Fair and Free-use.

Release

  • Current Version: Beta 0.8.2; updated 14.May.2014
  • Free on the SL Marketplace

Outstanding Issues

  • Due to the purely in-world design, some aspects require more effort, by both Location Owners and Players, than other similar Systems.

Design Feedback

  • Suggestions for new Power casting Modes or Types?

Relevant JIRAs

Current API includes Position/Range for AoE to account for movement between events, this would remove the need for such.

* Comm Protocol Info *

  1. [ User Input Channel ] : 9
  2. [ Internal Channel Range ] : -1192,000,xxx
  3. [ Public Protocol ] : Weapon API and Status HUD input/output. Usage will be documented.
    Channel; Weapon API = -1192000000
    Channel; Status HUD = -1192000001
    Method; = llRegionSayTo()
    Header; = "A00"
    Payload; = Single-Pipe ("|") delimited.
  4. [ Semi-Private Protocol ] : Internal System stacking detection.
    Channel; Detect API = -1192000010
    Method; = llRegionSayTo()
    Header; = "A00"
    Payload; = Single-Pipe ("|") delimited.
  5. [ Private Protocol ] : Region Server API input/output. Signed Data.
    Channel; Loadup API = -1192000011
    Method; Ping = llRegionSay()
    Method; Comms = llRegionSayTo()
    Header; = "A00"
    Payload; = Single-Pipe ("|") delimited.
  6. [ Private Protocol ] : System API input/output. Signed Data.
    Channel; System API = -1192000012
    Method; Targeted = llRegionSayTo()
    Method; Area = llSay()
    Header; = "A00"
    Payload; = Double-Pipe ("||") delimited, with Single-Pipe ("|") delimited sub-sets.

[ OpenSource Weapons Systems ]

  • ProjectID A01
  • 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.
  • Scripts designed for a few of the popular Combat Systems (that do not require proprietary Scripts) that may be compatible with other similar Systems.
  • Plugin API allows for some new (non-Combat System) features to be added, possibly created by third parties, without needing to edit the Core Scripts.
    New Combat System support would require modifying it into (or from) an existing MainHand Script.

Melee Weapon Scriptset

Release
  • Current Version: 2.5.4; Updated 20.Nov.2013
  • Free on the SL Marketplace
Outstanding Issues
  • No coordination between multiple MainHand weapons.
    Lesser issue for Melee, but needs to be resolved for the Range version.
  • 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 ] : -1192,001,xxx
  4. [ Public Protocol ] : Protocol not likely to be used, however messages are documented in the Project's packages.
    Channel; = -1192001000
    Method; = llRegionSayTo()
    Header; = "A01"
    Payload; = Single-Pipe ("|") delimited.