示例#1
0
文件: main.php 项目: winddramon/dts
function itemuse_uee($itmn = 0)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'logger'));
    $itm =& ${'itm' . $itmn};
    $itmk =& ${'itmk' . $itmn};
    $itme =& ${'itme' . $itmn};
    $itms =& ${'itms' . $itmn};
    $itmsk =& ${'itmsk' . $itmn};
    if (!$itms) {
        $log .= '此道具不存在,请重新选择。<br>';
        $mode = 'command';
        return;
    }
    if (!$itme) {
        $log .= "<span class=\"yellow\">{$itm}</span>已经没电,请寻找<span class=\"yellow\">电池</span>充电。<br>";
        $mode = 'command';
        return;
    }
    $hack_dice = rand(0, 99);
    $hack_proc = calculate_hack_proc_rate();
    if ($hack_dice < $hack_proc) {
        $hack = 1;
        $log .= '入侵禁区控制系统成功了!全部禁区都被解除了!<br>';
        \map\movehtm();
        addnews($now, 'hack', $name);
        save_gameinfo();
    } else {
        $log .= '可是,入侵禁区控制系统失败了……<br>';
    }
    $itme--;
    $log .= "消耗了<span class=\"yellow\">{$itm}</span>的电力。<br>";
    if ($itme <= 0) {
        $log .= "<span class=\"red\">{$itm}</span>的电池耗尽了。";
    }
    post_hack_events($itmn);
    return;
}
示例#2
0
<?php

if (!defined('IN_ADMIN')) {
    exit('Access Denied');
}
if ($gamestate >= 20) {
    $result = $db->query("SELECT pid FROM {$tablepre}players WHERE type=0");
    $validnum = $db->num_rows($result);
    $result = $db->query("SELECT pid FROM {$tablepre}players WHERE hp>0 AND type=0");
    $alivenum = $db->num_rows($result);
    $result = $db->query("SELECT pid FROM {$tablepre}players WHERE hp<=0 OR state>=10");
    $deathnum = $db->num_rows($result);
    \map\movehtm();
    save_gameinfo();
    adminlog('infomng');
    $cmd_info = "状态更新:激活人数 {$validnum},生存人数 {$alivenum},死亡人数 {$deathnum}<br>";
    $cmd_info .= "已重置移动地点缓存数据";
} else {
    $cmd_info = "当前游戏未开始!";
}
/*$result=$db->query("SHOW FULL COLUMNS FROM {$tablepre}players");
while ($row=$db->fetch_array($result)){
	foreach ($row as $val)
		echo $val."<br>";
}*/
/*
$db->query("ALTER TABLE {$tablepre}swinners ADD cardname text not null AFTER gdlist");
$db->query("ALTER TABLE {$tablepre}winners ADD cardname text not null AFTER gdlist");
$db->query("ALTER TABLE {$tablepre}users ADD gold int(10) unsigned not null default '0' AFTER n_achievements");
$db->query("ALTER TABLE {$tablepre}users ADD cardlist text not null AFTER n_achievements");
$db->query("ALTER TABLE {$tablepre}users ADD card int(10) unsigned not null default '0' AFTER n_achievements");
示例#3
0
function itemuse(&$theitem)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'itemmain', 'logger'));
    $itm =& $theitem['itm'];
    $itmk =& $theitem['itmk'];
    $itme =& $theitem['itme'];
    $itms =& $theitem['itms'];
    $itmsk =& $theitem['itmsk'];
    if (strpos($itmk, 'Y') === 0 || strpos($itmk, 'Z') === 0) {
        if ($itm == '挑战者之印') {
            if (in_array($gametype, $pve_ignore_mode)) {
                $log .= "你使用了{$itm},但是什么也没有发生(当前游戏模式下不允许PVE)。<br>";
                return;
            }
            $log .= '你已经呼唤了幻影执行官,现在寻找并击败他们,<br>并且搜寻他们的ID卡吧!<br>';
            addnpc(7, 0, 1);
            addnpc(7, 1, 1);
            addnpc(7, 2, 1);
            addnews($now, 'secphase', $name);
            $itm = $itmk = $itmsk = '';
            $itme = $itms = 0;
            return;
        } elseif ($itm == '破灭之诗') {
            if (in_array($gametype, $pve_ignore_mode)) {
                $log .= "你使用了{$itm},但是什么也没有发生(当前游戏模式下不允许PVE)。<br>";
                return;
            }
            $rp = 0;
            $log .= '在你唱出那单一的旋律的霎那,<br>整个虚拟世界起了翻天覆地的变化……<br>';
            addnpc(4, 0, 1);
            eval(import_module('weather'));
            $log .= '世界响应着这旋律,产生了异变……<br>';
            \weather\wthchange($itm, $itmsk);
            addnews($now, 'thiphase', $name);
            $hack = 1;
            $log .= '因为破灭之歌的作用,全部锁定被打破了!<br>';
            \map\movehtm();
            addnews($now, 'hack2', $name);
            save_gameinfo();
            $itm = $itmk = $itmsk = '';
            $itme = $itms = 0;
            return;
        } elseif ($itm == '黑色碎片') {
            if (in_array($gametype, $pve_ignore_mode)) {
                $log .= "你使用了{$itm},但是什么也没有发生(当前游戏模式下不允许PVE)。<br>";
                return;
            }
            $log .= '你已经呼唤了一个未知的存在,现在寻找并击败她,<br>并且搜寻她的游戏解除钥匙吧!<br>';
            addnews($now, 'dfphase', $name);
            addnpc(12, 0, 1);
            $itm = $itmk = $itmsk = '';
            $itme = $itms = 0;
            return;
        }
    }
    $chprocess($theitem);
}
示例#4
0
function gamesysctl_mob($c_order, $c_radar)
{
    if (eval(__MAGIC__)) {
        return $___RET_VALUE;
    }
    eval(import_module('sys', 'player', 'map', 'logger'));
    if ($c_order !== 'addarea' && $c_order !== 'hack' && $c_order !== 'radar') {
        $log .= "当你提交了操作后,一个大大的error出现在了画面上,虽然你是一个不讲鹰语的爱国者,但是“错误”这个单词你还是认识的。<br><span class='yellow'>画面下方的错误原因中写着:无效的功能类别,请重新选择子端功能。</span><br>";
        return;
    } elseif ($c_order == 'hack' && $hack == 1) {
        $log .= "当你提交了操作后,一个大大的error出现在了画面上,虽然你是一个不讲鹰语的爱国者,但是“错误”这个单词你还是认识的。<br><span class='yellow'>画面下方的错误原因中写着:当前禁区已经被解除,请勿重复操作!</span><br>";
        return;
    } elseif ($c_order == 'addarea' && in_array($pls, array_slice($arealist, 0, $areanum + 1 + $areaadd))) {
        $log .= "当你提交了操作后,一个大大的error出现在了画面上,虽然你是一个不讲鹰语的爱国者,但是“错误”这个单词你还是认识的。<br><span class='yellow'>画面下方的错误原因中写着:你所处的位置为禁区或即将成为禁区,在这里使用该功能将会导致生命危险!</span><br>";
        return;
    } elseif ($c_order == 'addarea' && $now >= $areatime - 30) {
        $log .= "当你提交了操作后,一个大大的error出现在了画面上,虽然你是一个不讲鹰语的爱国者,但是“错误”这个单词你还是认识的。<br><span class='yellow'>画面下方的错误原因中写着:系统禁区将在30秒内增加,或你已使用过本功能,在下次禁区到来前请不要重复使用!</span><br>";
        return;
    } elseif ($c_order == 'addarea' && $areanum > 0 && $now <= $areatime - $areahour * 60 + 30) {
        $log .= "当你提交了操作后,一个大大的error出现在了画面上,虽然你是一个不讲鹰语的爱国者,但是“错误”这个单词你还是认识的。<br><span class='yellow'>画面下方的错误原因中写着:禁区增加后的30秒内不可重复使用本功能!</span><br>";
        return;
    }
    if ($c_order == 'hack') {
        $log .= "当你提交了操作后,便携子端的界面开始闪烁,像是在发送信号,<br><span class='yellow'>当界面上的图像稳定下来时,你发现禁区已经解除了。</span><br>";
        $hack = 1;
        \map\movehtm();
        save_gameinfo();
        addnews($now, 'gsc_hack', $name);
    } elseif ($c_order == 'addarea') {
        $log .= "当你提交了操作后,便携子端的界面开始显示倒计时,<br><span class='yellow'>禁区还有30秒就要到来了,赶紧找个安全的地方躲一躲吧。<br>";
        $areatime = $now + 30;
        $sec = $areatime - $now;
        \map\movehtm();
        save_gameinfo();
        $areatime += $areahour * 60;
        addnews($now, 'gsc_addarea', $name, $sec);
    } elseif ($c_order == 'radar') {
        $log .= "当你提交了操作后,便携子端的界面开始闪烁,像是在发送信号,<br><span class='yellow'>当界面上的图像稳定下来时,你发现上面显示出了一排数据。</span><br>";
        $mms = $c_radar ? $c_radar : 9;
        $mode = 'radar';
        \radar\newradar($mms);
    }
}