*Outdated* House of Medakan scripts
*Outdated* House of Medakan scripts
House of Medakan zMUD script archives
If anyone has any questions, script ideas, or needs help with zMUD scripts feel free to mail me here or on the WoTMUD forums.
Most scripts posted that have any options contain their own help file.
-Type help<script name> to view.
After loading any script with a disable tag after a #CLASS {ClassName} {disable} you must either manually disable that class or reconnect before first use.
After loading any script with a set default tag after a #CLASS {ClassName} {setdef} you must reconnect before first use.
Taziar Medakan [Rising Sun Blademaster]
Kerryk Medakan [Illian Companion Council]
UPDATES: (Due to the amount of small fixes and optimizations I continuously tinker with, I will be keeping an updated log of updates from now on.)
[5/16/2016]
New ScoreStat script, should reinstall any script that has {setdef} tag after #CLASS {NAME}
Among other fixes and adjustments this should have fixed scripts loading properly and saving character custom variables in proper places.
Scripts updated include: Clumsy, Time, WeaveFail, TargetBar, Prompt, and Practices.
[5/23/2016]
Prompt script brought up to naming convention standards and optimization fixes.
[7/17/16]
ScoreStat script minor bug fix.
[8/23/2016]
Clumsy script updated to include kick, projectiles, disarm, and counts combat rounds.
WeaponType script updated for clumsy script disarm function.
[9/2/2016]
ScoreStat update, small change and added functionality for new MeleeRounds script.
Clumsy script updated... again.
WeaponType script update with new features.
MeleeRounds (new script)
[9/5/2016]
CharacterManagement set key macros updated to accept multi word settings.
Can now type: setfkey channel 'ice spikes' and have it set properly.
[9/6/2016]
Practices script update, fixed 2 bugs, spell point variable bug and level information not showing properly.
[9/7/2016]
MeleeRounds script bug fix and added commands.
[9/17/2016]
TicTimer script added.
[10/15/2016]
Prompt script updated.
[11/18/2016]
Working on an overhaul of entire library for optimization and stability.
Expected due date Jan 2017. 85% done at posting.
[3/22/2017]
Starting new forum posts for upcoming release.
[4/4/2017]
Sailing script updated in new forum post.
[4/18/2017]
MeleeRound and TicTimer updated in new forum post.
-----Table of Contents-----
Table of Contents
Character Management (OUTDATED)
ScoreStat (OUTDATED)
Beep (NO LONGER SUPPORTED)
RentStorage (OUTDATED)
Doors (OUTDATED)
Prompt (NO LONGER SUPPORTED)
TargetBar
Clumsy (OUTDATED)
WeaveFail (OUTDATED)
AltTracker (MOVED)
AutoSailing (OUTDATED)
AutoScan (OUTDATED)
AutoTrack (OUTDATED)
Colors (OUTDATED)
Combat
Communications (OUTDATED)
DamageTesting (NO LONGER SUPPORTED)
DiagCond (MOVED)
HorseScripts
Mapping (OUTDATED)
NarrateOn
Rerolls (NO LONGER SUPPORTED)
Retool (NO LONGER SUPPORTED)
SourceToggle (OUTDATED)
TerinorColors (MOVED)
Time (OUTDATED)
WeaponType (NO LONGER SUPPORTED)
Practices (OUTDATED)
MeleeRounds (OUTDATED)
TicTimer (OUTDATED)
Other Scripts:(that I use)
Markus Map Scripts Package: Find Room, Sync, FleeDline.
Markus 5-15 alting aid.
Markus logging script.
Charbal's spinning timer. (link in Markus post)
AutoVote script posted by Lykan.
If anyone has any questions, script ideas, or needs help with zMUD scripts feel free to mail me here or on the WoTMUD forums.
Most scripts posted that have any options contain their own help file.
-Type help<script name> to view.
After loading any script with a disable tag after a #CLASS {ClassName} {disable} you must either manually disable that class or reconnect before first use.
After loading any script with a set default tag after a #CLASS {ClassName} {setdef} you must reconnect before first use.
Taziar Medakan [Rising Sun Blademaster]
Kerryk Medakan [Illian Companion Council]
UPDATES: (Due to the amount of small fixes and optimizations I continuously tinker with, I will be keeping an updated log of updates from now on.)
[5/16/2016]
New ScoreStat script, should reinstall any script that has {setdef} tag after #CLASS {NAME}
Among other fixes and adjustments this should have fixed scripts loading properly and saving character custom variables in proper places.
Scripts updated include: Clumsy, Time, WeaveFail, TargetBar, Prompt, and Practices.
[5/23/2016]
Prompt script brought up to naming convention standards and optimization fixes.
[7/17/16]
ScoreStat script minor bug fix.
[8/23/2016]
Clumsy script updated to include kick, projectiles, disarm, and counts combat rounds.
WeaponType script updated for clumsy script disarm function.
[9/2/2016]
ScoreStat update, small change and added functionality for new MeleeRounds script.
Clumsy script updated... again.
WeaponType script update with new features.
MeleeRounds (new script)
[9/5/2016]
CharacterManagement set key macros updated to accept multi word settings.
Can now type: setfkey channel 'ice spikes' and have it set properly.
[9/6/2016]
Practices script update, fixed 2 bugs, spell point variable bug and level information not showing properly.
[9/7/2016]
MeleeRounds script bug fix and added commands.
[9/17/2016]
TicTimer script added.
[10/15/2016]
Prompt script updated.
[11/18/2016]
Working on an overhaul of entire library for optimization and stability.
Expected due date Jan 2017. 85% done at posting.
[3/22/2017]
Starting new forum posts for upcoming release.
[4/4/2017]
Sailing script updated in new forum post.
[4/18/2017]
MeleeRound and TicTimer updated in new forum post.
-----Table of Contents-----
Table of Contents
Character Management (OUTDATED)
ScoreStat (OUTDATED)
Beep (NO LONGER SUPPORTED)
RentStorage (OUTDATED)
Doors (OUTDATED)
Prompt (NO LONGER SUPPORTED)
TargetBar
Clumsy (OUTDATED)
WeaveFail (OUTDATED)
AltTracker (MOVED)
AutoSailing (OUTDATED)
AutoScan (OUTDATED)
AutoTrack (OUTDATED)
Colors (OUTDATED)
Combat
Communications (OUTDATED)
DamageTesting (NO LONGER SUPPORTED)
DiagCond (MOVED)
HorseScripts
Mapping (OUTDATED)
NarrateOn
Rerolls (NO LONGER SUPPORTED)
Retool (NO LONGER SUPPORTED)
SourceToggle (OUTDATED)
TerinorColors (MOVED)
Time (OUTDATED)
WeaponType (NO LONGER SUPPORTED)
Practices (OUTDATED)
MeleeRounds (OUTDATED)
TicTimer (OUTDATED)
Other Scripts:(that I use)
Markus Map Scripts Package: Find Room, Sync, FleeDline.
Markus 5-15 alting aid.
Markus logging script.
Charbal's spinning timer. (link in Markus post)
AutoVote script posted by Lykan.
Last edited by Taziar on Thu Dec 14, 2017 12:22 pm, edited 94 times in total.
Re: House of Medakan
OUTDATED
see new version here: Characters
Character Management
Separating macros, alias, and triggers for all of your characters can help manage different class play styles.
In this script each character has their own #CLASS and must be {disable}.
ScoreStat script enables the character #CLASS when connecting to the mud.
All assigned Macros, Alias, and such will need to be adjusted for your own preferences.
Inside #CLASS {Characters} place all common factors used by all of your characters (alias, variables, ect...)
Each character then needs their own folder. Example: #CLASS {Characters|NAME} {disable}
This will keep all character classes disabled on connection.
Place all character specific alias, macros, triggers, ect... in their named class folder.
Trigger in ScoreStat script will enable the character class of the current character name you connect with.
All F-Key, CTRL-F-Key, and ALT-F-Key commands use targets set in TargetBar script.
Use setCOMMANDS to set attack type for each KEY type.
-Example: setFkey kill to have all Fkey numbers set to kill @target(number) -OR- setCFkey bash to have all CTRL-Fkey numbers to bash @target(number)
--Note: updated to accept multi word input when setting fkey, alt-fkey, and ctrl-fkey variables.
---Example: type setfkey channel 'ice spikes' to set your #KEY macro to channel ice spikes at @target
This script is an EXAMPLE and needs to be converted to your own characters and preferences.
#CLASS {Characters|Statting} {disable} has examples of types of triggers, macros, and alias that will be enabled when playing a character under level 4.
Table of Contents
see new version here: Characters
Character Management
Separating macros, alias, and triggers for all of your characters can help manage different class play styles.
In this script each character has their own #CLASS and must be {disable}.
ScoreStat script enables the character #CLASS when connecting to the mud.
All assigned Macros, Alias, and such will need to be adjusted for your own preferences.
Inside #CLASS {Characters} place all common factors used by all of your characters (alias, variables, ect...)
Each character then needs their own folder. Example: #CLASS {Characters|NAME} {disable}
This will keep all character classes disabled on connection.
Place all character specific alias, macros, triggers, ect... in their named class folder.
Trigger in ScoreStat script will enable the character class of the current character name you connect with.
All F-Key, CTRL-F-Key, and ALT-F-Key commands use targets set in TargetBar script.
Use setCOMMANDS to set attack type for each KEY type.
-Example: setFkey kill to have all Fkey numbers set to kill @target(number) -OR- setCFkey bash to have all CTRL-Fkey numbers to bash @target(number)
--Note: updated to accept multi word input when setting fkey, alt-fkey, and ctrl-fkey variables.
---Example: type setfkey channel 'ice spikes' to set your #KEY macro to channel ice spikes at @target
This script is an EXAMPLE and needs to be converted to your own characters and preferences.
#CLASS {Characters|Statting} {disable} has examples of types of triggers, macros, and alias that will be enabled when playing a character under level 4.
Code: Select all
#CLASS {Characters}
#ALIAS setFkey {
#IF (%len(%2)=0) {
#VAR %concat("keyFunc",@scoreName) {%1} {_nodef} {Characters|@scoreName}
#ECHO {%1 is now set as @{scoreName}'s F-key action.}
}
#IF (%len(%2)>0 AND %len(%3)=0) {
#VAR %concat("keyFunc",@scoreName) {%concat(%1," ",%2)} {_nodef} {Characters|@scoreName}
#ECHO {%1 %2 is now set as @{scoreName}'s F-key action.}
}
#IF (%len(%3)>0 AND %len(%4)=0) {
#VAR %concat("keyFunc",@scoreName) {%concat(%1," ",%2," ",%3)} {_nodef} {Characters|@scoreName}
#ECHO {%1 %2 %3 is now set as @{scoreName}'s F-key action.}
}
#IF (%len(%4)>0) {
#VAR %concat("keyFunc",@scoreName) {%concat(%1," ",%2," ",%3," "%4)} {_nodef} {Characters|@scoreName}
#ECHO {%1 %2 %3 %4 is now set as @{scoreName}'s F-key action.}
}
}
#ALIAS setCFkey {
#IF (%len(%2)=0) {
#VAR %concat("keyCtrlFunc",@scoreName) {%1} {_nodef} {Characters|@scoreName}
#ECHO {%1 is now set as @{scoreName}'s CTRL-F-key action.}
}
#IF (%len(%2)>0 AND %len(%3)=0) {
#VAR %concat("keyCtrlFunc",@scoreName) {%concat( %1," ",%2)} {_nodef} {Characters|@scoreName}
#ECHO {%1 %2 is now set as @{scoreName}'s CTRL-F-key action.}
}
#IF (%len(%3)>0 AND %len(%4)=0) {
#VAR %concat("keyCtrlFunc",@scoreName) {%concat( %1," ",%2," ",%3)} {_nodef} {Characters|@scoreName}
#ECHO {%1 %2 %3 is now set as @{scoreName}'s CTRL-F-key action.}
}
#IF (%len(%4)>0) {
#VAR %concat("keyCtrlFunc",@scoreName) {%concat( %1," ",%2," ",%3," "%4)} {_nodef} {Characters|@scoreName}
#ECHO {%1 %2 %3 %4 is now set as @{scoreName}'s CTRL-F-key action.}
}
}
#ALIAS setAFkey {
#IF (%len(%2)=0) {
#VAR %concat("keyAltFunc",@scoreName) {%1} {_nodef} {Characters|@scoreName}
#ECHO {%1 is now set as @{scoreName}'s ALT-F-key action.}
}
#IF (%len(%2)>0 AND %len(%3)=0) {
#VAR %concat("keyAltFunc",@scoreName) {%concat(%1," ",%2)} {_nodef} {Characters|@scoreName}
#ECHO {%1 %2 is now set as @{scoreName}'s ALT-F-key action.}
}
#IF (%len(%3)>0 AND %len(%4)=0) {
#VAR %concat("keyAltFunc",@scoreName) {%concat(%1," ",%2," ",%3)} {_nodef} {Characters|@scoreName}
#ECHO {%1 %2 %3 is now set as @{scoreName}'s ALT-F-key action.}
}
#IF (%len(%4)>0) {
#VAR %concat("keyAltFunc",@scoreName) {%concat(%1," ",%2," ",%3," "%4)} {_nodef} {Characters|@scoreName}
#ECHO {%1 %2 %3 %4 is now set as @{scoreName}'s ALT-F-key action.}
}
}
#KEY ADD {open @doorName}
#KEY DEC {notice}
#KEY KEY0 {find}
#KEY KEY1 {
where
exits
}
#KEY KEY2 {south}
#KEY KEY3 {down}
#KEY KEY4 {west}
#KEY KEY5 {look}
#KEY KEY6 {east}
#KEY KEY7 {flee}
#KEY KEY8 {north}
#KEY KEY9 {up}
#KEY SUB {close @doorName}
#CLASS 0
#CLASS {Characters|NAME} {disable}
#KEY F1 {%eval(%concat("@keyFunc",@scoreName)) @target}
#KEY F2 {%eval(%concat("@keyFunc",@scoreName)) @target2}
#KEY F3 {%eval(%concat("@keyFunc",@scoreName)) @target3}
#KEY F4 {%eval(%concat("@keyFunc",@scoreName)) @target4}
#KEY F5 {%eval(%concat("@keyFunc",@scoreName)) @target5}
#KEY F6 {%eval(%concat("@keyFunc",@scoreName)) @target6}
#KEY F7 {%eval(%concat("@keyFunc",@scoreName)) @target7}
#KEY F8 {%eval(%concat("@keyFunc",@scoreName)) @target8}
#KEY F9 {%eval(%concat("@keyFunc",@scoreName)) @target9}
#KEY F10 {butcher corpse}
#KEY F11 {get all corpse}
#KEY F12 {scalp corpse}
#KEY CTRL-F1 {%eval(%concat("@keyCtrlFunc",@scoreName)) @target}
#KEY CTRL-F2 {%eval(%concat("@keyCtrlFunc",@scoreName)) @target2}
#KEY CTRL-F3 {%eval(%concat("@keyCtrlFunc",@scoreName)) @target3}
#KEY CTRL-F4 {%eval(%concat("@keyCtrlFunc",@scoreName)) @target4}
#KEY CTRL-F5 {%eval(%concat("@keyCtrlFunc",@scoreName)) @target5}
#KEY CTRL-F6 {%eval(%concat("@keyCtrlFunc",@scoreName)) @target6}
#KEY CTRL-F7 {%eval(%concat("@keyCtrlFunc",@scoreName)) @target7}
#KEY CTRL-F8 {%eval(%concat("@keyCtrlFunc",@scoreName)) @target8}
#KEY CTRL-F9 {%eval(%concat("@keyCtrlFunc",@scoreName)) @target9}
#KEY CTRL-F10 {butcher 2.corpse}
#KEY CTRL-F11 {get all 2.corpse}
#KEY CTRL-F12 {scalp 2.corpse}
#KEY ALT-F1 {%eval(%concat("@keyAltFunc",@scoreName)) @target}
#KEY ALT-F2 {%eval(%concat("@keyAltFunc",@scoreName)) @target2}
#KEY ALT-F3 {%eval(%concat("@keyAltFunc",@scoreName)) @target3}
#KEY ALT-F4 {%eval(%concat("@keyAltFunc",@scoreName)) @target4}
#KEY ALT-F5 {%eval(%concat("@keyAltFunc",@scoreName)) @target5}
#KEY ALT-F6 {%eval(%concat("@keyAltFunc",@scoreName)) @target6}
#KEY ALT-F7 {%eval(%concat("@keyAltFunc",@scoreName)) @target7}
#KEY ALT-F8 {%eval(%concat("@keyAltFunc",@scoreName)) @target8}
#KEY ALT-F9 {%eval(%concat("@keyAltFunc",@scoreName)) @target9}
#KEY ALT-F10 {butcher 3.corpse}
#KEY ALT-F11 {get all 3.corpse}
#KEY ALT-F12 {scalp 3.corpse}
#CLASS 0
#CLASS {Characters|NAME2} {disable}
#CLASS 0
#CLASS {Characters|NAME3} {disable}
#CLASS 0
#CLASS {Characters|Statting} {disable}
#ALIAS maxe {rem axe;mend axe}
#KEY DIV {score}
#KEY MULT {
restat
score
}
#TRIGGER {You gain a level!} {score}
#TRIGGER {The day has begun.} {
remove lantern
put lantern pack
}
#TRIGGER {The night has begun.} {
get lantern pack
hold lantern
}
#TRIGGER {This ranks you as * ~(Level 1~).} {kill 2.sapling}
#TRIGGER {Your blood freezes as you hear a stout young sapling's death cry.} {kill 2.sapling}
#TRIGGER {This ranks you as * ~(Level 2~).} {kill 2.sapling}
#TRIGGER {This ranks you as * ~(Level 3~).} {
disengage
stat
}
#TRIGGER {You finish mending a finely crafted axe...} {
stand
wield axe
}
#TRIGGER {^A young leatherleaf begins to thicken with age.$} {#COLOR {"#B23EC9",white}}
#CLASS 0
Last edited by Taziar on Wed May 17, 2017 4:27 am, edited 20 times in total.
Re: House of Medakan
OUTDATED
see new version here: ScoreStatTime
-----ScoreStat-----
*Sends score and stat command on connection.
Resets targets in TargetBar script on connection.
Enables class specific HoM scripts on connection.
Sets character specific variables in required HoM scripts.
Stores character age, gender, race, and class in character comments on stat command.
(These are shown when mouse pointer hovers over character name icon on zMUD character selection screen.)
-Note: if HoM Time script is installed characters under level 30 will have thier estimated deletion date instead.
Type helpScoreStat to view list of commands.
Type showStatSum to toggle stat sum at end of stat line on/off.
--adds stat values and gives thier stat sum at end of stat line in stat command.
Type showTotalDefense to toggle total defense at end of bonus line on/off.
--adds together your dodge bonus and parry bonus and shows at the end of the line the total defense in the stat command.
Type showBMI to toggle BMI number at end of weight lines on/off.
--adds BMI number to end of weight line in stat command.
Thanks to Sarryn for the total defense idea.
Thanks to Thuvia for the BMI calculations.
List of HoM scripts that use ScoreStat:
AutoScan
AutoTrack
Character Management
Clumsy
DamageTesting
MeleeRounds
RentStorage
Rerolls
SourceToggle
TargetBar
Time
WeaveFail
Table of Contents
see new version here: ScoreStatTime
-----ScoreStat-----
*Sends score and stat command on connection.
Resets targets in TargetBar script on connection.
Enables class specific HoM scripts on connection.
Sets character specific variables in required HoM scripts.
Stores character age, gender, race, and class in character comments on stat command.
(These are shown when mouse pointer hovers over character name icon on zMUD character selection screen.)
-Note: if HoM Time script is installed characters under level 30 will have thier estimated deletion date instead.
Type helpScoreStat to view list of commands.
Type showStatSum to toggle stat sum at end of stat line on/off.
--adds stat values and gives thier stat sum at end of stat line in stat command.
Type showTotalDefense to toggle total defense at end of bonus line on/off.
--adds together your dodge bonus and parry bonus and shows at the end of the line the total defense in the stat command.
Type showBMI to toggle BMI number at end of weight lines on/off.
--adds BMI number to end of weight line in stat command.
Thanks to Sarryn for the total defense idea.
Thanks to Thuvia for the BMI calculations.
List of HoM scripts that use ScoreStat:
AutoScan
AutoTrack
Character Management
Clumsy
DamageTesting
MeleeRounds
RentStorage
Rerolls
SourceToggle
TargetBar
Time
WeaveFail
Code: Select all
#CLASS {ScoreStat}
#ALIAS helpScoreStat {
#SHOW {""}
#SHOW {""}
#SHOW {"-----ScoreStat Commands-----"}
#SHOW {"Automatically inputs score and stat commands on connection."}
#SHOW {"Enables class specific HoM scripts on connection."}
#SHOW {"Will activate HoM script functions if scripts are detected and installed."}
#SHOW {"Stores character age, gender, race, and class in character comments on stat command."}
#SHOW {""}
#SHOW {"Type showStatSum to toggle SUM:<statsum> at end of stats line on/off."}
#SHOW {""}
#SHOW {"Type showTotalDefense to toggle Total Defense:<defense> at end of bonus line on/off."}
#SHOW {""}
#SHOW {"Type showBMI to toggle BMI:<BMI> at end of weight line on/off."}
#SHOW {"-Note: BMI statistics shown are trunicated."}
#SHOW {"--Example: a BMI of 0.390059173107147 will show as BMI:39"}
#SHOW {""}
}
#ALIAS showStatSum {
#IF (@showStatSum=1) {showStatSum=0} {showStatSum=1}
#IF (@showStatSum=1) {#ECHO {StatSum information is turned on.}} {#ECHO {StatSum information is turned off.}}
}
#ALIAS showTotalDefense {
#IF (@showTotalDefense=1) {showTotalDefense=0} {showTotalDefense=1}
#IF (@showTotalDefense=1) {#ECHO {TotalDefense information is turned on.}} {#ECHO {TotalDefense information is turned off.}}
}
#ALIAS showBMI {
#IF (@showBMI=1) {showBMI=0} {showBMI=1}
#IF (@showBMI=1) {#ECHO {BMI information is turned on.}} {#ECHO {BMI information is turned off.}}
}
#ALIAS scoreStat {
#IF (%1=connection) {
#T+ scoreConnection
#T+ statConnection
score
stat
} {}
#IF (%1=on) {
#T+ scoreTrigger
#T+ statTrigger
} {}
}
#VAR scoreLevel {}
#VAR scoreName {}
#VAR scoreStatCount {1} {1}
#VAR scoreStatLoadList {} {}
#VAR showBMI {1}
#VAR showStatSum {1}
#VAR showTotalDefense {1}
#VAR statAge {}
#VAR statBMI {}
#VAR statCON {}
#VAR statCarryWeight {}
#VAR statClass {}
#VAR statDEX {}
#VAR statDodge {}
#VAR statFeet {}
#VAR statGender {}
#VAR statHeightBMI {}
#VAR statINT {}
#VAR statInches {}
#VAR statOffensive {}
#VAR statParry {}
#VAR statRace {}
#VAR statSTR {}
#VAR statSUM {}
#VAR statTotalBMI {}
#VAR statTotalDefense {}
#VAR statTotalHeight {}
#VAR statWIL {}
#VAR statWeight {}
#VAR statWeightBMI {}
#VAR statWeightCondition {}
#VAR statWeightTotalBMI {}
#VAR statWornWeight {}
#TRIGGER {^Welcome to the Wheel of Time! Type 'help' for information.$} {
scoreStat connection
}
#TRIGGER {^Reconnecting.$} {
scoreStat connection
}
#TRIGGER {^You take over your own body, already in use!$} {
scoreStat connection
}
#TRIGGER "scoreConnection" {^This ranks you as &%wscoreName * ~(Level &%dscoreLevel~).$} {
#IF (%class(Characters|@scoreName)=0) {#T+ {Characters|@scoreName}} {}
#IF (%class(Characters|Statting)=0) {#IF (@scoreLevel<4) {#T+ {Characters|Statting}} {#T- {Characters|Statting}}} {}
#T+ scoreStatTrigger
#T+ scoreStatTrigger2
#T- scoreConnection
} "" {disable}
#TRIGGER "statConnection" {You are a &%dstatAge year old &%wstatGender &%wstatRace &%wstatClass} {
#IF (%class(TargetBar)=1) {%concat(resetTarget,@statRace)} {}
#IF (%class(AutoScan)=0) {#IF (@statClass=rogue) {#T+ AutoScan} {}} {}
#IF (%class(AutoTrack)=0) {#IF (@statClass=hunter) {#T+ AutoTrack} {}} {}
#IF (%class(SourceToggle)=0) {#IF (@statClass=channeler) {#T+ SourceToggle} {}} {}
#IF (%class(Time)=1) {#IF (%ismember(@scoreName,@timeCharacterList)) {} {#ADDITEM scoreStatLoadList timeCharacter}} {}
#IF (%class(Clumsy)=1) {#IF (%ismember(@scoreName,@clumsyCharacterList)) {} {#ADDITEM scoreStatLoadList clumsyCharacter}} {}
#IF (%class(Practices)=1) {#IF (%ismember(@scoreName,@pracCharacterList)) {} {#ADDITEM scoreStatLoadList pracCharacter}} {}
#IF (%class(MeleeRounds)=1) {#IF (%ismember(@scoreName,@meleeCharacterList)) {} {#ADDITEM scoreStatLoadList meleeCharacter}} {}
#IF (%class(WeaveFail)=1) {#IF (%ismember(@scoreName,@weaveCharacterList)) {} {#IF (@statClass=channeler) {#ADDITEM scoreStatLoadList weaveCharacter} {}}} {}
scoreStat on
#T- statConnection
} "" {disable}
#TRIGGER "scoreTrigger" {^This ranks you as &%wscoreName * ~(Level &%dscoreLevel~).$} {
#IF (%class(Characters|@scoreName)=0) {#T+ {Characters|@scoreName}} {}
#IF (%class(Characters)=1) {#IF (@scoreLevel<4) {#T+ {Characters|Statting}} {#T- {Characters|Statting}}} {}
} "" {disable}
#TRIGGER "statTrigger" {You are a &%dstatAge year old &%wstatGender &%wstatRace &%wstatClass} {
#IF (@scoreLevel>29) {#CALL %charcomment(You are a @statAge year old @statGender @statRace @statClass.)} {}
#IF (%class(AutoScan)=0) {#IF (@statClass=rogue) {#T+ AutoScan} {}} {}
#IF (%class(AutoTrack)=0) {#IF (@statClass=hunter) {#T+ AutoTrack} {}} {}
#IF (%class(SourceToggle)=0) {#IF (@statClass=channeler) {#T+ SourceToggle} {}} {}
} "" {disable}
#TRIGGER "scoreStatTrigger" {^You are subjected to the following effects:} {
#IF (%numitems(@scoreStatLoadList)>0) {
%item(@scoreStatLoadList,@scoreStatCount)
} {
#T- scoreStatTrigger2
#IF (%class(Time)=1) {timeConnection} {}
}
#T- scoreStatTrigger
}
#TRIGGER "scoreStatTrigger2" {...%1 script loaded.} {
#ADD scoreStatCount 1
#IF (@scoreStatCount<=%numitems(@scoreStatLoadList)) {
%item(@scoreStatLoadList,@scoreStatCount)
} {
#ECHO {""}
#ECHO {All HoM scripts have finished loading.}
#T- scoreStatTrigger2
timeConnection
}
}
#TRIGGER {^Your base abilities are: Str:&%dstatSTR Int:&%dstatINT Wil:&%dstatWIL Dex:&%dstatDEX Con:&%dstatCON} {
#MATH statSUM @statSTR+@statINT+@statWIL+@statDEX+@statCON
#IF (@showStatSum) {#SUB {Your base abilities are: Str:@statSTR Int:@statINT Wil:@statWIL Dex:@statDEX Con:@statCON Sum:@statSUM}}
}
#TRIGGER {^Offensive bonus: &%dstatOffensive, Dodging bonus: &%dstatDodge, Parrying bonus: &%dstatParry} {
#MATH statTotalDefense @statDodge+@statParry
#IF (@showTotalDefense) {#SUB {Offensive bonus: @statOffensive, Dodging bonus: @statDodge, Parrying bonus: @statParry, Total defense: @statTotalDefense}}
}
#TRIGGER {^Your height is &%dstatFeet feet, &%dstatInches inches, and you weigh &statWeight lbs.} {
#MATH statTotalHeight (@statFeet*12)+@statInches
#MATH statHeightBMI @statTotalHeight*@statTotalHeight
#MATH statWeightBMI @statWeight*10
#MATH statBMI %float(@statWeightBMI)/%float(@statHeightBMI)
#IF (@showBMI) {#SUB {Your height is @statFeet feet, @statInches inches, and you weigh @statWeight lbs. Base BMI:%copy(@statBMI,3,2)}}
}
#TRIGGER {^You are carrying &statCarryWeight lbs and wearing &statWornWeight lbs, &statWeightCondition.} {
#MATH statWeightTotalBMI (@statWeight+@statWornWeight)*10
#MATH statTotalBMI %float(@statWeightTotalBMI)/%float(@statHeightBMI)
#IF (@showBMI) {#SUB {You are carrying @statCarryWeight lbs and wearing @statWornWeight lbs, @statWeightCondition Total BMI:%copy(@statTotalBMI,3,2)}}
}
#CLASS 0
Last edited by Taziar on Wed May 17, 2017 4:28 am, edited 49 times in total.
Re: House of Medakan
NO LONGER SUPPORTED
-----BEEP-----
*needed for any of my scripts that use sound.
Install Beep script if using any HoM script that requires it to avoid argle-bargle's, can set Beep script to "silent mode".
Type helpBeep to view help file.
Type toggleBeepYou to toggle Beep script function on/off when someone sends you a beep.
Type toggleBeepMod to toggle beep sound modulation on/off. (default is off)
-Note: if on beep sound changes at you receive multiple notifications through beepDuration.
Type showBeep to see current Beep script settings.
Type beepTimes <number> to set how many times Beep script repeats itself.
-Example: beepTimes 7 will set Beep script to beep 7 times per beep event.
--Note: setting beepTimes to 0 will disable Beep script (silent mode).
---Hint: setting beepTimes to 1 will play just a single beep on activation.
Type beepDuration <number> to set time interval between beeps.
-Example beepDuration 4 will set a 4 second delay between each repeated beep.
--Note: duration can be assigned in 1 second allotments.
Table of Contents
-----BEEP-----
*needed for any of my scripts that use sound.
Install Beep script if using any HoM script that requires it to avoid argle-bargle's, can set Beep script to "silent mode".
Type helpBeep to view help file.
Type toggleBeepYou to toggle Beep script function on/off when someone sends you a beep.
Type toggleBeepMod to toggle beep sound modulation on/off. (default is off)
-Note: if on beep sound changes at you receive multiple notifications through beepDuration.
Type showBeep to see current Beep script settings.
Type beepTimes <number> to set how many times Beep script repeats itself.
-Example: beepTimes 7 will set Beep script to beep 7 times per beep event.
--Note: setting beepTimes to 0 will disable Beep script (silent mode).
---Hint: setting beepTimes to 1 will play just a single beep on activation.
Type beepDuration <number> to set time interval between beeps.
-Example beepDuration 4 will set a 4 second delay between each repeated beep.
--Note: duration can be assigned in 1 second allotments.
Code: Select all
#CLASS {Beep}
#ALIAS helpBeep {
#SHOW {""}
#SHOW {""}
#SHOW {"-----Beep script-----"}
#SHOW {""}
#SHOW {"Type showBeep to see current Beep script settings. Two beeps, two seconds set as default."}
#SHOW {""}
#SHOW {"Type toggleBeepYou to toggle Beep script function on/off when someone sends you a beep."}
#SHOW {""}
#SHOW {"Type toggleBeepMod to toggle beep sound modulation on/off. (default is off)"}
#SHOW {"-Note: if on beep sound changes at you receive multiple notifications through beepDuration."}
#SHOW {""}
#SHOW {"Type beepSound <type> to set beep sound type. (default is null)"}
#SHOW {"-Note: available sounds are null, 0, 16."}
#SHOW {"--Example beepSound 16 to set sound type as 16."}
#SHOW {""}
#SHOW {"Type beepTimes <number> to set how many times Beep script repeats itself."}
#SHOW {"-Example: beepTimes 7 will set Beep script to beep 7 times per beep event."}
#SHOW {"--Note: setting beepTimes to 0 will disable Beep script (silent mode)."}
#SHOW {"---Hint: setting beepTimes to 1 will play just a single beep on activation."}
#SHOW {""}
#SHOW {"Type beepDuration <number> to set time interval between beeps."}
#SHOW {"-Example beepDuration 4 will set a 4 second delay between each repeated beep."}
#SHOW {"--Note: duration can be assigned in 1 second allotments."}
#SHOW {""}
}
#ALIAS toggleBeepYou {
#IF (@beepYou=1) {beepYou=0} {beepYou=1}
#IF (@beepYou=1) {
#ECHO {Beep script will now execute whenever you receive a beep.}
} {
#ECHO {Beep script will NOT execute when you receive a beep.}
}
}
#ALIAS toggleBeepMod {
#IF (@beepMod=1) {beepMod=0} {beepMod=1}
#IF (@beepMod=1) {
#ECHO {Beep script will now modulate sounds whenever you receive multiple beeps.}
} {
#ECHO {Beep script will not modulate sounds, beeps stay consistant.}
}
}
#ALIAS showBeep {
#ECHO {}
#IF (@beepDuration>=1 AND @beepTimes>0) {#ECHO {Beep script is set to repeat @beepTimes beeps every @beepDuration seconds.}} {}
#IF (@beepDuration<1 AND @beepTimes>0) {
#ECHO {Beep script cannot be set to less than one second intervals.}
beepDuration 1
} {}
#IF (@beepTimes=0) {
#ECHO {}
#ECHO {Beep script is set to silent mode.} {}
}
}
#ALIAS beepSound {
#IF (%ismember(%1,@beepSoundType)) {
#IF (%1=null) {beepSound=""} {}
#IF (%1=0) {beepSound=0} {}
#IF (%1=16) {beepSound=16} {}
#ECHO {Beep sound is now set as @beepSound type.}
} {
#ECHO {}
#ECHO {beepSound <type> , available types are null, 0, 16.}
#ECHO {Example: beepSound 0 to set beep sound to the 0 type.}
}
}
#ALIAS beepTimes {
#IF (%isnumber(%1)) {
#VAR beepTimes %1
showBeep
} {
#ECHO {}
#SHOW {Type beepTimes <number> to set Beep script repetition amount.}
#SHOW {Example: type beepTimes 7 to set 7 beeps per beep event.}
}
}
#ALIAS beepDuration {
#IF (%isnumber(%1)) {
#VAR beepDuration %1
showBeep
} {
#ECHO {}
#SHOW {Type beepDuration <number> to set Beep script duration between beeps.}
#SHOW {Example: type beepDuration 4 to set 4 seconds between beeps.}
}
}
#ALIAS beepModulate {
#ADD beepModCount 1
#IF (@beepModCount=1) {beepSound=""} {}
#IF (@beepModCount=2) {beepSound=0} {}
#IF (@beepModCount=3) {beepSound=16} {}
#IF (@beepModCount=3) {beepModCount=0} {}
}
#ALIAS beepRepeat {
#IF (@beepMod) {beepModulate} {}
#IF (@beepTimes>0 AND @beepCount=1) {
#BEEP @beepSound
#IF (@beepCount<@beepTimes) {
beepAlarm
#ADD beepCount 1
} {}
}
}
#ALIAS beepAlarm {
#IF (@beepMod) {beepModulate} {}
#ALARM +@beepDuration {
#BEEP @beepSound
#IF (@beepCount<@beepTimes) {
beepAlarm
#ADD beepCount 1
} {beepCount=1}
}
}
#VAR beepCount {1}
#VAR beepDuration {2}
#VAR beepMod {0}
#VAR beepModCount {0}
#VAR beepSound {""}
#VAR beepTimes {2}
#VAR beepYou {1}
#IF (@beepYou) {#TRIGGER {%w beeps you!} {beepRepeat}} {}
#CLASS 0
Last edited by Taziar on Wed May 03, 2017 2:57 am, edited 15 times in total.
Re: House of Medakan
OUTDATED
see new version here: Rent
-----RentStorage-----
*Use ScoreStat script for full functionality.
I do not know the original author of this script, but I have happily used it for years and years.
I have edited this script from the original, and have added a help file to the script.
This script relies heavily on your zMUD map, it uses the room locations for the rents and the names of the rooms and the names of the zones they are located in.
Rents must be added and you must be in that room on your map to make everything work correctly when adding equipment to your database.
You can check what equipment you have stored at any time, in any room, even offline!
Make sure to have your map location inside the correct room whenever you type the list command, this can and will overwrite another rent.
This happens to me sometimes as I forget to set map location before I type list to see contents of a rent right after connecting.
Every time you deposit or withdraw you need to type list afterward so that the script can save the current items properly into that rent file for that location.
Type helpRentStorage for list of commands.
Type addrent (to add a new rent into the system).
Type showrent (to get a list of all the rents).
Type showrent # (will show the contents of that particular rent).
Type showrent all (will show all contents of all the rents the current character has in the system).
Type showrent all <name> (will show all rent content for an alt of the given <name>).
Type searchrent <item> (will search all character rents and return any <item> that matches).
Caemlyn Queen's Blessing is already added as the first rent location, check that the room number on your map has the same room number as the script (426) or edit the script to your current room number for that room in the #VAR rentRoomNumbers.
This is because of the way the script stores newly added rents, it needs one location stored in the variables so the formatting works properly. I may try and re-write this in the future.
Table of Contents
see new version here: Rent
-----RentStorage-----
*Use ScoreStat script for full functionality.
I do not know the original author of this script, but I have happily used it for years and years.
I have edited this script from the original, and have added a help file to the script.
This script relies heavily on your zMUD map, it uses the room locations for the rents and the names of the rooms and the names of the zones they are located in.
Rents must be added and you must be in that room on your map to make everything work correctly when adding equipment to your database.
You can check what equipment you have stored at any time, in any room, even offline!
Make sure to have your map location inside the correct room whenever you type the list command, this can and will overwrite another rent.
This happens to me sometimes as I forget to set map location before I type list to see contents of a rent right after connecting.
Every time you deposit or withdraw you need to type list afterward so that the script can save the current items properly into that rent file for that location.
Type helpRentStorage for list of commands.
Type addrent (to add a new rent into the system).
Type showrent (to get a list of all the rents).
Type showrent # (will show the contents of that particular rent).
Type showrent all (will show all contents of all the rents the current character has in the system).
Type showrent all <name> (will show all rent content for an alt of the given <name>).
Type searchrent <item> (will search all character rents and return any <item> that matches).
Caemlyn Queen's Blessing is already added as the first rent location, check that the room number on your map has the same room number as the script (426) or edit the script to your current room number for that room in the #VAR rentRoomNumbers.
This is because of the way the script stores newly added rents, it needs one location stored in the variables so the formatting works properly. I may try and re-write this in the future.
Code: Select all
#CLASS {RentStorage}
#ALIAS helpRentStorage {
#SHOW {""}
#SHOW {""}
#SHOW {"-----RentStorage Commands-----"}
#SHOW {""}
#SHOW {"Type showRent for list of available rents and usage syntax."}
#SHOW {"--Example: showrent all <Name> will show all items in all rent locations for that character name."}
#SHOW {""}
#SHOW {"Type addRent in any room with an innkeeper to create a rent location there."}
#SHOW {""}
#SHOW {"Type searchRent <item> to search for an item in all rents across all alts."}
#SHOW {""}
#SHOW {"Type rentFColor <color> to set RentStorage message foreground text color."}
#SHOW {""}
#SHOW {"Type rentBColor <color> to set RentStorage message background color."}
#SHOW {""}
}
#ALIAS rentFColor {
#VAR rentForeColor %1
#ECHO {%1 is now set as your RentStorage foreground color.}
}
#ALIAS rentBColor {
#VAR rentBackColor %1
#ECHO {%1 is now set as your RentStorage background.}
}
#ALIAS addTempToBase {
#SHOW %ansi(@rentForeColor,@rentBackColor)Rent Updated!
#VAR %concat( @currentChar, @thisRent) {@tempContent} {_nodef} "RentStorage|RentContent"
#VAR tempContent {}
}
#ALIAS showRent {
#IF (%len( %1)=0) {
#SHOW %crlf
#SHOW %crlf Usage showrent ~<rentnumber~> ~[character, current if omitted~]
#SHOW %crlf %ansi(@rentForeColor,@rentBackColor)Available Rents %crlf
#LOOP 1,%numitems( @rentRoomNumbers) {
#SHOW %i. %item( @rentRoomCity, %i) - %item( @rentRoomNames, %i)}
} {#IF (%len( %2)>0) {#VAR thisChar %2} {#VAR thisChar @currentChar}
#IF (%1 == "all") {
#SHOW %crlf
#SHOW %ansi(@rentForeColor,@rentBackColor)Available Rents for %proper(@thisChar)
#SHOW %crlf
#LOOP 1,%numitems(@rentRoomNumbers) {
#VAR thisRent %item( @rentRoomNumbers, %i)
#IF (%len(%eval(%concat( "@", @thisChar, @thisRent)))==0) {#NOOP} {
#SHOW %item( @rentRoomCity, %i) - %item( @rentRoomNames, %i)
#LOOP 1,%numitems( %eval( %concat( "@", @thisChar, @thisRent))) {
#SHOW %char(32)%char(32)%j~). %item( %eval( %concat( "@", @thisChar, @thisRent)), %j)}
#SHOW %crlf}
}
} {#VAR thisRent %item( @rentRoomNumbers, %1)
#SHOW %crlf %item( @rentRoomNames, %1) - %item( @rentRoomCity, %1) %crlf
#IF (%len(%eval(%concat( "@", @thisChar, @thisRent)))==0) {
#SHOW %ansi(@rentForeColor,@rentBackColor)You have no items stored at this Location} {
#LOOP 1,%numitems( %eval( %concat( "@", @thisChar, @thisRent))) {
#SHOW %char(32)%char(32)%char(32)%i). %item( %eval( %concat( "@", @thisChar, @thisRent)), %i)}
#SHOW %crlf}
}
}
}
#ALIAS addRent {
#IF (%ismember( %roomnum, @rentRoomNumbers)=0) {
#VAR rentRoomNumbers %replace( %concat( @rentRoomNumbers, "|", %string( %roomnum)), "~"","")
#VAR rentRoomNames %replace( %concat( @rentRoomNames, "|", %string( %roomname)), "~"","")
#VAR rentRoomCity %replace( %concat( @rentRoomCity, "|", %string( %zonename)), "~"","")
#SHOW %crlf %ansi(@rentForeColor,@rentBackColor)Rent Added!} {#SHOW %crlf %ansi(@rentForeColor,@rentBackColor)Rent already in database.}
}
#ALIAS searchRent {
#IF (%len( %-1) > 0) {
#VAR searchsuccessful {0}
#VAR searchItem {%lower(%-1)}
#SHOW %crlf %char(32)Searching rents for: %ansi(@rentForeColor,@rentBackColor)%-1
#LOOP 1,%numitems(@rentCharNames) {
#LOOP 1,%numitems(@rentRoomNumbers) {
#IF (%pos( @searchItem, %eval(%concat( "@", %item( @rentCharNames, %i), %item( @rentRoomNumbers, %j)))) > 0) {
#VAR searchsuccessful {1}
#SHOW %crlf %proper(%item( @rentCharNames, %i)) - %item( @rentRoomCity, %j) - %item( @rentRoomNames, %j)
#LOOP 1,%numitems(%eval(%concat( "@", %item( @rentCharNames, %i), %item( @rentRoomNumbers, %j)))) {
#IF ( %pos( @searchitem, %item( %eval(%concat( "@", %item( @rentCharNames, %i), %item( @rentRoomNumbers, %j))), %k)) > 0) {
#SHOW %char(32)%char(32)%ansi(@rentForeColor,@rentBackColor)%k~). %item( %eval(%concat( "@", %item( @rentCharNames, %i), %item( @rentRoomNumbers, %j))), %k)} {
#SHOW %char(32)%char(32)%k~). %item( %eval(%concat( "@", %item( @rentCharNames, %i), %item( @rentRoomNumbers, %j))), %k)}}} {#NOOP}}
}
#IF (@searchsuccessful=0) {
#SHOW %crlf %char(32)Did not find any %ansi(@rentForeColor,@rentBackColor)@searchitem} {#NOOP}} {#SHOW %crlf Usage searchrent ~<item keyword~(s~)~>}
}
#VAR searchSuccessful {}
#VAR searchItem {}
#VAR rentForeColor {cyan}
#VAR rentBackColor {white}
#VAR rentRoomNumbers {462}
#VAR rentRoomNames {Reception of the Queen's Blessing}
#VAR rentRoomCity {Caemlyn}
#VAR rentCharNames {}
#VAR tempContent {}
#VAR thisRent {}
#VAR currentChar {}
#VAR thisChar {}
#TRIGGER {* tells you, 'I don't have any items for you here.'} {
#SHOW %ansi(@rentForeColor,@rentBackColor)Rent Cleared!
#VAR thisRent %roomnum
#VAR %concat( @currentChar, @thisRent) {@tempContent} {_nodef} "RentStorage|RentContent"
}
#ONINPUT {list} {
#T+ list
#ALARM "listal" +3 {#T- list}
} "" {notrig}
#TRIGGER "list" {1. * item* stored for} {
#IF (%ismember( %roomnum, @rentRoomNumbers)) {
#VAR thisRent %roomnum
#VAR tempContent {}
#T+ itemGrabber1
#T+ itemGrabber2
#T+ itemGrabber3
#ALARM "igrab" +3 {
#T- itemGrabber1
#T- itemGrabber2
#T- itemGrabber3
addtemptobase
}
}
} "" {disable}
#TRIGGER "itemGrabber1" {^ (a?*)$} {#PRIORITY {#VAR tempContent %additem( "%1", @tempContent)}} "" {disable}
#TRIGGER "itemGrabber2" {^ (some?*)$} {#PRIORITY {#VAR tempContent %additem( "%1", @tempContent)}} "" {disable}
#TRIGGER "itemGrabber3" {^ (the?*)$} {#PRIORITY {#VAR tempContent %additem( "%1", @tempContent)}} "" {disable}
#TRIGGER {This ranks you as (%w) * ~(Level (%d)~).} {
#VAR currentChar %lower( %1)
#IF (( %2>10) & ( %ismember( @currentChar, @rentCharNames)=0)) {#VAR rentCharNames {%additem( %lower( %1), @rentCharNames)}} {#NOOP}
}
#CLASS 0
#CLASS {RentStorage|RentContent}
#CLASS 0
Last edited by Taziar on Tue Apr 25, 2017 6:34 pm, edited 11 times in total.
Re: House of Medakan
OUTDATED
see new version here: Doors
-----Door Script-----
I'd like to thank Zain for the basic script concept and all the help he has given me over the years.
@doorName variable is automatically filled with trigger events.
--Example:
look south
The gate is open.
doorName is now set as: gate
Type helpDoors to view commands.
Type od to open @doorName
Type cd to close @doorName
Type kd to knock @doorName
Type ld to lock @doorName
Type ud to unlock @doorName
Type pd to pick @doorName
If a direction is added after command will open door in that direction.
Only works if door name is saved in map properties and map is in proper room.
Example: Type od n to open door to the north, Type cd s to close door to the south.
Recognized directions: n e s w u d
Note: anything not a recognized direction after command will just send command @doorName.
Example: od <anything not a recognized direction> will send: open @doorName
I set up a macro for both opening and closing @doorName example:
Table of Contents
see new version here: Doors
-----Door Script-----
I'd like to thank Zain for the basic script concept and all the help he has given me over the years.
@doorName variable is automatically filled with trigger events.
--Example:
look south
The gate is open.
doorName is now set as: gate
Type helpDoors to view commands.
Type od to open @doorName
Type cd to close @doorName
Type kd to knock @doorName
Type ld to lock @doorName
Type ud to unlock @doorName
Type pd to pick @doorName
If a direction is added after command will open door in that direction.
Only works if door name is saved in map properties and map is in proper room.
Example: Type od n to open door to the north, Type cd s to close door to the south.
Recognized directions: n e s w u d
Note: anything not a recognized direction after command will just send command @doorName.
Example: od <anything not a recognized direction> will send: open @doorName
Code: Select all
#CLASS {Doors}
#ALIAS helpDoors {
#SHOW {""}
#SHOW {""}
#SHOW {"------Doors Script Settings and Commands-----"}
#SHOW {"@doorName variable is automatically filled with trigger events."}
#SHOW {""}
#SHOW {"Type <command> to complete action."}
#SHOW {"--Example: Type od to open @doorName."}
#SHOW {""}
#SHOW {"Type <command> <direction> to open door in that direction."}
#SHOW {"--Map must be set to current location and door name saved in map properties."}
#SHOW {"--Example: Type od n to open door north. Directions: n e s w u d"}
#SHOW {""}
#SHOW {"Type od to open door."}
#SHOW {"Type cd to close door."}
#SHOW {"Type kd to knock door."}
#SHOW {"Type ld to lock door."}
#SHOW {"Type ud to unlock door."}
#SHOW {"Type pd to pick door."}
#SHOW {""}
}
#ALIAS od {#IF (%ismember(%1,@doorDirections)) {open %doorname( ,%1)} {open @doorName}}
#ALIAS cd {#IF (%ismember(%1,@doorDirections)) {close %doorname( ,%1)} {close @doorName}}
#ALIAS kd {#IF (%ismember(%1,@doorDirections)) {knock %doorname( ,%1)} {knock @doorName}}
#ALIAS ld {#IF (%ismember(%1,@doorDirections)) {lock %doorname( ,%1)} {lock @doorName}}
#ALIAS ud {#IF (%ismember(%1,@doorDirections)) {unlock %doorname( ,%1)} {unlock @doorName}}
#ALIAS pd {#IF (%ismember(%1,@doorDirections)) {pick %doorname( ,%1)} {pick @doorName}}
#VAR doorName {}
#VAR doorDirections {n|e|s|w|u|d} {n|e|s|w|u|d}
#TRIGGER {The %1 seems to be closed.} {
#VAR doorName %1
#ECHO {doorName is now set as: %1}
}
#TRIGGER {You skillfully discover a hidden %1.} {
#VAR doorName %1
#ECHO {doorName is now set as: %1}
}
#TRIGGER {The %1 is closed.} {
#VAR doorName %1
#ECHO {doorName is now set as: %1}
}
#TRIGGER {The %1 is open.} {
#VAR doorName %1
#ECHO {doorName is now set as: %1}
}
#TRIGGER {The %1 is obviously open.} {
#VAR doorName %1
#ECHO {doorName is now set as: %1}
}
#TRIGGER {The %1 is quite visible.} {
#VAR doorName %1
#ECHO {doorName is now set as: %1}
}
#CLASS 0
Code: Select all
#KEY ADD open {@doorName}
#KEY SUB close {@doorName}
Last edited by Taziar on Sun May 14, 2017 8:03 pm, edited 15 times in total.
Re: House of Medakan
NO LONGER SUPPORTED
-----Prompt-----
*Beep script needed for full functionality.
Prompt script takes the condition of HP/SP/MV and places the value into a variable.
Type helpPrompt for list of commands.
Type promptSoundToggle to toggle combat sounds on/off
Activates Beep script when you go down a step in condition.
Wounded to Battered, Battered to Beaten, Beaten to Critical.
Does not activate when going from a lower condition to a higher condition.
Type promptExitsToggle to toggle exit directions in prompt on/off.
Example: * HP:Healthy MV:Tiring [Exits:NESW]> -and- * HP:Hurt MV:Winded - a spotted jaguar: Beaten [Exits:NE]>
Note: this conflicts with the RP-lizer, turn off before logging anything you are going to run through the RP-lizer.
Prompt script automatically saves the player name and health condition of opponents detected in your prompt line.
Variables are promptPlayerName and promptPlayerHealth for use in any target script.
Example: * HP:Hurt MV:Winded - Taziar: Beaten > would save Taziar in promptPlayerName and Beaten in promptPlayerCondition variables.
Thanks goes to Sarryn for the combat sounds idea.
Thanks goes to Jakyl for the exits in prompt idea.
Thanks goes to Enok for the promptPlayerName idea.
Table of Contents
-----Prompt-----
*Beep script needed for full functionality.
Prompt script takes the condition of HP/SP/MV and places the value into a variable.
Type helpPrompt for list of commands.
Type promptSoundToggle to toggle combat sounds on/off
Activates Beep script when you go down a step in condition.
Wounded to Battered, Battered to Beaten, Beaten to Critical.
Does not activate when going from a lower condition to a higher condition.
Type promptExitsToggle to toggle exit directions in prompt on/off.
Example: * HP:Healthy MV:Tiring [Exits:NESW]> -and- * HP:Hurt MV:Winded - a spotted jaguar: Beaten [Exits:NE]>
Note: this conflicts with the RP-lizer, turn off before logging anything you are going to run through the RP-lizer.
Prompt script automatically saves the player name and health condition of opponents detected in your prompt line.
Variables are promptPlayerName and promptPlayerHealth for use in any target script.
Example: * HP:Hurt MV:Winded - Taziar: Beaten > would save Taziar in promptPlayerName and Beaten in promptPlayerCondition variables.
Thanks goes to Sarryn for the combat sounds idea.
Thanks goes to Jakyl for the exits in prompt idea.
Thanks goes to Enok for the promptPlayerName idea.
Code: Select all
#CLASS {Prompt} {setdef}
#ALIAS helpPrompt {
#SHOW {""}
#SHOW {""}
#SAY {"-----Prompt Help File-----"}
#SHOW {""}
#SHOW {"Type promptSoundToggle to toggle combat sounds on/off."}
#SHOW {"Will activate Beep script when going down a step in condition."}
#SHOW {"Wounded to Battered, Battered to Beaten, Beaten to Critical."}
#SHOW {"Does not activate when going from a lower condition to a higher condition."}
#SHOW {""}
#SHOW {"Type promptExitsToggle to toggle exits in prompt on/off."}
#SHOW {"Adds current room exits in the prompt line."}
#SHOW {"-Note: turn this off before logging if using the RP-lizer."}
#SHOW {""}
#SHOW {"Prompt script automatically saves the opponents player name and health."}
#SHOW {"Variables are promptPlayerName and promptPlayerHealth for use in any target script."}
#SHOW {"Example: * HP:Hurt MV:Winded - Taziar: Beaten >"}
#SHOW {"-Note: would save Taziar in promptPlayerName and Beaten in promptPlayerCondition variables."}
#SHOW {""}
}
#ALIAS promptSoundToggle {
#IF (@showCombatSounds=1) {showCombatSounds=0} {showCombatSounds=1}
#IF (@showCombatSounds=1) {#SAY {Combat sounds are enabled.}} {#SAY {Combat sounds are disabled.}}
#IF (@showCombatSounds=1) {
#VAR promptHitPoint {}
#T+ {promptHealthyTrigger}
#T+ {promptScratchedTrigger}
#T+ {promptHurtTrigger}
#T+ {promptWoundedTrigger}
#T+ {promptBatteredTrigger}
#T+ {promptBeatenTrigger}
#T+ {promptCriticalTrigger}
} {
#T- {promptHealthyTrigger}
#T- {promptScratchedTrigger}
#T- {promptHurtTrigger}
#T- {promptWoundedTrigger}
#T- {promptBatteredTrigger}
#T- {promptBeatenTrigger}
#T- {promptCriticalTrigger}
}
}
#ALIAS promptExitsToggle {
#IF (@showExitPrompt=1) {showExitPrompt=0} {showExitPrompt=1}
#IF (@showExitPrompt=1) {#SAY {Exits in Prompt are enabled.}} {#SAY {Exits in Prompt are disabled.}}
#IF (@showExitPrompt=1) {
#T+ {promptExitTrigger}
#T+ {promptExitDark}
#T+ {promptExitBlind}
} {
#T- {promptExitTrigger}
#T- {promptExitDark}
#T- {promptExitBlind}
}
}
#VAR promptExitList {}
#VAR promptHitPoint {}
#VAR promptMovePoint {}
#VAR promptPlayerCondition {}
#VAR promptPlayerName {}
#VAR promptSpellPoint {}
#VAR showCombatSounds {1}
#VAR showExitPrompt {0}
#TRIGGER "promptExitTrigger" {^~[ obvious exits: (*) ~]} {
#VAR promptExitList %replace(%1," ","")
} "" {case|notrig}
#TRIGGER "promptExitDark" {It is pitch black...} {
#VAR promptExitList {"?!?!"}
} "" {case|notrig|verbatim}
#TRIGGER "promptExitBlind" {You can't see a damned thing, you're blinded!} {
#VAR promptExitList {"?!?!"}
} "" {case|notrig|verbatim}
#TRIGGER "" {^({o|*}{ R | | S }HP:)&%wpromptHitPoint(*)MV:&%wpromptMovePoint >} {
#VAR promptSpellPoint %trim(%delete(%3,1,3))
#IF (@showExitPrompt) {#SUB {%1%2%3MV:@promptMovePoint Exits:@promptExitList >}} {}
} "" {case|nocr|prompt}
#TRIGGER "" {^({o|*}{ R | | S }HP:)&%wpromptHitPoint(*)MV:&%wpromptMovePoint - ([A-Z]%w): &%wpromptPlayerCondition >} {
#VAR promptSpellPoint %trim(%delete(%3,1,3))
#VAR promptPlayerName {%5}
#IF (@showExitPrompt) {#SUB {%1%2%3MV:@promptMovePoint Exits:@promptExitList - %5: %6 >}} {}
} "" {case|nocr|prompt}
#TRIGGER "" {^({o|*}{ R | | S }HP:)&%wpromptHitPoint(*)MV:&%wpromptMovePoint (- [a-z]*: %w >)} {
#VAR promptSpellPoint %trim(%delete(%3,1,3))
#IF (@showExitPrompt) {#SUB {%1%2%3MV:@promptMovePoint Exits:@promptExitList %5}} {}
} "" {case|nocr|prompt}
#TRIGGER "" {^({o|*}{ R | | S }HP:)&%wpromptHitPoint(*)MV:&%wpromptMovePoint (- *: %w - )([A-Z]%w): &%wpromptPlayerCondition >} {
#VAR promptSpellPoint %trim(%delete(%3,1,3))
#VAR promptPlayerName {%6}
#IF (@showExitPrompt) {#SUB {%1%2%3MV:@promptMovePoint Exits:@promptExitList %5%6: %7 >}} {}
} "" {case|nocr|prompt}
#TRIGGER "promptHealthyTrigger" {@promptHitPoint=Healthy} {
#T- {promptHealthyTrigger}
#T+ {promptWoundedTrigger}
} "" {exp}
#TRIGGER "promptScratchedTrigger" {@promptHitPoint=Scratched} {
#T- {promptScratchedTrigger}
#T+ {promptWoundedTrigger}
} "" {exp}
#TRIGGER "promptHurtTrigger" {@promptHitPoint=Hurt} {
#T- {promptHurtTrigger}
#T+ {promptWoundedTrigger}
} "" {exp}
#TRIGGER "promptWoundedTrigger" {@promptHitPoint=Wounded} {
#T- {promptWoundedTrigger}
#T+ {promptHealthyTrigger}
#T+ {promptScratchedTrigger}
#T+ {promptHurtTrigger}
#T+ {promptBatteredTrigger}
#T+ {promptBeatenTrigger}
} "" {exp}
#TRIGGER "promptBatteredTrigger" {@promptHitPoint=Battered} {
#T- {promptBatteredTrigger}
#T+ {promptWoundedTrigger}
#T+ {promptBeatenTrigger}
#IF (%class(Beep)=1) {beepRepeat} {}
} "" {exp}
#TRIGGER "promptBeatenTrigger" {@promptHitPoint=Beaten} {
#T- {promptBeatenTrigger}
#T+ {promptWoundedTrigger}
#T+ {promptCriticalTrigger}
#IF (%class(Beep)=1) {beepRepeat} {}
} "" {exp}
#TRIGGER "promptCriticalTrigger" {@promptHitPoint=Critical} {
#T- {promptCriticalTrigger}
#T+ {promptWoundedTrigger}
#IF (%class(Beep)=1) {beepRepeat} {}
} "" {exp}
#CLASS 0
Last edited by Taziar on Sun May 14, 2017 2:24 am, edited 21 times in total.
Re: House of Medakan
-----TargetBar-----
*ScoreStat script needed for full functionality.
I'd like to thank Markus as TargetBar contains a modified version of his StatusBar script.
You will need to delete his version -OR- any script with the #STAT command before using TargetBar.
Type helpTargetBar to view list of commands.
Type tg <name> to set target variable.
Type tg2 <name> to set target2 variable.
Type tg3 <name> to set target3 variable.
Type k <name> to attack <name> and set <name> as target3 variable.
Other versions of kill do NOT change @target3 (example: ki <name> kil <name> kill <name>).
Type pt <name> to set your partner variable.
Type rst to reset your target variables to their racial defaults.
-Note: ScoreStat script will automatically reset targets to your character's race on connection.
Status bar indication positions:
Mood--tg--tg2--tg3--tg4--tg5--tg6--tg7--tg8--tg9--Notice--Sneak--Source--Posture
@target4 through @target9 are used for crossrace name capture.
Whenever a crossRace name (*coloredName*) comes across your screen it will be automatically placed into the target4 variable.
These variables will fill up as new names come across the screen, moving from target4 down the list to target9.
Names rotate as new names come on to your screen, but any name already captured will not cause list to change.
Set your own Alias or Macros to use these variables as you like (examples: #KEY F4 {kill @target4} -or- #ALIAS k4 {kill @target4}).
CrossRace names are shown on the Status Bar in their corresponding colors (red, magenta, or cyan).
Table of Contents
*ScoreStat script needed for full functionality.
I'd like to thank Markus as TargetBar contains a modified version of his StatusBar script.
You will need to delete his version -OR- any script with the #STAT command before using TargetBar.
Type helpTargetBar to view list of commands.
Type tg <name> to set target variable.
Type tg2 <name> to set target2 variable.
Type tg3 <name> to set target3 variable.
Type k <name> to attack <name> and set <name> as target3 variable.
Other versions of kill do NOT change @target3 (example: ki <name> kil <name> kill <name>).
Type pt <name> to set your partner variable.
Type rst to reset your target variables to their racial defaults.
-Note: ScoreStat script will automatically reset targets to your character's race on connection.
Status bar indication positions:
Mood--tg--tg2--tg3--tg4--tg5--tg6--tg7--tg8--tg9--Notice--Sneak--Source--Posture
@target4 through @target9 are used for crossrace name capture.
Whenever a crossRace name (*coloredName*) comes across your screen it will be automatically placed into the target4 variable.
These variables will fill up as new names come across the screen, moving from target4 down the list to target9.
Names rotate as new names come on to your screen, but any name already captured will not cause list to change.
Set your own Alias or Macros to use these variables as you like (examples: #KEY F4 {kill @target4} -or- #ALIAS k4 {kill @target4}).
CrossRace names are shown on the Status Bar in their corresponding colors (red, magenta, or cyan).
Code: Select all
#CLASS {TargetBar}
#ALIAS helpTargetBar {
#SHOW {""}
#SHOW {""}
#SHOW {"-----TargetBar Commands-----"}
#SHOW {""}
#SHOW {"Type tg <name> to set target."}
#SHOW {""}
#SHOW {"Type tg2 <name> to set target2."}
#SHOW {""}
#SHOW {"Type tg3 <name> to set target3."}
#SHOW {""}
#SHOW {"Type k <name> to attack <name> and set <name> as target3."}
#SHOW {"ki <name>, kil <name>, and kill <name> do NOT set target3."}
#SHOW {""}
#SHOW {"Type pt <name> to set partner."}
#SHOW {""}
#SHOW {"Type resetTarget<characterRace> to reset your target variables to thier racial defaults."}
#SHOW {"ScoreStat script will automatically reset targets to your character's racial default on connection."}
#SHOW {""}
#SHOW {"Add alias or macros like: #alias ap {assist @partener} -or- #KEY F1 {assist @partner}"}
#SHOW {"-or- #KEY F2 {kill @target2} to set functions of this script to your own preferences."}
#SHOW {""}
}
#ALIAS noticeOff {#VAR noticeStatusColor dimgray}
#ALIAS noticeOn {#VAR noticeStatusColor lime}
#ALIAS postureNone {#VAR postureStatusColor black}
#ALIAS sneakOff {#VAR sneakStatusColor dimgray}
#ALIAS sneakOn {#VAR sneakStatusColor lime}
#ALIAS sourceOff {#VAR sourceStatusColor black}
#ALIAS sourceOn {#VAR sourceStatusColor lime}
#ALIAS moodWimpy {
#VAR moodStatus WIMPY
#VAR moodStatusColor lightblue
}
#ALIAS moodNormal {
#VAR moodStatus NORMAL
#VAR moodStatusColor steelblue
}
#ALIAS moodBrave {
#VAR moodStatus BRAVE
#VAR moodStatusColor goldenrod
}
#ALIAS moodBerserk {
#VAR moodStatus BERSERK
#VAR moodStatusColor red
}
#ALIAS postureDefensive {
#VAR postureStatus DEFENSE
#VAR postureStatusColor lightblue
}
#ALIAS postureNormal {
#VAR postureStatus NORMAL
#VAR postureStatusColor steelblue
}
#ALIAS postureOffensive {
#VAR postureStatus OFFENSE
#VAR postureStatusColor goldenrod
}
#ALIAS tg {
#VAR target %1
#ECHO {%1 is now set as your target.}
}
#ALIAS tg2 {
#VAR target2 %1
#ECHO {%1 is now set as your target2.}
}
#ALIAS tg3 {
#VAR target3 %1
#ECHO {%1 is now set as your target3.}
}
#ALIAS k {
kill %1
#VAR target3 %1
}
#ALIAS pt {
#VAR partner %1
#ECHO {%1 is now set as your partner.}
}
#ALIAS resetTargetHuman {
#PRIORITY {
#VAR target {dark}
#VAR targetcolor {white}
#VAR target2 {seanchan}
#VAR target2color {white}
}
resetTargets
}
#ALIAS resetTargetTrolloc {
#PRIORITY {
#VAR target {human}
#VAR targetcolor {white}
#VAR target2 {seanchan}
#VAR target2color {white}
}
resetTargets
}
#ALIAS resetTargetSeanchan {
#PRIORITY {
#VAR target {human}
#VAR targetcolor {white}
#VAR target2 {dark}
#VAR target2color {white}
}
resetTargets
}
#ALIAS resetTargetMyrddraal {
#PRIORITY {
#VAR target {human}
#VAR targetcolor {white}
#VAR target2 {seanchan}
#VAR target2color {white}
}
resetTargets
}
#ALIAS resetTargetDreadlord {
#PRIORITY {
#VAR target {human}
#VAR targetcolor {white}
#VAR target2 {seanchan}
#VAR target2color {white}
}
resetTargets
}
#ALIAS resetTargets {
#PRIORITY {
#VAR target3 {3}
#VAR target3color {goldenrod}
#VAR target4 {4}
#VAR target4color {white}
#VAR target5 {5}
#VAR target5color {white}
#VAR target6 {6}
#VAR target6color {white}
#VAR target7 {7}
#VAR target7color {white}
#VAR target8 {8}
#VAR target8color {white}
#VAR target9 {9}
#VAR target9color {white}
#VAR crossName {}
#VAR partner {}
}
}
#VAR target {}
#VAR target2 {}
#VAR target3 {}
#VAR target4 {}
#VAR target5 {}
#VAR target6 {}
#VAR target7 {}
#VAR target8 {}
#VAR target9 {}
#VAR partner {}
#VAR crossName {}
#VAR targetcolor {white}
#VAR target2color {white}
#VAR target3color {goldenrod}
#VAR target4color {white}
#VAR target5color {white}
#VAR target6color {white}
#VAR target7color {white}
#VAR target8color {white}
#VAR target9color {white}
#VAR moodStatus {}
#VAR postureStatus {}
#VAR moodStatusColor {lightblue}
#VAR noticeStatusColor {dimgray}
#VAR sneakStatusColor {dimgray}
#VAR postureStatusColor {black}
#VAR sourceStatusColor {black}
#TRIGGER {^You were rented for *} {
noticeOff
sneakOff
moodWimpy
postureNone
sourceOff
}
#TRIGGER {^You are dead!%sSorry...$} {
sourceOff
moodWimpy
sneakOff
noticeOff
postureNone
}
#TRIGGER {^You are subjected to the following effects:$} {
sourceOff
noticeOff
sneakOff
}
#TRIGGER {^- NOTICE} {noticeOn}
#TRIGGER {^- SNEAK} {sneakOn}
#TRIGGER {^- SOURCE} {sourceOn}
#TRIGGER {You lose all sense of the True Source here.$} {sourceOff}
#TRIGGER {You stop paying increased attention to your surroundings.$} {noticeOff}
#TRIGGER {You start paying increased attention to your surroundings.$} {noticeOn}
#TRIGGER {You sit down and rest your tired bones.$} {noticeOff}
#TRIGGER {You sit down.$} {noticeOff}
#TRIGGER {You go to sleep.$} {noticeOff}
#TRIGGER {^Your mood is: Wimpy. You will flee below} {moodWimpy}
#TRIGGER {^Your mood is: Normal. You will flee below} {moodNormal}
#TRIGGER {^Your mood is: Brave. You will flee below} {moodBrave}
#TRIGGER {^Your mood is: Berserk. You will flee below} {moodBerserk}
#TRIGGER {Mood changed to: Wimpy$} {moodWimpy}
#TRIGGER {Mood changed to: Normal$} {moodNormal}
#TRIGGER {Mood changed to: Brave$} {moodBrave}
#TRIGGER {Mood changed to: Berserk$} {moodBerserk}
#TRIGGER {^{o|*} S} {sneakOn} "" {nocr|prompt}
#TRIGGER {Ok, you stop sneaking.$} {sneakOff}
#TRIGGER {You start riding %w.$} {sneakOff}
#TRIGGER {Posture changed to: Defensive$} {postureDefensive}
#TRIGGER {Posture changed to: Normal$} {postureNormal}
#TRIGGER {Posture changed to: Offensive$} {postureOffensive}
#TRIGGER {Your posture is: Defensive.$} {postureDefensive}
#TRIGGER {Your posture is: Normal.$} {postureNormal}
#TRIGGER {Your posture is: Offensive.$} {postureOffensive}
#TRIGGER {You feel the flows of said?? coursing through your body.$} {sourceOn}
#TRIGGER {~*%e[35m&%wcrossName%e[0m~*} {
#IF (@crossName = @target4) {#ABORT 1}
#IF (@crossName = @target5) {#ABORT 1}
#IF (@crossName = @target6) {#ABORT 1}
#IF (@crossName = @target7) {#ABORT 1}
#IF (@crossName = @target8) {#ABORT 1}
#IF (@crossName = @target9) {#ABORT 1}
#VAR target9color @target8color
#VAR target8color @target7color
#VAR target7color @target6color
#VAR target6color @target5color
#VAR target5color @target4color
#VAR target9 @target8
#VAR target8 @target7
#VAR target7 @target6
#VAR target6 @target5
#VAR target5 @target4
#VAR target4 @crossName
#VAR target4color magenta
} "" {color}
#TRIGGER {~*%e[31m&%wcrossName%e[0m~*} {
#IF (@crossName = @target4) {#ABORT 1}
#IF (@crossName = @target5) {#ABORT 1}
#IF (@crossName = @target6) {#ABORT 1}
#IF (@crossName = @target7) {#ABORT 1}
#IF (@crossName = @target8) {#ABORT 1}
#IF (@crossName = @target9) {#ABORT 1}
#VAR target9color @target8color
#VAR target8color @target7color
#VAR target7color @target6color
#VAR target6color @target5color
#VAR target5color @target4color
#VAR target9 @target8
#VAR target8 @target7
#VAR target7 @target6
#VAR target6 @target5
#VAR target5 @target4
#VAR target4 @crossName
#VAR target4color red
} "" {color}
#TRIGGER {~*%e[36m&%wcrossName%e[0m~*} {
#IF (@crossName = @target4) {#ABORT 1}
#IF (@crossName = @target5) {#ABORT 1}
#IF (@crossName = @target6) {#ABORT 1}
#IF (@crossName = @target7) {#ABORT 1}
#IF (@crossName = @target8) {#ABORT 1}
#IF (@crossName = @target9) {#ABORT 1}
#VAR target9color @target8color
#VAR target8color @target7color
#VAR target7color @target6color
#VAR target6color @target5color
#VAR target5color @target4color
#VAR target9 @target8
#VAR target8 @target7
#VAR target7 @target6
#VAR target6 @target5
#VAR target5 @target4
#VAR target4 @crossName
#VAR target4color cyan
} "" {color}
#ONINPUT {^rel$} {sourceOff}
#ONINPUT {^rele$} {sourceOff}
#ONINPUT {^relea$} {sourceOff}
#ONINPUT {^releas$} {sourceOff}
#ONINPUT {^release$} {sourceOff}
#STATUS {<font fixedsys 11><color @moodStatusColor black> @moodStatus </color><color @targetColor black>@target </color><color @target2Color black>@target2 <color @target3Color black>@target3 </color><color @target4color black>@target4 </color><color @target5color black>@target5 </color><color @target6color black>@target6 </color><color @target7color black>@target7 </color><color @target8color black>@target8 </color><color @target9color black>@target9 </color><color @noticeStatusColor black>NOTICE </color><color @sneakStatusColor black>SNEAK </color><color @sourceStatusColor black>SOURCE </color><color @postureStatusColor black>@postureStatus </color></font>}
#CLASS 0
Last edited by Taziar on Tue Oct 25, 2016 8:12 pm, edited 15 times in total.
Re: House of Medakan
OUTDATED
see new version here: Clumsy
-----Clumsy-----
*ScoreStat script needed for Clumsy script to track individual character stats.
*WeaponType and MeleeRounds scripts needed for disarm function to track stats.
*Reconnect after installing script. Use current ScoreStat script.
Script saves separate data for each character. Needs ScoreStat and WeaponType scripts installed to function properly.
Shows two lines of echo, first line is current session (showSession), second line is over time (showOT).
Type helpClumsy to see all commands
Type showSession -or- showOT to toggle messages on/off.
Type following command to see individual clumsy data:
bashCount
stabCount
chargeCount
disarmCount
kickCount
throwCount
throwCritCount
Type clumsyCount to see ALL clumsy data.
Type resetClumsy to reset ALL clumsy data for current character.
(Now shows date (month/day/year) since resetting data.)
Thanks to Aldazar for the over time idea.
Thanks to Tran for getting me to add more features.
Table of Contents
see new version here: Clumsy
-----Clumsy-----
*ScoreStat script needed for Clumsy script to track individual character stats.
*WeaponType and MeleeRounds scripts needed for disarm function to track stats.
*Reconnect after installing script. Use current ScoreStat script.
Script saves separate data for each character. Needs ScoreStat and WeaponType scripts installed to function properly.
Shows two lines of echo, first line is current session (showSession), second line is over time (showOT).
Type helpClumsy to see all commands
Type showSession -or- showOT to toggle messages on/off.
Type following command to see individual clumsy data:
bashCount
stabCount
chargeCount
disarmCount
kickCount
throwCount
throwCritCount
Type clumsyCount to see ALL clumsy data.
Type resetClumsy to reset ALL clumsy data for current character.
(Now shows date (month/day/year) since resetting data.)
Thanks to Aldazar for the over time idea.
Thanks to Tran for getting me to add more features.
Code: Select all
#CLASS {Clumsy} {setdef}
#ALIAS helpClumsy {
#SHOW {""}
#SHOW {""}
#SHOW {"----Clumsy Script Commands----"}
#SHOW {"HoM ScoreStat script required to have OT and Count commands function properly."}
#SHOW {"HoM MeleeRounds and HoM WeaponType scripts required to have disarm stats track properly."}
#SHOW {""}
#SHOW {"Type showClumsy to toggle session message on/off for all characters."}
#SHOW {""}
#SHOW {"Type showClumsyOT to toggle over time message on/off for current character."}
#SHOW {""}
#SHOW {"Type bashCount to show bash data for current character."}
#SHOW {""}
#SHOW {"Type chargeCount to show charge data for current character."}
#SHOW {""}
#SHOW {"Type clumsyCount to show ALL clumsy count data for current character."}
#SHOW {""}
#SHOW {"Type disarmCount to show disarm data for current character."}
#SHOW {""}
#SHOW {"Type stabCount to show stab data for current character."}
#SHOW {""}
#SHOW {"Type throwCount to show projectile data for current character."}
#SHOW {""}
#SHOW {"Type throwCritCount to show projectile critical data for current character."}
#SHOW {""}
#SHOW {"Type resetSession to reset data for current session only."}
#SHOW {""}
#SHOW {"Type resetClumsy to reset ALL data for current character."}
#SHOW {""}
}
#ALIAS showClumsy {
#IF (@showClumsy=1) {showClumsy=0} {showClumsy=1}
#IF (@showClumsy=1) {#ECHO {Clumsy session message is turned on.}} {#ECHO {Clumsy session message is turned off.}}
}
#ALIAS showClumsyOT {
#IF (%eval(%concat("@show",@scoreName,"OT"))) {#VAR %concat("show",@scoreName,"OT") {0}} {#VAR %concat("show",@scoreName,"OT") {1}}
#IF (%eval(%concat("@show",@scoreName,"OT"))) {#ECHO {Clumsy over time message for @scoreName is turned on.}} {#ECHO {Clumsy over time message for @scoreName is turned off.}}
}
#ALIAS bashCount {
#SHOW {""}
#SHOW {"Bash Data:"}
#IF (@clumsyTotalBash>0) {#ECHO {This session you've landed @clumsyLandBash out of @clumsyTotalBash bashes (@{clumsyPercentageBash}~% landed)}} {#ECHO {No current session data available...}}
#IF (@clumsyTotalBash>0) {#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've landed %eval(%concat("@clumsy",@scoreName,"LandBash")) out of %eval(%concat("@clumsy",@scoreName,"TotalBash")) bashes (%eval(%concat("@clumsy",@scoreName,"PercentageBash"))~% landed)}} {#ECHO {No over time data available...}}
}
#ALIAS chargeCount {
#SHOW {""}
#SHOW {"Charge Data:"}
#IF (@clumsyTotalCharge>0) {#ECHO {This session you've landed @clumsyLandCharge out of @clumsyTotalCharge charges (@{clumsyPercentageCharge}~% landed)}} {#ECHO {No current session data available...}}
#IF (%eval(%concat("@clumsy",@scoreName,"TotalCharge"))>0) {#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've landed %eval(%concat("@clumsy",@scoreName,"LandCharge")) out of %eval(%concat("@clumsy",@scoreName,"TotalCharge")) charges (%eval(%concat("@clumsy",@scoreName,"PercentageCharge"))~% landed)}} {#ECHO {No over time data available...}}
}
#ALIAS clumsyCount {
#SHOW {""}
bashCount
chargeCount
disarmCount
kickCount
stabCount
throwCount
throwCritCount
}
#ALIAS disarmCount {
#SHOW {""}
#SHOW {"Disarm Data:"}
#IF (@clumsyRoundDisarm>0) {#ECHO {This session you've disarmed @clumsyLandDisarm out of @clumsyRoundDisarm possible combat rounds (@{clumsyPercentageDisarm}~% disarmed)}} {#ECHO {No current session data available...}}
#IF (%eval(%concat("@clumsy",@scoreName,"RoundDisarm"))>0) {#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've disarmed %eval(%concat("@clumsy",@scoreName,"LandDisarm")) out of %eval(%concat("@clumsy",@scoreName,"RoundDisarm")) possible combat rounds (%eval(%concat("@clumsy",@scoreName,"PercentageDisarm"))~% disarmed)}} {#ECHO {No over time data available...}}
}
#ALIAS kickCount {
#SHOW {""}
#SHOW {"Kick Data:"}
#IF (@clumsyTotalKick>0) {#ECHO {This session you've landed @clumsyLandKick out of @clumsyTotalKick kicks (@{clumsyPercentageKick}~% landed)}} {#ECHO {No current session data available...}}
#IF (%eval(%concat("@clumsy",@scoreName,"TotalKick"))>0) {#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've landed %eval(%concat("@clumsy",@scoreName,"LandKick")) out of %eval(%concat("@clumsy",@scoreName,"TotalKick")) kicks (%eval(%concat("@clumsy",@scoreName,"PercentageKick"))~% landed)}} {#ECHO {No over time data available...}}
}
#ALIAS stabCount {
#SHOW {""}
#SHOW {"Stab Data:"}
#IF (@clumsyTotalStab>0) {#ECHO {This session you've landed @clumsyLandStab out of @clumsyTotalStab stabs (@{clumsyPercentageStab}~% landed)}} {#ECHO {No current session data available...}}
#IF (%eval(%concat("@clumsy",@scoreName,"TotalStab"))>0) {#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've landed %eval(%concat("@clumsy",@scoreName,"LandStab")) out of %eval(%concat("@clumsy",@scoreName,"TotalStab")) stabs (%eval(%concat("@clumsy",@scoreName,"PercentageStab"))~% landed)}} {#ECHO {No over time data available...}}
}
#ALIAS throwCount {
#SHOW {""}
#SHOW {"Throw Data:"}
#IF (@clumsyTotalThrow>0) {#ECHO {This session you've landed @clumsyLandThrow out of @clumsyTotalThrow throws (@{clumsyPercentageThrow}~% landed)}} {#ECHO {No current session data available...}}
#IF (%eval(%concat("@clumsy",@scoreName,"TotalThrow"))>0) {#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've landed %eval(%concat("@clumsy",@scoreName,"LandThrow")) out of %eval(%concat("@clumsy",@scoreName,"TotalThrow")) throws (%eval(%concat("@clumsy",@scoreName,"PercentageThrow"))~% landed)}} {#ECHO {No over time data available...}}
}
#ALIAS throwCritCount {
#SHOW {""}
#SHOW {"Critical Throw Data:"}
#IF (@clumsyTotalThrow>0) {#ECHO {This session you've landed @clumsyLandThrowCritical criticals out of @clumsyLandThrow total landed throws (@{clumsyPercentageThrowCritical}~% crits landed)}} {#ECHO {No current session data available...}}
#IF (%eval(%concat("@clumsy",@scoreName,"LandThrow"))>0) {#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've landed %eval(%concat("@clumsy",@scoreName,"LandThrowCritical")) criticals out of %eval(%concat("@clumsy",@scoreName,"LandThrow")) total landed throws (%eval(%concat("@clumsy",@scoreName,"PercentageThrowCritical"))~% crits landed)}} {#ECHO {No over time data available...}}
}
#ALIAS clumsyCharacter {
#PRIORITY {
#IF (%ismember(@scoreName,@clumsyCharacterList)) {} {
#SHOW {""}
#SHOW {Please wait while Clumsy script loads...}
#ADDITEM clumsyCharacterList @scoreName
#VAR %concat("clumsy",@scoreName,"LandBash") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"LandCharge") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"LandDisarm") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"LandKick") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"LandStab") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"LandThrow") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"LandThrowCritical") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"MissBash") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"MissCharge") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"MissKick") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"MissStab") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"MissThrow") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"PercentageBash") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"PercentageCharge") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"PercentageDisarm") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"PercentageKick") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"PercentageStab") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"PercentageThrow") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"PercentageThrowCritical") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"RoundDisarm") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"RoundPercent") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"RoundTotal") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"TotalBash") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"TotalCharge") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"TotalKick") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"TotalStab") {0} {_nodef}
#VAR %concat("clumsy",@scoreName,"TotalThrow") {0} {_nodef}
#VAR %concat("show",@scoreName,"OT") {1} {_nodef}
#VAR %concat(@scoreName,"OT") {%time("m/d/20y")} {_nodef}
#SHOW {...Clumsy script loaded.}
}
}
}
#ALIAS clumsyDisarmRoundCount {
#ADD clumsyRoundDisarm 1
#ADD %concat("clumsy",@scoreName,"RoundDisarm") 1
}
#ALIAS clumsyKickTriggers {
#IF (%1=on) {
#ADD clumsyKickAttempts 1
#T+ clumsyLandKickTrigger
#T+ clumsyLandKickTrigger2
#T+ clumsyMissKickTrigger
#T+ clumsyMissKickTrigger2
#T+ clumsyKickWhoTrigger
#T+ clumsyKickBusyTrigger
#T+ clumsyKickFlyingTrigger
} {}
#IF (%1=off) {
#T- clumsyLandKickTrigger
#T- clumsyLandKickTrigger2
#T- clumsyMissKickTrigger
#T- clumsyMissKickTrigger2
#T- clumsyKickWhoTrigger
#T- clumsyKickBusyTrigger
#T- clumsyKickFlyingTrigger
#VAR clumsyKickAttempts {0}
#VAR clumsyKickCount {0}
} {}
}
#ALIAS clumsyThrowTriggers {
#IF (%1=on) {
#T- clumsyThrowTrigger
#T+ clumsyThrowLand
#T+ clumsyThrowRip
#T+ clumsyThrowCrit
#T+ clumsyThrowDeflect
#T+ clumsyThrowMiss
} {}
#IF (%1=off) {
#T- clumsyThrowLand
#T- clumsyThrowRip
#T- clumsyThrowCrit
#T- clumsyThrowDeflect
#T- clumsyThrowMiss
} {}
}
#ALIAS resetClumsy {
#RESET {Clumsy}
#VAR %concat("clumsy",@scoreName,"LandBash") {0}
#VAR %concat("clumsy",@scoreName,"LandCharge") {0}
#VAR %concat("clumsy",@scoreName,"LandDisarm") {0}
#VAR %concat("clumsy",@scoreName,"LandKick") {0}
#VAR %concat("clumsy",@scoreName,"LandStab") {0}
#VAR %concat("clumsy",@scoreName,"LandThrow") {0}
#VAR %concat("clumsy",@scoreName,"LandThrowCritical") {0}
#VAR %concat("clumsy",@scoreName,"MissBash") {0}
#VAR %concat("clumsy",@scoreName,"MissCharge") {0}
#VAR %concat("clumsy",@scoreName,"MissKick") {0}
#VAR %concat("clumsy",@scoreName,"MissStab") {0}
#VAR %concat("clumsy",@scoreName,"MissThrow") {0}
#VAR %concat("clumsy",@scoreName,"PercentageBash") {0}
#VAR %concat("clumsy",@scoreName,"PercentageCharge") {0}
#VAR %concat("clumsy",@scoreName,"PercentageDisarm") {0}
#VAR %concat("clumsy",@scoreName,"PercentageKick") {0}
#VAR %concat("clumsy",@scoreName,"PercentageStab") {0}
#VAR %concat("clumsy",@scoreName,"PercentageThrow") {0}
#VAR %concat("clumsy",@scoreName,"PercentageThrowCritical") {0}
#VAR %concat("clumsy",@scoreName,"RoundDisarm") {0}
#VAR %concat("clumsy",@scoreName,"RoundPercent") {0}
#VAR %concat("clumsy",@scoreName,"RoundTotal") {0}
#VAR %concat("clumsy",@scoreName,"TotalBash") {0}
#VAR %concat("clumsy",@scoreName,"TotalCharge") {0}
#VAR %concat("clumsy",@scoreName,"TotalKick") {0}
#VAR %concat("clumsy",@scoreName,"TotalStab") {0}
#VAR %concat("clumsy",@scoreName,"TotalThrow") {0}
#VAR %concat(@scoreName,"OT") {%time("m/d/20y")}
#ECHO {Clumsy data for @scoreName is now reset.}
}
#ALIAS resetSession {
#RESET {Clumsy}
}
#VAR clumsyCharacterList {}
#VAR clumsyKickCount {0} {0}
#VAR clumsyKickAttempts {0} {0}
#VAR clumsyLandBash {0} {0}
#VAR clumsyLandCharge {0} {0}
#VAR clumsyLandDisarm {0} {0}
#VAR clumsyLandKick {0} {0}
#VAR clumsyLandStab {0} {0}
#VAR clumsyLandThrow {0} {0}
#VAR clumsyLandThrowCritical {0} {0}
#VAR clumsyMissBash {0} {0}
#VAR clumsyMissCharge {0} {0}
#VAR clumsyMissKick {0} {0}
#VAR clumsyMissStab {0} {0}
#VAR clumsyMissThrow {0} {0}
#VAR clumsyPercentageBash {0} {0}
#VAR clumsyPercentageCharge {0} {0}
#VAR clumsyPercentageDisarm {0} {0}
#VAR clumsyPercentageKick {0} {0}
#VAR clumsyPercentageStab {0} {0}
#VAR clumsyPercentageThrow {0} {0}
#VAR clumsyPercentageThrowCritical {0} {0}
#VAR clumsyRoundDisarm {0} {0}
#VAR clumsyRoundPercent {0} {0}
#VAR clumsyRoundTotal {0} {0}
#VAR clumsyTotalBash {0} {0}
#VAR clumsyTotalCharge {0} {0}
#VAR clumsyTotalKick {0} {0}
#VAR clumsyTotalStab {0} {0}
#VAR clumsyTotalThrow {0} {0}
#VAR showClumsy {1}
#TRIGGER {^Your bash at * sprawling!$} {
#ADD clumsyLandBash 1
#ADD %concat("clumsy",@scoreName,"LandBash") 1
#MATH clumsyTotalBash @clumsyLandBash+@clumsyMissBash
#MATH clumsyPercentageBash (@clumsyLandBash*100 / @clumsyTotalBash)
#MATH %concat("clumsy",@scoreName,"TotalBash") %eval(%concat("@clumsy",@scoreName,"LandBash"))+%eval(%concat("@clumsy",@scoreName,"MissBash"))
#MATH %concat("clumsy",@scoreName,"PercentageBash") (%eval(%concat("@clumsy",@scoreName,"LandBash"))*100 / %eval(%concat("@clumsy",@scoreName,"TotalBash")))
#IF (@showClumsy) {#ECHO {This session you've landed @clumsyLandBash out of @clumsyTotalBash bashes (@{clumsyPercentageBash}~% landed)}} {}
#IF (%eval(%concat("@show",@scoreName,"OT"))) {
#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've landed %eval(%concat("@clumsy",@scoreName,"LandBash")) out of %eval(%concat("@clumsy",@scoreName,"TotalBash")) bashes (%eval(%concat("@clumsy",@scoreName,"PercentageBash"))~% landed)}
} {}
}
#TRIGGER {^As * your bash, you topple over and fall to the ground!$} {
#ADD clumsyMissBash 1
#ADD %concat("clumsy",@scoreName,"MissBash") 1
#MATH clumsyTotalBash @clumsyLandBash+@clumsyMissBash
#MATH clumsyPercentageBash (@clumsyLandBash*100 / @clumsyTotalBash)
#MATH %concat("clumsy",@scoreName,"TotalBash") %eval(%concat("@clumsy",@scoreName,"LandBash"))+%eval(%concat("@clumsy",@scoreName,"MissBash"))
#MATH %concat("clumsy",@scoreName,"PercentageBash") (%eval(%concat("@clumsy",@scoreName,"LandBash"))*100 / %eval(%concat("@clumsy",@scoreName,"TotalBash")))
#IF (@showClumsy) {#ECHO {This session you've missed @clumsyMissBash out of @clumsyTotalBash bashes (@{clumsyPercentageBash}~% landed)}} {}
#IF (%eval(%concat("@show",@scoreName,"OT"))) {
#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've missed %eval(%concat("@clumsy",@scoreName,"MissBash")) out of %eval(%concat("@clumsy",@scoreName,"TotalBash")) bashes (%eval(%concat("@clumsy",@scoreName,"PercentageBash"))~% landed)}
} {}
}
#TRIGGER {^Chaaaaarrrge!! %1 bleeds profusely as you skewer %2 with %3!$} {
#ADD clumsyLandCharge 1
#ADD %concat("clumsy",@scoreName,"LandCharge") 1
#MATH clumsyTotalCharge @clumsyMissCharge+@clumsyLandCharge
#MATH clumsyPercentageCharge (@clumsyLandCharge*100 / @clumsyTotalCharge)
#MATH %concat("clumsy",@scoreName,"TotalCharge") %eval(%concat("@clumsy",@scoreName,"MissCharge"))+%eval(%concat("@clumsy",@scoreName,"LandCharge"))
#MATH %concat("clumsy",@scoreName,"PercentageCharge") (%eval(%concat("@clumsy",@scoreName,"LandCharge"))*100 / %eval(%concat("@clumsy",@scoreName,"TotalCharge")))
#IF (@showClumsy) {#ECHO {This session you've landed @clumsyLandCharge out of @clumsyTotalCharge charges (@{clumsyPercentageCharge}~% landed)}} {}
#IF (%eval(%concat("@show",@scoreName,"OT"))) {
#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've landed %eval(%concat("@clumsy",@scoreName,"LandCharge")) out of %eval(%concat("@clumsy",@scoreName,"TotalCharge")) charges (%eval(%concat("@clumsy",@scoreName,"PercentageCharge"))~% landed)}
} {}
}
#TRIGGER {^Oops. Your lame efforts cause you to miss.$} {
#ADD clumsyMissCharge 1
#ADD %concat("clumsy",@scoreName,"MissCharge") 1
#MATH clumsyTotalCharge @clumsyMissCharge+@clumsyLandCharge
#MATH clumsyPercentageCharge (@clumsyLandCharge*100 / @clumsyTotalCharge)
#MATH %concat("clumsy",@scoreName,"TotalCharge") %eval(%concat("@clumsy",@scoreName,"MissCharge"))+%eval(%concat("@clumsy",@scoreName,"LandCharge"))
#MATH %concat("clumsy",@scoreName,"PercentageCharge") (%eval(%concat("@clumsy",@scoreName,"LandCharge"))*100 / %eval(%concat("@clumsy",@scoreName,"TotalCharge")))
#IF (@showClumsy) {#ECHO {This session you've clumsied @clumsyMissCharge out of @clumsyTotalCharge charges (@{clumsyPercentageCharge}~% landed)}} {}
#IF (%eval(%concat("@show",@scoreName,"OT"))) {
#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've clumsied %eval(%concat("@clumsy",@scoreName,"MissCharge")) out of %eval(%concat("@clumsy",@scoreName,"TotalCharge")) charges (%eval(%concat("@clumsy",@scoreName,"PercentageCharge"))~% landed)}
} {}
}
#TRIGGER {^You disarm %1 weapon with one swift strike.$} {
#ADD clumsyLandDisarm 1
#ADD %concat("clumsy",@scoreName,"LandDisarm") 1
#MATH clumsyPercentageDisarm (@clumsyLandDisarm*100 / @clumsyRoundDisarm)
#MATH %concat("clumsy",@scoreName,"PercentageDisarm") (%eval(%concat("@clumsy",@scoreName,"LandDisarm"))*100 / %eval(%concat("@clumsy",@scoreName,"RoundDisarm")))
#IF (@showClumsy) {#ECHO {This session you've disarmed @clumsyLandDisarm out of @clumsyRoundDisarm combat rounds (@{clumsyPercentageDisarm}~% disarmed)}} {}
#IF (%eval(%concat("@show",@scoreName,"OT"))) {
#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've disarmed %eval(%concat("@clumsy",@scoreName,"LandDisarm")) out of %eval(%concat("@clumsy",@scoreName,"RoundDisarm")) combat rounds (%eval(%concat("@clumsy",@scoreName,"PercentageDisarm"))~% disarmed)}
} {}
}
#TRIGGER "clumsyLandKickTrigger" {Your boots need polishing again -- blood all over...$} {
#ADD clumsyKickCount 1
#IF (@clumsyKickCount>=@clumsyKickAttempts) {clumsyKickTriggers off} {}
#ADD clumsyLandKick 1
#ADD %concat("clumsy",@scoreName,"LandKick") 1
#MATH clumsyTotalKick @clumsyLandKick+@clumsyMissKick
#MATH clumsyPercentageKick (@clumsyLandKick*100 / @clumsyTotalKick)
#MATH %concat("clumsy",@scoreName,"TotalKick") %eval(%concat("@clumsy",@scoreName,"LandKick"))+%eval(%concat("@clumsy",@scoreName,"MissKick"))
#MATH %concat("clumsy",@scoreName,"PercentageKick") (%eval(%concat("@clumsy",@scoreName,"LandKick"))*100 / %eval(%concat("@clumsy",@scoreName,"TotalKick")))
#IF (@showClumsy) {#ECHO {This session you've landed @clumsyLandKick out of @clumsyTotalKick kicks (@{clumsyPercentageKick}~% landed)}} {}
#IF (%eval(%concat("@show",@scoreName,"OT"))) {
#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've landed %eval(%concat("@clumsy",@scoreName,"LandKick")) out of %eval(%concat("@clumsy",@scoreName,"TotalKick")) kicks (%eval(%concat("@clumsy",@scoreName,"PercentageKick"))~% landed)}
} {}
} "" {disable}
#TRIGGER "clumsyLandKickTrigger2" {Your kick hits %1 in the solar plexus!$} {
#ADD clumsyKickCount 1
#IF (@clumsyKickCount>=@clumsyKickAttempts) {clumsyKickTriggers off} {}
#ADD clumsyLandKick 1
#ADD %concat("clumsy",@scoreName,"LandKick") 1
#MATH clumsyTotalKick @clumsyLandKick+@clumsyMissKick
#MATH clumsyPercentageKick (@clumsyLandKick*100 / @clumsyTotalKick)
#MATH %concat("clumsy",@scoreName,"TotalKick") %eval(%concat("@clumsy",@scoreName,"LandKick"))+%eval(%concat("@clumsy",@scoreName,"MissKick"))
#MATH %concat("clumsy",@scoreName,"PercentageKick") (%eval(%concat("@clumsy",@scoreName,"LandKick"))*100 / %eval(%concat("@clumsy",@scoreName,"TotalKick")))
#IF (@showClumsy) {#ECHO {This session you've landed @clumsyLandKick out of @clumsyTotalKick kicks (@{clumsyPercentageKick}~% landed)}} {}
#IF (%eval(%concat("@show",@scoreName,"OT"))) {
#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've landed %eval(%concat("@clumsy",@scoreName,"LandKick")) out of %eval(%concat("@clumsy",@scoreName,"TotalKick")) kicks (%eval(%concat("@clumsy",@scoreName,"PercentageKick"))~% landed)}
} {}
} "" {disable}
#TRIGGER "clumsyMissKickTrigger" {You miss your kick at %1 groin, much to %2 relief...$} {
#ADD clumsyKickCount 1
#IF (@clumsyKickCount>=@clumsyKickAttempts) {clumsyKickTriggers off} {}
#ADD clumsyMissKick 1
#ADD %concat("clumsy",@scoreName,"MissKick") 1
#MATH clumsyTotalKick @clumsyLandKick+@clumsyMissKick
#MATH clumsyPercentageKick (@clumsyLandKick*100 / @clumsyTotalKick)
#MATH %concat("clumsy",@scoreName,"TotalKick") %eval(%concat("@clumsy",@scoreName,"LandKick"))+%eval(%concat("@clumsy",@scoreName,"MissKick"))
#MATH %concat("clumsy",@scoreName,"PercentageKick") (%eval(%concat("@clumsy",@scoreName,"LandKick"))*100 / %eval(%concat("@clumsy",@scoreName,"TotalKick")))
#IF (@showClumsy) {#ECHO {This session you've clumsied @clumsyMissKick out of @clumsyTotalKick kicks (@{clumsyPercentageKick}~% landed)}} {}
#IF (%eval(%concat("@show",@scoreName,"OT"))) {
#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've clumsied %eval(%concat("@clumsy",@scoreName,"MissKick")) out of %eval(%concat("@clumsy",@scoreName,"TotalKick")) kicks (%eval(%concat("@clumsy",@scoreName,"PercentageKick"))~% landed)}
} {}
} "" {disable}
#TRIGGER "clumsyMissKickTrigger2" {Your beautiful full-circle kick misses %1 by a mile.$} {
#ADD clumsyKickCount 1
#IF (@clumsyKickCount>=@clumsyKickAttempts) {clumsyKickTriggers off} {}
#ADD clumsyMissKick 1
#ADD %concat("clumsy",@scoreName,"MissKick") 1
#MATH clumsyTotalKick @clumsyLandKick+@clumsyMissKick
#MATH clumsyPercentageKick (@clumsyLandKick*100 / @clumsyTotalKick)
#MATH %concat("clumsy",@scoreName,"TotalKick") %eval(%concat("@clumsy",@scoreName,"LandKick"))+%eval(%concat("@clumsy",@scoreName,"MissKick"))
#MATH %concat("clumsy",@scoreName,"PercentageKick") (%eval(%concat("@clumsy",@scoreName,"LandKick"))*100 / %eval(%concat("@clumsy",@scoreName,"TotalKick")))
#IF (@showClumsy) {#ECHO {This session you've clumsied @clumsyMissKick out of @clumsyTotalKick kicks (@{clumsyPercentageKick}~% landed)}} {}
#IF (%eval(%concat("@show",@scoreName,"OT"))) {
#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've clumsied %eval(%concat("@clumsy",@scoreName,"MissKick")) out of %eval(%concat("@clumsy",@scoreName,"TotalKick")) kicks (%eval(%concat("@clumsy",@scoreName,"PercentageKick"))~% landed)}
} {}
} "" {disable}
#TRIGGER "clumsyKickWhoTrigger" {Kick who?} {
#ADD clumsyKickCount 1
#IF (@clumsyKickCount>=@clumsyKickAttempts) {clumsyKickTriggers off} {}
} "" {disable}
#TRIGGER "clumsyKickBusyTrigger" {You're too busy at the moment!} {
#ADD clumsyKickCount 1
#IF (@clumsyKickCount>=@clumsyKickAttempts) {clumsyKickTriggers off} {}
} "" {disable}
#TRIGGER "clumsyKickFlyingTrigger" {You try.. but your legs are shorter than your dreams...} {
#ADD clumsyKickCount 1
#IF (@clumsyKickCount>=@clumsyKickAttempts) {clumsyKickTriggers off} {}
} "" {disable}
#TRIGGER {You throw %1 at %2.$} {#T+ clumsyThrowTrigger}
#TRIGGER "clumsyThrowTrigger" {^%1 arcs through the air.$} {clumsyThrowTriggers on} "" {disable}
#TRIGGER "clumsyThrowLand" {^%1 grunts in pain as %2 is struck by %3.$} {
clumsyThrowTriggers off
#ADD clumsyLandThrow 1
#ADD %concat("clumsy",@scoreName,"LandThrow") 1
#MATH clumsyTotalThrow @clumsyMissThrow+@clumsyLandThrow
#MATH clumsyPercentageThrow (@clumsyLandThrow*100 / @clumsyTotalThrow)
#MATH %concat("clumsy",@scoreName,"TotalThrow") %eval(%concat("@clumsy",@scoreName,"MissThrow"))+%eval(%concat("@clumsy",@scoreName,"LandThrow"))
#MATH %concat("clumsy",@scoreName,"PercentageThrow") (%eval(%concat("@clumsy",@scoreName,"LandThrow"))*100 / %eval(%concat("@clumsy",@scoreName,"TotalThrow")))
#IF (@showClumsy) {#ECHO {This session you've landed @clumsyLandThrow out of @clumsyTotalThrow throws (@{clumsyPercentageThrow}~% landed)}} {}
#IF (%eval(%concat("@show",@scoreName,"OT"))) {
#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've landed %eval(%concat("@clumsy",@scoreName,"LandThrow")) out of %eval(%concat("@clumsy",@scoreName,"TotalThrow")) throws (%eval(%concat("@clumsy",@scoreName,"PercentageThrow"))~% landed)}
} {}
} "" {disable}
#TRIGGER "clumsyThrowRip" {^%1 rips through %2 guts as %3 collapses to the ground.$} {
clumsyThrowTriggers off
#ADD clumsyLandThrow 1
#ADD %concat("clumsy",@scoreName,"LandThrow") 1
#MATH clumsyTotalThrow @clumsyMissThrow+@clumsyLandThrow
#MATH clumsyPercentageThrow (@clumsyLandThrow*100 / @clumsyTotalThrow)
#MATH %concat("clumsy",@scoreName,"TotalThrow") %eval(%concat("@clumsy",@scoreName,"MissThrow"))+%eval(%concat("@clumsy",@scoreName,"LandThrow"))
#MATH %concat("clumsy",@scoreName,"PercentageThrow") (%eval(%concat("@clumsy",@scoreName,"LandThrow"))*100 / %eval(%concat("@clumsy",@scoreName,"TotalThrow")))
#IF (@showClumsy) {#ECHO {This session you've landed @clumsyLandThrow out of @clumsyTotalThrow throws (@{clumsyPercentageThrow}~% landed)}} {}
#IF (%eval(%concat("@show",@scoreName,"OT"))) {
#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've landed %eval(%concat("@clumsy",@scoreName,"LandThrow")) out of %eval(%concat("@clumsy",@scoreName,"TotalThrow")) throws (%eval(%concat("@clumsy",@scoreName,"PercentageThrow"))~% landed)}
} {}
} "" {disable}
#TRIGGER "clumsyThrowCrit" {^%1 spasms in excruciating pain as %2 is struck by %3.$} {
clumsyThrowTriggers off
#ADD clumsyLandThrow 1
#ADD clumsyLandThrowCritical 1
#ADD %concat("clumsy",@scoreName,"LandThrow") 1
#ADD %concat("clumsy",@scoreName,"LandThrowCritical") 1
#MATH clumsyPercentageThrowCritical (@clumsyLandThrowCritical*100 / @clumsyLandThrow)
#MATH %concat("clumsy",@scoreName,"PercentageThrowCritical") (%eval(%concat("@clumsy",@scoreName,"LandThrowCritical"))*100 / %eval(%concat("@clumsy",@scoreName,"LandThrow")))
#IF (@showClumsy) {#ECHO {This session you've landed @clumsyLandThrowCritical criticals out of @clumsyLandThrow total landed throws (@{clumsyPercentageThrowCritical}~% crits landed)}} {}
#IF (%eval(%concat("@show",@scoreName,"OT"))) {
#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've landed %eval(%concat("@clumsy",@scoreName,"LandThrowCritical")) criticals out of %eval(%concat("@clumsy",@scoreName,"LandThrow")) total landed throws (%eval(%concat("@clumsy",@scoreName,"PercentageThrowCritical"))~% crits landed)}
} {}
} "" {disable}
#TRIGGER "clumsyThrowDeflect" {^%1 deflects %2 that was thrown at %3.$} {
clumsyThrowTriggers off
#ADD clumsyMissThrow 1
#ADD %concat("clumsy",@scoreName,"MissThrow") 1
#MATH clumsyTotalThrow @clumsyMissThrow+@clumsyLandThrow
#MATH clumsyPercentageThrow (@clumsyLandThrow*100 / @clumsyTotalThrow)
#MATH %concat("clumsy",@scoreName,"TotalThrow") %eval(%concat("@clumsy",@scoreName,"MissThrow"))+%eval(%concat("@clumsy",@scoreName,"LandThrow"))
#MATH %concat("clumsy",@scoreName,"PercentageThrow") (%eval(%concat("@clumsy",@scoreName,"LandThrow"))*100 / %eval(%concat("@clumsy",@scoreName,"TotalThrow")))
#IF (@showClumsy) {#ECHO {This session you've clumsied @clumsyMissThrow out of @clumsyTotalThrow throws (@{clumsyPercentageThrow}~% landed)}} {}
#IF (%eval(%concat("@show",@scoreName,"OT"))) {
#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've clumsied %eval(%concat("@clumsy",@scoreName,"MissThrow")) out of %eval(%concat("@clumsy",@scoreName,"TotalThrow")) throws (%eval(%concat("@clumsy",@scoreName,"PercentageThrow"))~% landed)}
} {}
} "" {disable}
#TRIGGER "clumsyThrowMiss" {^%1 just misses %2 and falls to the ground.$} {
clumsyThrowTriggers off
#ADD clumsyMissThrow 1
#ADD %concat("clumsy",@scoreName,"MissThrow") 1
#MATH clumsyTotalThrow @clumsyMissThrow+@clumsyLandThrow
#MATH clumsyPercentageThrow (@clumsyLandThrow*100 / @clumsyTotalThrow)
#MATH %concat("clumsy",@scoreName,"TotalThrow") %eval(%concat("@clumsy",@scoreName,"MissThrow"))+%eval(%concat("@clumsy",@scoreName,"LandThrow"))
#MATH %concat("clumsy",@scoreName,"PercentageThrow") (%eval(%concat("@clumsy",@scoreName,"LandThrow"))*100 / %eval(%concat("@clumsy",@scoreName,"TotalThrow")))
#IF (@showClumsy) {#ECHO {This session you've clumsied @clumsyMissThrow out of @clumsyTotalThrow throws (@{clumsyPercentageThrow}~% landed)}} {}
#IF (%eval(%concat("@show",@scoreName,"OT"))) {
#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've clumsied %eval(%concat("@clumsy",@scoreName,"MissThrow")) out of %eval(%concat("@clumsy",@scoreName,"TotalThrow")) throws (%eval(%concat("@clumsy",@scoreName,"PercentageThrow"))~% landed)}
} {}
} "" {disable}
#TRIGGER {^%1 makes a strange sound as you place %2 in %3 back!$} {
#ADD clumsyLandStab 1
#ADD %concat("clumsy",@scoreName,"LandStab") 1
#MATH clumsyTotalStab @clumsyLandStab+@clumsyMissStab
#MATH clumsyPercentageStab (@clumsyLandStab*100 / @clumsyTotalStab)
#MATH %concat("clumsy",@scoreName,"TotalStab") %eval(%concat("@clumsy",@scoreName,"LandStab"))+%eval(%concat("@clumsy",@scoreName,"MissStab"))
#MATH %concat("clumsy",@scoreName,"PercentageStab") (%eval(%concat("@clumsy",@scoreName,"LandStab"))*100 / %eval(%concat("@clumsy",@scoreName,"TotalStab")))
#IF (@showClumsy) {#ECHO {This session you've landed @clumsyLandStab out of @clumsyTotalStab stabs (@{clumsyPercentageStab}~% landed)}} {}
#IF (%eval(%concat("@show",@scoreName,"OT"))) {
#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've landed %eval(%concat("@clumsy",@scoreName,"LandStab")) out of %eval(%concat("@clumsy",@scoreName,"TotalStab")) stabs (%eval(%concat("@clumsy",@scoreName,"PercentageStab"))~% landed)}
} {}
}
#TRIGGER {^Ooops. Your clumsy execution broadcasts your intentions.$} {
#ADD clumsyMissStab 1
#ADD %concat("clumsy",@scoreName,"MissStab") 1
#MATH clumsyTotalStab @clumsyLandStab+@clumsyMissStab
#MATH clumsyPercentageStab (@clumsyLandStab*100 / @clumsyTotalStab)
#MATH %concat("clumsy",@scoreName,"TotalStab") %eval(%concat("@clumsy",@scoreName,"LandStab"))+%eval(%concat("@clumsy",@scoreName,"MissStab"))
#MATH %concat("clumsy",@scoreName,"PercentageStab") (%eval(%concat("@clumsy",@scoreName,"LandStab"))*100 / %eval(%concat("@clumsy",@scoreName,"TotalStab")))
#IF (@showClumsy) {#ECHO {This session you've clumsied @clumsyMissStab out of @clumsyTotalStab stabs (@{clumsyPercentageStab}~% landed)}} {}
#IF (%eval(%concat("@show",@scoreName,"OT"))) {
#ECHO {Since %eval(%concat("@",@scoreName,"OT")) you've clumsied %eval(%concat("@clumsy",@scoreName,"MissStab")) out of %eval(%concat("@clumsy",@scoreName,"TotalStab")) stabs (%eval(%concat("@clumsy",@scoreName,"PercentageStab"))~% landed)}
} {}
}
#ONINPUT {^kic$} {
clumsyKickTriggers on
}
#ONINPUT {^kic %w$} {
clumsyKickTriggers on
}
#ONINPUT {^kic %d.%w$} {
clumsyKickTriggers on
}
#ONINPUT {^kick$} {
clumsyKickTriggers on
}
#ONINPUT {^kick %w$} {
clumsyKickTriggers on
}
#ONINPUT {^kick %d.%w$} {
clumsyKickTriggers on
}
#CLASS 0
Table of Contents
Last edited by Taziar on Tue Apr 25, 2017 6:35 pm, edited 25 times in total.
Re: House of Medakan
OUTDATED
see new version here: WeaveClumsy
-----WeaveFail-----
*ScoreStat script needed to function.
When first setting up WeaveFail script have ScoreStat script installed.
Install script in offline mode so that first connection with a channeler character will register and save the necessary variables.
After initial installation the script will automatically enable and set class variables when you connect with a channeler class character.
Weave Fail Script records successes and failures of the following weaves:
Blind
Call Lightning
Chill
Contagion
Earthquake
Fear
Fireball
Flame Strike
Hammer of Air (even keeps track of Bash rates)
Hurricane
Ice Spikes
Type helpWeaveFail for list of commands.
Type showWeaves to toggle the message on/off.
Type weaveCount <weavename> to display current stats.
Type weaveReset <weavename> to reset data for the weave.
WeaveFail script saves separate WeaveFail data for each character.
Script uses #ONINPUT command to activate script.
-Hint: WoTmud alias will not work! WoTmud shortcuts will work. Use #ALIAS in zMUD for guaranteed coverage.
--Example: shortcut chann and channe will trigger script to record success or failures.
---Example: chann 'ice spikes' taziar / channe 'ice spikes' taziar / channel 'ice spikes' taziar
Script is set up this way so your counter has a very slim chance of false triggering off of a chat or narrate.
Table of Contents
see new version here: WeaveClumsy
-----WeaveFail-----
*ScoreStat script needed to function.
When first setting up WeaveFail script have ScoreStat script installed.
Install script in offline mode so that first connection with a channeler character will register and save the necessary variables.
After initial installation the script will automatically enable and set class variables when you connect with a channeler class character.
Weave Fail Script records successes and failures of the following weaves:
Blind
Call Lightning
Chill
Contagion
Earthquake
Fear
Fireball
Flame Strike
Hammer of Air (even keeps track of Bash rates)
Hurricane
Ice Spikes
Type helpWeaveFail for list of commands.
Type showWeaves to toggle the message on/off.
Type weaveCount <weavename> to display current stats.
Type weaveReset <weavename> to reset data for the weave.
WeaveFail script saves separate WeaveFail data for each character.
Script uses #ONINPUT command to activate script.
-Hint: WoTmud alias will not work! WoTmud shortcuts will work. Use #ALIAS in zMUD for guaranteed coverage.
--Example: shortcut chann and channe will trigger script to record success or failures.
---Example: chann 'ice spikes' taziar / channe 'ice spikes' taziar / channel 'ice spikes' taziar
Script is set up this way so your counter has a very slim chance of false triggering off of a chat or narrate.
Code: Select all
#CLASS {WeaveFail} {setdef}
#ALIAS helpWeaveFail {
#SHOW {""}
#SHOW {""}
#SHOW {"-----WeaveFail Commands and Settings-----"}
#SHOW {""}
#SHOW {"Type showWeave <weaveName> to toggle the fail message on/off for that weaveName on current character."}
#SHOW {""}
#SHOW {"Type weaveCount <weaveName> to display current stats for that weaveName on current character."}
#SHOW {""}
#SHOW {"Type weaveReset <weaveName> to reset data for the weave on current character."}
#SHOW {""}
#SHOW {"Script uses #ONINPUT command to activate script in the same fasion as HoM Clumsy script."}
#SHOW {"-Hint: WoTmud alias will not work! WoTmud shortcuts will work. Use #ALIAS in zMUD for guaranteed coverage."}
#SHOW {"--Example: chann 'ice spikes' taziar / channe 'ice spikes' taziar / channel 'ice spikes' taziar"}
#SHOW {""}
#SHOW {"Weaves tracked:"}
#SHOW {"Blind"}
#SHOW {"Call Lightning"}
#SHOW {"Chill"}
#SHOW {"Contagion"}
#SHOW {"Earthquake"}
#SHOW {"Fear"}
#SHOW {"Fireball"}
#SHOW {"Flame Strike"}
#SHOW {"Hammer of Air"}
#SHOW {"Hurricane"}
#SHOW {"Ice Spikes"}
#SHOW {""}
}
#ALIAS weaveCharacter {
#PRIORITY {
#IF (%ismember(@scoreName,@weaveCharacterList)) {} {
#SHOW {""}
#SHOW {Please wait while WeaveFail script loads...}
#ADDITEM weaveCharacterList @scoreName
#FORALL @weaveNames {
#VAR %concat("weave",@scoreName,"Fail",%proper(%i)) {0} {_nodef}
#VAR %concat("weave",@scoreName,"Success",%proper(%i)) {0} {_nodef}
#VAR %concat("weave",@scoreName,"Total",%proper(%i)) {0} {_nodef}
#VAR %concat("weave",@scoreName,"Percentage",%proper(%i)) {0} {_nodef}
#VAR %concat("showWeave",@scoreName,%proper(%i)) {1} {_nodef}
}
#VAR %concat("weave",@scoreName,"BashSuccess") {0} {_nodef}
#VAR %concat("weave",@scoreName,"BashPercentage") {0} {_nodef}
#SHOW {...WeaveFail script loaded.}
}
}
}
#ALIAS showWeave {
#IF (%len(%1)>0) {#VAR weaveSelected %1} {}
#IF (%len(%2)>0) {#VAR weaveSelected %concat(%1,%2)} {}
#IF (%len(%3)>0) {#VAR weaveSelected %concat(%1,%2,%3)} {}
#IF (%ismember(@weaveSelected,@weaveNames)=0) {#ECHO {Sorry, %proper(%1) %proper(%2) %proper(%3) is not a weave that is tracked with the WeaveFail Script.}} {
#IF (%eval(%concat("@showWeave",@scoreName,@weaveSelected))) {#VAR %concat("showWeave",@scoreName,@weaveSelected) {0}} {#VAR %concat("showWeave",@scoreName,@weaveSelected) {1}}
#IF (%eval(%concat("@showWeave",@scoreName,@weaveSelected))) {#ECHO {WeaveFail message for %proper(%1) %proper(%2) %proper(%3) is turned on.}} {#ECHO {WeaveFail message for %proper(%1) %proper(%2) %proper(%3) is turned off.}}
}
}
#ALIAS weaveCount {
#IF (%len(%1)>0) {#VAR weaveSelected %1} {}
#IF (%len(%2)>0) {#VAR weaveSelected %concat(%1,%2)} {}
#IF (%len(%3)>0) {#VAR weaveSelected %concat(%1,%2,%3)} {}
#IF (%ismember(@weaveSelected,@weaveNames)=0) {#ECHO {Sorry, %proper(%1) %proper(%2) %proper(%3) is not a weave that is tracked with the WeaveFail Script.}} {
#MATH %concat("weave",@scoreName,"Total",@weaveSelected) %eval(%concat("@weave",@scoreName,"Fail",@weaveSelected))+%eval(%concat("@weave",@scoreName,"Success",@weaveSelected))
#MATH %concat("weave",@scoreName,"Percentage",@weaveSelected) (%eval(%concat("@weave",@scoreName,"Success",@weaveSelected))*100 / %eval(%concat("@weave",@scoreName,"Total",@weaveSelected)))
#IF (%eval(%concat("@showWeave",@scoreName,@weaveSelected))) {
#ECHO {}
#ECHO {You have succeeded %eval(%concat("@weave",@scoreName,"Success",@weaveSelected)) out of %eval(%concat("@weave",@scoreName,"Total",@weaveSelected)) attempts to weave %proper(%1) %proper(%2) %proper(%3)(%eval(%concat("@weave",@scoreName,"Percentage",@weaveSelected))~% Successful)}
}
#IF (@weaveSelected="hammerofair") {
#MATH %concat("weave",@scoreName,"BashPercentage") (%eval(%concat("@weave",@scoreName,"Success",@weaveSelected)) * 100 / %eval(%concat("@weave",@scoreName,"BashSuccess")))
#IF (%eval(%concat("@showWeave",@scoreName,@weaveSelected))) {#ECHO {With %eval(%concat("@weave",@scoreName,"BashSuccess")) total number of bashes equaling a percentage of (%eval(%concat("@weave",@scoreName,"BashPercentage"))~% Successful)}} {}
}
}
}
#ALIAS weaveReset {
#IF (%len(%1)>0) {#VAR weaveSelected %1} {#ECHO {}}
#IF (%len(%2)>0) {#VAR weaveSelected %concat(%1,%2)} {#ECHO {}}
#IF (%len(%3)>0) {#VAR weaveSelected %concat(%1,%2,%3)} {#ECHO {}}
#IF (%ismember(@weaveSelected,@weaveNames)=0) {#ECHO {Sorry, %proper(%1) %proper(%2) %proper(%3) is not a weave that is tracked with the WeaveFail Script.}} {
#VAR %concat("weave",@scoreName,"Fail",@weaveSelected) {0}
#VAR %concat("weave",@scoreName,"Success",@weaveSelected) {0}
#VAR %concat("weave",@scoreName,"Total",@weaveSelected) {0}
#VAR %concat("weave",@scoreName,"Percentage",@weaveSelected) {0}
#IF (@weaveSelected=hammerofair) {#VAR %concat("weave",@scoreName,"BashSuccess") {0}} {}
#IF (@weaveSelected=hammerofair) {#VAR %concat("weave",@scoreName,"BashPercentage") {0}} {}
#ECHO {}
#ECHO {%proper(%1) %proper(%2) %proper(%3) data has been reset.}
}
}
#ALIAS weaveSuccess {
#ADD %concat("weave",@scoreName,"Success",@weaveSelected) 1
#MATH %concat("weave",@scoreName,"Total",@weaveSelected) %eval(%concat("@weave",@scoreName,"Fail",@weaveSelected))+%eval(%concat("@weave",@scoreName,"Success",@weaveSelected))
#MATH %concat("weave",@scoreName,"Percentage",@weaveSelected) (%eval(%concat("@weave",@scoreName,"Success",@weaveSelected))*100 / %eval(%concat("@weave",@scoreName,"Total",@weaveSelected)))
#IF (%eval(%concat("@showWeave",@scoreName,@weaveSelected))) {#ECHO {You have succeeded %eval(%concat("@weave",@scoreName,"Success",@weaveSelected)) out of %eval(%concat("@weave",@scoreName,"Total",@weaveSelected)) attempts to weave %proper(@weaveCurrent) (%eval(%concat("@weave",@scoreName,"Percentage",@weaveSelected))~% Successful)}}
#IF (@weaveSelected="hammerofair") {weaveBash} {}
weaveTrigs off
}
#ALIAS weaveFail {
#ADD %concat("weave",@scoreName,"Fail",@weaveSelected) 1
#MATH %concat("weave",@scoreName,"Total",@weaveSelected) %eval(%concat("@weave",@scoreName,"Fail",@weaveSelected))+%eval(%concat("@weave",@scoreName,"Success",@weaveSelected))
#MATH %concat("weave",@scoreName,"Percentage",@weaveSelected) (%eval(%concat("@weave",@scoreName,"Success",@weaveSelected))*100 / %eval(%concat("@weave",@scoreName,"Total",@weaveSelected)))
#IF (%eval(%concat("@showWeave",@scoreName,@weaveSelected))) {#ECHO {You have failed %eval(%concat("@weave",@scoreName,"Fail",@weaveSelected)) out of %eval(%concat("@weave",@scoreName,"Total",@weaveSelected)) attempts to weave %proper(@weaveCurrent) (%eval(%concat("@weave",@scoreName,"Percentage",@weaveSelected))~% Successful)}}
weaveTrigs off
}
#ALIAS weaveBash {
#ADD %concat("weave",@scoreName,"BashSuccess") 1
#MATH %concat("weave",@scoreName,"BashPercentage") (%eval(%concat("@weave",@scoreName,"Success",@weaveSelected)) * 100 / %eval(%concat("@weave",@scoreName,"BashSuccess")))
#IF (%eval(%concat("@showWeave",@scoreName,@weaveSelected))) {#ECHO {With %eval(%concat("@weave",@scoreName,"BashSuccess")) total number of bashes equaling a percentage of (%eval(%concat("@weave",@scoreName,"BashPercentage"))~% Successful)}} {}
}
#ALIAS weaveTrigs {
#IF (%1=on) {
#T+ {WeaveFail|WeaveSuccessTriggers}
#T+ {WeaveFail|WeaveFailTriggers}
} {}
#IF (%1=off) {
#T- {WeaveFail|WeaveSuccessTriggers}
#T- {WeaveFail|WeaveFailTriggers}
} {}
}
#VAR weaveCharacterList {}
#VAR weaveCurrent {}
#VAR weaveSelected {}
#VAR weaveTarget {}
#VAR weaveNames {blind|calllightning|chill|contagion|earthquake|fear|fireball|flamestrike|hammerofair|hurricane|icespikes}
#ONINPUT {^chann '&weaveCurrent'$} {
#VAR weaveSelected %replace(@weaveCurrent," ","")
#IF (%ismember(@weaveSelected,@weaveNames)) {weaveTrigs on} {}
}
#ONINPUT {^chann '&weaveCurrent' &weaveTarget$} {
#VAR weaveSelected %replace(@weaveCurrent," ","")
#IF (%ismember(@weaveSelected,@weaveNames)) {weaveTrigs on} {}
}
#ONINPUT {^channe '&weaveCurrent'$} {
#VAR weaveSelected %replace(@weaveCurrent," ","")
#IF (%ismember(@weaveSelected,@weaveNames)) {weaveTrigs on} {}
}
#ONINPUT {^channe '&weaveCurrent' &weaveTarget$} {
#VAR weaveSelected %replace(@weaveCurrent," ","")
#IF (%ismember(@weaveSelected,@weaveNames)) {weaveTrigs on} {}
}
#ONINPUT {^channel '&weaveCurrent'$} {
#VAR weaveSelected %replace(@weaveCurrent," ","")
#IF (%ismember(@weaveSelected,@weaveNames)) {weaveTrigs on} {}
}
#ONINPUT {^channel '&weaveCurrent' &weaveTarget$} {
#VAR weaveSelected %replace(@weaveCurrent," ","")
#IF (%ismember(@weaveSelected,@weaveNames)) {weaveTrigs on} {}
}
#CLASS 0
#CLASS {WeaveFail|WeaveSuccessTriggers} {disable}
#TRIGGER {^* has been blinded!$} {weaveSuccess}
#TRIGGER {^You call lightning from the sky which strikes * dead on.$} {weaveSuccess}
#TRIGGER {^Your lightning from the sky strikes *, dropping * sizzling corpse to the ground.$} {weaveSuccess}
#TRIGGER {* shivers from the icy cold force sent by you.$} {weaveSuccess}
#TRIGGER {^Beads of cold sweat emerge from *'s face!$} {weaveSuccess}
#TRIGGER {^The earth trembles and shivers beneath your feet..!$} {weaveSuccess}
#TRIGGER {^* looks very strange, glaring about with a sense of panic.$} {weaveSuccess}
#TRIGGER {^Fire coalesces into a ball at your hands, which you launch at *.$} {weaveSuccess}
#TRIGGER {^Fire coalesces in your hands, but fizzles a bit as you launch it at *.$} {weaveSuccess}
#TRIGGER {^Your fireball blasts into *, dropping * charred corpse to the ground.$} {weaveSuccess}
#TRIGGER {^Streaks of fire burn through *, leaving only a blackened corpse.$} {weaveSuccess}
#TRIGGER {^Streaks of fire flow from your hands, burning *.$} {weaveSuccess}
#TRIGGER {^You mold flows of Air into a tight stream, and smite *.$} {weaveSuccess}
#TRIGGER {^You mold flows of Air into a tight stream, sending * sprawling!$} {weaveSuccess}
#TRIGGER {^A violent storm erupts and fierce winds blow through the area.$} {weaveSuccess}
#TRIGGER {^Spikes of solid ice form in your hands, which you launch at *.$} {weaveSuccess}
#TRIGGER {^Spikes of ice form in your hands, but melt a bit as you launch them at *.$} {weaveSuccess}
#TRIGGER {^Your icy spikes shred * guts, causing * insides to flow outside.$} {weaveSuccess}
#CLASS 0
#CLASS {WeaveFail|WeaveFailTriggers} {disable}
#TRIGGER {^You lost control of *!$} {weaveFail}
#TRIGGER {^Ouch! You couldn't maintain the flows.$} {weaveFail}
#TRIGGER {^Cancelled.$} {weaveTrigs off}
#TRIGGER {You aren't in touch with * to channel it.$} {weaveTrigs off}
#TRIGGER {You can't get close enough to them in the heat of battle.$} {weaveTrigs off}
#TRIGGER {Impossible! You can't concentrate enough!$} {weaveTrigs off}
#TRIGGER {Nobody here by that name.$} {weaveTrigs off}
#CLASS 0
Last edited by Taziar on Tue Apr 25, 2017 6:35 pm, edited 17 times in total.