User:Allen Kerensky/Myriad Lite Dev

From OpenSimulator

< User:Allen Kerensky(Difference between revisions)
Jump to: navigation, search
(20120520 posted the early turret code and bullet)
(added IRC notes)
 
(16 intermediate revisions by one user not shown)
Line 1: Line 1:
= Myriad Lite =
+
= Myriad Lite Development =
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.
+
  
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.
+
== Preview 7 New Features ==
 +
* Region Setting server using PPMA
 +
# Implement new RENDEZVOUS2 dynamic region server channel
  
This page will be wiped out and started fresh each preview release.
+
* Region Setting Editor
 +
# Statistics
 +
# Skills
 +
# Special Effect Abilities
 +
# Resiliences
 +
# Boons
 +
# Flaws
 +
# Campaigns
 +
# Species
 +
# Backgrounds
 +
# Careers
 +
# Items
  
Scripts I post here generally compile and run on OpenSim and OSgrid, but may not have ever been ported to SecondLife.
+
* Character Sheet improvements
 +
# TITLE - a rank, or professional/noble title
 +
# FACTION - a configurable faction
  
Scripts I post here generally are checked with lslint before posting, but might not always be.
+
* Much improved message output
 +
# Individual message icons for each module
 +
# Duplicate message suppression
 +
# Hypergrid name @hostname stripping
  
== FIRST ==
+
* Unopposed Tests
BEFORE YOU CAN USE THE SCRIPTS AND ADD-ONS ON THIS DEV PAGE
+
# Simple, insecure type 1 unpposed tests for roleplay color
 +
# Complex, more secure type 2 unopposed tests for tasks that have in-game consequences
  
YOU NEED TO DOWNLOAD AND ASSEMBLE
+
* Vegaslon Plutonian (OSG) contributed a raycast modification for the Firearm code
  
> > > [[User:Allen_Kerensky/Myriad_Lite_Preview_5|Myriad Lite Preview 5]] < < <
+
* The first implementation of the Social Combat with the Deception and Persuasion skills as well as Resolve resilience
  
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.
+
* Conversion of all character data storage to persistent prim data storage (called PPMA) rather than inscript global lists
  
== Recent Updates ==
+
* Beginning infrastructure for storing user configuration items in the HUD PPMA
=== 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.
+
* Requirements checking for needed character data otherwise disable module
  
I have calculated those and entered them into an updated table here:
+
* Restrained Love Viewer (RLV) integration
 +
# in-character and out-of-character mode
 +
# RestrainedLight configurable Windlight region settings
  
# 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 server.
+
* Meter improvements
# Delete the outdated Equipment v0.0.0 notecard.
+
# TITLE display
# Update line 13 of the Myriad_Lite_Equipment_Server-v0.0.1 script to point to the new notecard name.
+
# FACTION display
# Save the updated server script
+
# Resolve % display
# You should see the server load the updated equipment table.
+
  
=== Region Settings Server ===
+
* HUD Texture Menu buttons support
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.
+
# show texture with button pcitures on it
 +
# translate clicks from lists of coordinates and commands
 +
# 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
  
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.
+
* GET_* SET_* and LIST_* commands added to character sheet module to support Character Designer calls
  
* [[User:Allen Kerensky/Myriad_Lite_Dev/Myriad_Lite_Region_Settings_Server-v0.0.2-20120506.lsl|Myriad Lite Region Settings Server v0.0.2 20120506]]
+
* 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.
* [[User:Allen Kerensky/Myriad_Lite_Dev/Myriad_Lite_Region_Settings-v0.0.1-20120506.txt|Myriad Lite Region Settings v0.0.2 20120506]]
+
# This is still weak security based on trusting the region owner - remove the HUD when entering regions that are NOT for your current game
* [[User:Allen Kerensky/Myriad_Lite_Dev/Myriad_Lite_Region_Settings_Client-v0.0.1-20120513.lsl|Myriad Lite Region Settings Client v0.0.1 20120513]]
+
  
=== Rumor Server ===
+
== OpenSim Only ==
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.
+
LSL does not provide library calls to find out information about which "estate" (group of regions) a given region belongs to.
  
The Rumor System comes in two parts - a standalone server script with a notecard of "starting" or "seed" rumors that the region admin
+
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.
  
The second part is a Myriad Lite HUD module that provides the interface for the player to the rumor server.
+
This will not work in SecondLife which has no IRC connectivity.
  
A better interface is planned, as well as integration with NPCs and quests.
+
This IRC connectivity can also provide an excellent cross-region team radio chat.
 
+
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 ===
+
I have hacked together an automatic turrent for Myriad which automatically aims and fires at the nearest target.
+
 
+
The 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.
+
 
+
=== 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-v0.1.7-20120510.lsl|Myriad Lite v0.1.7 20120510]] 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 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