MUD-武林MUD资料站-武侠MUD游戏

 找回密码
 注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

泥潭natured.c文件的问题求助

[复制链接]
跳转到指定楼层
1# .
yanhuang 发表于 2013-4-6 20:02:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教碧落姐姐,NT4里面natured.c文件下有些问题看不明白,特此请教一二。
一是void event_midnight()
{
        string msg;
        int m, d;
        m = query_month();
        d = query_day();
        msg = 0;
        switch (m * 100 + d)
        {
        case  321:
                msg = HIG "春天终于到了,经过了漫长的冬季,万物开始复苏。\n" NOR;
                break;
        case  622:
                msg = HIR "夏天来临了,天气越来越热,所有的生物都异常活跃。\n" NOR;
                break;
        case  923:
                msg = HIY "已然是秋天了,大地一片金黄,正是收获的时期。\n" NOR;
                break;
        case 1222:
                msg = HIW "来自北方的寒流扫过大地,万物又开始了寂静的休眠。\n" NOR;
                break;
        }
        if (msg)
                message("vision", HIC "【季节天时】" + msg,
          msg, all_interactive());
为什么到了3月21日或相应的622,923的时候没有出现相关的msg描述。
二是如果我想在特定的日期让natured读取特殊的时间描写该修改哪一步呢,比如下面这个是2月份的
case 2:
              switch(random(3))
                {
                case 0:
                        day_phase = read_table("/adm/etc/nature/winter_rain2");
                        break;
                case 1:
                        day_phase = read_table("/adm/etc/nature/winter_sun2");
                        break;
                case 2:
                        day_phase = read_table("/adm/etc/nature/winter_wind2");
                        break;
                }
                break;
我想在2月14日读一个特殊的气候描述,过了这个日子继续读取正常的winter_rain、winter_sun、winter_wind,请问该修改哪一步呢,先谢谢姐姐了
MUD - MUD游戏 - 文字MUD - 武林MUD - 长期、稳定、高速、互助、活跃、更新的武侠MUD站点,一起MUD吧!
2# .
是开碧落 发表于 2013-4-7 22:50:53 | 只看该作者
好吧. 我刚刚仔细翻了下natured.c 这个文件.
问题一: event_midnight() 里为啥 【季节天时】msg 没出现
是因为, 老代码写错了个地方, 应该改成
if (msg)
                message("vision", HIC "【季节天时】" + msg, all_interactive());
就可以了.

问题二: 在特定的日期让natured读取特殊的时间描写

可以参照 event_midnight()里面的写法
case 2:
              switch(random(3))
                {
                case 0:
                        day_phase = read_table("/adm/etc/nature/winter_rain2");
                        break;
                case 1:
                        day_phase = read_table("/adm/etc/nature/winter_sun2");
                        break;
                case 2:
                        day_phase = read_table("/adm/etc/nature/winter_wind2");
                        break;
                }
        d = query_day();
        switch (d)
        {
        case  14:
                day_phase = read_table("/adm/etc/nature/winter_special14");
                break;
        }
                break;

先随机读一个文件的, 然后如果day = 特殊日子, 再读特殊文件的, 覆盖掉变量 day_phase 好了


3# .
 楼主| yanhuang 发表于 2013-4-7 23:43:25 | 只看该作者
万分感谢碧落姐姐,现在季节天时正常显示了,没注意多了一个msg,同时发现一个搞笑的问题就是我设定的日子居然晚一天才读取特殊文件,应该是natured里面有问题,但实在找不到问题出在哪里了。再问一个困扰我很久的问题吧,我翻遍了能下载的所有HELL底层的,都存在一个问题就是mud时间到了晚上21点的时候不读取21时的时间描述,直接就跳到0时午夜的描述了,我没办法只好在21时后面多增加了一个23时的描述,这样系统到了23时自动读取0点的时间描述,希望姐姐有时间的话帮忙看下。
4# .
是开碧落 发表于 2013-4-8 11:38:58 | 只看该作者
问题出在 select_day_phase() 函数上
你仔细读一下

Archiver|武林MUD资料站 ( 鲁ICP备17038480号 本站关键词:mud 武林mud mud游戏 文字mud

GMT+8, 2024-5-19 07:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表