Difference between revisions of "SWC LISP/Modules"
(→Public Script Modules) |
|||
Line 1: | Line 1: | ||
− | + | See the Rules Page on SWC for additional explanations. | |
− | See the Rules Page on SWC for additional | ||
− | + | ==swclib== | |
(load "swclib") | (load "swclib") | ||
Contact: Selatos; Kay Dallben | Contact: Selatos; Kay Dallben | ||
− | + | ==funlib== | |
(load "funlib") | (load "funlib") | ||
Contact: Selatos, Kay Dallben | Contact: Selatos, Kay Dallben | ||
− | + | ==mathematics== | |
(load "mathematics") | (load "mathematics") | ||
Contact: Kay Dallben | Contact: Kay Dallben | ||
− | + | ==timelib== | |
− | |||
(load "timelib") | (load "timelib") | ||
Contact: Kay Dallben, mackaybre at gmail dot com | Contact: Kay Dallben, mackaybre at gmail dot com | ||
− | + | ==KayD-StringShortcuts== | |
This library was removed as module and cannot be loaded. However, it is possible to use the functions by copying/pasting them. | This library was removed as module and cannot be loaded. However, it is possible to use the functions by copying/pasting them. | ||
These functions insert appropriate pronoun string based on gender. | These functions insert appropriate pronoun string based on gender. | ||
Line 122: | Line 120: | ||
Contact: Kay Dallben | Contact: Kay Dallben | ||
+ | ==input-general== | ||
+ | Very similar to Keyboard, but this one allows you to send an arbitrary keyset (in the form of a list of strings) to be the options. This can be numbers only, letters, or even whole words. The Keyset must be a list of strings. Using return functions during the same session, you can obtain the results in either hyphen-separated String format or a list of entries. | ||
+ | |||
+ | NPC Script Requirements<br /> | ||
+ | ;;;; --------------------------------------------- | ||
+ | ;; Corresponding Content for NPC/Entity | ||
+ | |||
+ | (load "input-general") | ||
+ | (load "swclib") | ||
+ | |||
+ | (bind-ninp-mself (get-id self) 'npc) | ||
+ | (bind-ninp-convo say say-c describe describe-c ooc ooc-c) | ||
+ | (bind-ninp-responses add-action add-response add-text) | ||
+ | (bind-ninp-utils clear-window) | ||
+ | |||
+ | (defun oncancel | ||
+ | ; Called when you hit the Cancel Button. Edit as needed. | ||
+ | (ooc "Cancelled Input.")) | ||
+ | |||
+ | (defun onfinish | ||
+ | ; called when user clicks the Enter button. Edit as needed. | ||
+ | (clear-window) | ||
+ | (say (myconcat "The code you provided was: " (get-input-str)))) | ||
+ | |||
+ | (bind-ninp-callbacks onfinish oncancel) | ||
+ | |||
+ | (defun start | ||
+ | ;; Example to go straight into it. | ||
+ | (start-n-input `("Red" "Blue" "Yellow") "Provide a code sequence made up of the following colours:" )) | ||
+ | |||
+ | ;;;; --------------------------------------------- | ||
+ | |||
+ | ===start-n-input=== | ||
+ | * keyset (list) optional:::display-instructions(string) optional:::default-input(list) | ||
+ | * clears the window and starts the input script with the list of available options. | ||
+ | * allows user to input an unlimited amount of each key. | ||
+ | * auto-adds the usual controlling options: BACK removes the last-entered key, CLEAR clears the input entirely, ENTER saves the input and calls `onfinish`, CANCEL saves the input and calls `oncancel` | ||
+ | * displays the provided instructions or "Input:" if nothing is provided. | ||
+ | * starts with the provided default-input or `empty` if none provided. | ||
+ | |||
+ | Example: (start-n-input `("Red" "Yellow" "Blue") "Create the desired code from the following possible choices:") | ||
+ | |||
+ | ===start-nex-input=== | ||
+ | * keyset (list) optional:::display-instructions(string) optional:::default-input(list) | ||
+ | * clears the window and starts the input script with the list of available options. | ||
+ | * the user may select each key in keyset only once. (IE: Use for non-repeating options, manual re-ordering of lists, etc.) | ||
+ | * auto-adds the usual controlling options: BACK removes the last-entered key, CLEAR clears the input entirely, ENTER saves the input and calls `onfinish`, CANCEL saves the input and calls `oncancel` | ||
+ | * displays the provided instructions or "Input:" if nothing is provided. | ||
+ | * starts with the provided default-input or `empty` if none provided. | ||
+ | |||
+ | Example: (start-nex-input `("Red" "Yellow" "Blue") "Rank these colours in order from your most favourite to your least favourite:") | ||
+ | |||
+ | ===get-input-str=== | ||
+ | * returns a string of the saved input from the active session (IE: as it it shown during input) | ||
+ | |||
+ | Example: Keyset: `("Red" "Yellow" "Blue") Input shows Blue-Blue-Yellow, will return: "Blue-Blue-Yellow") | ||
+ | |||
+ | ===get-input-list=== | ||
+ | * returns a list of the input (letter by letter or entry-by-entry) from the active session. | ||
+ | |||
+ | Example: Keyset: `("Red" "Yellow" "Blue") Input shows Blue-Blue-Yellow, will return: `("Blue" "Blue" "Yellow") | ||
+ | |||
+ | |||
+ | Contact: Kay Dallben | ||
[[Category:SWC LISP]] | [[Category:SWC LISP]] |
Revision as of 12:02, 14 September 2018
See the Rules Page on SWC for additional explanations.
Contents
swclib
(load "swclib")
Contact: Selatos; Kay Dallben
funlib
(load "funlib")
Contact: Selatos, Kay Dallben
mathematics
(load "mathematics")
Contact: Kay Dallben
timelib
(load "timelib")
Contact: Kay Dallben, mackaybre at gmail dot com
KayD-StringShortcuts
This library was removed as module and cannot be loaded. However, it is possible to use the functions by copying/pasting them. These functions insert appropriate pronoun string based on gender.
(defun (female? (who self)) (cond [(eq? (get-gender who) "female") #t] [#t #f]))
(defun (male? (who self)) (cond [(eq? (get-gender who) "male") #t] [#t #f]))
(defun (HeShe? (who self)) (cond [(female? who) "She"] [#t "He"]))
(defun (heshe? (who self)) (cond [(female? who) "she"] [#t "he"]))
(defun (HerHis? (who self)) (cond [(female? who) "Her"] [#t "His"]))
(defun (herhis? (who self)) (cond [(female? who) "her"] [#t "his"]))
(defun (HerHim? (who self)) (cond [(female? who) "Her"] [#t "Him"]))
(defun (herhim? (who self)) (cond [(female? who) "her"] [#t "him"]))
Examples:
- (say (concat "Yes, " (heshe (get-npc 54486)) " is pretty silly.")) -> "Yes, he is pretty silly."
- (describe (concat (HerHis self) " gun points directly at you.")) -> Her gun points directly at you.
- heshe player-NPC-object
- HeShe player-NPC-object
- herhis player-NPC-object
- HerHis player-NPC-object
- herhim player-NPC-object
- HerHim player-NPC-object
Keyboard-Al Sayif
This Script Module (and paired NPC-Script requirements) enables a character-by-character input of a string into a script.
NPC Script Requirements
;;;; --------------------------------------------- ;; Corresponding Content for NPC/Entity
(load "Keyboard-Al Sayif" "") (load "swclib")
(bind-keyboard-mself (get-id self) 'npc) (bind-keyboard-convo say say-c describe describe-c ooc ooc-c) (bind-keyboard-responses add-action add-response add-text) (bind-keyboard-utils clear-window)
(defun oncancel ; Called when you hit the Cancel Button. Edit as needed. (ooc "Cancelled Keyboard Input."))
(defun onfinish ; called when user clicks the Enter button. Edit as needed. (clear-window) (say (myconcat "Well it's very nice to meet you, Mr. " (get-keyboard-response))))
(bind-keyboard-callbacks onfinish oncancel)
(defun start ;; Example to go straight into it. Edit as needed, or just use start-keyboard. (describe "Enter your input on the keypad. As you click the screen will update.") (start-keyboard))
;;;; ---------------------------------------------
start-keyboard
- clears the window and starts the Keyboard Input script: Asks for input character by character. CAPS toggles between UPPERCASE and lowercase for letter, BACK removes the last-entered character, CLEAR clears the input entirely, ENTER saves the input and calls `onfinish`, CANCEL saves the input and calls `oncancel`
get-keyboard-response
- returns a string of the saved input from the keyboard.
COMING SOONTM
start-keypad
- clears the window and starts the Keypad Input script: Asks for input character by character (numbers 0 - 9 only). BACK removes the last-entered character, CLEAR clears the input entirely, ENTER saves the input and calls `onfinish`, CANCEL saves the input and calls `oncancel`
Contact: Kay Dallben
input-general
Very similar to Keyboard, but this one allows you to send an arbitrary keyset (in the form of a list of strings) to be the options. This can be numbers only, letters, or even whole words. The Keyset must be a list of strings. Using return functions during the same session, you can obtain the results in either hyphen-separated String format or a list of entries.
NPC Script Requirements
;;;; --------------------------------------------- ;; Corresponding Content for NPC/Entity
(load "input-general") (load "swclib")
(bind-ninp-mself (get-id self) 'npc) (bind-ninp-convo say say-c describe describe-c ooc ooc-c) (bind-ninp-responses add-action add-response add-text) (bind-ninp-utils clear-window)
(defun oncancel ; Called when you hit the Cancel Button. Edit as needed. (ooc "Cancelled Input."))
(defun onfinish ; called when user clicks the Enter button. Edit as needed. (clear-window) (say (myconcat "The code you provided was: " (get-input-str))))
(bind-ninp-callbacks onfinish oncancel)
(defun start ;; Example to go straight into it. (start-n-input `("Red" "Blue" "Yellow") "Provide a code sequence made up of the following colours:" ))
;;;; ---------------------------------------------
start-n-input
- keyset (list) optional:::display-instructions(string) optional:::default-input(list)
- clears the window and starts the input script with the list of available options.
- allows user to input an unlimited amount of each key.
- auto-adds the usual controlling options: BACK removes the last-entered key, CLEAR clears the input entirely, ENTER saves the input and calls `onfinish`, CANCEL saves the input and calls `oncancel`
- displays the provided instructions or "Input:" if nothing is provided.
- starts with the provided default-input or `empty` if none provided.
Example: (start-n-input `("Red" "Yellow" "Blue") "Create the desired code from the following possible choices:")
start-nex-input
- keyset (list) optional:::display-instructions(string) optional:::default-input(list)
- clears the window and starts the input script with the list of available options.
- the user may select each key in keyset only once. (IE: Use for non-repeating options, manual re-ordering of lists, etc.)
- auto-adds the usual controlling options: BACK removes the last-entered key, CLEAR clears the input entirely, ENTER saves the input and calls `onfinish`, CANCEL saves the input and calls `oncancel`
- displays the provided instructions or "Input:" if nothing is provided.
- starts with the provided default-input or `empty` if none provided.
Example: (start-nex-input `("Red" "Yellow" "Blue") "Rank these colours in order from your most favourite to your least favourite:")
get-input-str
- returns a string of the saved input from the active session (IE: as it it shown during input)
Example: Keyset: `("Red" "Yellow" "Blue") Input shows Blue-Blue-Yellow, will return: "Blue-Blue-Yellow")
get-input-list
- returns a list of the input (letter by letter or entry-by-entry) from the active session.
Example: Keyset: `("Red" "Yellow" "Blue") Input shows Blue-Blue-Yellow, will return: `("Blue" "Blue" "Yellow")
Contact: Kay Dallben