[程式必须的概念]
    你必须了解, 在 LPC 中最重要的一个概念是物件(object) 当你想
做任何动作时, 都要考虑到这个动作是哪一个 object 所做的, 不然很
容易导致错误　LPC 的语法并不严谨, 有些场合为了省事可以将函数是
由哪个物件所作的省略掉, 例如我们在 create() 函数中最常看到的
set(), 事实上最严谨的写法应为 this_object()->set()　write() 则
为 this_player()->write()　
    说这麽多只是为了强调一件事: 你能抓出一个物品的 object 变数
就能让他干一切他所能做的事　

[this_object() 与 this_player()]
    这两个函数是系统所提供的函数, 也是最最好用的两个函数　在你
写作一个物件 (房间　物品...etc.)时, this_object() 表示自己这个
物件　
    this_player() 则比较复杂, 它会传回一个属於玩家型别的物件　
这个玩家在 init 中就是触发 init 的那个玩家　this_player() 会跟
著函数呼叫一直传递给所有被 init 呼叫的函数, 包括 add_action 中
所定义出来的函数, 在这些函数中, this_player() 就是表示做动作的
那个人　

[present() 函数]
    常常, 我们只知道一个物件的名字, 却不能用个 object 型别的变
数指向它　 object present(string "id",object env) 函数在此时就
可以派上用场, 你给定你要找的物件的名字, 与它的所在地 (某个房间
或某个人), 函数就会传回他所找到的物件　
    简单的想, present 函数其实就是在一个房间里找出某个名字的物
品的函数　它是同类型找物品的函数中最有用的一个, 其余的函数还有
find_player(), find_living() 等等　

[environment(), first_inventory(), next_inventory(), all_inventory()]
    这一组函数跟物件所处在的位置有关　 environment(object ob)
传回了物件 ob 所处在的地点, 例如 ob 是个玩家或生物, 那麽这个函
数会传回 ob 所在的房间; 如果 ob 是个物品, 那麽传回的就是携带著
 ob 的生物, 或是 ob 所在的房间 (如果没有任何人带著它)
    first_inventory(object ob)  所传回的是 ob 中的第一个物件,
如果 ob 是房间, 则传回第一个物品或是生物, 如果 ob 是生物, 则传
回他身上所带的第一个物品　
    next_inventory(object ob) 通常跟著 first_inventory()  一起
使用　它的功用是传回 ob 的下一个物品, 在同一个 environment 中　
    all_inventory(object ob) 类似於 first_inventory(),  但是它
所传回的是包含了所有物品的一整个阵列　