骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

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

[功能与代码] 【战团OSP】快速设置Party坐标,以及图标朝向

[复制链接]

3

主题

147

回帖

125

积分

见习骑士

Rank: 3

UID
3500189
第纳尔
830
精华
0
互助
14
荣誉
1
贡献
10
魅力
235
注册时间
2023-3-30
鲜花(50) 鸡蛋(0)
发表于 2023-4-15 00:20:14 | 显示全部楼层 |阅读模式
一个小功能,很早前写的今天重弄了一下,还能改进
对一些刚起步开发,且替换了大地图的新MOD有用
即是将文本输出到日志里,然后复制粘贴到代码里,不用再边看游戏边写了


有啥问题评论留言…


使用须知:
1、需要打开编辑模式,否则无效
2、代码部分可以分为两种,红色标注的是设置坐标的绿色是设置图标朝向的,根据自己需要添加
3、如使用设置图标的代码,需要将相关触发器中的 *  (party_set_icon, "p_main_party" , "xxxx")  *操作暂时注释掉
4、大地图鼠标右键点击目标单位,选择设置坐标,再次右键将目标单位设置到当前玩家部队所在处
5、大地图鼠标右键点击目标单位,选择设置图标,即将目标单位的图标应用至玩家部队之上,然后通过鼠标移动部队改变图标朝向,按1键输出文本到日志,2键选择默认图标,PgUp/PgDn键按顺序切换图标
6、在骑砍的根目录里找到 rgl_log 文本文档,找到输出的相关代码后,手动将 % 符号替换为 _ 下划线,然后粘贴到相关代码中
7、建议在英文模式下运行

注释部分即是新加的
1、script.py
搜索 game_context_menu_get_buttons
……………………………………………………………………
     (try_begin),
       (is_between, ":party_no", centers_begin, centers_end),
       (context_menu_add_item, "@View notes", 1),
       ## LJY
       (context_menu_add_item, "@Selection party", 3),
       (context_menu_add_item, "@Selection party icon", 4),
       ## LJY
     (else_try),
       (party_get_num_companion_stacks, ":num_stacks", ":party_no"),
       (gt, ":num_stacks", 0),
       (party_stack_get_troop_id, ":troop_no", ":party_no", 0),
       (is_between, ":troop_no", active_npcs_begin, active_npcs_end),
       (context_menu_add_item, "@View notes", 2),
     (try_end),

……………………………………………………………………

接着搜索 game_event_context_menu_button_clicked

  ("game_event_context_menu_button_clicked",
   [(store_script_param, ":party_no", 1),
    (store_script_param, ":button_value", 2),
    (try_begin),
      (eq, ":button_value", 1),
      (change_screen_notes, 3, ":party_no"),
    (else_try),
      (eq, ":button_value", 2),
      (party_stack_get_troop_id, ":troop_no", ":party_no", 0),
      (change_screen_notes, 1, ":troop_no"),
    ## LJY
    (else_try),
      (eq, ":button_value", 3),
      (assign, "$g_selection_party", ":party_no"),
    (else_try),
      (eq, ":button_value", 4),
      (party_get_icon, ":party_icon", ":party_no"),
      (party_set_icon, "p_main_party", ":party_icon"),
    ## LJY
    (try_end),
  ]),


2、simple_triggers.py
在最下方 ] 内添加以下代码
## LJY
  (0,
        [
    (set_show_messages, 0),
    (try_begin),
        (key_clicked, key_right_mouse_button),
        (set_fixed_point_multiplier, 100),
        (gt, "$g_selection_party", 0),
        (party_get_position, pos1, "p_main_party"),
        (party_set_position, "$g_selection_party", pos1),
        (str_store_party_name, s1, "$g_selection_party"),
        (party_get_position, pos2, "$g_selection_party"),
        (position_get_x, ":selection_pos_x", pos2),
        (position_get_y, ":selection_pos_y", pos2),
      
        (store_div, reg1, ":selection_pos_x", 100),
        (try_begin),
            (lt, reg1, 0),
            (store_mod, ":selection_pos_x2", ":selection_pos_x", 100),
            (val_add, ":selection_pos_x2", 100),
            (store_sub, ":selection_pos_x2", 100, ":selection_pos_x2"),
            (store_mod, reg2, ":selection_pos_x2", 100),
         (else_try),
            (store_mod, reg2, ":selection_pos_x", 100),
        (try_end),
        (store_mod, ":curmod_x", reg2, 100),
        
        (store_div, reg3, ":selection_pos_y", 100),
        (try_begin),
            (lt, reg3, 0),
            (store_mod, ":selection_pos_y2", ":selection_pos_y", 100),
            (val_add, ":selection_pos_y2", 100),
            (store_sub, ":selection_pos_y2", 100, ":selection_pos_y2"),
            (store_mod, reg4, ":selection_pos_y2", 100),
         (else_try),
            (store_mod, reg4, ":selection_pos_y", 100),
        (try_end),
        (store_mod, ":curmod_y", reg4, 100),
        
        (party_get_slot, ":party_type", "$g_selection_party", slot_party_type),
        (try_begin),
            (eq, ":party_type", spt_town),
            (store_sub, reg7, "$g_selection_party", "p_town_1"),
            (val_add, reg7, 1),
            (str_store_string, s2, "@(\"town%{reg7}\", \"{s1}\", icon%town|pf%town, no%menu, pt%none, fac%neutral, 0, ai%bhvr%hold, 0, "),
         (else_try),
            (eq, ":party_type", spt_castle),
            (store_sub, reg7, "$g_selection_party", "p_castle_1"),
            (val_add, reg7, 1),
            (str_store_string, s2, "@(\"castle%{reg7}\", \"{s1}\", icon%castle%a|pf%castle, no%menu, pt%none, fac%neutral, 0, ai%bhvr%hold, 0, "),
         (else_try),
            (eq, ":party_type", spt_village),
            (store_sub, reg7, "$g_selection_party", "p_village_1"),
            (val_add, reg7, 1),
            (str_store_string, s2, "@(\"village%{reg7}\", \"{s1}\", icon%village%a|pf%village, no%menu, pt%none, fac%neutral, 0, ai%bhvr%hold, 0, "),
        (try_end),
        (store_random_in_range, ":rotation", -360, 360),
        (assign, reg8, ":rotation"),
        (set_show_messages, 1),
        (try_begin),
            (ge, ":curmod_x", 10),
            (ge, ":curmod_y", 10),
            (display_log_message, "@{s2} ({reg1}.{reg2}, {reg3}.{reg4}), [],{reg8}),", 0xff0000),
         (else_try),
            (ge, ":curmod_x", 10),
            (neg|ge, ":curmod_y", 10),
            (display_log_message, "@{s2} ({reg1}.{reg2}, {reg3}.0{reg4}), [],{reg8}),", 0xff0000),
         (else_try),
            (neg|ge, ":curmod_x", 10),
            (ge, ":curmod_y", 10),
            (display_log_message, "@{s2} ({reg1}.0{reg2}, {reg3}.{reg4}), [],{reg8}),", 0xff0000),
         (else_try),
            (neg|ge, ":curmod_x", 10),
            (neg|ge, ":curmod_y", 10),
            (display_log_message, "@{s2} ({reg1}.0{reg2}, {reg3}.0{reg4}), [],{reg8}),", 0xff0000),
        (try_end),
        (assign, "$g_selection_party", 0),
     (else_try),
        (key_is_down, key_1),
        (set_show_messages, 1),
        (party_get_position, pos1, "p_main_party"),
        (position_get_rotation_around_z, ":rotation_z", pos1),
        (assign, reg1, ":rotation_z"),
        (display_message, "@rotation = {reg1}."),
     (else_try),
        (key_is_down, key_2),
        (assign, "$g_dest_icon", "icon_town"),
        (party_set_icon, "p_main_party", "$g_dest_icon"),
     (else_try),
        (key_is_down, key_page_up),
        (val_add, "$g_dest_icon", 1),
        (party_set_icon, "p_main_party", "$g_dest_icon"),
     (else_try),
        (key_is_down, key_page_down),
        (neg|eq, "$g_dest_icon", "icon_town"),
        (val_sub, "$g_dest_icon", 1),
        (party_set_icon, "p_main_party", "$g_dest_icon"),
    (try_end),
        ]),  

## LJY


K@`EU9}W5IQBMQ@AFD6X]D3.png
EACYR]`QLD$M25FU%Y@}7@N.jpg



评分

参与人数 1第纳尔 +20 互助 +1 魅力 +20 收起 理由
vegetto + 20 + 1 + 20 文章不错,继续努力!

查看全部评分

16

主题

107

回帖

197

积分

见习骑士

Rank: 3

UID
3304622
第纳尔
690
精华
0
互助
26
荣誉
3
贡献
0
魅力
158
注册时间
2021-12-28
鲜花(31) 鸡蛋(0)
发表于 2023-4-16 22:30:49 | 显示全部楼层
好功能感谢分享

0

主题

58

回帖

22

积分

随仆

Rank: 1

UID
3110714
第纳尔
439
精华
0
互助
1
荣誉
0
贡献
0
魅力
1
注册时间
2019-10-8
鲜花(7) 鸡蛋(0)
发表于 2023-4-18 01:55:18 | 显示全部楼层
!!!欢迎回来,明月姐!!

61

主题

450

回帖

363

积分

见习骑士

Rank: 3

UID
2741644
第纳尔
5753
精华
0
互助
38
荣誉
2
贡献
15
魅力
411
注册时间
2016-4-23

骑砍中文站APP会员勋章霸主正版勋章

鲜花(158) 鸡蛋(0)
发表于 2023-5-18 17:08:27 | 显示全部楼层
本帖最后由 野蛮人y 于 2023-5-20 20:56 编辑

可以将新坐标角度等数值先存进slot,中文全部移完,再开英文统一按顺序输出;
输出的时候用display_debug_message,才是输出到rgl_log.txt;

获取主角部队角度这个,是朝北为0度,由于地图是翻转的,源码里部队设置是以朝南为0度的,逆时针取角度
        (party_get_position, pos1, "p_main_party"),
        (position_get_rotation_around_z, ":rotation_z", pos1),
        (assign, reg1, ":rotation_z"),
0-180 要加上180
181-360要 减去180
(party_get_position, pos1, "p_main_party"),
(position_get_rotation_around_z, ":rotation_z", pos1),
(try_begin),
           (is_between, ":rotation_z",0,180),
           (val_add, ":rotation_z",180),
(else_try),
           (val_sub, ":rotation_z",180),
(try_end),
(assign, reg1, ":rotation_z"),
主角调好角度再右键移center部队过来,center新角度就是主角角度,就不用随机了;

还有坐标计算那里小数位reg2 、 reg4是负数的情况没处理;




★★★【三国群英赋】★★★

31

主题

910

回帖

2412

积分

子爵[版主]

Rank: 7Rank: 7Rank: 7

UID
2755938
第纳尔
6208
精华
11
互助
12
荣誉
97
贡献
85
魅力
242
注册时间
2016-7-5

骑砍中文站APP会员勋章

鲜花(236) 鸡蛋(0)
发表于 2023-5-19 19:59:06 来自手机 | 显示全部楼层
好功能
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2024-11-19 10:22 , Processed in 0.137469 second(s), 29 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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