doc: Expand on programming examples document
This commit is contained in:
		
							parent
							
								
									2795eae97a
								
							
						
					
					
						commit
						ec3754e88f
					
				| @ -1,4 +1,98 @@ | ||||
| George, who can be awakened. | ||||
| # Creation | ||||
| 
 | ||||
| This document can be considered a "cheat sheet" to be read in conjuction with | ||||
| the [ToastStunt Programmer's Manual](https://github.com/lisdude/toaststunt-documentation/). | ||||
| 
 | ||||
| ## Quickstart: Creating your First Object | ||||
| 
 | ||||
| ``` | ||||
| @create $thing named "Bowl of Spaghetti" | ||||
| @describe bowl as "Yummy yummy sketti" | ||||
| @add-alias "sketti" to bowl | ||||
| give sketti to vilmibm | ||||
| ``` | ||||
| 
 | ||||
| Then, once you're sick of it... | ||||
| 
 | ||||
| ``` | ||||
| @recycle bowl | ||||
| ``` | ||||
| 
 | ||||
| ## Quickstart: Creating Rooms | ||||
| 
 | ||||
| Check `help @dig`. The in-game documentation does a better job at explaining | ||||
| this than I can. | ||||
| 
 | ||||
| Note that any registered account can create rooms that hang out in the void of | ||||
| nothingness. In order to link your room to an existing room, you need to | ||||
| either: | ||||
| 
 | ||||
| - Obtain permission from the other room's owner | ||||
|     - Convince them to run `@add-exit` and `@add-entrance` to your | ||||
|       entrances/exits | ||||
| - Link to a publicly linkable room (Such as the Grassy Plains). | ||||
| 
 | ||||
| To make your room publicly linkable, you can change the permissions on the | ||||
| `entrances`/`exits` properties: | ||||
| 
 | ||||
| ``` | ||||
| ;set_property_info(#DATABASE_ID, "entrances", {#131, "rwc"}) | ||||
| ;set_property_info(#DATABASE_ID, "exits", {#131, "rwc"}) | ||||
| ``` | ||||
| 
 | ||||
| ## Quickstart: Integrating with tilde.town | ||||
| 
 | ||||
| Typically, the use of `exec` and `curl` is restricted to wizard accounts. But | ||||
| we all love each other here! | ||||
| 
 | ||||
| Check `help $tilde_utils`. | ||||
| 
 | ||||
| exec's "executables" directory is `/home/moo/executables`. Ask in #moo if you'd | ||||
| like something added there. | ||||
| 
 | ||||
| ## How to Reverse Engineer Objects | ||||
| 
 | ||||
| A great way to learn is to look at other objects around the MOO. | ||||
| 
 | ||||
| - `@show` can print out an object in detail, including properties (Provided you | ||||
|   have permission.) | ||||
| - `@find` can find objects, properties, verbs. | ||||
| - `@list` can print out verbs. | ||||
| 
 | ||||
| Eg, to print out the source code for the `who` command, you can use: | ||||
| 
 | ||||
| ``` | ||||
| > @find :who | ||||
| The verb :who is on   rbiv(#131)--ANSI PC(#100) | ||||
| > @list #100:who | ||||
| ``` | ||||
| 
 | ||||
| ## Example Objects | ||||
| 
 | ||||
| ### The Orb of Seeing | ||||
| 
 | ||||
| Demonstrates how to get information about the players that interact with | ||||
| objects. | ||||
| 
 | ||||
| ``` | ||||
| @create $thing named "Orb of Seeing" | ||||
| @verb orb:description tnt | ||||
| 
 | ||||
| @program orb:description | ||||
| return { | ||||
|     "The "+this.name+" sees many things!", | ||||
|     "Viewer name: "+player.name, | ||||
|     "Item owner: "+this.owner.name | ||||
| }; | ||||
| . | ||||
| ``` | ||||
| 
 | ||||
| ### George | ||||
| 
 | ||||
| Everyone's favorite sleepy lad. | ||||
| 
 | ||||
| Shows some more advanced concepts. | ||||
| Defines a custom verb, "awaken", such that one may "awaken george". | ||||
| 
 | ||||
| ``` | ||||
| @create $thing named "George" | ||||
| @ -25,19 +119,3 @@ else | ||||
| endif | ||||
| . | ||||
| ``` | ||||
| 
 | ||||
| The Orb of Seeing, which demonstrates how to get information about the players | ||||
| that interact with objects. | ||||
| 
 | ||||
| ``` | ||||
| @create $thing named "Orb of Seeing" | ||||
| @verb orb:description tnt | ||||
| 
 | ||||
| @program orb:description | ||||
| return { | ||||
|     "The "+this.name+" sees many things!", | ||||
|     "Viewer name: "+player.name, | ||||
|     "Item owner: "+this.owner.name | ||||
| }; | ||||
| . | ||||
| ``` | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user