Вход Регистрация
Файл: area.php
Строк: 175
<?php

include_once("settings.php");
include_once(
"game_header.php");
include_once(
"room.php");
include_once(
"creature.php");
include_once(
"player_battle.php");
include_once(
"players.php");
include_once(
"player_thing.php");
include_once(
"drop.php");
include_once(
"player_chat.php");

if(!isset(
$_REQUEST["mode"])){
    
$mode="";
}else{
    
$mode $_REQUEST["mode"];
}

//check city
if($mode==""){
    switch(
$room_id)
    {
        case 
CITY_MAIN:
        case 
CITY_DARKTIME:
        
header("Location: city.php");
        break;
    }
}

$room = new CRoom($db);
$creature = new CCreature($db);
$drop = new CDrop($db,$room_id,$vnum);

$player_chat = new CPlayerChat($db,$vnum);

switch(
$mode){
    case 
'say'://chat message
        
$already_say=$player_chat->getLastMessageUser($room_id);
        if(
$already_say!=$say_text){ 
            
$player_chat->addMessage($room_id,$say_text);
        }
        
header("Location: area.php");
    break;
    case 
'msg_del'://delete chat mgs
        
if($player->getChatAngel()==1){
            
$player_chat->hideMsg($vnum_msg,$player_name);
        }
        
header("Location: area.php");
        break;
    case 
'go':
    
//player try go in next room
    
if(!isset($_REQUEST['r']) || !isset($_REQUEST['d'])) break;
    
$r $_REQUEST['r'];
    
$d $_REQUEST['d'];
    
$room->setVnum($r);
    
$r_link $room->getLinkRoom($d);
    if(
$r_link==-1) break;//wrong room
    
$player->setRoom($r_link);
    
header("Location: area.php");
    break;
    case 
'start_battle':
    
//player start battle
    
if(!isset($_REQUEST['mob'])) break;
    
$mob $_REQUEST['mob'];
    
$player_battle = new CPlayerBattle($db,$vnum);
    
$player_battle->startBattle($mob);
    
$creature = new CCreature($db,$mob);
    
$creature->setState(STATE_COMBAT);
    
$creature_name=$creature->getName();
    
    
//start log meassage
    
$uuid=getUniqValue();
    
$player->setUuid($uuid);
    
//add log messages
    
$log_player = new CLogPlayers($db,$vnum,$uuid);
    
$msg="чЩ ОБРБМЙ ОБ НПОУФТБ $creature_name.";
    
$log_player->addLogMsg($msg);
    
    
header("Location: battle_mobs.php");
    break;
    exit();
}

checkPlayerState($player);

//get weapon in hand
$player_things = new CPlayerThings($db,$vnum);
$things_wear $player_things->getWearThingsInHand();

if(isset(
$things_wear[WEAR_TWO_HAND])){
    
$weapon_id=$player_things->getThingID($things_wear[WEAR_TWO_HAND]);
    
$dur_cur=$player_things->getDurability($things_wear[WEAR_TWO_HAND]);
    
$dur_max=$player_things->getDurabilityMax($things_wear[WEAR_TWO_HAND]);
    
$smarty->assign('LH_CUR',$dur_cur);
    
$smarty->assign('LH_MAX',$dur_max);
    
$smarty->assign('RH_CUR',$dur_cur);
    
$smarty->assign('RH_MAX',$dur_max);
    
$smarty->assign('LH_IMAGE',"images/items/weapon/".$weapon_id."s.gif");
    
$smarty->assign('RH_IMAGE',"images/items/weapon/".$weapon_id."s.gif");
}else{

    
//check left hand
    
if(isset($things_wear[WEAR_LEFT_HAND])){
        
$weapon_id=$player_things->getThingID($things_wear[WEAR_LEFT_HAND]);
        
$dur_cur=$player_things->getDurability($things_wear[WEAR_LEFT_HAND]);
        
$dur_max=$player_things->getDurabilityMax($things_wear[WEAR_LEFT_HAND]);
        
$smarty->assign('LH_CUR',$dur_cur);
        
$smarty->assign('LH_MAX',$dur_max);
        
$smarty->assign('LH_IMAGE',"images/items/weapon/".$weapon_id."s.gif");
    }else{
        
$smarty->assign('LH_CUR',0);
        
$smarty->assign('LH_MAX',0);
        
$smarty->assign('LH_IMAGE',"images/items/weapon/kul_left.gif");
    }

    
//check right hand
    
if(isset($things_wear[WEAR_RIGHT_HAND])){
        
$weapon_id=$player_things->getThingID($things_wear[WEAR_RIGHT_HAND]);
        
$dur_cur=$player_things->getDurability($things_wear[WEAR_RIGHT_HAND]);
        
$dur_max=$player_things->getDurabilityMax($things_wear[WEAR_RIGHT_HAND]);
        
$smarty->assign('RH_CUR',$dur_cur);
        
$smarty->assign('RH_MAX',$dur_max);
        
$smarty->assign('RH_IMAGE',"images/items/weapon/".$weapon_id."s.gif");
    }else{
        
$smarty->assign('RH_CUR',0);
        
$smarty->assign('RH_MAX',0);
        
$smarty->assign('RH_IMAGE',"images/items/weapon/kul_right.gif");
    }

}

//get players in room
$players = new CPlayers($db);
$players_in_room=$players->getPlayersInRoomAndName($room_id);
foreach(
$players_in_room as $v){
    
$skill->setVnum($v['vnum']);
    
$player_level=$skill->getSkillLevel(SKILL_HP);
    
$smarty->append("players_in_room",array(
    
'VNUM' => $v['vnum'],
    
'NAME' => $v['name'],
    
'LEVEL' => $player_level,
    
'COLOR' => $v['online']==1?"blue":"gray",
    
'TIME_ACTIVE' => getTimes($v['active']),
    ));
}

//get room info
$room->setVnum($room_id);
$description $room->getRoomDesc();
$caption $room->getRoomCaption();
$smarty->assign('CAPTION',$caption);
$smarty->assign('DESCRIPTION',$description);


//get room exits
$exits $room->getRoomExits();
foreach(
$exits as $v)
{
    
$D "D".$v['direction'];
    
$smarty->assign($D,$v['direction']);
}

//get mobs in room
$mobs $creature->getMobsInRoom($room_id);
foreach(
$mobs as $v)
{
    
$creature->setVnum($v['vnum']);
    
$creature_name=$creature->getName();
    
$player_name="None";
    
//remove reset battle
    
if($v['state']!=STATE_STAND)
    {
        
$player_mob $creature->getPlayerFightMobs();
        if(
$player_mob!=&& $player_mob['online'] == 1){
            
$player_name=$player_mob['name'];
        }else{
            
//reset mob state
            
$creature->setState(STATE_STAND);
            
header("Location: area.php");
        }
    }
    
$smarty->append("creatures",array(
    
'VNUM_CREATURE' => $v['vnum_mob'],
    
'CREATURE_NAME' => $creature_name,
    
'VNUM' => $v['vnum'],
    
'STATE' => $v['state'],
    
'PLAYER_NAME' => $player_name,
    ));
}

//get chat messages
$chat_msg=$player_chat->getLastMessage($room_id,15);

foreach(
$chat_msg as $k => $v){
    
$chat_msg[$k]['pdata']=getChatTime($v['pdata']);
}

$smarty->assign_by_ref("chat_msg",$chat_msg);

//get drop things in room
$things_drop=$drop->getCountThingsInRoom();
$smarty->assign("THINGS_DROP",$things_drop);

$area_txt=$smarty->fetch($templ_path.'/area.tpl');
$smarty->assign('MAIN',$area_txt);
$smarty->display($templ_path.'/game.tpl');

include_once(
"free_all.php");

?>
Онлайн: 1
Реклама