导航菜单
首页 » 石器私服教程 » 正文

石器Lua封包发送与接收5

接着上一章 与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)