|
|
(7 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.
| + | == Preview 7 New Features == |
| + | * 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 |
| | | |
− | == WANTED ==
| + | * Vegaslon Plutonian (OSG) contributed a raycast modification for the Firearm code |
− | <pre style="color:red">
| + | |
− | C# Developer to create OpenSim module which implements
| + | |
− | Myriad RPG in a region as middleware which takes to the region database
| + | |
| | | |
− | C++ Developer to create Third Party Viewer patch to implement
| + | * The first implementation of the Social Combat with the Deception and Persuasion skills as well as Resolve resilience |
− | Myriad RPG in the viewer/client
| + | |
− | </pre>
| + | |
| | | |
− | == FIRST ==
| + | * Conversion of all character data storage to persistent prim data storage (called PPMA) rather than inscript global lists |
− | BEFORE YOU CAN USE THE SCRIPTS AND ADD-ONS ON THIS DEV PAGE
| + | |
| | | |
− | YOU NEED TO DOWNLOAD AND ASSEMBLE
| + | * Beginning infrastructure for storing user configuration items in the HUD PPMA |
| | | |
− | > > > [[User:Allen_Kerensky/Myriad_Lite_Preview_5|Myriad Lite Preview 5]] < < <
| + | * Requirements checking for needed character data otherwise disable module |
| | | |
− | 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.
| + | * Restrained Love Viewer (RLV) integration |
| + | # in-character and out-of-character mode |
| + | # RestrainedLight configurable Windlight region settings |
| | | |
− | == Recent Updates ==
| + | * Meter improvements |
− | === Region CSV Server ===
| + | # TITLE display |
− | The CSV server contains a number of tables used for the character builder in comma-separated values (CSV) format.
| + | # FACTION display |
| + | # Resolve % display |
| | | |
− | The Preview 5 equipment CSV table was missing a number of Resource Point (RP) costs for items.
| + | * HUD Texture Menu buttons support |
| + | # 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 |
| | | |
− | I have calculated those and entered them into an updated table here:
| + | * GET_* SET_* and LIST_* commands added to character sheet module to support Character Designer calls |
| | | |
− | # Delete the Equipment v0.0.0 CSV notecard from the CSV server.
| + | * 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. |
− | # 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. | + | # 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_Equipment_Server-v0.0.2-20120424.lsl|Myriad Lite Equipment Server v0.0.2 20120424]] notecard into the region CSV server.
| + | |
− | # You should see the server load the updated equipment table.
| + | |
− | # 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.
| + | == OpenSim Only == |
| + | LSL does not provide library calls to find out information about which "estate" (group of regions) a given region belongs to. |
| | | |
− | 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.
| + | 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. |
| | | |
− | # 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.
| + | This will not work in SecondLife which has no IRC connectivity. |
− | # 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.
| + | |
− | # 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 IRC connectivity can also provide an excellent cross-region team radio chat. |
− | 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.
| + | |
− | | + | |
− | 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.
| + | |
− | | + | |
− | * [[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]]
| + | |
− | * [[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.
| + | |
− | | + | |
− | * [[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.
| + | |
− | | + | |
− | * [[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
| + | |
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.