say.php

来自「一个基于web的rpg游戏源代码」· PHP 代码 · 共 83 行

PHP
83
字号
<?php/*** Netlands World Server is the coordinator of the VR in the Netlands Project* Copyright (C) 2002 Ricard Pillosu* * This program is free software; you can redistribute it and/or* modify it under the terms of the GNU General Public License* as published by the Free Software Foundation; either version 2* of the License, or (at your option) any later version.* * This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the* GNU General Public License for more details.* * You should have received a copy of the GNU General Public License* along with this program; if not, write to the Free Software* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.*//* vim: set expandtab tabstop=4 shiftwidth=4 *//*** Basic communication command. It manages communication to one character, to* room or to all the game** Input: <say [me="x"] [id="x"] phrase="x"/>* Ouput: <say to="x" [id="x"] [phrase="x"] ok="<0|1>" msg="x"/>** @param connection object  Reference to connection* @param user       object  Reference to user* @param character  object  Reference to character* @param command    array   Contains command received*/function command_say(&$connection, &$user, &$character, $command){    global $entities;    try {        // Create the arra to send        $message = array(                "xml_name"  => "say_received",                "id"        => $character->key,                "phrase"    => $command["phrase"]);        // Ok, look "id" to deduce to whom is directed this message        if(!empty($command["id"])) {            $t_entity = &$entities->get_entity($command["id"]);            if($t_entity->type == entity_list::T_ROOM) {                // message for room                $message["type"] = "1";                $t_entity->send_message_to_childs($message);            } elseif($t_entity->type == entity_list::T_CHAR) {                // message for char                $message["type"] = "0";                $t_entity->send_message($message);            } else {                $msg = "can only send messages to rooms or characters";                throw new exception($msg);            }        } else {            // message for all the game            $message["type"] = "2";            $entities->send_message_to_all($message);        }    } catch(exception $exception) {        $answer = array(            "ok"    => "0",            "id"    => $command["id"],            "msg"   => $exception->get_msg());        return($answer);    }        // ok, all done :)    $answer = array(        "to"    => $character->get_key(),        "ok"    => "1",        "phrase"=> $command["phrase"],        "msg"   => "say successful");    if(!empty($command["id"])) $answer["id"] = $command["id"];    return($answer);}?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?