石器时代LA官方

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 88|回复: 1

动态变量(储存)

[复制链接]

1万

主题

1万

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
25322
石币
14842
发表于 2020-8-19 21:33:33 | 显示全部楼层 |阅读模式
  其实一直觉得石器Lua架构写起来真的很麻烦,相比在其他游戏撰写的时候,非常的不直观,只要扯一个视窗,变数(量)的传递都极其麻烦,多数都只能使用单一参数seqno做传递或者写死setworkint等等的。

  原本之前做了sql上的变数储存 但可能并不适合短暂存取,故又重新做了一次也发现不少问题,好比想做这变数只在关联NPC的时候留存,结束即删除,而石器的NCP并没有这样的架构。

  所以又自己额外补了一个deld,除了支援动态变数名称,也可以自行决定此参数是字串/数值,以结尾$做区分(如果写过RO脚本就亦同)。

  1. function Talked(meindex, talkerindex , szMes, color )
  2.         if npc.isFaceToFace(meindex, talkerindex) == 1 then
  3.                 local token = "Input seqno number you like.\n"
  4.                 lssproto.windows(talkerindex, "输入框", "确定|取消", 0, char.getWorkInt( meindex, "对象"), token)
  5.                 char.setd(talkerindex, "[email protected]_count", 0)
  6.                 return
  7.         end
  8. end

  9. function WindowTalked (meindex, talkerindex, seqno, select, data)
  10.         if npc.isFaceToFace(meindex, talkerindex) == 1 then
  11.                 if select == 2 then
  12.                         return
  13.                 end
  14.                
  15.                 char.setd(talkerindex, "[email protected]_count", char.getd(talkerindex, "[email protected]_count")+1)
  16.                 char.setd(talkerindex, "[email protected]_"..char.getd(talkerindex, "[email protected]_count").."$", data)
  17.                
  18.                 local token = "Input seqno number you like.\n"
  19.                 local i
  20.                 for i = 1, char.getd(talkerindex, "[email protected]_count") do
  21.                         token = token .. "Seqno "..i..": "..char.getd(talkerindex, "[email protected]_"..i.."$").."\n"
  22.                 end
  23.                
  24.                 lssproto.windows(talkerindex, "输入框", "确定|取消", 0, char.getWorkInt( meindex, "对象"), token)
  25.                 return
  26.         end
  27. end
复制代码


回复

使用道具 举报

5

主题

204

帖子

350

积分

中级会员

Rank: 3Rank: 3

积分
350
石币
146
发表于 2020-9-8 19:50:25 | 显示全部楼层
不錯,加一下,試用一下
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|石器时代LA官方

GMT+8, 2020-9-21 10:42 , Processed in 0.606541 second(s), 21 queries .

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