骑马与砍杀中文站论坛

标题: 分享个很好用的工具, 单机可用,在骑砍实现回调,数组 [打印本页]

作者: k2木有小鸡鸡    时间: 2018-12-1 14:17
标题: 分享个很好用的工具, 单机可用,在骑砍实现回调,数组
本帖最后由 k2木有小鸡鸡 于 2018-12-3 01:36 编辑

module_scripts_extended.zip (4.12 KB, 下载次数: 276) 28days.zip (769.85 KB, 下载次数: 326)
本质上还是使用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服务器通讯的例子,感兴趣的可以参考下。



作者: lcao    时间: 2018-12-2 06:39
能把来源也贴一下吗?
作者: k2木有小鸡鸡    时间: 2018-12-2 12:16
lcao 发表于 2018-12-2 06:39
能把来源也贴一下吗?

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

作者: lcao    时间: 2018-12-2 14:39
k2木有小鸡鸡 发表于 2018-12-2 12:16
昨天我这里官网上不去没帖,帖子已更新,不过原贴里面并不是关于这些工具的而是28days invasion的安装.

明白了我找找去,谢谢
作者: k2木有小鸡鸡    时间: 2018-12-3 01:35
lcao 发表于 2018-12-2 14:39
明白了我找找去,谢谢

https://forums.taleworlds.com/index.php/topic,341079.msg8118118.html#msg8118118
作者: a1550887802    时间: 2018-12-3 21:53
话说数组是等于自定义了一个新的类似module_文件一样的骑砍mod文件吗?还是其他样式的数据列表?
回调那些貌似是联机的,不过我对联机完全不懂,楼主可以谈一谈这部分的知识吗?
作者: k2木有小鸡鸡    时间: 2018-12-3 22:25
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秒之后调用另一个函数,你可以用一个触发器去干这件事, 但是用这个也是封装好了的,不必劳心费力去写,只需要一行就能设置好调用参数,多少秒后调用.




欢迎光临 骑马与砍杀中文站论坛 (https://bbs.mountblade.com.cn/) Powered by Discuz! X3.4