User:Allen Kerensky/Myriad Lite Dev

From OpenSimulator

< User:Allen Kerensky(Difference between revisions)
Jump to: navigation, search
(MARKED AS HISTORY)
(added IRC notes)
 
(2 intermediate revisions by one user not shown)
Line 1: Line 1:
= Myriad Lite =
+
= Myriad Lite Development =
<pre style="color:red">
+
O U T D A T E D !
+
GO TO MAIN MYRIAD LITE PAGE INSTEAD!
+
KEPT HERE FOR HISTORICAL PURPOSES
+
</pre>
+
Go to Main page: [[User:Allen_Kerensky/Myriad_Lite]]
+
  
== HISTORICAL NOTES ==
+
== Preview 7 New Features ==
This space allows me to release at-whim snapshots of various parts of the Myriad Lite development as I go, for testing and feedback by live users.
+
* Region Setting server using PPMA
 +
# Implement new RENDEZVOUS2 dynamic region server channel
  
I will change this page as needed as I put various pieces together and all changes available here will roll up in the next Preview Release.
+
* Region Setting Editor
 +
# Statistics
 +
# Skills
 +
# Special Effect Abilities
 +
# Resiliences
 +
# Boons
 +
# Flaws
 +
# Campaigns
 +
# Species
 +
# Backgrounds
 +
# Careers
 +
# Items
  
This page will be wiped out and started fresh each preview release.
+
* Character Sheet improvements
 +
# TITLE - a rank, or professional/noble title
 +
# FACTION - a configurable faction
  
Scripts I post here generally compile and run on OpenSim and OSgrid, but may not have ever been ported to SecondLife.
+
* Much improved message output
 +
# Individual message icons for each module
 +
# Duplicate message suppression
 +
# Hypergrid name @hostname stripping
  
Scripts I post here generally are checked with lslint before posting, but might not always be.
+
* Unopposed Tests
 +
# Simple, insecure type 1 unpposed tests for roleplay color
 +
# Complex, more secure type 2 unopposed tests for tasks that have in-game consequences
  
== FIRST ==
+
* Vegaslon Plutonian (OSG) contributed a raycast modification for the Firearm code
BEFORE YOU CAN USE THE SCRIPTS AND ADD-ONS ON THIS DEV PAGE
+
  
YOU NEED TO DOWNLOAD AND ASSEMBLE
+
* The first implementation of the Social Combat with the Deception and Persuasion skills as well as Resolve resilience
  
> > > [[User:Allen_Kerensky/Myriad_Lite_Preview_5|Myriad Lite Preview 5]] < < <
+
* Conversion of all character data storage to persistent prim data storage (called PPMA) rather than inscript global lists
  
The dev scripts and notes below replace parts of Preview 5, but you need the rest of the system which is not fully linked below.
+
* Beginning infrastructure for storing user configuration items in the HUD PPMA
  
== Recent Updates ==
+
* Requirements checking for needed character data otherwise disable module
=== Region CSV Server ===
+
The CSV server contains a number of tables used for the character builder in comma-separated values (CSV) format.
+
  
The Preview 5 equipment CSV table was missing a number of Resource Point (RP) costs for items.
+
* Restrained Love Viewer (RLV) integration
 +
# in-character and out-of-character mode
 +
# RestrainedLight configurable Windlight region settings
  
I have calculated those and entered them into an updated table here:
+
* Meter improvements
 +
# TITLE display
 +
# FACTION display
 +
# Resolve % display
  
# Delete the Equipment v0.0.0 CSV notecard from the CSV server.
+
* HUD Texture Menu buttons support
# Copy the updated [[User:Allen Kerensky/Myriad_Lite_Dev/Myriad_Lite_Equipment-v0.0.1-20120424.csv|Myriad Lite Equipment v0.0.1 20120424]] notecard into the region CSV server.
+
# show texture with button pcitures on it
# Copy the updated [[User:Allen Kerensky/Myriad_Lite_Dev/Myriad_Lite_Equipment_Server-v0.0.2-20120424.lsl|Myriad Lite Equipment Server v0.0.2 20120424]] notecard into the region CSV server.
+
# translate clicks from lists of coordinates and commands
# You should see the server load the updated equipment table.
+
# Region owner objects can use SETUP_HUD|texture,x1,y1,x2,y2,command,... in quests, location narrators, ability tests, etc to show custom menu actions to players
# You can test the new equipment data with the Equipment Client.
+
  
The Myriad RPG and Special Edition RPG have a curious oversight - none of the additional skills outside of Close and Ranged combat list their base statistics.
+
* GET_* SET_* and LIST_* commands added to character sheet module to support Character Designer calls
  
In order to build the XP/Level, XP/Gradual, XP/Random, and full skills system, I had to make up base statistics and update the CSV, Server code, and Client to include them.
+
* Improved security around external commands - anyone can GET_* or LIST_* data from HUD as needed, but SET_* is limited to HUD owner and region owner tools only.
 +
# This is still weak security based on trusting the region owner - remove the HUD when entering regions that are NOT for your current game
  
# Copy the updated [[User:Allen Kerensky/Myriad_Lite_Dev/Myriad_Lite_Skills-v0.0.2-20120527.csv|Myriad Lite Skills v0.0.2 20120527]] notecard into the region CSV server.
+
== OpenSim Only ==
# Copy the updated [[User:Allen Kerensky/Myriad_Lite_Dev/Myriad_Lite_Skills_Server-v0.0.1-20120527.lsl|Myriad Lite Skills Server v0.0.1 20120527]] notecard into the region CSV server.
+
LSL does not provide library calls to find out information about which "estate" (group of regions) a given region belongs to.
# You should see the server load the updated equipment table.
+
# Copy the updated [[User:Allen Kerensky/Myriad_Lite_Dev/Myriad_Lite_Skill_Client-v0.0.1-20120527.lsl|Myriad Lite Skill Client 0.0.1 20120527]] notecard into the Region Skills Client prim.
+
# You can test the new Skill data with the Region Skills Client.
+
  
=== Region Settings Server ===
+
This means each REGION must have a region setting server to provide a custom setting and changes to the setting in one region must be manually copied to other regions.
Since LSL and OSSL do not support programmatically finding the current grid or estate names, I have added an ESTATE= and ESTATEOWNER= settings to the region server.
+
 +
I have started experimenting with the IRCBridgeModule to provide Estate-wide communications and allow a single region setting server to serve data to all regions in an estate.
  
The ESTATE settings are starting to be used by the Character Sheet Loader module to know to offer the same character to load regardless of which region in an estate you connect to.
+
This will not work in SecondLife which has no IRC connectivity.
  
* [[User:Allen Kerensky/Myriad_Lite_Dev/Myriad_Lite_Region_Settings_Server-v0.0.3-20120522.lsl|Myriad Lite Region Settings Server v0.0.3 20120522]]
+
This IRC connectivity can also provide an excellent cross-region team radio chat.
* [[User:Allen Kerensky/Myriad_Lite_Dev/Myriad_Lite_Region_Settings-v0.0.2-20120522.txt|Myriad Lite Region Settings v0.0.2 20120522]]
+
* [[User:Allen Kerensky/Myriad_Lite_Dev/Myriad_Lite_Region_Settings_Client-v0.0.2-20120522.lsl|Myriad Lite Region Settings Client v0.0.2 20120522]]
+
 
+
=== Rumor Server ===
+
The Rumor system is intended to allow regions to offer a way for players to start anonymous, but moderated, in character rumors for all other players to find through NPCs or quests.
+
 
+
The Rumor System comes in two parts - a standalone server script with a notecard of "starting" or "seed" rumors that the region admin
+
 
+
The second part is a Myriad Lite HUD module that provides the interface for the player to the rumor server.
+
 
+
A better interface is planned, as well as integration with NPCs and quests.
+
 
+
The Rumor Server has also been upgraded from my prototype versions to allow the owner's objects (like BAM quest goals) to add pre-approved rumors.
+
 
+
# Copy the Anti-Delay Manager and Node scripts from http://wiki.secondlife.com/wiki/AntiDelay_Node in your inventory
+
# Copy the [[User:Allen_Kerensky/Myriad_Lite_Dev/Myriad_Lite_Rumor_Server-v0.0.4-20120317.lsl|Myriad Lite Rumor Server v0.0.4 20120317]] script into an inventory script
+
# Create a server prim
+
# Drop in the Anti-Delay Manager and one or more copies of the Anti-Delay Node script into the server prim
+
# Copy the [[User:Allen_Kerensky/Myriad_Lite_Dev/Myriad_Lite_Rumor_Seeds|seed rumors]] into a notecard in your inventory
+
# Edit the seed rumor notecard to contain the starter rumors you want in your region to begin with.
+
# Drop the Seed rumors notecard into the server prim
+
# Drop the rumor server script into the rumor server prim
+
# Use the Tools Menu (v1 viewers, v2+ viewers you're on your own) to reset all scripts in the selection.
+
# The server is now ready to serve rumors.
+
 
+
==== Using The Rumor System ====
+
===== Players =====
+
* /5 RUMOR_GET - get a rumor
+
* /5 RUMOR_PUT|some rumor text - add a rumor to the system, requires approval by region admin
+
===== Admins =====
+
* /5 RUMOR_MAIN - show the admin main menu
+
* /5 RUMOR_LIST - list currently active rumors
+
* /5 RUMOR_MODERATE - moderate the list of pending rumors
+
* /5 RUMOR_RESET - reset the entire rumor system back to seed rumors only
+
 
+
=== Automatic Turret ===
+
To test the new Resilience module, I hacked together an automatic turrent for Myriad which automatically aims and fires at the nearest target.
+
 
+
An automatic turret is useful for NPC's, defensive emplacements and such as well.
+
 
+
This turret is incomplete, since it is currently indestructible.
+
 
+
Future updates will include Myriad damage so you can shoot and knock them out temporarily.
+
 
+
==== Myriad Turret Bullets ====
+
A small change was required to the Myriad bullets in order for the turret to work.
+
 
+
# Find (or make) a no script parcel to create your bullet on.
+
# Create your bullet model with the +X (red) axis facing in the direction you want the bullet to fire
+
# Drop in a puff of smoke texture.
+
# Drop in the [[User:Allen_Kerensky/Myriad_Lite_Dev/Myriad_Lite_Bullet_Turret-v0.0.0-20120511.lsl|Myriad Lite Bullet Turret v0.0.0 20120511]] script
+
# Edit the script to know the name of your puff of smoke texture
+
# Set the bullet physical and temporary
+
# Quickly take the bullet into inventory before the temp-on-rez flag deletes it.
+
 
+
==== The Automatic Turret ====
+
# Create a weapon model.
+
# Since this weapon uses llLookAt, switch your edit tool to Local ruler and  make sure the root prim of the weapon follows these rules:
+
## Forward Axis: The +Z (blue) arrows point in the direction you want the weapon to shoot.
+
## Down Axis: The +Y (green) arrows point in the direction you want the weapon's "down" direction to be.
+
# Note: the weapon pivot point will be the center point of the model
+
# Drop in the Myriad Bullet Turret you made above
+
# Drop in a sound effect for the turret shooting
+
# Drop in the [[User:Allen_Kerensky/Myriad_Lite_Dev/Myriad_Lite_Turret-v0.0.0-20120510.lsl|Myriad Lite Turret v0.0.0 20120510]] script
+
# Edit the script to know the name of your bullet and sound effect
+
 
+
To use the turret, wear a Myriad HUD and click the turret to activate it.
+
 
+
If you are in range it should face you and begin shooting.
+
 
+
Click again to deactivate the turret.
+
 
+
=== Baroun's Adventure Machine ===
+
New feature: Each component of Baroun's Adventure Machine now adds rumors to the region rumor server if one is present as a player progresses through a quest.
+
 
+
Examples:
+
  Myriad Lite Rumors: RUMOR ADDED FOR Allen Kerensky: Allen Kerensky has started the Red Salt Adventure
+
  Myriad Lite Rumors: RUMOR ADDED FOR Allen Kerensky: Allen Kerensky found the red salt mines.
+
  Myriad Lite Rumors: RUMOR ADDED FOR Allen Kerensky: Allen Kerensky found the red salt.
+
  Myriad Lite Rumors: RUMOR ADDED FOR Allen Kerensky: Allen Kerensky has completed Red Salt Adventure
+
 
+
* [[User:Allen_Kerensky/Myriad_Lite_Dev/BAM_Adventure_Giver_NPC-v0.0.7-20120704.lsl|BAM Adventure Giver NPC v0.0.7 20120704]]
+
* [[User:Allen_Kerensky/Myriad_Lite_Dev/BAM_Collision_Goal-v0.0.8-20120704.lsl|BAM Collision Goal v0.0.8 20120704]]
+
* [[User:Allen_Kerensky/Myriad_Lite_Dev/BAM_Location_Goal-v0.0.8-20120704.lsl|BAM Location Goal v0.0.8 20120704]]
+
* [[User:Allen_Kerensky/Myriad_Lite_Dev/BAM_Touch_Goal-v0.0.9-20120704.lsl|BAM Touch Goal v0.0.9 20120704]]
+
 
+
 
+
=== Narrator ===
+
New feature: The region Narrator now adds rumors that someone visited an area to the region rumor server if one is present.
+
 
+
Example:
+
  Myriad Lite Rumors: RUMOR ADDED FOR Allen Kerensky: Allen Kerensky visited the Myriad_Central example BAM area.
+
 
+
* [[User:Allen_Kerensky/Myriad_Lite_Dev/Myriad_Lite_Narrator-v0.0.9-20120704.lsl|Myriad Lite Narrator v0.0.9 20120704]]
+
 
+
=== HUD Attachment ===
+
Have recoded all of the link message handling to allow all module scripts to be in the root prim again without endless reflections.
+
 
+
# Copy all scripts below into a Myriad Lite/Dev folder
+
# Create a 0.250 x 0.250 x 0.250 cube
+
# Name the cube "Myriad Lite v0.1.6 dev"
+
# Set it full permissions
+
# Texture it with a Myriad logo.
+
# Drop in the [[User:Allen_Kerensky/Myriad_Lite_Dev/Myriad_Lite_Character_Sheet-v0.0.4-20120424.txt|Myriad Lite Character Sheet v0.0.4 20120424]] notecard
+
# Drop in the [[User:Allen Kerensky/Myriad_Lite_Dev/Myriad_Lite_Module_Armor-v0.0.2-20120317.lsl|Myriad Lite Module Armor v0.0.2 20120317]] script from inventory
+
# Drop in the [[User:Allen_Kerensky/Myriad_Lite_Dev/Myriad_Lite_Module_BAM-v0.0.4-20120317.lsl|Myriad Lite Module BAM v0.0.4 20120317]] script from inventory
+
# Drop in the [[User:Allen_Kerensky/Myriad_Lite_Dev/Myriad_Lite_Module_Character_Sheet-v0.0.2-20120513.lsl|Myriad Lite Module Character Sheet v0.0.2 20120513]] script from inventory
+
# Drop in the [[User:Allen_Kerensky/Myriad_Lite_Dev/Myriad_Lite_Module_Resilience-v0.0.0-20120510.lsl|Myriad Lite Module Resilience v0.0.0 20120510]] script from inventory
+
# Drop in the [[User:Allen_Kerensky/Myriad_Lite_Dev/Myriad_Lite_Module_Rumors-v0.0.1-20120317.lsl|Myriad Lite Module Rumors v0.0.1 20120317]] script from inventory
+
# Drop in the [[User:Allen_Kerensky/Myriad_Lite_Dev/Myriad_Lite_Module_Skill_Close_Combat-v0.0.0-20120430.lsl|Myriad Lite Module Skill Close Combat v0.0.0 20120430]] script from inventory
+
# Drop in the [[User:Allen_Kerensky/Myriad_Lite_Dev/Myriad_Lite_Module_Skill_Ranged_Combat-v0.0.1-20120511.lsl|Myriad Lite Module Skill Ranged Combat v0.0.1 20120511]] script from inventory
+
# Drop in the [[User:Allen_Kerensky/Myriad_Lite_Dev/Myriad_Lite_Module_WELL-v0.0.2-20120626.lsl|Myriad Lite Module WELL v0.0.2 20120626]] script from inventory
+
# Drop in the [[User:Allen Kerensky/Myriad_Lite_Dev/Myriad_Lite-v0.1.9-20120704.lsl|Myriad Lite v0.1.9 20120704]] script last
+
# Set all scripts and notecards full permissions
+
# Take the new HUD into inventory
+
# Attach to HUD Lower Left from inventory
+
# Edit and Position on screen
+
# You should see your armor piece register once the character sheet it loaded.
+
# If you have a Rumor Server in the region, you should see a notice that the region supports Rumors
+
# Take the HUD back into inventory to save its position
+
 
+
==== Using the new Talker/Emoter ====
+
A new roleplay talker/emoter module has been integrated into the HUD to send Out Of Character (OOC) and In-Character (IC) messages, emotes, and even thinking-out-loud.
+
 
+
OOC messages and
+
To send an OOC message: /22 <message>
+
  Example: (( Allen Kerensky says, "this is an OOC message" ))
+
 
+
To send an OOC emote: /23 <emote>
+
  Example: (( Allen Kerensky laughs as an OOC emote ))
+
 
+
To send an IC message: /44 <message>
+
  Example: Allie Reiland says, "this is just talking out loud"
+
 
+
To send an IC "thinking out loud" message: /45 <thinking>
+
  Example: Allie Reiland thinks, 'hmmm why did they say that?'
+
 
+
To send an IC emote: /66 <emote>
+
  Example: Allie Reiland runs for the hills.
+
 
+
To send an IC narration message: /88 <narration>
+
  Example: The computer gives out a soft beep as the security software is cracked and crashes.
+
 
+
==== Using the Dice Roller =====
+
I've built a simple dice roller into the HUD that sends its results as an OOC message.
+
It will show the type of roll, individual dice results, and the total of adding the dice together.
+
It does not support +/- modifiers - those can be done in your head **grin**.
+
 
+
To roll X number of dice with Y sides: /5 roll XdY
+
  Example:
+
  /5 roll 3d6
+
  ((Allen Kerensky rolls 3d6 resulting in 4, 5, 2,  totalling 11.))
+
 
+
==== Using the Character Sheet Module ====
+
I've started adding multi-character support to the character sheet module.
+
 
+
When you enter a region or reset - you will get a drop down menu asking for which character you want to load.
+
 
+
There is a default option to load the hardcoded character sheet by name.
+
 
+
Or, you can create custom character sheet notecards by estate named:
+
  charactername@estatename
+
 
+
You can have up to 11 characters per estate (plus default) to pick from the menu, because I was too lazy to code for multi-page menus.
+
 
+
* If there is a region server with ESTATE= set, then the notecards named player@estate will be listed on a dropdown menu, along with a choice for default.
+
* If there is no region server in the region, then the default notecard gets loaded.
+
 
+
More development to do in this space, but this should get people started.
+
 
+
=== Armor Attachment ===
+
Below is a snapshot of the improved armor code I've been working on to handle power armor better and provide more hooks for armor developers to trigger their own scripted special effects on armor-related events.
+
 
+
Feel free to use the discussion page to ask questions or make comments.
+
 
+
* [[User:Allen Kerensky/Myriad_Lite_Dev/Myriad_Lite_Armor-v0.0.6-20120212.lsl|Myriad Lite Armor v0.0.6 20120212]]
+
 
+
# Copy the [[User:Allen Kerensky/Myriad_Lite_Dev/Myriad_Lite_Armor-v0.0.6-20120212.lsl|Myriad Lite Armor v0.0.6 20120212]] attachment script into inventory
+
# Create an Armor attachment, named "Myriad Lite Armor (attachment pointname)"
+
# Attach the armor object someplace visible in-world
+
# Edit and position it onscreen
+
# Drop in the Myriad Lite Armor script from inventory
+
# Detach the Armor attachment back to inventory to save its position
+
# Re-atttach it
+

Latest revision as of 17:03, 5 January 2014

[edit] Myriad Lite Development

[edit] Preview 7 New Features

  • Region Setting server using PPMA
  1. Implement new RENDEZVOUS2 dynamic region server channel
  • Region Setting Editor
  1. Statistics
  2. Skills
  3. Special Effect Abilities
  4. Resiliences
  5. Boons
  6. Flaws
  7. Campaigns
  8. Species
  9. Backgrounds
  10. Careers
  11. Items
  • Character Sheet improvements
  1. TITLE - a rank, or professional/noble title
  2. FACTION - a configurable faction
  • Much improved message output
  1. Individual message icons for each module
  2. Duplicate message suppression
  3. Hypergrid name @hostname stripping
  • Unopposed Tests
  1. Simple, insecure type 1 unpposed tests for roleplay color
  2. Complex, more secure type 2 unopposed tests for tasks that have in-game consequences
  • Vegaslon Plutonian (OSG) contributed a raycast modification for the Firearm code
  • The first implementation of the Social Combat with the Deception and Persuasion skills as well as Resolve resilience
  • Conversion of all character data storage to persistent prim data storage (called PPMA) rather than inscript global lists
  • Beginning infrastructure for storing user configuration items in the HUD PPMA
  • Requirements checking for needed character data otherwise disable module
  • Restrained Love Viewer (RLV) integration
  1. in-character and out-of-character mode
  2. RestrainedLight configurable Windlight region settings
  • Meter improvements
  1. TITLE display
  2. FACTION display
  3. Resolve % display
  • HUD Texture Menu buttons support
  1. show texture with button pcitures on it
  2. translate clicks from lists of coordinates and commands
  3. Region owner objects can use SETUP_HUD|texture,x1,y1,x2,y2,command,... in quests, location narrators, ability tests, etc to show custom menu actions to players
  • GET_* SET_* and LIST_* commands added to character sheet module to support Character Designer calls
  • Improved security around external commands - anyone can GET_* or LIST_* data from HUD as needed, but SET_* is limited to HUD owner and region owner tools only.
  1. This is still weak security based on trusting the region owner - remove the HUD when entering regions that are NOT for your current game

[edit] OpenSim Only

LSL does not provide library calls to find out information about which "estate" (group of regions) a given region belongs to.

This means each REGION must have a region setting server to provide a custom setting and changes to the setting in one region must be manually copied to other regions.

I have started experimenting with the IRCBridgeModule to provide Estate-wide communications and allow a single region setting server to serve data to all regions in an estate.

This will not work in SecondLife which has no IRC connectivity.

This IRC connectivity can also provide an excellent cross-region team radio chat.

Personal tools
General
About This Wiki