Class: Map

Inherits:
Object
  • Object
show all
Defined in:
models.rb

Class Method Summary (collapse)

Class Method Details

+ (Hash) current_room

Current room

Examples:

get current room

echo Map::current_room.inspect
=> {:zone=>"", :level=>-1, :id=>-1}

Returns:

  • (Hash)

    room object (:zone=>“”, :level=>-1, :id=>-1)



440
441
442
443
# File 'models.rb', line 440

def self.current_room
  $_api_socket.puts "MAP_GET CURRENT_ROOM\n"
  eval($_api_socket.gets('\0').chomp('\0').to_s)
end

+ (Hash) find_room(note)

Find room by note

Examples:

find room

room = Map::find_room "NE Gate"
echo room[:id]
=> 171

Parameters:

  • note (String)

    room note

Returns:

  • (Hash)

    room object (:zone=>“”, :level=>-1, :id=>-1)



453
454
455
456
# File 'models.rb', line 453

def self.find_room(note)
  $_api_socket.puts "MAP_GET FIND_ROOM?#{note}\n"
  eval($_api_socket.gets('\0').chomp('\0').to_s)
end

+ (Array) path(zone, from, to)

Path

Examples:

Find path between rooms

echo Map::path 1, 1, 5
=> ["south", "south", "east"]

Parameters:

  • zone (String)

    zone id

  • from (Integer)

    start room id

  • to (Integer)

    destination room id

Returns:

  • (Array)

    list of moves to destination (empty if path not found)



418
419
420
421
# File 'models.rb', line 418

def self.path(zone, from, to)
  $_api_socket.puts "MAP_GET PATH?#{ERB::Util.url_encode(zone)}&#{ERB::Util.url_encode(from)}&#{ERB::Util.url_encode(to)}\n"
  $_api_socket.gets('\0').chomp('\0').split(",")
end

+ (Array) zones

Zones

Examples:

get zones

echo Map::zones
=> ["1", "14c", "1k", "2a", "31", "7"]

Returns:

  • (Array)

    list of available zones



429
430
431
432
# File 'models.rb', line 429

def self.zones
  $_api_socket.puts "MAP_GET ZONES\n"
  $_api_socket.gets('\0').chomp('\0').split(",")
end