骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买霸主CDKEY 购买战帆CDKEY
查看: 577|回复: 0

[功能与代码] 联邦党人文集之赛马

[复制链接]

8

主题

21

回帖

9

积分

平民

Rank: 1

UID
3683912
第纳尔
14
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2024-8-2
鲜花(2) 鸡蛋(0)
发表于 2026-2-25 12:47:34 | 显示全部楼层 |阅读模式
本帖最后由 卢森堡的夜幕 于 2026-3-19 10:18 编辑

以下为我的代码赛马

严禁任何潘德的预言相关mod及其改版使用我的任何代码


使用要求:必须对于作者也就是我,致谢,贡献者,Credit等署名

署名为:夜幕

效果:【骑砍】康城赛马-哔哩哔哩】 https://b23.tv/Xgbv5ko

原理:很简单,用entry point作为导航,为什么用entry point?因为最简单易懂和精准

有任何不懂的地方或bug可以私信和评论告诉我


  1.   ("go_to_horse_race",
  2.       [
  3.       ],
  4.       "康 城 赛 马",
  5.       [
  6.         (modify_visitors_at_site, "scn_camptown"),
  7.         (reset_visitors,0),

  8.         (set_visitor, 1, "trp_player"),
  9.        (set_visitors, 2, "trp_elite_cavalry",1),
  10.        (set_visitors, 3, "trp_elite_cavalry",1),
  11.         (set_visitors, 4, "trp_elite_cavalry",1),
  12.         (assign, "$g_ym6", 2),#两圈
  13.         (set_jump_mission, "mt_horse_race"),
  14.         (jump_to_scene, "scn_camptown"),
  15.         (assign, "$camptown", 233),
  16.         (play_track, "track_camptown", 1),

  17.         (change_screen_mission),
  18.       ]),


  19. (ti_before_mission_start, 0, 0,
  20. [],
  21. [
  22.    (assign, "$g_ym", 0),
  23.    (assign, "$g_ym1", 0),
  24.    (assign, "$g_ym2", 0),
  25.    (assign, "$g_ym3", 5),
  26.    (assign, "$g_ym4", 0),
  27.    (assign, "$g_ym5", 0),
  28.    (try_for_range, ":ym_0", 0, 256),
  29.      (troop_set_slot, "trp_temp_array_a", ":ym_0", 0),
  30.      (troop_set_slot, "trp_temp_array_b", ":ym_0", 0),
  31.    (try_end),
  32.    (display_message, "@赛 马 准 备 中,5 秒 后 开 始!"),
  33. ]),

  34. (0, 0, ti_once,
  35. [
  36.    (eq, "$g_ym", 0),
  37.    (eq, "$g_ym5", 0),
  38.    (this_or_next|key_clicked, key_w),
  39.    (this_or_next|key_clicked, key_a),
  40.    (this_or_next|key_clicked, key_s),
  41.    (key_clicked, key_d),
  42. ],
  43. [
  44.    (assign, "$g_ym5", 1),
  45.    (get_player_agent_no, ":ym_0"),
  46.    (try_begin),
  47.      (ge, ":ym_0", 0),
  48.      (troop_set_slot, "trp_temp_array_a", ":ym_0", 0),
  49.      (troop_set_slot, "trp_temp_array_b", ":ym_0", -1),
  50.    (try_end),
  51.    (call_script, "script_change_player_honor", -1),
  52.    (display_message, "@你 在 开 赛 前 移 动(WASD)被 判 定 为 作 弊,已 取 消 参 赛 资 格!", 0xFF3333),
  53.    (finish_mission, 0),
  54. ]),

  55. (ti_on_agent_spawn, 0, 0,
  56. [],
  57. [
  58.    (store_trigger_param_1, ":ym_0"),
  59.    (set_fixed_point_multiplier, 100),
  60.    (agent_is_human, ":ym_0"),
  61.    (agent_get_team, ":ym_1", ":ym_0"),
  62.    (this_or_next|eq, ":ym_1", 0),
  63.    (eq, ":ym_1", 1),
  64.    (troop_set_slot, "trp_temp_array_a", ":ym_0", 1),
  65.    (troop_set_slot, "trp_temp_array_b", ":ym_0", 0),
  66.    (agent_set_slot, ":ym_0", slot_slot_ym, 5),
  67.    (agent_set_slot, ":ym_0", slot_ym1, 0),
  68.    (agent_set_slot, ":ym_0", slot_ym2, 0),
  69.    (try_for_range, ":ym_2", 0, 4),
  70.      (agent_get_wielded_item, ":ym_3", ":ym_0", ":ym_2"),
  71.      (gt, ":ym_3", 0),
  72.      (agent_unequip_item, ":ym_0", ":ym_3"),
  73.    (try_end),
  74. ]),

  75. (1, 0, 0,
  76. [
  77.    (eq, "$g_ym", 0),
  78.    (store_mission_timer_a_msec, ":ym_0"),
  79.    (lt, ":ym_0", 5000),
  80. ],
  81. [
  82.    (store_sub, ":ym_1", 5000, ":ym_0"),
  83.    (store_add, ":ym_1", ":ym_1", 999),
  84.    (store_div, reg1, ":ym_1", 1000),
  85. ]),

  86. (0, 0, ti_once,
  87. [
  88.    (eq, "$g_ym", 0),
  89.    (store_mission_timer_a_msec, ":ym_0"),
  90.    (ge, ":ym_0", 5000),
  91. ],
  92. [
  93.    (assign, "$g_ym", 1),
  94.    (store_mission_timer_a, ":ym_8"),
  95.    (store_add, "$g_ym4", ":ym_8", 5),
  96.    (set_fixed_point_multiplier, 100),
  97.    (try_for_agents, ":ym_1"),
  98.      (agent_is_alive, ":ym_1"),
  99.      (troop_slot_eq, "trp_temp_array_a", ":ym_1", 1),
  100.      (agent_clear_scripted_mode, ":ym_1"),
  101.    (try_end),
  102.    (try_begin),
  103.      (ge, "$g_ym6", 1),
  104.      (assign, reg2, "$g_ym6"),
  105.      (display_message, "@开 始 !赛 道 模 式:共 {reg2}圈"),
  106.      (agent_set_slot, ":ym_1", slot_slot_ym, 5),
  107.      (agent_set_slot, ":ym_1", slot_ym1, 0),
  108.      (agent_set_slot, ":ym_1", slot_ym2, 0),
  109.    (else_try),
  110.      (display_message, "@开 始!冲 向 终 点!"),
  111.    (try_end),
  112.    (set_fixed_point_multiplier, 100),
  113.    (get_player_agent_no, ":player_agent"),
  114.    (agent_is_alive, ":player_agent"),
  115.    (agent_set_speed_modifier, ":player_agent", 100),
  116.    (agent_get_horse, ":horse_agent", ":player_agent"),
  117.    (gt, ":horse_agent", -1),
  118.    (agent_set_speed_modifier, ":horse_agent", 100),
  119. ]),

  120. (1, 0, 0,
  121. [],
  122. [
  123.    (try_begin),
  124.      (ge,"$camptown",1),
  125.      (val_sub, "$camptown", 1),
  126.    (else_try),
  127.      (le,"$camptown",0),
  128.      (play_track, "track_camptown", 1),
  129.      (assign, "$camptown", 233),
  130.    (try_end),
  131. ]),

  132. (0, 0, 0,
  133. [
  134.    (eq, "$g_ym", 1),
  135.    (eq, "$g_ym1", 0),
  136. ],
  137. [
  138.    (try_for_agents, ":ym_0"),
  139.      (agent_is_alive, ":ym_0"),
  140.      (troop_slot_eq, "trp_temp_array_a", ":ym_0", 1),
  141.      (agent_get_slot, ":ym_1", ":ym_0", slot_slot_ym),
  142.      (entry_point_get_position, pos13, ":ym_1"),
  143.      (agent_get_position, pos11, ":ym_0"),
  144.      (position_transform_position_to_local, pos12, pos13, pos11),
  145.      (position_get_x, ":ym_4", pos12),
  146.      (assign, ":ym_7", 0),
  147.      (assign, ":ym_12", 1),
  148.      (scene_prop_get_num_instances, ":ym_8", "spr_crude_fence"),
  149.      (try_for_range, ":ym_9", 0, ":ym_8"),
  150.        (scene_prop_get_instance, ":ym_10", "spr_crude_fence", ":ym_9"),
  151.        (prop_instance_get_position, pos15, ":ym_10"),
  152.        (get_distance_between_positions, ":ym_11", pos11, pos15),
  153.        (try_begin),
  154.          (lt, ":ym_11", 280),
  155.          (assign, ":ym_7", 2),
  156.        (else_try),
  157.          (lt, ":ym_11", 360),
  158.          (lt, ":ym_7", 1),
  159.          (assign, ":ym_7", 1),
  160.        (try_end),
  161.      (try_end),
  162.      (scene_prop_get_num_instances, ":ym_8", "spr_obstacle_fence_1"),
  163.      (try_for_range, ":ym_9", 0, ":ym_8"),
  164.        (scene_prop_get_instance, ":ym_10", "spr_obstacle_fence_1", ":ym_9"),
  165.        (prop_instance_get_position, pos15, ":ym_10"),
  166.        (get_distance_between_positions, ":ym_11", pos11, pos15),
  167.        (try_begin),
  168.          (lt, ":ym_11", 180),
  169.          (assign, ":ym_7", 2),
  170.        (else_try),
  171.          (lt, ":ym_11", 360),
  172.          (lt, ":ym_7", 1),
  173.          (assign, ":ym_7", 1),
  174.        (try_end),
  175.      (try_end),
  176.      (try_begin),
  177.        (eq, ":ym_7", 2),
  178.        (assign, ":ym_12", 0),
  179.        (try_begin),
  180.          (lt, ":ym_4", 0),
  181.          (store_random_in_range, ":ym_3", 1100, 1450),
  182.          (position_move_x, pos13, ":ym_3"),
  183.        (else_try),
  184.          (store_random_in_range, ":ym_3", -1450, -1100),
  185.          (position_move_x, pos13, ":ym_3"),
  186.        (try_end),
  187.        (position_move_y, pos13, 220),
  188.      (else_try),
  189.        (eq, ":ym_7", 1),
  190.        (try_begin),
  191.          (lt, ":ym_4", 0),
  192.          (store_random_in_range, ":ym_3", 860, 1060),
  193.          (position_move_x, pos13, ":ym_3"),
  194.        (else_try),
  195.          (store_random_in_range, ":ym_3", -1060, -860),
  196.          (position_move_x, pos13, ":ym_3"),
  197.        (try_end),
  198.        (position_move_y, pos13, 120),
  199.      (else_try),
  200.        (lt, ":ym_4", -1300),
  201.        (store_random_in_range, ":ym_3", 220, 520),
  202.        (position_move_x, pos13, ":ym_3"),
  203.      (else_try),
  204.        (gt, ":ym_4", 1300),
  205.        (store_random_in_range, ":ym_3", -520, -220),
  206.        (position_move_x, pos13, ":ym_3"),
  207.      (else_try),
  208.        (store_random_in_range, ":ym_3", -90, 91),
  209.        (position_move_x, pos13, ":ym_3"),
  210.      (try_end),
  211.      (agent_set_scripted_destination, ":ym_0", pos13, ":ym_12"),
  212.    (try_end),
  213. ]),

  214. (0, 0, 0,
  215. [
  216.    (eq, "$g_ym", 1),
  217.    (eq, "$g_ym1", 0),
  218.    (ge, "$g_ym6", 1),
  219. ],
  220. [
  221.    (get_player_agent_no, ":ym_9"),
  222.    (try_for_agents, ":ym_0"),
  223.      (agent_is_alive, ":ym_0"),
  224.      (troop_slot_eq, "trp_temp_array_a", ":ym_0", 1),
  225.      (troop_slot_eq, "trp_temp_array_b", ":ym_0", 0),
  226.      (agent_get_slot, ":ym_1", ":ym_0", slot_slot_ym),
  227.      (assign, ":ym_6", ":ym_1"),
  228.      (entry_point_get_position, pos14, ":ym_1"),
  229.      (agent_get_position, pos11, ":ym_0"),
  230.      (assign, ":ym_5", 0),
  231.      (get_distance_between_positions, ":ym_2", pos11, pos14),
  232.      (try_begin),
  233.        (eq, ":ym_5", 0),
  234.        (position_transform_position_to_local, pos12, pos14, pos11),
  235.        (position_get_x, ":ym_3", pos12),
  236.        (is_between, ":ym_3", -5000, 5000),
  237.        (position_get_y, ":ym_4", pos12),
  238.        (is_between, ":ym_4", -1200, 1201),
  239.        (assign, ":ym_5", 1),
  240.      (try_end),
  241.      (eq, ":ym_5", 1),
  242.      (store_add, ":ym_1", ":ym_1", 1),
  243.      (try_begin),
  244.        (ge, ":ym_1", 14),
  245.        (assign, ":ym_1", 5),
  246.        (agent_get_slot, ":ym_4", ":ym_0", slot_ym1),
  247.        (val_add, ":ym_4", 1),
  248.        (agent_set_slot, ":ym_0", slot_ym1, ":ym_4"),
  249.        (agent_set_slot, ":ym_0", slot_ym2, 1),
  250.        (try_begin),
  251.          (eq, ":ym_0", ":ym_9"),
  252.          (assign, reg1, ":ym_4"),
  253.          (display_message, "@你 已 完 成 第 {reg1} 圈!"),
  254.        (try_end),
  255.      (try_end),
  256.      (try_begin),
  257.        (eq, ":ym_0", ":ym_9"),
  258.        (assign, reg1, ":ym_6"),
  259.        (display_message, "@[测 试] 通 过 路 点 {reg1}"),
  260.      (try_end),
  261.      (agent_set_slot, ":ym_0", slot_slot_ym, ":ym_1"),
  262.      (entry_point_get_position, pos14, ":ym_1"),
  263.      (agent_set_scripted_destination, ":ym_0", pos14, 0),
  264.    (try_end),
  265. ]),

  266. (0, 0, 0,
  267. [
  268.    (eq, "$g_ym", 1),
  269.    (eq, "$g_ym1", 0),
  270.    (store_mission_timer_a, ":ym_9"),
  271.    (ge, ":ym_9", "$g_ym4"),
  272. ],
  273. [
  274.    (entry_point_get_position, pos10, 13),
  275.    (try_for_agents, ":ym_0"),
  276.      (agent_is_alive, ":ym_0"),
  277.      (troop_slot_eq, "trp_temp_array_a", ":ym_0", 1),
  278.      (troop_slot_eq, "trp_temp_array_b", ":ym_0", 0),
  279.      (agent_get_position, pos11, ":ym_0"),
  280.      (position_transform_position_to_local, pos12, pos10, pos11),
  281.      (position_get_x, ":ym_1", pos12),
  282.      (is_between, ":ym_1", -2000, 2000),
  283.      (position_get_y, ":ym_2", pos12),
  284.      (is_between, ":ym_2", -250, 251),
  285.      (try_begin),
  286.        (ge, "$g_ym6", 1),
  287.        (agent_get_slot, ":ym_3", ":ym_0", slot_ym1),
  288.        (ge, ":ym_3", "$g_ym6"),
  289.        (val_add, "$g_ym2", 1),
  290.        (troop_set_slot, "trp_temp_array_b", ":ym_0", "$g_ym2"),
  291.        (assign, reg1, "$g_ym2"),
  292.        (str_store_agent_name, s1, ":ym_0"),
  293.        (display_message, "@第 {reg1}名:{s1}"),
  294.      (try_end),
  295.    (try_end),
  296.    (try_begin),
  297.      (ge, "$g_ym2", 4),
  298.      (assign, "$g_ym1", 1),
  299.      (display_message, "@赛 马 结 束,你 现 在 可 以 离 开 场 景。"),
  300.    (try_end),
  301. ]),

  302. (ti_tab_pressed, 0, 0,
  303. [
  304.    (eq, "$g_ym1", 0),
  305. ],
  306. [
  307.    (display_message, "@赛 马 尚 未 结 束,暂 时 不 能 离 开 场 景。", 0xFF3333),
  308. ]),

  309. (ti_tab_pressed, 0, 0,
  310. [
  311.    (eq, "$g_ym1", 1),
  312. ],
  313. [
  314.    (finish_mission, 0),
  315. ]),
复制代码



您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2026-3-20 05:57 , Processed in 0.092390 second(s), 18 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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