<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Module: Cmd</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" /> <script type="text/javascript"> // <![CDATA[ function popupCode( url ) { window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400") } function toggleCode( id ) { if ( document.getElementById ) elem = document.getElementById( id ); else if ( document.all ) elem = eval( "document.all." + id ); else return false; elemStyle = elem.style; if ( elemStyle.display != "block" ) { elemStyle.display = "block" } else { elemStyle.display = "none" } return true; } // Make codeblocks hidden by default document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" ) // ]]> </script> </head> <body> <div id="classHeader"> <table class="header-table"> <tr class="top-aligned-row"> <td><strong>Module</strong></td> <td class="class-name-in-header">Cmd</td> </tr> <tr class="top-aligned-row"> <td><strong>In:</strong></td> <td> <a href="../files/cmd/teensy/cmd_chat_rb.html"> cmd/teensy/cmd_chat.rb </a> <br /> <a href="../files/cmd/teensy/cmd_color_rb.html"> cmd/teensy/cmd_color.rb </a> <br /> <a href="../files/cmd/teensy/cmd_drop_rb.html"> cmd/teensy/cmd_drop.rb </a> <br /> <a href="../files/cmd/teensy/cmd_dumpcache_rb.html"> cmd/teensy/cmd_dumpcache.rb </a> <br /> <a href="../files/cmd/teensy/cmd_edit_rb.html"> cmd/teensy/cmd_edit.rb </a> <br /> <a href="../files/cmd/teensy/cmd_emote_rb.html"> cmd/teensy/cmd_emote.rb </a> <br /> <a href="../files/cmd/teensy/cmd_gc_rb.html"> cmd/teensy/cmd_gc.rb </a> <br /> <a href="../files/cmd/teensy/cmd_get_rb.html"> cmd/teensy/cmd_get.rb </a> <br /> <a href="../files/cmd/teensy/cmd_go_rb.html"> cmd/teensy/cmd_go.rb </a> <br /> <a href="../files/cmd/teensy/cmd_hello_rb.html"> cmd/teensy/cmd_hello.rb </a> <br /> <a href="../files/cmd/teensy/cmd_help_rb.html"> cmd/teensy/cmd_help.rb </a> <br /> <a href="../files/cmd/teensy/cmd_inv_rb.html"> cmd/teensy/cmd_inv.rb </a> <br /> <a href="../files/cmd/teensy/cmd_kill_rb.html"> cmd/teensy/cmd_kill.rb </a> <br /> <a href="../files/cmd/teensy/cmd_look_rb.html"> cmd/teensy/cmd_look.rb </a> <br /> <a href="../files/cmd/teensy/cmd_memstats_rb.html"> cmd/teensy/cmd_memstats.rb </a> <br /> <a href="../files/cmd/teensy/cmd_object_rb.html"> cmd/teensy/cmd_object.rb </a> <br /> <a href="../files/cmd/teensy/cmd_quit_rb.html"> cmd/teensy/cmd_quit.rb </a> <br /> <a href="../files/cmd/teensy/cmd_reload_rb.html"> cmd/teensy/cmd_reload.rb </a> <br /> <a href="../files/cmd/teensy/cmd_room_rb.html"> cmd/teensy/cmd_room.rb </a> <br /> <a href="../files/cmd/teensy/cmd_say_rb.html"> cmd/teensy/cmd_say.rb </a> <br /> <a href="../files/cmd/teensy/cmd_script_rb.html"> cmd/teensy/cmd_script.rb </a> <br /> <a href="../files/cmd/teensy/cmd_set_rb.html"> cmd/teensy/cmd_set.rb </a> <br /> <a href="../files/cmd/teensy/cmd_show_rb.html"> cmd/teensy/cmd_show.rb </a> <br /> <a href="../files/cmd/teensy/cmd_shutdown_rb.html"> cmd/teensy/cmd_shutdown.rb </a> <br /> <a href="../files/cmd/teensy/cmd_stats_rb.html"> cmd/teensy/cmd_stats.rb </a> <br /> <a href="../files/cmd/teensy/cmd_status_rb.html"> cmd/teensy/cmd_status.rb </a> <br /> <a href="../files/cmd/teensy/cmd_trigger_rb.html"> cmd/teensy/cmd_trigger.rb </a> <br /> <a href="../files/cmd/teensy/cmd_who_rb.html"> cmd/teensy/cmd_who.rb </a> <br /> <a href="../files/cmd/tiny/cmd_get_rb.html"> cmd/tiny/cmd_get.rb </a> <br /> <a href="../files/cmd/tiny/cmd_shutdown_rb.html"> cmd/tiny/cmd_shutdown.rb </a> <br /> </td> </tr> </table> </div> <!-- banner header --> <div id="bodyContent"> <div id="contextContent"> <div id="diagram"> <map id="map" name="map"> <area shape="rect" coords="16,16,109,65" href="Cmd.html" alt="Cmd " /> </map> <img src="../dot/f_62.png" usemap="#map" border="0" alt="dot/f_62.png"> </div> <div id="description"> <table> <tr><td valign="top">file:</td><td>cmd_shutdown.rb </td></tr> <tr><td valign="top">author:</td><td>Jon A. Lambert </td></tr> <tr><td valign="top">version:</td><td>2.9.0 </td></tr> <tr><td valign="top">date:</td><td>01/19/2006 </td></tr> </table> <p> This source code copyright (C) 2005, 2006 by Jon A. Lambert All rights reserved. </p> <p> Released under the terms of the TeensyMUD Public License See LICENSE file for additional information. </p> </div> </div> <div id="method-list"> <h3 class="section-bar">Methods</h3> <div class="name-list"> <a href="#M000360">cmd_chat</a> <a href="#M000361">cmd_color</a> <a href="#M000362">cmd_drop</a> <a href="#M000363">cmd_dumpcache</a> <a href="#M000364">cmd_edit</a> <a href="#M000368">cmd_emote</a> <a href="#M000369">cmd_gc</a> <a href="#M000391">cmd_get</a> <a href="#M000370">cmd_get</a> <a href="#M000371">cmd_go</a> <a href="#M000372">cmd_hello</a> <a href="#M000373">cmd_help</a> <a href="#M000374">cmd_inv</a> <a href="#M000375">cmd_kill</a> <a href="#M000376">cmd_look</a> <a href="#M000377">cmd_memstats</a> <a href="#M000378">cmd_object</a> <a href="#M000379">cmd_quit</a> <a href="#M000380">cmd_reload</a> <a href="#M000381">cmd_room</a> <a href="#M000382">cmd_say</a> <a href="#M000383">cmd_script</a> <a href="#M000384">cmd_set</a> <a href="#M000385">cmd_show</a> <a href="#M000386">cmd_shutdown</a> <a href="#M000392">cmd_shutdown</a> <a href="#M000387">cmd_stats</a> <a href="#M000388">cmd_status</a> <a href="#M000389">cmd_trigger</a> <a href="#M000390">cmd_who</a> <a href="#M000365">edit_display</a> <a href="#M000367">edit_parser</a> <a href="#M000366">word_wrap</a> </div> </div> </div> <!-- if includes --> <div id="section"> <!-- if method_list --> <div id="methods"> <h3 class="section-bar">Public Instance methods</h3> <div id="method-M000360" class="method-detail"> <a name="M000360"></a> <div class="method-heading"> <a href="#M000360" class="method-signature"> <span class="method-name">cmd_chat</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> sends <message> to all characters in the game </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000360-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000360-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_chat.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_chat</span>(<span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">args</span> <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">""</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"What are you trying to tell everyone?"</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-node">"[COLOR Magenta]You chat, \"#{args}\".[/COLOR]"</span>) <span class="ruby-identifier">world</span>.<span class="ruby-identifier">connected_characters</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">pid</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">id</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">pid</span> <span class="ruby-identifier">add_event</span>(<span class="ruby-identifier">id</span>,<span class="ruby-identifier">pid</span>,<span class="ruby-identifier">:show</span>, <span class="ruby-node">"[COLOR Magenta]#{name} chats, \"#{args}\".[/COLOR]"</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000361" class="method-detail"> <a name="M000361"></a> <div class="method-heading"> <a href="#M000361" class="method-signature"> <span class="method-name">cmd_color</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> toggles colors on or off </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000361-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000361-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_color.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_color</span>(<span class="ruby-identifier">args</span>) <span class="ruby-identifier">sendto</span> <span class="ruby-ivar">@account</span>.<span class="ruby-identifier">toggle_color</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000362" class="method-detail"> <a name="M000362"></a> <div class="method-heading"> <a href="#M000362" class="method-signature"> <span class="method-name">cmd_drop</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> drops all objects in your inventory into the room </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000362-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000362-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_drop.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_drop</span>(<span class="ruby-identifier">args</span>) <span class="ruby-identifier">objects</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">q</span><span class="ruby-operator">|</span> <span class="ruby-identifier">add_event</span>(<span class="ruby-identifier">id</span>,<span class="ruby-identifier">q</span>.<span class="ruby-identifier">id</span>,<span class="ruby-identifier">:drop</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000363" class="method-detail"> <a name="M000363"></a> <div class="method-heading"> <a href="#M000363" class="method-signature"> <span class="method-name">cmd_dumpcache</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> Look command displays the contents of a room </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000363-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000363-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_dumpcache.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_dumpcache</span>(<span class="ruby-identifier">args</span>) <span class="ruby-identifier">sendto</span>(<span class="ruby-constant">Engine</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">db</span>.<span class="ruby-identifier">inspect</span>) <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000364" class="method-detail"> <a name="M000364"></a> <div class="method-heading"> <a href="#M000364" class="method-signature"> <span class="method-name">cmd_edit</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> @edits a string field on an object Syntax: </p> <pre> @edit #<id> <field> @edit sysmsg <field> </pre> <p> (ex. @edit 1 desc </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000364-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000364-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_edit.rb, line 20</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_edit</span>(<span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">args</span> <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">""</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"What??"</span>) <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/sysmsg\s+(\w+)/</span> <span class="ruby-ivar">@mode</span> = <span class="ruby-identifier">:edit</span> <span class="ruby-ivar">@editobj</span> = <span class="ruby-identifier">world</span>.<span class="ruby-identifier">msgs</span> <span class="ruby-ivar">@editfield</span> = <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">intern</span> <span class="ruby-ivar">@editstr</span> = <span class="ruby-identifier">world</span>.<span class="ruby-identifier">msgs</span>[<span class="ruby-identifier">$1</span>.<span class="ruby-identifier">intern</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">''</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-identifier">edit_display</span>(<span class="ruby-ivar">@editstr</span>)) <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/#(\d+)\s+(\w+)/</span> <span class="ruby-identifier">o</span> = <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_i</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">o</span> <span class="ruby-keyword kw">when</span> <span class="ruby-constant">GameObject</span>, <span class="ruby-constant">Room</span>, <span class="ruby-constant">Character</span>, <span class="ruby-constant">Script</span>, <span class="ruby-constant">Exit</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">$2</span>) <span class="ruby-operator">&&</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value str">"#$2="</span>) <span class="ruby-operator">&&</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">send</span>(<span class="ruby-identifier">$2</span>).<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">String</span> <span class="ruby-ivar">@mode</span> = <span class="ruby-identifier">:edit</span> <span class="ruby-ivar">@editobj</span> = <span class="ruby-identifier">o</span> <span class="ruby-ivar">@editfield</span> = <span class="ruby-identifier">$2</span> <span class="ruby-ivar">@editstr</span> = <span class="ruby-identifier">o</span>.<span class="ruby-identifier">send</span> <span class="ruby-identifier">$2</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-identifier">edit_display</span>(<span class="ruby-ivar">@editstr</span>)) <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"Field #$2 not found on object."</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"No object."</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"What??"</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000368" class="method-detail"> <a name="M000368"></a> <div class="method-heading"> <a href="#M000368" class="method-signature"> <span class="method-name">cmd_emote</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> sends <message> to all characters in the room </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000368-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000368-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_emote.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_emote</span>(<span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">args</span> <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">""</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"What are you trying to emote?"</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-node">"You #{args}."</span>) <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">location</span>).<span class="ruby-identifier">characters</span>(<span class="ruby-identifier">id</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">add_event</span>(<span class="ruby-identifier">id</span>,<span class="ruby-identifier">p</span>.<span class="ruby-identifier">id</span>,<span class="ruby-identifier">:show</span>,<span class="ruby-node">"#{name} #{args}."</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000369" class="method-detail"> <a name="M000369"></a> <div class="method-heading"> <a href="#M000369" class="method-signature"> <span class="method-name">cmd_gc</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> This command runs garbage collection </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000369-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000369-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_gc.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_gc</span>(<span class="ruby-identifier">args</span>) <span class="ruby-constant">GC</span>.<span class="ruby-identifier">start</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"Garbage collector run"</span>) <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000391" class="method-detail"> <a name="M000391"></a> <div class="method-heading"> <a href="#M000391" class="method-signature"> <span class="method-name">cmd_get</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> gets all objects in the room into your inventory </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000391-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000391-source"> <pre> <span class="ruby-comment cmt"># File cmd/tiny/cmd_get.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_get</span>(<span class="ruby-identifier">args</span>) <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">location</span>).<span class="ruby-identifier">objects</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">q</span><span class="ruby-operator">|</span> <span class="ruby-identifier">add_event</span>(<span class="ruby-identifier">id</span>,<span class="ruby-identifier">q</span>.<span class="ruby-identifier">id</span>,<span class="ruby-identifier">:get</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000370" class="method-detail"> <a name="M000370"></a> <div class="method-heading"> <a href="#M000370" class="method-signature"> <span class="method-name">cmd_get</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> gets all objects in the room into your inventory </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000370-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000370-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_get.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_get</span>(<span class="ruby-identifier">args</span>) <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">location</span>).<span class="ruby-identifier">objects</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">q</span><span class="ruby-operator">|</span> <span class="ruby-identifier">add_event</span>(<span class="ruby-identifier">id</span>,<span class="ruby-identifier">q</span>.<span class="ruby-identifier">id</span>,<span class="ruby-identifier">:get</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000371" class="method-detail"> <a name="M000371"></a> <div class="method-heading"> <a href="#M000371" class="method-signature"> <span class="method-name">cmd_go</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> sends <message> to all characters in the room </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000371-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000371-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_go.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_go</span>(<span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">args</span> <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">""</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"Where do you want to go?"</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">ex</span> = [] <span class="ruby-identifier">ext</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">location</span>).<span class="ruby-identifier">exits</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">exid</span><span class="ruby-operator">|</span> <span class="ruby-identifier">ext</span> = <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">exid</span>) <span class="ruby-identifier">ex</span> = <span class="ruby-identifier">ext</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/;/</span>).<span class="ruby-identifier">grep</span>(<span class="ruby-node">/^#{args}/</span>) <span class="ruby-keyword kw">break</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">ex</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">ex</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"Can't find that place"</span>) <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">ex</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">></span> <span class="ruby-value">1</span> <span class="ruby-identifier">ln</span> = <span class="ruby-value str">"Which did you mean, "</span> <span class="ruby-identifier">ex</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">ln</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\'"</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">x</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\' "</span>} <span class="ruby-identifier">ln</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"?"</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-identifier">ln</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">add_event</span>(<span class="ruby-identifier">id</span>,<span class="ruby-identifier">ext</span>.<span class="ruby-identifier">id</span>,<span class="ruby-identifier">:leave</span>, <span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000372" class="method-detail"> <a name="M000372"></a> <div class="method-heading"> <a href="#M000372" class="method-signature"> <span class="method-name">cmd_hello</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> The hello social command </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000372-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000372-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_hello.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_hello</span>(<span class="ruby-identifier">args</span>) <span class="ruby-identifier">parse</span>(<span class="ruby-value str">"say hello"</span>) <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000373" class="method-detail"> <a name="M000373"></a> <div class="method-heading"> <a href="#M000373" class="method-signature"> <span class="method-name">cmd_help</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> The help command </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000373-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000373-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_help.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_help</span>(<span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">args</span> <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">""</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"====================HELP======================="</span>) <span class="ruby-identifier">world</span>.<span class="ruby-identifier">cmds</span>.<span class="ruby-identifier">to_hash</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">h</span><span class="ruby-operator">|</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">"%-10s - %s"</span>, <span class="ruby-identifier">h</span>.<span class="ruby-identifier">name</span>, <span class="ruby-identifier">h</span>.<span class="ruby-identifier">help</span>)) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">q</span> = <span class="ruby-identifier">world</span>.<span class="ruby-identifier">cmds</span>.<span class="ruby-identifier">find</span>(<span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">q</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"====================HELP======================="</span>) <span class="ruby-identifier">q</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">h</span><span class="ruby-operator">|</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">"%-10s - %s"</span>, <span class="ruby-identifier">h</span>.<span class="ruby-identifier">name</span>, <span class="ruby-identifier">h</span>.<span class="ruby-identifier">help</span>)) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span> <span class="ruby-value str">"No help on that."</span> <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000374" class="method-detail"> <a name="M000374"></a> <div class="method-heading"> <a href="#M000374" class="method-signature"> <span class="method-name">cmd_inv</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> The inventory command </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000374-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000374-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_inv.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_inv</span>(<span class="ruby-identifier">args</span>) <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"=== Inventory ==="</span>) <span class="ruby-identifier">objects</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">add_event</span>(<span class="ruby-identifier">id</span>,<span class="ruby-identifier">x</span>.<span class="ruby-identifier">id</span>,<span class="ruby-identifier">:describe</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000375" class="method-detail"> <a name="M000375"></a> <div class="method-heading"> <a href="#M000375" class="method-signature"> <span class="method-name">cmd_kill</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> This kills a character anywhere - it‘s link death (30% chance) </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000375-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000375-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_kill.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_kill</span>(<span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">args</span> <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">""</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"Who do you want to kill?"</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">d</span> = <span class="ruby-identifier">world</span>.<span class="ruby-identifier">all_characters</span>.<span class="ruby-identifier">find</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">pid</span><span class="ruby-operator">|</span> <span class="ruby-identifier">args</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">pid</span>).<span class="ruby-identifier">name</span> } <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">d</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"Can't find them."</span>) <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">end</span> <span class="ruby-identifier">d</span> = <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">d</span>) <span class="ruby-comment cmt"># get object</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">rand</span> <span class="ruby-operator"><</span> <span class="ruby-value">0</span><span class="ruby-value">.3</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-node">"You kill #{d.name}."</span>) <span class="ruby-identifier">world</span>.<span class="ruby-identifier">connected_characters</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">pid</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pid</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">id</span> <span class="ruby-identifier">add_event</span>(<span class="ruby-identifier">id</span>,<span class="ruby-identifier">pid</span>,<span class="ruby-identifier">:show</span>,<span class="ruby-node">"#{name} kills #{d.name}."</span>) <span class="ruby-keyword kw">end</span> } <span class="ruby-identifier">d</span>.<span class="ruby-identifier">account</span>.<span class="ruby-identifier">disconnect</span>(<span class="ruby-value str">"You have been pwn3d!"</span>) <span class="ruby-comment cmt"># delete_object(d) Dont delete character, it's annoying</span> <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-node">"You attacks and misses #{d.name}."</span>) <span class="ruby-identifier">world</span>.<span class="ruby-identifier">connected_characters</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">pid</span><span class="ruby-operator">|</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">pid</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">id</span> <span class="ruby-identifier">add_event</span>(<span class="ruby-identifier">id</span>,<span class="ruby-identifier">pid</span>,<span class="ruby-identifier">:show</span>,<span class="ruby-node">"#{name} attacks and misses #{d.name}."</span>) <span class="ruby-keyword kw">end</span> } <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000376" class="method-detail"> <a name="M000376"></a> <div class="method-heading"> <a href="#M000376" class="method-signature"> <span class="method-name">cmd_look</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> Look command displays the contents of a room </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000376-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000376-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_look.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_look</span>(<span class="ruby-identifier">args</span>) <span class="ruby-identifier">place</span> = <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">location</span>) <span class="ruby-identifier">add_event</span>(<span class="ruby-identifier">id</span>,<span class="ruby-identifier">location</span>,<span class="ruby-identifier">:describe</span>) <span class="ruby-identifier">place</span>.<span class="ruby-identifier">objects</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">add_event</span>(<span class="ruby-identifier">id</span>,<span class="ruby-identifier">x</span>.<span class="ruby-identifier">id</span>,<span class="ruby-identifier">:describe</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-identifier">place</span>.<span class="ruby-identifier">characters</span>(<span class="ruby-identifier">id</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">add_event</span>(<span class="ruby-identifier">id</span>,<span class="ruby-identifier">x</span>.<span class="ruby-identifier">id</span>,<span class="ruby-identifier">:describe</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-identifier">add_event</span>(<span class="ruby-identifier">id</span>,<span class="ruby-identifier">location</span>,<span class="ruby-identifier">:describe_exits</span>) <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000377" class="method-detail"> <a name="M000377"></a> <div class="method-heading"> <a href="#M000377" class="method-signature"> <span class="method-name">cmd_memstats</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> The memory stats command </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000377-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000377-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_memstats.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_memstats</span>(<span class="ruby-identifier">args</span>) <span class="ruby-identifier">sendto</span>(<span class="ruby-identifier">world</span>.<span class="ruby-identifier">memstats</span>) <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000378" class="method-detail"> <a name="M000378"></a> <div class="method-heading"> <a href="#M000378" class="method-signature"> <span class="method-name">cmd_object</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> sets the description for an object (ex. @set 1 A beautiful rose.) </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000378-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000378-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_object.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_object</span>(<span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">args</span> <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/(.*)/</span> <span class="ruby-identifier">newobj</span> = <span class="ruby-constant">GameObject</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">$1</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">location</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">newobj</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-identifier">log</span>.<span class="ruby-identifier">error</span> <span class="ruby-value str">"Unable to create object."</span> <span class="ruby-identifier">sendto</span> <span class="ruby-value str">"System error: unable to create object."</span> <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">end</span> <span class="ruby-identifier">put_object</span>(<span class="ruby-identifier">newobj</span>) <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">location</span>).<span class="ruby-identifier">add_contents</span>(<span class="ruby-identifier">newobj</span>.<span class="ruby-identifier">id</span>) <span class="ruby-identifier">sendto</span> <span class="ruby-value str">"Ok."</span> <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"What!!?"</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000379" class="method-detail"> <a name="M000379"></a> <div class="method-heading"> <a href="#M000379" class="method-signature"> <span class="method-name">cmd_quit</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> The quit command </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000379-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000379-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_quit.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_quit</span>(<span class="ruby-identifier">args</span>) <span class="ruby-ivar">@account</span>.<span class="ruby-identifier">disconnect</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000380" class="method-detail"> <a name="M000380"></a> <div class="method-heading"> <a href="#M000380" class="method-signature"> <span class="method-name">cmd_reload</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> This reloads the commands </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000380-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000380-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_reload.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_reload</span>(<span class="ruby-identifier">args</span>) <span class="ruby-identifier">world</span>.<span class="ruby-identifier">cmds</span>, <span class="ruby-identifier">world</span>.<span class="ruby-identifier">ocmds</span> = <span class="ruby-constant">Command</span>.<span class="ruby-identifier">load</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"Command table reloaded."</span>) <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000381" class="method-detail"> <a name="M000381"></a> <div class="method-heading"> <a href="#M000381" class="method-signature"> <span class="method-name">cmd_room</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> creates a new room and autolinks the exits using the exit names provided. (ex. @room My <a href="Room.html">Room</a> north south) </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000381-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000381-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_room.rb, line 17</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_room</span>(<span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">args</span> <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/(.*) (.*) (.*)/</span> <span class="ruby-identifier">d</span>=<span class="ruby-constant">Room</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">$1</span>, <span class="ruby-identifier">id</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-identifier">log</span>.<span class="ruby-identifier">error</span> <span class="ruby-value str">"Unable to create room."</span> <span class="ruby-identifier">sendto</span> <span class="ruby-value str">"System error: unable to create room."</span> <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">end</span> <span class="ruby-identifier">put_object</span>(<span class="ruby-identifier">d</span>) <span class="ruby-identifier">curr</span> = <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">location</span>) <span class="ruby-identifier">e1</span> = <span class="ruby-constant">Exit</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">$2</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">curr</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">d</span>.<span class="ruby-identifier">id</span>) <span class="ruby-identifier">curr</span>.<span class="ruby-identifier">exits</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">e1</span>.<span class="ruby-identifier">id</span> <span class="ruby-identifier">put_object</span>(<span class="ruby-identifier">e1</span>) <span class="ruby-identifier">e2</span> = <span class="ruby-constant">Exit</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">$3</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">d</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">curr</span>.<span class="ruby-identifier">id</span>) <span class="ruby-identifier">d</span>.<span class="ruby-identifier">exits</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">e2</span>.<span class="ruby-identifier">id</span> <span class="ruby-identifier">put_object</span>(<span class="ruby-identifier">e2</span>) <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"Ok."</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"say what??"</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000382" class="method-detail"> <a name="M000382"></a> <div class="method-heading"> <a href="#M000382" class="method-signature"> <span class="method-name">cmd_say</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> sends <message> to all characters in the room </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000382-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000382-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_say.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_say</span>(<span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">args</span> <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">""</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"What are you trying to say?"</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-node">"You say, \"#{args}\"."</span>) <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">location</span>).<span class="ruby-identifier">characters</span>(<span class="ruby-identifier">id</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">add_event</span>(<span class="ruby-identifier">id</span>,<span class="ruby-identifier">p</span>.<span class="ruby-identifier">id</span>,<span class="ruby-identifier">:show</span>,<span class="ruby-node">"#{name} says, \"#{args}\"."</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000383" class="method-detail"> <a name="M000383"></a> <div class="method-heading"> <a href="#M000383" class="method-signature"> <span class="method-name">cmd_script</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> adds, deletes, lists, or a script Syntax: </p> <pre> @script add <lang> <progname>|<code> @script del #<scriptid> @script show #<scriptid> </pre> <p> (ex. @script add fart myprog) (ex. @script add boolexp 234|42&34 ) </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000383-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000383-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_script.rb, line 22</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_script</span>(<span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">args</span> <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/del\s+#(\d+)/</span> <span class="ruby-identifier">s</span> = <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_i</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">s</span> <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Script</span> <span class="ruby-identifier">delete_object</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">id</span>) <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"Script #$1 deleted."</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"No script."</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/add\s+(\w+)\s+(.*)/</span> <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">intern</span> <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:fart</span> <span class="ruby-identifier">s</span> = <span class="ruby-constant">Script</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">$2</span>.<span class="ruby-identifier">strip</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">intern</span>) <span class="ruby-identifier">put_object</span>(<span class="ruby-identifier">s</span>) <span class="ruby-identifier">sendto</span>(<span class="ruby-node">"Script #{s.id} added."</span>) <span class="ruby-keyword kw">when</span> <span class="ruby-identifier">:boolexp</span> <span class="ruby-identifier">s</span> = <span class="ruby-constant">Script</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">id</span>, <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">intern</span>) <span class="ruby-identifier">s</span>.<span class="ruby-identifier">load</span>(<span class="ruby-identifier">$2</span>.<span class="ruby-identifier">strip</span>) <span class="ruby-identifier">put_object</span>(<span class="ruby-identifier">s</span>) <span class="ruby-identifier">sendto</span>(<span class="ruby-node">"Script #{s.id} added."</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"No language."</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/show\s+#(\d+)/</span> <span class="ruby-identifier">s</span> = <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_i</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">s</span> <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Script</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">load</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">s</span>.<span class="ruby-identifier">src</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">src</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"No script."</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"What??"</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000384" class="method-detail"> <a name="M000384"></a> <div class="method-heading"> <a href="#M000384" class="method-signature"> <span class="method-name">cmd_set</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> sets the description or timer for an object Syntax: </p> <pre> @set desc #<id> <description> @set key #<id> <description> @set timer #<id> <on|off> </pre> <p> (ex. @set desc 1 A beautiful rose.) </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000384-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000384-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_set.rb, line 21</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_set</span>(<span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">args</span> <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">""</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"What??"</span>) <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/desc\s+#(\d+)\s+(.*)/</span> <span class="ruby-identifier">o</span> = <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_i</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">o</span> <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-value">0</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"No object."</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">desc</span> = <span class="ruby-identifier">$2</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"Object #"</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">$1</span> <span class="ruby-operator">+</span> <span class="ruby-value str">" description set."</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/key\s+#(\d+)\s+(.*)/</span> <span class="ruby-identifier">o</span> = <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_i</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">o</span> <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-value">0</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"No object."</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">key</span> = <span class="ruby-identifier">$2</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"Object #"</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">$1</span> <span class="ruby-operator">+</span> <span class="ruby-value str">" key set."</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/timer\s+#(\d+)\s+(on|off)\s+(.*)/</span> <span class="ruby-identifier">o</span> = <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_i</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">o</span> <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"No object."</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$2</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'on'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$3</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/(\w+)\s+(\d+)/</span> <span class="ruby-identifier">world</span>.<span class="ruby-identifier">set_timer</span>(<span class="ruby-identifier">o</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_sym</span>, <span class="ruby-identifier">$2</span>.<span class="ruby-identifier">to_i</span>) <span class="ruby-identifier">sendto</span>(<span class="ruby-node">"Object ##{o.id} registered with timer."</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"Bad symbol or missing time"</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">else</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$3</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/(\w+)/</span> <span class="ruby-identifier">world</span>.<span class="ruby-identifier">unset_timer</span>(<span class="ruby-identifier">o</span>.<span class="ruby-identifier">id</span>, <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_sym</span>) <span class="ruby-identifier">sendto</span>(<span class="ruby-node">"Object ##{o.id} unregistered with timer."</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"Bad symbol"</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"What??"</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000385" class="method-detail"> <a name="M000385"></a> <div class="method-heading"> <a href="#M000385" class="method-signature"> <span class="method-name">cmd_show</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> displays object Syntax: </p> <pre> @show #<oid>|me </pre> <p> (ex. @show me) </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000385-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000385-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_show.rb, line 19</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_show</span>(<span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">args</span> <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/#(\d+)/</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_i</span>).<span class="ruby-identifier">inspect</span>) <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/me/</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">id</span>).<span class="ruby-identifier">inspect</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"What??"</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000386" class="method-detail"> <a name="M000386"></a> <div class="method-heading"> <a href="#M000386" class="method-signature"> <span class="method-name">cmd_shutdown</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> The shutdown command </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000386-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000386-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_shutdown.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_shutdown</span>(<span class="ruby-identifier">args</span>) <span class="ruby-constant">Engine</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">shutdown</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000392" class="method-detail"> <a name="M000392"></a> <div class="method-heading"> <a href="#M000392" class="method-signature"> <span class="method-name">cmd_shutdown</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> The shutdown command </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000392-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000392-source"> <pre> <span class="ruby-comment cmt"># File cmd/tiny/cmd_shutdown.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_shutdown</span>(<span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">world</span>.<span class="ruby-identifier">is_admin?</span> <span class="ruby-identifier">id</span> <span class="ruby-identifier">log</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">"Shutdown by '#{name}'"</span> <span class="ruby-constant">Engine</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">shutdown</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span> <span class="ruby-value str">"You do not have the authority to shutdown the server."</span> <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000387" class="method-detail"> <a name="M000387"></a> <div class="method-heading"> <a href="#M000387" class="method-signature"> <span class="method-name">cmd_stats</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> The database stats command </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000387-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000387-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_stats.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_stats</span>(<span class="ruby-identifier">args</span>) <span class="ruby-identifier">sendto</span>(<span class="ruby-constant">Engine</span>.<span class="ruby-identifier">instance</span>.<span class="ruby-identifier">db</span>.<span class="ruby-identifier">stats</span>) <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000388" class="method-detail"> <a name="M000388"></a> <div class="method-heading"> <a href="#M000388" class="method-signature"> <span class="method-name">cmd_status</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> displays session information </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000388-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000388-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_status.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_status</span>(<span class="ruby-identifier">args</span>) <span class="ruby-identifier">sendto</span> <span class="ruby-ivar">@account</span>.<span class="ruby-identifier">status_rept</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000389" class="method-detail"> <a name="M000389"></a> <div class="method-heading"> <a href="#M000389" class="method-signature"> <span class="method-name">cmd_trigger</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> adds, deletes, or shows triggers on an object Syntax: </p> <pre> @trigger add #<id> #<scriptid> <eventtype> @trigger del #<id> <eventtype> @trigger show #<id> </pre> <p> (ex. @trigger add 1 myprog arrive) </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000389-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000389-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_trigger.rb, line 21</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_trigger</span>(<span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">args</span> <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">""</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"What??"</span>) <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/del\s+#(\d+)\s+(\w+)/</span> <span class="ruby-identifier">o</span> = <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_i</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">o</span> <span class="ruby-keyword kw">when</span> <span class="ruby-constant">GameObject</span>, <span class="ruby-constant">Room</span>, <span class="ruby-constant">Character</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">get_trigger</span>(<span class="ruby-identifier">$2</span>) <span class="ruby-identifier">o</span>.<span class="ruby-identifier">delete_trigger</span>(<span class="ruby-identifier">$2</span>) <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"Object ##$1 trigger deleted."</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"Trigger ##$2 not found on object."</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"No object."</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/add\s+#(\d+)\s+#(\d+)\s+(\w+)/i</span> <span class="ruby-identifier">o</span> = <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_i</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">o</span> <span class="ruby-keyword kw">when</span> <span class="ruby-constant">GameObject</span>, <span class="ruby-constant">Room</span>, <span class="ruby-constant">Character</span> <span class="ruby-identifier">s</span> = <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">$2</span>.<span class="ruby-identifier">to_i</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">s</span> <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Script</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">add_trigger</span>(<span class="ruby-identifier">$3</span>, <span class="ruby-identifier">s</span>.<span class="ruby-identifier">id</span>) <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"Object ##$1 trigger added."</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"No script."</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"No object."</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/show\s+#(\d+)/</span> <span class="ruby-identifier">o</span> = <span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_i</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">o</span> <span class="ruby-keyword kw">when</span> <span class="ruby-constant">GameObject</span>, <span class="ruby-constant">Room</span>, <span class="ruby-constant">Character</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"===========TRIGGERS============"</span>) <span class="ruby-identifier">sendto</span>(<span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">"%-15s %-15s"</span>, <span class="ruby-value str">"Event"</span>, <span class="ruby-value str">"Program"</span>)) <span class="ruby-identifier">o</span>.<span class="ruby-identifier">triggers</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">e</span>, <span class="ruby-identifier">t</span><span class="ruby-operator">|</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-identifier">sprintf</span>(<span class="ruby-value str">"%-15s #%d"</span>, <span class="ruby-identifier">e</span>.<span class="ruby-identifier">id2name</span>, <span class="ruby-identifier">t</span>)) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"No object."</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"What??"</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000390" class="method-detail"> <a name="M000390"></a> <div class="method-heading"> <a href="#M000390" class="method-signature"> <span class="method-name">cmd_who</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p> shows a list of all connected characters </p> <p><a class="source-toggle" href="#" onclick="toggleCode('M000390-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000390-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_who.rb, line 16</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cmd_who</span>(<span class="ruby-identifier">args</span>) <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"=== Who List ==="</span>) <span class="ruby-identifier">world</span>.<span class="ruby-identifier">connected_characters</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">pid</span><span class="ruby-operator">|</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-identifier">get_object</span>(<span class="ruby-identifier">pid</span>).<span class="ruby-identifier">name</span>)} <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000365" class="method-detail"> <a name="M000365"></a> <div class="method-heading"> <a href="#M000365" class="method-signature"> <span class="method-name">edit_display</span><span class="method-args">(str)</span> </a> </div> <div class="method-description"> <p><a class="source-toggle" href="#" onclick="toggleCode('M000365-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000365-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_edit.rb, line 55</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">edit_display</span>(<span class="ruby-identifier">str</span>) <span class="ruby-identifier">header</span> =<span class="ruby-value str">"======== Teensy String Editor ========\n Type .h on a new line for help\n Terminate with a @ on a blank line.\n======================================\n"</span> <span class="ruby-identifier">i</span> = <span class="ruby-value">0</span> <span class="ruby-identifier">header</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/^/</span>){<span class="ruby-node">"#{i+=1}: "</span>} <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000367" class="method-detail"> <a name="M000367"></a> <div class="method-heading"> <a href="#M000367" class="method-signature"> <span class="method-name">edit_parser</span><span class="method-args">(args)</span> </a> </div> <div class="method-description"> <p><a class="source-toggle" href="#" onclick="toggleCode('M000367-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000367-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_edit.rb, line 74</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">edit_parser</span>(<span class="ruby-identifier">args</span>) <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">args</span> <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-value str">"What??"</span>) <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/^\.h/</span> <span class="ruby-identifier">sendto</span> <span class="ruby-value str">"@edit help (commands on blank line):\n.r /old/new/ - replace a substring\n.h - get help (this info)\n.s - show string so far\n.ww [width] - word wrap string (width optional)\n defaults to 76\n.c - clear string so far\n.ld <num> - delete line <num>\n.li <num> <txt> - insert <txt> before line <num>\n.lr <num> <txt> - replace line <num> with <txt>\n@ - end string\n"</span> <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/^\.c/</span> <span class="ruby-ivar">@editstr</span> = <span class="ruby-value str">""</span> <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/^\.s/</span> <span class="ruby-identifier">sendto</span>(<span class="ruby-identifier">edit_display</span>(<span class="ruby-ivar">@editstr</span>)) <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/^\.r\s+\/(.+)?\/(.+)?\//</span> <span class="ruby-ivar">@editstr</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-identifier">$1</span>, <span class="ruby-value str">'\2'</span>) <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/^\.ww\s+(\d+)/</span>, <span class="ruby-regexp re">/^\.ww/</span> <span class="ruby-ivar">@editstr</span> = <span class="ruby-identifier">word_wrap</span>(<span class="ruby-ivar">@editstr</span>, <span class="ruby-identifier">$1</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">></span> <span class="ruby-value">2</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-operator">:</span> <span class="ruby-value">76</span> ) <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/^\.ld\s+(\d+)/</span> <span class="ruby-identifier">idx</span> = <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator"><</span> <span class="ruby-value">1</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span> <span class="ruby-identifier">lines</span> = <span class="ruby-ivar">@editstr</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">"\n"</span>) <span class="ruby-identifier">lines</span>.<span class="ruby-identifier">delete_at</span>(<span class="ruby-identifier">idx</span>) <span class="ruby-ivar">@editstr</span> = <span class="ruby-identifier">lines</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">"\n"</span>) <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/^\.li\s+(\d+)\s+(.*)?$/</span> <span class="ruby-identifier">idx</span> = <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator"><</span> <span class="ruby-value">1</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span> <span class="ruby-identifier">nl</span> = <span class="ruby-identifier">$2</span> <span class="ruby-identifier">lines</span> = <span class="ruby-ivar">@editstr</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">"\n"</span>) <span class="ruby-identifier">lines</span>.<span class="ruby-identifier">insert</span>(<span class="ruby-identifier">idx</span>, <span class="ruby-identifier">nl</span> <span class="ruby-operator">+</span> <span class="ruby-value str">"\n"</span>) <span class="ruby-ivar">@editstr</span> = <span class="ruby-identifier">lines</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">"\n"</span>) <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/^\.lr\s+(\d+)\s+(.*)?$/</span> <span class="ruby-identifier">idx</span> = <span class="ruby-identifier">$1</span>.<span class="ruby-identifier">to_i</span> <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator"><</span> <span class="ruby-value">1</span> <span class="ruby-identifier">idx</span> <span class="ruby-operator">-=</span> <span class="ruby-value">1</span> <span class="ruby-identifier">nl</span> = <span class="ruby-identifier">$2</span> <span class="ruby-identifier">lines</span> = <span class="ruby-ivar">@editstr</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">"\n"</span>) <span class="ruby-identifier">lines</span>[<span class="ruby-identifier">idx</span>] = <span class="ruby-identifier">nl</span> <span class="ruby-operator">+</span> <span class="ruby-value str">"\n"</span> <span class="ruby-ivar">@editstr</span> = <span class="ruby-identifier">lines</span>.<span class="ruby-identifier">compact</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">"\n"</span>) <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/^@/</span> <span class="ruby-ivar">@mode</span> = <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@editobj</span>.<span class="ruby-identifier">object_id</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">world</span>.<span class="ruby-identifier">msgs</span>.<span class="ruby-identifier">object_id</span> <span class="ruby-comment cmt"># detect sysmsgs</span> <span class="ruby-ivar">@editobj</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value str">"[]="</span>, <span class="ruby-ivar">@editfield</span>, <span class="ruby-ivar">@editstr</span>) <span class="ruby-keyword kw">else</span> <span class="ruby-ivar">@editobj</span>.<span class="ruby-identifier">send</span>(<span class="ruby-ivar">@editfield</span><span class="ruby-operator">+</span><span class="ruby-value str">"="</span>, <span class="ruby-ivar">@editstr</span>) <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">when</span> <span class="ruby-regexp re">/^\./</span> <span class="ruby-identifier">sendto</span> <span class="ruby-value str">"Invalid command."</span> <span class="ruby-keyword kw">else</span> <span class="ruby-ivar">@editstr</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">args</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">"\n"</span> <span class="ruby-keyword kw">end</span> <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> <div id="method-M000366" class="method-detail"> <a name="M000366"></a> <div class="method-heading"> <a href="#M000366" class="method-signature"> <span class="method-name">word_wrap</span><span class="method-args">(s, len)</span> </a> </div> <div class="method-description"> <p><a class="source-toggle" href="#" onclick="toggleCode('M000366-source');return false;">[Source]</a></p> <div class="method-source-code" id="M000366-source"> <pre> <span class="ruby-comment cmt"># File cmd/teensy/cmd_edit.rb, line 67</span> <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">word_wrap</span>(<span class="ruby-identifier">s</span>, <span class="ruby-identifier">len</span>) <span class="ruby-identifier">str</span> = <span class="ruby-identifier">s</span> <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\n/</span>,<span class="ruby-value str">' '</span>);<span class="ruby-identifier">str</span>.<span class="ruby-identifier">squeeze!</span>(<span class="ruby-value str">' '</span>) <span class="ruby-identifier">str</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-node">/(\S{#{len}})(?=\S)/</span>,<span class="ruby-value str">'\1 '</span>) <span class="ruby-identifier">str</span>.<span class="ruby-identifier">scan</span>(<span class="ruby-node">/(.{1,#{len}})(?:\s+|$)/</span>).<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">"\n"</span>) <span class="ruby-keyword kw">end</span> </pre> </div> </div> </div> </div> </div> <div id="validator-badges"> <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p> </div> </body> </html>