#!/usr/bin/env ruby # $Revision: 1.11 $ # $Date: 2003/12/04 22:18:34 $ # $Author: jefus $ class Commands attr_accessor :list def initialize @list = [] # i like this # access 0 = player # access 1 = builder type admin # access 2 = full admin Dir.chdir("commands") Dir["*.rb"].each {|entry| @list << Command.new(entry[0..entry.size-4]) } end def include?(name) @list.each {|command| return true if command.name == name } return false end def [](name) return find(name) end def find(name) @list.each {|command| return command if command.name == name } return nil end end class Command attr_accessor :name, :access def initialize(name) @name = name @access = 0 begin file = File.open("#{name}.rb") file.each {|line| if line =~ /#\s*access (\d)/ @access = $1.to_i end } file.close load("#{name}.rb") rescue Logger.log("Error loading command '#{@name}': #{$!}") Logger.log($@) #else #Logger.log("Loaded command '#{@name}' at access level #{@access}.") end end end Logger.log("Command code initialized.")