骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

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

[源码与工具] 分享个很好用的工具, 单机可用,在骑砍实现回调,数组

[复制链接]

115

主题

1352

回帖

1385

积分

联机技术研发组

自由骑士
联机ID:K2SB

Rank: 4Rank: 4

UID
2758158
第纳尔
2652
精华
1
互助
93
荣誉
38
贡献
0
魅力
112
注册时间
2016-7-15

第六届战团中国联赛裁判员勋章汉匈决战正版勋章骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之英勇勋章[杰出会员活跃勋章]霸主正版勋章

鲜花(1381) 鸡蛋(32)
发表于 2018-12-1 14:17:45 | 显示全部楼层 |阅读模式
本帖最后由 k2木有小鸡鸡 于 2018-12-3 01:36 编辑

module_scripts_extended.zip (4.12 KB, 下载次数: 97) 28days.zip (769.85 KB, 下载次数: 125)
本质上还是使用slot的那些
原作者是:The_Dragon  https://forums.taleworlds.com/index.php?topic=342699.0
https://forums.taleworlds.com/index.php/topic,341079.msg8118118.html#msg8118118
将这个文件丢到mod目录然后在module_script.py开头导入:
  1. from module_scripts_extended import *
复制代码
可以实现一个数组的增删改查,随机值,等等功能,仿照扩充出来最大值最小值等等需要的功能也很方便。如果你需要建立一个数组,就要在module_troops.py新建一个,因为他是从slot0开始存储的,所以为了避免冲突最好是这样。
script_list_clear = 704
script_list_at = 705
script_list_at_nc = 706
script_list_set = 707
script_list_add = 708
script_list_add_at = 709
script_list_remove = 710
script_list_remove_at = 711
script_list_remove_val = 712
script_list_index_of = 713
script_list_count = 714
script_list_last = 715
script_list_random = 716

实现了一个回调(其实是延迟调用之类,但是代码还是挺漂亮的)
script_register_cb = 724
script_process_callbacks = 725
script_init_memory_management = 726
script_alloc = 727
script_free = 728
script_get = 729
script_set = 730
script_v_get = 731
script_v_set = 732
script_point_y_toward_position = 733
最后一点
在你想要加入这套东西的mission_templates里面调用script_process_callbacks,下面是一个例子,你可以与其他的0,0,0的合并等等都可以。当然如果你每次回调时间总是那么几种,也可以进行进一步的优化,不细说了。
  1.       (0, 0, 0, [], [(call_script, "script_process_callbacks")]),
复制代码
一个完整的例子,包含在28days.zip里面。另外里面包含了一个完整的骑砍与web服务器通讯的例子,感兴趣的可以参考下。


评分

参与人数 2荣誉 +1 第纳尔 +20 互助 +2 收起 理由
Aomine Daiki + 1 + 1 您的帖子很有价值!
小丑遊戲 + 20 + 1 感谢您对骑砍中文站的支持!

查看全部评分

6

主题

36

回帖

13

积分

随仆

Rank: 1

UID
2505609
第纳尔
1531
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2015-4-27
鲜花(4) 鸡蛋(0)
发表于 2018-12-2 06:39:06 | 显示全部楼层
能把来源也贴一下吗?

115

主题

1352

回帖

1385

积分

联机技术研发组

自由骑士
联机ID:K2SB

Rank: 4Rank: 4

UID
2758158
第纳尔
2652
精华
1
互助
93
荣誉
38
贡献
0
魅力
112
注册时间
2016-7-15

第六届战团中国联赛裁判员勋章汉匈决战正版勋章骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之英勇勋章[杰出会员活跃勋章]霸主正版勋章

鲜花(1381) 鸡蛋(32)
 楼主| 发表于 2018-12-2 12:16:24 | 显示全部楼层
lcao 发表于 2018-12-2 06:39
能把来源也贴一下吗?

昨天我这里官网上不去没帖,帖子已更新,不过原贴里面并不是关于这些工具的而是28days invasion的安装.

6

主题

36

回帖

13

积分

随仆

Rank: 1

UID
2505609
第纳尔
1531
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2015-4-27
鲜花(4) 鸡蛋(0)
发表于 2018-12-2 14:39:21 | 显示全部楼层
k2木有小鸡鸡 发表于 2018-12-2 12:16
昨天我这里官网上不去没帖,帖子已更新,不过原贴里面并不是关于这些工具的而是28days invasion的安装.

明白了我找找去,谢谢

115

主题

1352

回帖

1385

积分

联机技术研发组

自由骑士
联机ID:K2SB

Rank: 4Rank: 4

UID
2758158
第纳尔
2652
精华
1
互助
93
荣誉
38
贡献
0
魅力
112
注册时间
2016-7-15

第六届战团中国联赛裁判员勋章汉匈决战正版勋章骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之英勇勋章[杰出会员活跃勋章]霸主正版勋章

鲜花(1381) 鸡蛋(32)
 楼主| 发表于 2018-12-3 01:35:50 | 显示全部楼层

26

主题

804

回帖

399

积分

骑士

民间工匠

Rank: 4Rank: 4

UID
1115705
第纳尔
4062
精华
0
互助
26
荣誉
2
贡献
0
魅力
30
注册时间
2012-12-13
鲜花(235) 鸡蛋(10)
发表于 2018-12-3 21:53:47 | 显示全部楼层
话说数组是等于自定义了一个新的类似module_文件一样的骑砍mod文件吗?还是其他样式的数据列表?
回调那些貌似是联机的,不过我对联机完全不懂,楼主可以谈一谈这部分的知识吗?

115

主题

1352

回帖

1385

积分

联机技术研发组

自由骑士
联机ID:K2SB

Rank: 4Rank: 4

UID
2758158
第纳尔
2652
精华
1
互助
93
荣誉
38
贡献
0
魅力
112
注册时间
2016-7-15

第六届战团中国联赛裁判员勋章汉匈决战正版勋章骑士美德之仁慈勋章[杰出会员互助勋章]骑士美德之英勇勋章[杰出会员活跃勋章]霸主正版勋章

鲜花(1381) 鸡蛋(32)
 楼主| 发表于 2018-12-3 22:25:43 | 显示全部楼层
a1550887802 发表于 2018-12-3 21:53
话说数组是等于自定义了一个新的类似module_文件一样的骑砍mod文件吗?还是其他样式的数据列表?
回调那些 ...

没有, 就是一个troop,然后对troop的slot的存取读写进行了封装.例如我要从各个国家的领主里面随机抽一个人,就在module troop.py里面新增一个trp_list_all_lords 然后将所有的领主的id使用script_list_add 加进去,然后使用script_list_random就能拿到了, 本质上你可以用很多办法去完成同样的事情, 但是使用他这个东西就节约了时间避免了很多出错的机会.
回调的东西 他主要的作用是用来实现xxx秒之后调用另一个函数,你可以用一个触发器去干这件事, 但是用这个也是封装好了的,不必劳心费力去写,只需要一行就能设置好调用参数,多少秒后调用.
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2024-11-19 10:47 , Processed in 0.123033 second(s), 23 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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