TT5 documentation: Difference between revisions
No edit summary |
|||
Line 113: | Line 113: | ||
==Examples== | |||
'''Example Flag Configurations:''' | '''Example Flag Configurations:''' | ||
Line 151: | Line 151: | ||
Again note that for more permanent and shared configs, you may want to load a '''module''' instead. See below. | Again note that for more permanent and shared configs, you may want to load a '''module''' instead. See below. | ||
=Modules= | |||
For scripts you want ALL character to have all the time, you can create a module. | |||
*Module scripts are stored in /tt5/modules/ | |||
**Modules are loaded by being listed in /tt5/modules/modules.conf | |||
Just add your new modules to that file, exactly like the others in there already. | |||
I included the following modules by default: | |||
global (a shared file all characters can read/write from) | |||
logging (a basic full log file) | |||
speedwalk (my list of speedwalks) | |||
You can list/delist any modules you'd like from modules.conf. | |||
Modules cannot be loaded/killed on the fly (That is what the 'flags' system is for!) | |||
To add/remove a module you must modify modules.conf and reconnect. | |||
(or manually #class read/kill those files in exactly like modules.conf does) | |||
Here's a bit more detail on the 3 included modules: | |||
==Global Module== | |||
The 'global' module is quite useful for sharing data between sessions. | |||
One feature of this that is built-in is session name aliasing: | |||
Each character name, AND nickname, is saved as a global alias to control that session. | |||
Thus: | |||
1. To switch between active sessions simply type 'character' or 'nickname' to go to that session. | |||
Example: if we have character 'guy1' with nickname 'g1' connected, and 'guy2' with nickname 'g2': | |||
Typing 'guy1' or 'g1' will switch you to that session, and typing 'guy2' or 'g2' will switch you to that session. | |||
2. You can send commands to any session by simply prefixing your command with 'character' or 'nickname' prefix. | |||
Example: guy1 smile ; g2 nod ; g3 say you are stupid; g1 beam | |||
3. The keyword 'all' is a global alias to all sessions: | |||
Example: all smile; all rend; all drink; | |||
For your own scripting purposes, there are built-in aliases to save/load 'global' class: | |||
loadglobal (reads in tt5/data/global.tin) | |||
saveglobal (writes out tt5/data/global.tin) | |||
To create new global stuff, it will be handy to do things like this in your code: | |||
loadglobal; (picks up any recent changes written to the global class from other sessions) | |||
#CLASS global assign #VAR {example_var} {123}; (sets your new global var) | |||
saveglobal; (saves it all back to file for other chars to now see when they 'loadglobal') | |||
Always have code loadglobal before saving global so it picks up most recent version of the file and things set by other ssions. | |||
===Logging Module=== | |||
You'll want to set this up however you want, by default it just logs EVERYTHING, in plain-text format, to tt5/logging/full_log.txt | |||
The log type can be changed from plain to RAW or HTML inside the tintin config section at the bottom of tt5/scripts/init.tin | |||
===Speedwalks Module=== | |||
This is my own list, and I use my own short-codes like 'goFOO' that you obviously may or may not like. | |||
To search for a speedwalk and its short-code, use the 'finddir' alias! | |||
Example: finddir shire | |||
#NOP The Shire = shire | |||
#ALIAS {goshire} {#9 w;nw;w;w;nw} | |||
So, the short-code = 'shire' and the alias is 'goshire' | |||
All speedwalks start from dh[] | |||
There's a lot of weird and somewhat specific mobs/room set up in there, and many I don't even use, so, the whole thing probably needs audited really. | |||
(There's also some that require additional area modules being loaded, those won't work for you sorry) | |||
===Custom Modules==== | |||
Just add new lines into /tt5/modules/modules.conf | |||
Other modules I use, to give you some ideas or if you wanna ask me questions about them: | |||
repop tracking | |||
inventory tracking (restocking) | |||
equipment damage tracking | |||
mob database | |||
world map | |||
specific area modules | |||
a general 'useful gameplay stuff' module | |||
gui/display module |
Revision as of 15:45, 2 September 2021
This is my 5th generation of tintin suite for realms, so it's named tt5.
Installation
- Download the whole tt5 folder
wget -r -nH -np -R "index.html*" http://dyrdex.com/tt5/
- Run your tt++ with the path to my init script:
tt++ tt5/scripts/init.tin
That should be it. If you wanna re-name/move "tt5" you'll need to update the $home var at the top of this file:
tt5/scripts/init.tin
- NOTES:
- All the scripts are commented so refer to scripts directly for more information.
- All commands should display their syntax if typed with no argument.
Connection
- Type 'go character' and enter your password. That info will be saved for future logins.
- Once logged in, use 'nickname FOO' so you can log in via nickname later (go foo)
- The system also supports login by nickname, creating login groups, aliases for dc/rc, and offline character status, class search, and buffer display.
Character Management
Full commands list: (Typing a command with no argument should display its syntax information.)
go Display Full Character List; go CHARACTER Log in (foreground); go NICKNAME Log in (foreground) go GROUP Log entire group in. bg CHARACTER Log in (background) (also works with nicknames); nickname FOO Set -current- char's nickname to FOO (must be logged in); dc Disconnect; relog Disconnect & Reconnect; delchar CHARACTER; Remove all configs for char;
Group Management
addgroup GROUPNAME Guy1 Guy2 Guy3 Guy4 (up to 8 supported); remgroup GROUPNAME Guy1; Removes Guy1 from GROUPNAME; delgroop GROUPNAME Deletes entire group;
Offline Information
show <character-full-name> show <mag|cle|thi|war|vam|dru|ran|aug|pal|nep|fat|bar|dre|har|kni|hun|inf|buc> tail (will display last 200 buffer lines)
Character Configuration
This system requires some explanation. Please read closely.
The Flags System: A highly customizable script configuration and sorting system.
- Each character can be 'flagged' to read multiple config files, on the fly at any time.
- Example: Load a personal file, a class file, a guild file, and a run file. Switch on the fly.
- Each flags file can be sorted into a corresponding directory for those flag names inside the /tt5/ directory:
- Example: /tt5/characters/, /tt5/runs/, /tt5/class/, etc.
Notes:
1. Upon FIRST login, your character will 'auto-configure' your name, class, and organization flags from 'score' output.
2. These are for scripts you only want implement on a per character basis or toggle on/off or change.
- If you want ALL chars to have a permanent script loaded, you probably want to load a global MODULE instead. (see Modules)
Commands
flag Display All Current Flags; flag NAME FILE Set a new flag of "NAME" to read "FILENAME" from associated directory; unflag NAME Remove the NAME flag;
Flag
- The flag NAME itself determines which directory it looks for the FILENAME within
- There are 6 special flag NAMES which map to specific data directories:
Flag Name: character will read files from /tt5/characters/ (*Auto-added to all characters) Flag Name: class will read files from tt5/class/ (*Auto-added to all characters) Flag Name: group will read files from tt5/group/ (*Auto-added to all login group members) Flag Name: bot will read files from tt5/bots/ Flag Name: org will read files from tt5/orgs/ Flag Name: run will read files from tt5/runs/
Example: flag run seth (would read tt5/run/seth.tin at login)
Example: flag bot spell (would read tt5/bots/spell.tin at login)
- There is 1 'catch-all' directory for all other flag names:
Flag Name: ANYTHING will read files from tt5/misc/
Example: flag sect horsemen (would read tt5/misc/horsemen.tin)
Unflag
- To remove a flag, specify the flag NAME to remove:
Example: unflag run
Examples
Example Flag Configurations:
Dyrdex has 3 flags currently configured, for his character, class, org:
Loaded File Flags: Flag Name: character Value: dyrdex From tt5/characters/dyrdex.tin Flag Name: class Value: Thief From tt5/classes/Thief.tin Flag Name: org Value: Ascendere From tt5/orgs/Ascendere.tin
Lyrdex has an entirely different flag configuration:
Flag Name: character Value: Lyrdex From tt4/characters/lyrdex.tin Flag Name: class Value: Mage From tt4/classes/Mage.tin Flag Name: sect Value: Forestmen From tt4/misc/Forestmen.tin Flag Name: group Value: lspellers From tt4/groups/lspellers.tin Flag Name: bot Value: spell From tt4/bots/spell.tin Flag Name: run Value: edo From tt4/bots/edo.tin
So, he still gets the standard character/class flags, but is also set up as a spellbot, and part of a group (with a cleric) that I can write a group script for, he's in a sect and gets a file for that, and he is currently out in Edo assisting with a run and has a specific file for that. All of these can be toggled off, or changed to other values, on the fly at any time.
Example Usage:
- If you want to flag your character with a seth run script:
1. Place your script into tt5/runs/ 2. flag run seth (will read tt4/runs/seth.tin at login)
- To flag yourself with a spellbot type script:
1. Place your script into tt5/bot/ 2. flag bot spellbot
- If you want to assign yourself a flag named 'butthead' thats reads in a file named 'fart.tin':
1. Place your script into tt5/misc/ 2. flag butthead fart (will read tt5/misc/fart.tin at login)
- If you want to remove your 'run' and 'group' flags:
1. unflag run 2. unflag group
The goal of this system was to both easily sort out common groups (character/class/org/group/run/bot) into folders, while also providing full customization for each character. You can have lots, or just a few flags, its up to you.
Again note that for more permanent and shared configs, you may want to load a module instead. See below.
Modules
For scripts you want ALL character to have all the time, you can create a module.
- Module scripts are stored in /tt5/modules/
- Modules are loaded by being listed in /tt5/modules/modules.conf
Just add your new modules to that file, exactly like the others in there already.
I included the following modules by default:
global (a shared file all characters can read/write from) logging (a basic full log file) speedwalk (my list of speedwalks)
You can list/delist any modules you'd like from modules.conf.
Modules cannot be loaded/killed on the fly (That is what the 'flags' system is for!)
To add/remove a module you must modify modules.conf and reconnect. (or manually #class read/kill those files in exactly like modules.conf does)
Here's a bit more detail on the 3 included modules:
Global Module
The 'global' module is quite useful for sharing data between sessions.
One feature of this that is built-in is session name aliasing:
Each character name, AND nickname, is saved as a global alias to control that session.
Thus:
1. To switch between active sessions simply type 'character' or 'nickname' to go to that session. Example: if we have character 'guy1' with nickname 'g1' connected, and 'guy2' with nickname 'g2': Typing 'guy1' or 'g1' will switch you to that session, and typing 'guy2' or 'g2' will switch you to that session.
2. You can send commands to any session by simply prefixing your command with 'character' or 'nickname' prefix. Example: guy1 smile ; g2 nod ; g3 say you are stupid; g1 beam
3. The keyword 'all' is a global alias to all sessions: Example: all smile; all rend; all drink;
For your own scripting purposes, there are built-in aliases to save/load 'global' class:
loadglobal (reads in tt5/data/global.tin) saveglobal (writes out tt5/data/global.tin)
To create new global stuff, it will be handy to do things like this in your code:
loadglobal; (picks up any recent changes written to the global class from other sessions) #CLASS global assign #VAR {example_var} {123}; (sets your new global var) saveglobal; (saves it all back to file for other chars to now see when they 'loadglobal')
Always have code loadglobal before saving global so it picks up most recent version of the file and things set by other ssions.
Logging Module
You'll want to set this up however you want, by default it just logs EVERYTHING, in plain-text format, to tt5/logging/full_log.txt
The log type can be changed from plain to RAW or HTML inside the tintin config section at the bottom of tt5/scripts/init.tin
Speedwalks Module
This is my own list, and I use my own short-codes like 'goFOO' that you obviously may or may not like.
To search for a speedwalk and its short-code, use the 'finddir' alias!
Example: finddir shire
#NOP The Shire = shire #ALIAS {goshire} {#9 w;nw;w;w;nw}
So, the short-code = 'shire' and the alias is 'goshire'
All speedwalks start from dh[]
There's a lot of weird and somewhat specific mobs/room set up in there, and many I don't even use, so, the whole thing probably needs audited really.
(There's also some that require additional area modules being loaded, those won't work for you sorry)
Custom Modules=
Just add new lines into /tt5/modules/modules.conf
Other modules I use, to give you some ideas or if you wanna ask me questions about them:
repop tracking inventory tracking (restocking) equipment damage tracking mob database world map specific area modules a general 'useful gameplay stuff' module gui/display module