骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY 小黑盒加速器
查看: 6925|回复: 9

[经验与教程] MS数据操作基本讲解

[复制链接]

17

主题

847

回帖

399

积分

子爵[版主]

汉[Han]
联机ID:Han_DongHai

Rank: 7Rank: 7Rank: 7

UID
3033293
第纳尔
14463
精华
0
互助
24
荣誉
2
贡献
560
魅力
185
注册时间
2018-10-3

第十届战团中国联赛征战勋章汉匈决战正版勋章战团正版勋章霸主正版勋章骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之奉献勋章

QQ
鲜花(40) 鸡蛋(0)
发表于 2022-5-19 11:53:47 | 显示全部楼层 |阅读模式
本帖最后由 815208129 于 2022-9-26 14:40 编辑

在ms系统里, 数值计算是一门非常重要的基础,决定了mod的优秀程度.
在ms里,存储数值的变量有一下类

1.寄存器类 reg0-reg64
2.局部变量 “:var_6” 格式为两端用双引号夹住,并且以冒号 : 开头,里面标识符以a-z或者下划线_开头,之后的字符还可以带有数字0-9,不推荐使用含有大写字母的局部变量
3.全局变量 “$var_8”  格式为两端用双引号夹住,并且以美元符号$ 开头, 里面标识符以a-z或者下划线_开头,之后的字符还可以带有数字0-9,不推荐使用含有大写字母的局部变量

4.slot: 只能存储,不能运算.
     slot的使用要比 上面提到的要复杂一点, 相关介绍比较优秀的有 [rubik前辈] 撰写的帖子,这里就不放出链接了.有兴趣可以自行查找
     这里要说的是slot关于游戏内存的联系
     slot的存取都是通过编号来的,比如slot_item_is_checked               = 0
     需要注意的是, slot它是使用预申请的机制的, 比如开发者取1000号的troop_slot,
     那么将会发生这样一件事情,Warband先判定,1000号slot存不存在,不存在则申请空间.但是申请空间不可能一个一个来,要申请就得申请多个,目前这个数值暂不知晓为多少.
     据我所知的所有mod内,用过slot编号最大的mod是9999 [永恒世界PW]. 不过它是联机mod.

联机mod和单机mod的是有区别的, 联机mod因为运算分流的关系[简而言之就是,运算均匀分摊在玩家的电脑和服务器上,服务器只需要加载模型的名称和引用,不需要加载完整的模型外观,计算各类数值并且发送给玩家端,玩家端只需要根据服务器发来的数据绘制游戏.],能够容纳比单机mod更多的 代码和模型.而且流畅度更高.
所以它使用9999号slot, 看不出来有明显的卡顿.
但是回过头来看单机mod.我们会发现, 游玩时间一长,某个存档的体积就很大了,存档期间会有明显的卡顿.
特别是 在大地图上 添加了很多城堡, 和野怪的单机mod,非常卡顿, 每一个party就要有n个slot, m个party就要有m*n个slot.所以存档就大起来,运行则卡顿.

为了应对这种情况.可以参考以下原则
①不使用超过 编号为1000的slot
②临时数据 只存放在固定的几个troop或者item里面


5. pos : 定点数运算,结构如下,每一个结构都分有xyz轴分量
b1[pos结构].png

(点击展开 / 收起)
POS运算
(点击展开 / 收起)


2022年7月28日
在pos的xyz轴坐标中有local 和 parent(global)
local 即为以某一个 agent或者 scene_prop_instance(spr)为中心, agent/spr正面朝向为y轴正方向, 垂直y轴, 左边为负,右边为正为x轴正方向

这个概念可以用于区分 前面的敌人和后面的敌人.
position_transform_position_to_local        =  717  # (position_transform_position_to_local, <position_dest>, <position_anchor>, <position_source>),
例如我们获取玩家的pos然后 判定一下
  1. (get_player_agent_no, ":player_agent_id"),
  2. (agent_get_position, pos1, ":player_agent_id"),

  3. ## 假设队友的id为 agent_a
  4. (agent_get_position, pos9, ":agent_a"),
  5. (position_transform_position_to_local, pos13, pos1, pos9),
  6. (position_is_behind_position, pos1, pos9),
复制代码
传送类,比如向前传送,只需要使用一些op
  1. <div>position_move_x                             =  720  # (position_move_x, <position>, <movement>, [value]),
复制代码


这个第三参数就是local 和parent的参数 local (value=0) or global (value=1)
因此向前传送 只需要
  1. (position_move_y, pos1, 200, 0),
复制代码
为何要z轴也拉高? 如果前面是山坡,只向前传送则会有问题.拉高一点z轴就能解决一些问题.


评分

参与人数 1第纳尔 +20 互助 +2 魅力 +10 收起 理由
幼稚园殺手 + 20 + 2 + 10 文章不错,继续努力!

查看全部评分

鲜花鸡蛋

djman  在2022-9-25 18:02  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
NEW_SHIT  在2022-5-21 23:06  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
幼稚园殺手  在2022-5-19 14:07  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下

17

主题

847

回帖

399

积分

子爵[版主]

汉[Han]
联机ID:Han_DongHai

Rank: 7Rank: 7Rank: 7

UID
3033293
第纳尔
14463
精华
0
互助
24
荣誉
2
贡献
560
魅力
185
注册时间
2018-10-3

第十届战团中国联赛征战勋章汉匈决战正版勋章战团正版勋章霸主正版勋章骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之奉献勋章

QQ
鲜花(40) 鸡蛋(0)
 楼主| 发表于 2022-5-19 11:56:37 | 显示全部楼层
占楼代编集占楼代编集

55

主题

2773

回帖

1773

积分

子爵[版主]

吟游诗人

Rank: 7Rank: 7Rank: 7

UID
3054380
第纳尔
23779
精华
2
互助
57
荣誉
44
贡献
916
魅力
1418
注册时间
2019-1-18

骑砍中文站APP会员勋章原版正版勋章战团正版勋章火与剑正版勋章拿破仑正版勋章维京征服正版勋章霸主正版勋章剧本设计大奖赛骑友真人秀Ⅷ勋章骑友真人秀Ⅶ勋章骑友真人秀Ⅸ勋章

QQ
鲜花(514) 鸡蛋(2)
发表于 2022-5-20 07:55:33 | 显示全部楼层
挺好的挺好的
珍惜 奉献 不负韶华

75

主题

1263

回帖

441

积分

骑士

Rank: 4Rank: 4

UID
2852084
第纳尔
4492
精华
0
互助
6
荣誉
1
贡献
0
魅力
31
注册时间
2017-7-9

骑砍中文站APP会员勋章元老骑士勋章骑士美德之英勇勋章[杰出会员活跃勋章]

QQ
鲜花(191) 鸡蛋(0)
发表于 2022-5-20 15:45:21 | 显示全部楼层
虽然看不懂还是支持

17

主题

847

回帖

399

积分

子爵[版主]

汉[Han]
联机ID:Han_DongHai

Rank: 7Rank: 7Rank: 7

UID
3033293
第纳尔
14463
精华
0
互助
24
荣誉
2
贡献
560
魅力
185
注册时间
2018-10-3

第十届战团中国联赛征战勋章汉匈决战正版勋章战团正版勋章霸主正版勋章骑士美德之谦恭勋章[杰出会员财富勋章]骑士美德之奉献勋章

QQ
鲜花(40) 鸡蛋(0)
 楼主| 发表于 2022-5-20 19:05:36 | 显示全部楼层
上听骑砍 发表于 2022-5-20 15:45
虽然看不懂还是支持

这不得求大佬帮个忙. 这边有一堆没有棒骨的原神模型

鲜花鸡蛋

NEW_SHIT  在2022-5-21 23:06  送朵鲜花  并说:这种建议私聊,不要影响观感:p

3

主题

103

回帖

32

积分

扈从

Rank: 2Rank: 2

UID
3206165
第纳尔
430
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2020-11-6

骑砍中文站APP会员勋章

鲜花(3) 鸡蛋(0)
发表于 2022-9-25 07:47:18 来自手机 | 显示全部楼层
谢谢来自: Android客户端

51

主题

287

回帖

101

积分

见习骑士

Rank: 3

UID
2880114
第纳尔
1576
精华
0
互助
0
荣誉
0
贡献
0
魅力
3
注册时间
2017-9-30
QQ
鲜花(12) 鸡蛋(0)
发表于 2022-9-25 20:05:36 | 显示全部楼层
太好了,希望有更多这样的内容

43

主题

1165

回帖

442

积分

骑士

Rank: 4Rank: 4

UID
3065189
第纳尔
675
精华
0
互助
16
荣誉
0
贡献
2
魅力
11
注册时间
2019-3-28

骑士美德之英勇勋章[杰出会员活跃勋章]

QQ
鲜花(108) 鸡蛋(0)
发表于 2022-9-26 01:55:27 | 显示全部楼层
支持支持
忠 誠 勇 毅 ,心 系 社 會

9

主题

52

回帖

93

积分

男爵[见习版主]

Rank: 6Rank: 6

UID
3588356
第纳尔
651
精华
0
互助
15
荣誉
0
贡献
25
魅力
70
注册时间
2023-12-7
鲜花(16) 鸡蛋(0)
发表于 2024-9-17 04:35:29 | 显示全部楼层
东海哥好厉害
风雪压我两三年,我笑风霜轻如棉。心中仍有鸿鹄志,他日登顶笑苍天。风雪压我两三年,我心早已无怨言。他日若得脱身法,扶摇直上九重天

1

主题

4

回帖

7

积分

平民

Rank: 1

UID
3709517
第纳尔
0
精华
0
互助
1
荣誉
0
贡献
0
魅力
0
注册时间
2024-10-26
鲜花(0) 鸡蛋(0)
发表于 2024-10-30 00:41:37 来自手机 | 显示全部楼层
很优秀的代码,学习了
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

Archiver|手机版|小黑屋|骑马与砍杀中文站

GMT+8, 2024-12-19 21:13 , Processed in 0.154665 second(s), 35 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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