北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 9149|回复: 20

【MUSH】461版本和MiniWindow的问题

[复制链接]
发表于 2010-9-15 17:46:37 | 显示全部楼层 |阅读模式
下了个Mush 461版本,ddid的fullme没问题,但领悟机器人的miniWindow却出不来,而且没任何报错。
稀奇啊,仔细对照两个drawWindow函数,大同小异啊,最大的区别可能就是fullme的插件不涉及中文,而领悟的有中文显示。难道是中文问题?
有谁在用461的?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-9-15 17:50:08 | 显示全部楼层
昨天才看到Gammon的Announce,还没来得及下。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-9-15 17:51:48 | 显示全部楼层
另,461已经替代443,成为了MUSH的官方版本,小刀的443集成版估计也快该升级了。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-9-15 21:54:04 | 显示全部楼层
我又下了一个443的来作对比测试,确实是461的改进导致我的miniwindows不能工作了,同样的一段代码模块,同样的环境配置,443下跑得正常,而461出不来miniwindow且没报错信息。
我已经精简了代码,去掉了所有的变量和汉字,依然是出不来。是什么原因呢?ddid帮看看吧。

我的代码():
---------miniwindows 模块------------

--字体
FONT_NAME1 = "Arial"
FONT_NAME2 = "Webdings"
FONT_NAME3 = "Lucida Console"
FONT_SIZE_11 = 11
FONT_SIZE_12 = 12
--尺寸
EDGE_WIDTH = 3
--位置
WINDOW_POSITION = 6  -- see below (6 is top right)
--[[
常用的位置:
4 = top left
5 = center left-right at top
6 = top right
7 = on right, center top-bottom
8 = on right, at bottom
9 = center left-right at bottom
--]]
-- colours
WINDOW_BACKGROUND_COLOUR = ColourNameToRGB ("white")
BOX_COLOUR = ColourNameToRGB ("royalblue") -- Box boarder's colour
WINDOW_TEXT_COLOUR = ColourNameToRGB ("black")
-- offset of text from edge
TEXT_INSET = 5
-- get a unique name
win = GetPluginID ()  -- get a unique name
-- end configuration

function draw_window()
    -- window size in pixels
    WINDOW_WIDTH = 250
    WINDOW_HEIGHT = 220
    -- Create the window
WindowCreate (win, 0, 0, WINDOW_WIDTH, WINDOW_HEIGHT, WINDOW_POSITION, 0, WINDOW_BACKGROUND_COLOUR)  -- create window
               
    -- define the fonts
WindowFont (win, "f1", FONT_NAME1, FONT_SIZE_12)
WindowFont (win, "f2", FONT_NAME2, FONT_SIZE_11)
WindowFont (win, "f3", FONT_NAME1, FONT_SIZE_12, true)
WindowFont (win, "f4", FONT_NAME3, FONT_SIZE_11, true)
    -- work out how high the font is
font_height = WindowFontInfo (win, "f1", 1)   -- height of the font  
    -- draw the border of the whole box
WindowCircleOp (win, 2, 0, 0, 0, 0, BOX_COLOUR, 6, EDGE_WIDTH, 0x000000, 1)
    -- ensure window visible
    local head_width   = (WINDOW_WIDTH - WindowTextWidth (win, "f1", "Test List"))/2

    for i = 1,10 do
        local txt2 = i
        local _high = i*20 + 25
        WindowText (win, "f1",
                    txt2,   -- text
                    5, _high, 0, 0,        -- rectangle
                    ColourNameToRGB ("blue"), -- colour
                    false)              -- not Unicode
    end
WindowShow (win, true)
end
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-9-15 22:04:02 | 显示全部楼层
killunix之前在Gammon的官网发了个帖子,你试试看:
http://www.gammon.com.au/forum/?id=10557
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-9-15 22:04:23 | 显示全部楼层
最近我忙征文的事情,这个事情结束后,就转到MUSH上来
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-9-15 22:17:28 | 显示全部楼层
试了一下,把
  1. win = GetPluginID ()
复制代码
改成
  1. win = GetUniqueID()
复制代码
就可以了。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-9-15 22:46:35 | 显示全部楼层
原帖由 ddid 于 2010-9-15 22:17 发表
试了一下,把win = GetPluginID ()改成win = GetUniqueID()就可以了。



恩人啊,的确是这问题。
这下舒服了。。。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-9-15 23:58:24 | 显示全部楼层
原帖由 lzkd 于 2010-9-15 22:04 发表
最近我忙征文的事情,这个事情结束后,就转到MUSH上来


好。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-9-26 23:26:58 | 显示全部楼层
原帖由 ddid 于 2010-9-15 22:17 发表
试了一下,把win = GetPluginID ()改成win = GetUniqueID()就可以了。


又发现新问题了,这样虽然不报错,也能出miniwindow。但窗口里的数据不刷新了。
哪怕数据有了变化,也运行了miniwindow的函数,但数据就是不更新,何解?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-25 06:42 AM , Processed in 0.010315 second(s), 14 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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