接着上一章 与NPC对话已成立只需修改对话框内容与发送封包到客户端即可
这里用到了lssproto库里的windows --向客户端发送一个窗口封包
lssproto.windows(talkerindex, "对话框", "确定|取消", 0, char.getWorkInt( meindex, "对象"), "内容");
上图的 0,12,0 代表 0--"对话框" 12-- "确定|取消" 0 -- 封包号(key)
这时无论是按下 确定 或者 取消, lssproto.windows都会发送参数到function WindowTalked ()
function WindowTalked ( meindex, talkerindex, seqno, select, data)
sqno = key select = 按钮常量值 data = 发送内容 -- "确定"常量值=4 "取消"常量值=8
对话后 第一次"确定",给予key0, 赋予了seqno
在seqno==0处再次按"确定",key1 赋予seqno
语言的工作过程必须按照格式
在seqno == 0 按下"确定"后 只选择了if 并没有选择elseif
所以if的过程让key=1 ,然后end,赋予seqno
再次从 funtion WindowTalked()开头运行 才回到 seqno == 1
再最后的对话框 key=-1 ,赋予seqno后 并没找到 seqno==-1的判断,所以关闭对话框
PS
如果按"取消"和"确定"一样会发送key,所以要用select的值进行判断
当按下按钮后,按钮常量值会赋予select, "取消"的常量值为8,只要判断当按下"取消"时返回即可
评论(0)