Difference between revisions of "User:Faust Vollmar"

From Second Life Wiki
Jump to navigation Jump to search
m (More little updates... I don't do a good job of keeping this updated.)
m
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
==About==
AKA: [[User:Asbrandt_Resident|Asbrandt]]<br />
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.
<br />
 
[https://jira.secondlife.com/secure/IssueNavigator.jspa?reset=true&reporterSelect=specificuser&reporter=Asbrandt View my JIRA Reports]<br />
[https://jira.secondlife.com/secure/IssueNavigator.jspa?reset=true&reporterSelect=specificuser&reporter=Faust+Vollmar View my JIRA Reports]
[https://twitter.com/#!/Asbrandt 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.
: 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, <strike>and will teach me C# when we can use it in SL.</strike>
* 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]
====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.
* Internal Bullets have no effective validation mechanism, only 21 bits of an integer is available for that use.
*: Current LSL scripting lacks the functions I'd like to have to secure the Bullets;
*:# Validate an object without requiring full perms. [http://jira.secondlife.com/browse/SVC-5345 llGetInventoryHash]
*:# Directly pass a string across Rez. [http://jira.secondlife.com/browse/SVC-5716 llGetDataParameter + Others]
*: Alternatively, Raycasting and the ability to cast a llSay to arbitrary locations (in reasonable distance) would also work.
*:* Since there is a beta test of Raycasting in-progress (as of 04 Sept 2010), this is the more likely result.
*:* (Could not find an existing JIRA for a llSayAt-type function request.)
* Intended design of allowing two weapons wielded at once would require an unintuitive control scheme.
*: Scripted access to CONTROL_ML_RBUTTON is the ideal solution I keep hoping for. [http://jira.secondlife.com/browse/SVC-2566 Add CONTROL_ML_RBUTTON to llTakeControls]
* HMAC function is only loosely similar to the true function, due to UTF-8 truncation in llSHA1String. (Database Server has a PHP function to match.)
*: I don't know how to concatenate Base64, and if I did I would have to do serious speed testing on Strife's Base64_SHA1 compared to the current method.
*: (Could not find an existing JIRA for a native HMAC 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.3.9; updated 02.Nov.2010
*: 2.4.0 is in progress:
*:: Adds a Notecard-based Animation config loader that separates memory load of Animation sets from one another.
* Free on the [https://marketplace.secondlife.com/p/NI-Melee-Weapon-Scriptset/1427318 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.
====** 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.

Latest revision as of 10:53, 28 April 2012

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

View my JIRA Reports
Twitter