骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

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

[功能与代码] 【OSP】简易轨道车开源

[复制链接]

26

主题

804

回帖

399

积分

骑士

民间工匠

Rank: 4Rank: 4

UID
1115705
第纳尔
4062
精华
0
互助
26
荣誉
2
贡献
0
魅力
30
注册时间
2012-12-13
鲜花(235) 鸡蛋(10)
发表于 2024-8-1 23:24:38 | 显示全部楼层 |阅读模式
本帖最后由 a1550887802 于 2024-8-1 23:31 编辑


视频链接
在某个群里,有些汽油非要我把一些陈年代码分享出来
这个就是其中之一,简易轨道车,非常不完善,希望感兴趣的朋友可以看看
全部都是module_scene_props.py的代码,不涉及其他复杂内容
  1. ##################################################
  2. ("zz_zz_z_simple_vehicle_b",sokf_moveable|sokf_type_ladder|spr_use_time(3),"simple_vehicle_b","bo_simple_vehicle_b",
  3. [
  4. (ti_on_scene_prop_init,
  5.     [
  6.       (store_trigger_param_1, ":sprop_instance"),
  7.       (scene_prop_set_cur_hit_points, ":sprop_instance", 10000000),

  8.       (init_position,pos50),
  9.       (position_move_z, pos50, -50000),
  10.       (set_spawn_position, pos50),
  11.       #(spawn_scene_prop,"spr_zz_zz_z_simple_ship_add"),
  12.       #(assign,":scene_prop_c",reg0),
  13.       #(scene_prop_set_slot,":scene_prop_c",scene_prop_slots_end,":sprop_instance"),

  14.       
  15.     ]),
  16. (ti_on_scene_prop_use,
  17.     [
  18.       #(store_trigger_param_1, ":agent_id"),
  19.       (store_trigger_param_2, ":instance_id"),
  20.         (prop_instance_get_starting_position, pos45, ":instance_id"),
  21.         (scene_prop_set_slot,":instance_id",scene_prop_belfry_platform_moved,20),
  22.         #(position_move_y, pos45,40),
  23.         (prop_instance_animate_to_position,":instance_id",pos45,500),
  24.     ]),
  25.    
  26.    (ti_on_scene_prop_animation_finished,
  27.     [
  28.    
  29.     (store_trigger_param_1, ":sprop_instance"),
  30.    
  31.      
  32.       (scene_prop_get_slot, ":speed", ":sprop_instance", scene_prop_belfry_platform_moved),
  33.         
  34.       
  35.         
  36.      (try_begin),
  37.         
  38.         (gt,":speed", 0),
  39.         (assign, ":close", 0),#(assign, ":speed", 200),
  40.         
  41.         (prop_instance_get_position,pos45,":sprop_instance"),
  42.         #(position_set_z_to_ground_level, pos45),
  43.    
  44.        (try_for_prop_instances, ":origin_no","spr_zz_z_simple_vehicle_track"),
  45.             (neq, ":close", 1),
  46.             (prop_instance_get_position,pos30,":origin_no"),
  47.             (get_distance_between_positions,":distance_between",pos45,pos30),
  48.             (lt, ":distance_between", 100),
  49.             (position_copy_rotation,pos45,pos30),
  50.             (set_fixed_point_multiplier, 100),  #to match cm returned by get_distance_between_positions
  51.             (position_get_z,":get_z",pos30),
  52.             (position_set_z,pos45,":get_z"),
  53.             (set_fixed_point_multiplier, 1),
  54.             (position_move_y, pos30,1000),
  55.             
  56.                 #(assign, ":save_fpm", 1),
  57.                #(convert_to_fixed_point, ":save_fpm"),                   #set fixed point
  58.                (set_fixed_point_multiplier, 100),  #to match cm returned by get_distance_between_positions
  59.                (init_position, pos62),                  
  60.                        (position_transform_position_to_local, pos62, pos45, pos30), #60 = attacker, 61 = target
  61.                        (position_get_x, ":x_distance", pos62),
  62.                        (position_get_y, ":y_distance", pos62),
  63.                        (position_get_z, ":z_distance", pos62), #now there are relative length
  64.                   
  65.                        (store_atan2, ":theta", ":z_distance", ":x_distance"),
  66.                            #(try_begin),
  67.                            #  (position_is_behind_position, pos60, pos61),
  68.                                 # (val_mul, ":theta", -1),                              #when behind, turn to the opposite
  69.                            #(try_end),
  70.                        #(position_rotate_y_floating, pos45, ":theta"),          #twist to giving plain
  71. #                           (prop_instance_set_position, ":tracking_tissue", pos60),
  72.                        (position_transform_position_to_local, pos62, pos45, pos30),#for z rotation
  73.                        (position_get_x, ":x_distance", pos62),
  74.                        (position_get_y, ":y_distance", pos62), #below zero if target is behind
  75.                        (position_get_z, ":z_distance", pos62), #now there are relative length        
  76.                    (store_atan2, ":theta", ":y_distance", ":x_distance"),
  77.                        (val_sub, ":theta", 9000), #minus 90 degree
  78.                            
  79.                        (position_rotate_z_floating, pos45, ":theta"),          #twist to giving plain
  80.         (try_end),
  81.         
  82.         
  83.         (set_fixed_point_multiplier, 1),
  84.         (assign, ":var_animate", 10),
  85.         (position_move_y, pos45,":speed"),
  86.         (prop_instance_animate_to_position,":sprop_instance",pos45,":var_animate"),

  87.         
  88.       (try_end),
  89.       
  90.       
  91.     ]),
  92.    
  93.   (ti_on_scene_prop_hit,
  94.     [
  95.       #(store_trigger_param_1, ":instance_no"),      
  96.       #(store_trigger_param_2, ":damage"),
  97.       
  98.       (try_begin),
  99.         #(scene_prop_get_hit_points, ":hit_points", ":instance_no"),
  100.         (particle_system_burst, "psys_dummy_smoke", pos1, 3),
  101.         (particle_system_burst, "psys_dummy_straw", pos1, 10),
  102.         (play_sound_at_position, "snd_shield_hit_wood_metal", pos1, 0),
  103.       (try_end),
  104.         
  105.         ]),

  106. ]),   
  107. ###############################################
  108. ##################################################
  109. ("zz_z_simple_vehicle_track",sokf_moveable|sokf_type_ladder,"zz_z_simple_vehicle_track","bo_zz_z_simple_vehicle_track",
  110. []),   
复制代码



17

主题

633

回帖

345

积分

见习骑士

Rank: 3

UID
3102512
第纳尔
2385
精华
0
互助
30
荣誉
0
贡献
0
魅力
74
注册时间
2019-9-6

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

鲜花(55) 鸡蛋(0)
发表于 2024-8-1 23:48:38 来自手机 | 显示全部楼层
老灯!你终于站起来了!来自: Android客户端

31

主题

915

回帖

2414

积分

子爵[版主]

Rank: 7Rank: 7Rank: 7

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

骑砍中文站APP会员勋章

鲜花(236) 鸡蛋(0)
发表于 2024-8-2 05:21:38 来自手机 | 显示全部楼层
干得漂亮

39

主题

4381

回帖

1526

积分

男爵[离任版主]

世纪风云制作组[模型]

兵器匠人

Rank: 5Rank: 5Rank: 5

UID
624635
第纳尔
2053
精华
0
互助
12
荣誉
14
贡献
100
魅力
18
注册时间
2012-1-13

骑士荣誉之维京征服汉化勋章

鲜花(147) 鸡蛋(0)
发表于 2024-8-2 06:51:16 | 显示全部楼层
前排支持。
骑兵团队来打仗,就像野火烧八方;
杀奔西来杀奔东,人似猛虎马似狼;

骑兵团队来打仗,就像彩云追太阳;
狭路相逢勇者胜,苦到尽头强者昌。

29

主题

751

回帖

574

积分

骑士

Rank: 4Rank: 4

UID
3322408
第纳尔
1748
精华
0
互助
68
荣誉
0
贡献
0
魅力
6
注册时间
2022-2-3
鲜花(57) 鸡蛋(0)
发表于 2024-8-2 07:14:40 来自手机 | 显示全部楼层
登还是老的浪。来自: Android客户端

0

主题

59

回帖

18

积分

随仆

Rank: 1

UID
3346943
第纳尔
519
精华
0
互助
0
荣誉
0
贡献
0
魅力
0
注册时间
2022-4-8
鲜花(2) 鸡蛋(0)
发表于 2024-8-3 10:48:18 来自手机 | 显示全部楼层
某位群友路过来自: Android客户端
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

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

GMT+8, 2024-12-27 12:01 , Processed in 0.139527 second(s), 29 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

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