抢滩登陆吧 关注:35,801贴子:142,961

(水教程)抢滩登陆2004(pacific gunner)修改教程

只看楼主收藏回复


樱花镇楼


IP属地:广西1楼2020-10-27 21:39回复
    二楼迫害钢板


    IP属地:广西2楼2020-10-27 21:41
    回复
      首先是各个文件是干什么的
      主界面下的Resource文件夹里面包含了全部文件。
      Data是主要修改的文件。
      Model是模型文件。
      Textures是贴图。
      Audio是音乐。
      UI是按钮等杂七杂八。
      剩下的是我乱加进去的。


      IP属地:广西3楼2020-10-27 21:47
      回复
        下面是DATA:

        area文件中,map打开是一串数字,标明地图每一个点的海拔(初期不要乱改)
        dat是关卡的信息,包含关卡里面的一切,可以用记事本打开。
        注意里面是英美国家的地名称呼,看惯日本叫法的可能会不适应,
        ammo是武器的弹药。


        IP属地:广西4楼2020-10-27 21:50
        回复

          games是你的存档们
          map是存档的地图存储
          font是字库
          move是建筑,登陆艇等的坐标
          model管的是模型
          path是飞机路径
          friend和enemy不用说了
          emitter是各种粒子效果,飞机烟雾和炮弹轨迹


          IP属地:广西5楼2020-10-28 22:13
          收起回复
            后面的shader不要动
            weapon是飞机和船的武器
            sprite是武器闪光,不管他


            IP属地:广西6楼2020-10-28 22:15
            回复
              friend里面友军文件如下:
              struct friend =
              {
              string name = "a_battleship";
              string type = "ENT_TYPE_FRIEND_SHIP";
              string model = "battleship";
              string weapon_primary = "friend_3in";
              string weapon_secondary = "friend_20mm";
              string vo_move = "";
              string impact_entity = "bomb_exp";
              string impact_water = "bomb_exp";
              string impact_land = "bomb_exp";
              float speed = 0.05;
              float damage = 100.0;
              float life = 1200.0;
              float bsphere = 406.0;
              int collide = 2;
              vec3 maxBB1 = (38.3908, 25.7757, 398.29);
              vec3 minBB1 = (-37.8038, -79.8577, -401.753);
              vec3 maxBB2 = (29.614, 136.967, 103.902);
              vec3 minBB2 = (-27.532, 26.1386, -176.633);
              vec3 fireVec = (0.0, 0.0, 0.0);
              float fireAng = 180.0;
              float fireDist = 500.0;
              float hitPercent = 0.4;
              };
              string name = "a_battleship";是名称代码,加进游戏时写这个
              string type = "ENT_TYPE_FRIEND_SHIP";是种类,这说明是盟军船
              string weapon_primary = "friend_3in";
              string weapon_secondary = "friend_20mm";两种作为友军的武器,12磅炮和20mm厄利孔
              string vo_move = "";移动声音,双引号里面登陆艇才要写入
              float speed = 0.05;动作速度
              float damage = 100.0;撞击伤害
              float life = 1200.0;生命值
              float bsphere = 406.0;触发碰撞区域大小,越大越容易被撞
              int collide = 2;
              vec3 maxBB1 = (38.3908, 25.7757, 398.29);
              vec3 minBB1 = (-37.8038, -79.8577, -401.753);
              vec3 maxBB2 = (29.614, 136.967, 103.902);
              vec3 minBB2 = (-27.532, 26.1386, -176.633);模型判定范围,对于鱼雷有用太小会穿模
              vec3 fireVec = (0.0, 0.0, 0.0);火炮发射原点
              float fireAng = 180.0;无特别意义
              float fireDist = 500.0;开始射击距离
              float hitPercent = 0.4;命中率


              IP属地:广西7楼2020-10-28 22:21
              收起回复
                @ 8764874


                IP属地:广西9楼2020-10-28 23:20
                回复
                  string impact_entity = "bomb_exp";
                  string impact_water = "bomb_exp";
                  string impact_land = "bomb_exp";
                  在水上和岸上的撞击效果
                  int collide = 2;撞击判断,飞机是1,军舰2,地面0


                  IP属地:广西10楼2020-10-28 23:23
                  回复
                    struct friend =
                    {
                    string name = "a_sandbag2_155mm";
                    string type = "ENT_TYPE_FRIEND_STRUCTURE";
                    string model = "P_sandbag";
                    string weapon_primary = "friend_155mm";
                    string weapon_secondary = "friend_ship_machine_gun2";
                    string vo_move = "";
                    string impact_entity = "bomb_exp";
                    string impact_water = "bomb_exp";
                    string impact_land = "bomb_exp";
                    float speed = 0.08;
                    float damage = 100.0;
                    float life = 600.0;
                    float bsphere = 100.0;
                    int collide = 2;
                    vec3 maxBB1 = (10.0,20.0,10.0);
                    vec3 minBB1 = (-10.0,11.0,-10.0);
                    vec3 maxBB2 = (20.0,10.0,20.0));
                    vec3 minBB2 = (-20.0,-2.0,-40.0);
                    vec3 fireVec = (0.0, 0.0, 0.0);
                    float fireAng = 45.0;
                    float fireDist = 500.0;
                    float hitPercent = 0.3;
                    };
                    友军陆上建筑,这个是榴弹炮阵地


                    IP属地:广西11楼2020-10-28 23:56
                    回复
                      敌军飞机数据格式:
                      struct enemy =
                      {
                      string name = "zero";代号,加进游戏里面用
                      string type = "ENT_TYPE_ENEMY_PLANE";种类,日本飞机
                      string model = "zero";模型代号
                      string sound = "audio\\p_z1.wav";飞行音效
                      string weapon_primary = "enemy_machine_gun";敌军主要武器
                      string weapon_secondary = "none";敌军次要武器
                      string impact_entity = "plane_exp_air";
                      string impact_water = "plane_exp_water";
                      string impact_land = "plane_exp_land";在水上和岸上的撞击效果
                      float speed = 3.6;速度,越大越快
                      float damage = 25.0;撞击损伤,实际输出大概是这个数值的三倍左右
                      float life = 10.0;生命值
                      float bsphere = 12.0;触发碰撞区域大小,越大越容易被撞
                      int collide = 1;撞击判断,飞机是1,军舰2,地面0
                      int weapon_class = 1;攻击形式,1为战斗机,3为轰炸机,2为鱼雷机
                      };
                      另一个:
                      struct enemy =
                      {
                      string name = "jill"; (B6M JILL)
                      string type = "ENT_TYPE_ENEMY_PLANE";
                      string model = "jill";
                      string sound = "audio\\p_kt.wav";
                      string weapon_primary = "enemy_machine_gun2";机枪
                      string weapon_secondary = "enemy_air_torpedo";鱼雷
                      string impact_entity = "bomb_exp";
                      string impact_water = "plane_exp_water";
                      string impact_land = "bomb_exp";
                      string impact_air = "plane_exp_air";
                      float speed = 11.0;
                      float damage = 45.0;
                      float life = 41.0;
                      float bsphere = 13.0;
                      int collide = 1;
                      int weapon_class = 2;鱼雷机
                      };
                      struct enemy =
                      {
                      string name = "betty"; (G4M BETTY)
                      string type = "ENT_TYPE_ENEMY_PLANE";
                      string model = "betty";
                      string sound = "audio\\p_vl.wav";
                      string weapon_primary = "enemy_machine_gun";
                      string weapon_secondary = "enemy_bomb";炸弹
                      string impact_entity = "bomb_exp";
                      string impact_water = "plane_exp_water";
                      string impact_land = "bomb_exp";
                      string impact_air = "plane_exp_air";
                      float speed = 7.5;
                      float damage = 60.0;
                      float life = 60.0;
                      float bsphere = 15.0;
                      int collide = 1;
                      int weapon_class = 3;轰炸机
                      };


                      IP属地:广西12楼2020-10-29 00:03
                      收起回复
                        武器定义在weapon文件里面:
                        玩家武器格式:
                        struct weapon =
                        {
                        string name = "20mm";代号
                        string type = "ENT_TYPE_PLAYER_WEAPON";种类是玩家武器
                        string ammo = "2aa";使用的炮弹
                        int ammo_unlimited = 1;炮弹是否无限,默认1
                        float fire_rate = 0.15;射速
                        struct barrel =炮管和底座模型,不建议改
                        {
                        string model = "n20mm_barrel";
                        vec3 pos = (0.0, -4.375, 2.0);
                        vec3 ammo_pos = (0.072, 3.437, 3.527);
                        vec3 recoil = (0.0, 0.0, -2.0);
                        float recoil_rate = 0.8;
                        };
                        struct base =
                        {
                        string model = "n20mm_body";
                        vec3 pos = (0.0, -4.375, 2.0);
                        vec3 ammo_pos = (7.10, -1.3, 18.0);
                        vec3 recoil = (0.0, 0.0, -0.3);
                        float recoil_rate = 0.8;
                        };
                        };
                        友军武器格式
                        struct weapon =
                        {
                        string name = "friend_3in";代号
                        string type = "ENT_TYPE_FRIEND_WEAPON";种类是友军武器
                        string ammo = "friend_3in";弹药
                        int ammo_unlimited = 1;
                        float fire_rate = 1.75;发射频率
                        ** ai **
                        int ai_enable = 1;ai可以用
                        float ai_fire_percent = 0.9;发射概率
                        float ai_fire_timer = 2.0;发射计时
                        float ai_fire_burst_timer = 1.0;
                        float ai_fire_dist_min = 100.0;ai射界
                        float ai_fire_dist_max = 2100.0;ai发射距离极限
                        float ai_fire_ang = 45.0;
                        ** ai **
                        struct barrel =
                        {
                        string model = "none";
                        vec3 pos = (0.0, 0.0, 5.0);炮管位置在哪里,没有必要改
                        vec3 ammo_pos = (-5.50, -0.3, 7.0);
                        vec3 recoil = (0.0, 0.0, 0.0);
                        float recoil_rate = 0.0;
                        };
                        struct barrel =
                        {
                        string model = "none";
                        vec3 pos = (0.0, 0.0, 5.0);
                        vec3 ammo_pos = (5.50, -0.3, 7.0);
                        vec3 recoil = (0.0, 0.0, 0.0);
                        float recoil_rate = 0.0;
                        };
                        };
                        敌军武器格式:
                        struct weapon =
                        {
                        string name = "enemy_air_torpedo";发射概率
                        string type = "ENT_TYPE_ENEMY_WEAPON";种类是敌军武器
                        string ammo = "enemy_air_torpedo";
                        int ammo_unlimited = 1;
                        float fire_rate = 15.0;
                        ** ai **
                        int ai_enable = 1;
                        float ai_fire_percent = 0.8;
                        float ai_fire_timer = 15.0;发射计时,归零则发射
                        float ai_fire_burst_timer = 1.0;
                        float ai_fire_dist_min = 300.0;
                        float ai_fire_dist_max = 1600.0;
                        float ai_fire_ang = 15.0;
                        ** ai **
                        struct barrel =
                        {
                        string model = "torpedo_attach";鱼雷
                        vec3 pos = (0.0, 0.0, 0.0);在敌军飞机上的位置,重要
                        vec3 ammo_pos = (0.0, 0.0, 0.0);弹药发射位置,重要
                        vec3 recoil = (0.0, 0.0, 0.0);
                        float recoil_rate = 0.0;
                        };
                        };


                        IP属地:广西13楼2020-10-29 00:11
                        收起回复
                          弹药在ammo文件
                          struct ammo =
                          {
                          string name = "2aa";代号
                          string type = "ENT_TYPE_PLAYER_AMMO";玩家弹药
                          string model = "tracer2";炮弹模型代码
                          string sound = "audio\\g_20mm.wav";飞行声音
                          string impact_entity = "spark";
                          string impact_water = "splash_big";落水效果
                          string impact_land = "spark2";撞击地面效果
                          float speed = 30.0;速度,越快弹药越平直
                          float damage = 10.0;弹丸伤害
                          float life = 1.5;炮弹生命值,但是实际上很难打到
                          float lifeTimer = 3.0;炮弹自毁计时
                          float bsphere = 10.0;VT效果,越大效果越突出
                          int collide = 1;撞击判断,飞机是1,军舰2,地面0,弹药也是1
                          int lifeImpact = 0;
                          };
                          struct ammo =
                          {
                          string name = "friend_machine_gun2";
                          string type = "ENT_TYPE_FRIEND_AMMO";友军弹药
                          string model = "tracer";
                          string sound = "audio\\gai_30ca.wav";
                          string impact_entity = "spark2";
                          string impact_water = "splash_small";
                          string impact_land = "spark2";
                          float speed = 15.0;
                          float damage = 3.25;
                          float life = 1.5;
                          float lifeTimer = 1.5;
                          float bsphere = 2.0;
                          int collide = 0;
                          int lifeImpact = 0;
                          };
                          炸弹格式:
                          struct ammo =
                          {
                          string name = "enemy_bomb";
                          string type = "ENT_TYPE_ENEMY_AMMO";
                          string model = "bomb";
                          string sound = "audio\\f_bb_fl.wav";
                          string impact_entity = "bomb_exp2";
                          string impact_water = "plane_exp_water";
                          string impact_land = "bomb_exp";
                          float speed = 2.0;
                          float damage = 200.0;
                          float life = 1.0;
                          float lifeTimer = 10.0;
                          float bsphere = 35.0;
                          int collide = 1;
                          int lifeImpact = 0;
                          };
                          例子:
                          struct ammo =
                          {
                          string name = "ohka";
                          string type = "ENT_TYPE_ENEMY_AMMO";
                          string model = "ohka";
                          string sound = "audio\\engine_rocket.wav.wav";
                          string particle01 = "plane_smoke";
                          string particle02 = "plane_smoke";
                          string impact_entity = "bomb_exp";
                          string impact_water = "shell_exp_water";
                          string impact_land = "bomb_exp";
                          float speed = 15.5;
                          float damage = 300.0;
                          float life = 10.0;
                          float lifeTimer = 60.0;
                          float bsphere = 120.0;
                          int collide = 1;
                          int lifeImpact = 1;
                          };
                          注意里面的粒子“particle”不需要可以不加


                          IP属地:广西14楼2020-10-29 00:18
                          收起回复
                            接下来是关卡文件格式:
                            以下是我修改过的关岛关卡
                            开头载入部分:
                            event_start_area: 0.0 1
                            event_start_level: 0.0 1
                            event_add_entity: 0.0 friend sky_day origin
                            event_add_entity: 0.0 friend water origin
                            打开关卡和天空,水面。
                            天空有4种:morn(早晨),day(正午),dusk(黄昏),night(夜晚)
                            水似乎有两种water02和water
                            event_add_entity: 0.0 friend player_ship player_ship
                            载入玩家舰船,不能改
                            event_add_entity: 0.0 friend E_jIsle04 L11_E_jIsle04
                            event_add_entity: 0.0 friend E_beach_guam L11_E_beach
                            event_add_entity: 0.0 friend E_jIsle05 L11_E_jIsle05
                            event_add_entity: 0.0 friend E_jIsle06 L11_E_jIsle06
                            海滩和岛屿载入
                            event_add_entity: 0.0 friend P_palm L11_P_palm1
                            event_add_entity: 0.0 friend P_palm L11_P_palm2
                            event_add_entity: 0.0 friend P_palm L11_P_palm3
                            event_add_entity: 0.0 friend P_palm L11_P_palm4
                            event_add_entity: 0.0 friend P_palm L11_P_palm5
                            event_add_entity: 0.0 friend P_palm L11_P_palm6
                            event_add_entity: 0.0 friend P_palm L11_P_palm7
                            event_add_entity: 0.0 friend P_palm L11_P_palm8
                            event_add_entity: 0.0 friend P_palm L11_P_palm9
                            棕榈树
                            event_add_entity: 0.0 enemy j_fort L11_j_P_bnkrBg
                            event_add_entity: 0.0 enemy j_bunker_big L11_j_P_bnkrBg02
                            event_add_entity: 0.0 enemy j_bunker_big L11_j_P_bnkrBg05
                            event_add_entity: 0.0 enemy j_bunker_big L11_j_P_bnkrBg08
                            event_add_entity: 0.0 enemy j_bunker_big L11_j_P_bnkrBg09
                            event_add_entity: 0.0 enemy j_fort L11_j_P_bnkrSm01
                            event_add_entity: 0.0 enemy j_bunker_big L11_j_P_bnkrSm05
                            event_add_entity: 0.0 enemy j_fort L11_j_P_bnkrSm06
                            event_add_entity: 0.0 friend e_cornerA L11_e_cornerA
                            event_add_entity: 0.0 friend e_cornerB L11_e_cornerB
                            event_add_entity: 0.0 enemy j_fort L11_j_P_bnkrBg11
                            event_add_entity: 0.0 enemy j_bunker_big L11_j_P_bnkrBg12
                            event_add_entity: 0.0 enemy j_fort L11_j_P_bnkrBg13
                            event_add_entity: 0.0 enemy j_bunker_big L11_j_P_bnkrBg14
                            event_add_entity: 0.0 enemy j_fort L11_j_P_bnkrBg15
                            敌军堡垒
                            event_add_entity: 0.0 friend a_lcs L11_Lndcrft_08
                            event_add_entity: 0.0 friend a_lst L11_Lst_02
                            event_add_entity: 0.0 friend a_lcs L11_Lndcrft_11
                            event_add_entity: 0.0 friend a_lcs L11_Lndcrft_12
                            event_add_entity: 0.0 friend a_lcs L11_Lndcrft_14
                            event_add_entity: 0.0 friend a_lcs L11_Lndcrft_15
                            event_add_entity: 0.0 friend a_lst L11_Lst_03
                            event_add_entity: 0.0 friend a_lcs L11_Lndcrft_17
                            event_add_entity: 0.0 friend a_lcs L11_Lndcrft_18
                            event_add_entity: 0.0 friend a_lcs L11_Lndcrft_20
                            event_add_entity: 0.0 enemy j_bunker_big L11_j_P_bnkrBg
                            event_add_entity: 0.0 enemy j_bunker_small L11_j_P_bnkrSm01
                            event_add_entity: 0.0 enemy j_bunker_small L11_j_P_bnkrBg11
                            event_add_entity: 0.0 enemy j_bunker_small L11_j_P_bnkrBg13
                            event_add_entity: 0.0 enemy j_bunker_small L11_j_P_bnkrBg15
                            登陆艇
                            event_add_entity_gun: 0.0 friend a_escort2 L11_Escort_02 Esc_30 0
                            event_add_entity_gun: 0.0 friend a_cruiser2 L11_Destryer_01 Cru_40 1
                            event_add_entity_gun: 0.0 friend a_battleship2 L11_Bttlship_01 Btl_3a 1
                            event_add_entity_gun: 0.0 friend a_Lcruiser2 L11_Destryer_04 Des_20b 0
                            event_add_entity_gun: 0.0 friend a_cruiser L11_Cruiser_01 Cru_3 1
                            event_add_entity_gun: 0.0 friend a_destroyer L11_Destryer_05 Des_20a 0
                            event_add_entity_gun: 0.0 friend a_battleship2 L11_Bttlship_02 Btl_Mn 0
                            event_add_entity_gun: 0.0 friend a_cruiser2 L11_Destryer_03 Btl_3b 1
                            event_add_entity_gun: 0.0 friend a_cruiser L11_Cruiser_02 Cru_40 1
                            event_add_entity_gun: 0.0 friend a_destroyer L11_Destryer_02 Des_20a 1
                            友军军舰
                            event_add_ammo: 0.0 0 100
                            event_add_ammo: 0.0 1 50
                            event_add_ammo: 0.0 2 50
                            event_add_ammo: 0.0 3 50
                            event_add_ammo: 0.0 4 50
                            event_add_ammo: 0.0 5 50
                            event_add_ammo: 0.0 6 50
                            event_add_ammo: 0.0 7 50
                            event_add_ammo: 0.0 8 50
                            event_add_ammo: 0.0 9 50
                            弹药装填
                            event_set_lens_flare: 0.0 0 1
                            event_set_lens_flare: 0.0 1 1
                            event_set_lens_flare: 0.0 2 1
                            event_set_lens_flare: 0.0 3 0
                            event_set_lens_flare: 0.0 4 1
                            event_set_lens_flare: 0.0 5 0
                            event_set_lens_flare: 0.0 6 1
                            event_set_lens_flare: 0.0 7 1
                            event_set_lens_flare: 0.0 8 1
                            event_set_lens_flare: 0.0 9 1
                            event_set_ambient: 0.0 0.94 0.93 0.87
                            氛围设定,具体关系我没摸透
                            event_set_sun: 0.0 1.0 0.96 0.88 -1000.0 206.0 0.0
                            太阳位置坐标
                            event_set_clear_color: 0.0 99.0 154.0 196.0
                            后三位是颜色,RGB
                            event_play_music: 0.0 audio\\4.wav 1
                            关卡音乐


                            IP属地:广西15楼2020-10-29 00:28
                            收起回复
                              event_add_entity_gun: 0.0 friend a_escort2 L11_Escort_02 Esc_30 0
                              event_add_entity_gun(友军炮台): 0.0 friend a_escort2(护卫舰2) L11_Escort_02(位置代码) Esc_30(炮台:。30机枪) 0(0,1为左右向,注意船上的0.30机枪和舰炮只能为0)
                              炮位有:
                              Cru_40 巡洋舰博福斯
                              Esc_30 30机枪,船
                              Des_40 驱逐舰博福斯
                              Btl_40 战列舰博福斯(射界小)
                              Cru_50 巡洋舰50机枪
                              Esc_50 护卫舰50机枪
                              Btl_3a 战列舰防空炮
                              Btl_3b 战列舰炮廓炮(射界小)
                              Des_20a,Des_20b驱逐舰厄利孔
                              Esc_20a,Esc_20b护卫舰厄利孔


                              IP属地:广西16楼2020-10-29 00:35
                              收起回复