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

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

只看楼主收藏回复


炮台位置?,,,,


IP属地:江苏67楼2022-03-20 11:37
收起回复
    楼主在没,我想改无限子弹和防御的在哪文件改


    68楼2022-11-09 20:38
    回复
      炮台的生命怎么改啊


      IP属地:宁夏来自Android客户端69楼2023-02-01 01:11
      收起回复
        发现了一些不得了的东西,但是又在情理之中
        Pacific Gunner与前作Pearl Harbor: Defend the Fleet使用同一个引擎,连贴图和代码都一毛一样,还忘删一些没用过的功能,于是我可以照搬前作的友军飞机设定复制粘贴到本作中(本作有我方飞机和我方飞机机枪的代码留存)
        但是本作友军飞机似乎被阉割了,不会主动寻找敌人攻击,只会在地图原点出生然后绕着地图敷衍地对前方敌人射击(命中率感人),还会撞到途中的舰船和地形(无差别神风)。敌方也不会主动攻击友军飞机,可能是前作的友军飞机被本作中已经登陆的登陆艇取代了,因为雷达颜色也是已经完成使命的登陆艇的绿色。但是仍能被摧毁(猪队友)另外前作还有补给船(resupply),是独立于我方舰船的存在,但是本作有个设定禁止了友军按照路线生成(event_add_entity3操作码忽略所有友军实体,原因未知),因此只能使用event_add_entity生成不按路线走的实体,但是跟友军飞机一样毫无意义,甚至没有雷达图标,甚至还会飞起来……
        前作有潜水艇,本作中也有模型留存。本作甚至有两种坦克的模型和贴图,但是未在前作中出现。
        翻看前作的代码,好家伙用的操作码都一模一样,而且解答了我之前提过的友军飞机的猜想。前作有两种友军飞机(F4F wildcat和p40)
        这是前作生成友军飞机的代码:
        event_add_entity: 1.0 friend p40 rs2_rr5
        可见与本作生成实体的代码是一样的,1.0指延迟1秒生成,friend指我军,p40指我军实体列表(friend.dat)里的p40,rs2_rr5则是move.dat里的路径
        在本作中要让飞机按路径来飞需要event_add_entity3操作码,可是友军实体不可用(被ignore了),于是只能用event_add_entity操作码,但是无路径,而且敌军飞机路径不可用(太怪了)
        要在本作生成能飞的友军飞机,操作如下:
        在关卡代码中添加友军飞机,出生点设置为move.dat中的路径点(type为"path"),这里我用了前作的move.dat中的路径
        event_add_entity: 0.25 friend p40 rs3_rr9(完整添加法见下楼)
        作为对比,本作敌军飞机生成的代码如下:
        event_add_entity3: 0.25 enemy zero_2 FrPa01a f0 0
        另外我还发现敌军飞机路径名称的规律了。。。
        原来轰炸机用的是B开头的路径(BrPaXXX, BsPaXXX, BtPaXXX),B对应bomber
        鱼雷机用的是T开头的(TrPa, TsPa, TtPa),T对应torpedo bomber
        战斗机则是F开头(FrPa, TsPa, FtPa),F对应fighter
        但是r s t是什么我就不知道了
        关于友军飞机的演示视频:
        【Pacific Gunner】添加低智商友军飞机 https://www.bilibili.com/video/BV1qM411N75Z/?share_source=copy_web&vd_source=b0f2aaeb46c5c2abba90afac50d5be38


        IP属地:美国70楼2023-04-08 03:31
        收起回复
          然后就是完整添加友军飞机的环节!!!
          需要修改模型model.dat,贴图shader.dat,友军实体friend.dat,坐标库move.dat
          如果想要复制前作的飞机模型和贴图可以直接去前作models和textures文件夹里复制粘贴
          model.dat里复制粘贴一段生成敌方飞机的代码:
          struct model =
          {
          string name = "p40"; friend.dat中调用的名字
          struct mesh =
          {
          stringname = "plane";
          string mesh_lod_high = "resource\\models\\blabla.x"; 这里改成你要的模型文件路径
          stringmesh_lod_medium = "none"; 中分辨率模型,可以写none,也可以直接用高分辨率的模型
          stringmesh_lod_low = "none"; 低分辨率,同上
          stringshader = "p40"; 贴图用shader.dat中对应的名字
          vec3pos = (0.0, 0.0, 0.0);
          vec3ang = (0.0, 0.0, 0.0);
          intlod = 1;
          int visible = 1;
          };
          struct mesh =
          {
          stringname = "prop";
          string mesh_lod_high = "resource\\models\\a_prop.x";
          stringmesh_lod_medium = "none";
          stringmesh_lod_low = "none";
          stringshader = "plane_prop";
          vec3pos = (0.0, 0.0, 0.0);
          vec3ang = (0.0, 0.0, 0.0);
          intlod = 1;
          int visible = 1;
          struct mesh_action =
          {
          stringname = "prop_spin";
          stringtype = "MESH_ACTION_ANG_OFFSET";
          intactive = 1;
          vec3vec1 = (0.0, 0.0, 10.0);
          };
          };
          };
          在shader.dat中同样复制粘贴一段敌军飞机的贴图代码:
          struct shader =
          {
          stringname = "p40"; 贴图名,model.dat中会调用
          string type = "standard";
          structrenderstate =
          {
          stringtype = "ALPHABLENDENABLE";
          intvalue = 0;
          };
          structtexturestate =
          {
          intstage = 0;
          stringtype = "MINFILTER";
          stringstrvalue = "LINEAR";
          };
          structtexturestate =
          {
          intstage = 0;
          stringtype = "MAGFILTER";
          stringstrvalue = "LINEAR";
          };
          structtexture =
          {
          stringtexture = "resource\\textures\\blabla.bmp"; 贴图路径
          intstage = 0;
          };
          struct material =
          {
          vec3ambient = (0.3, 0.3, 0.3);
          floatambient_a = 1.0;
          vec3diffuse = (0.8, 0.8, 0.8);
          floatdiffuse_a = 1.0;
          vec3emissive = (0.2, 0.2, 0.2);
          floatemissive_a = 1.0;
          vec3specular = (0.8, 0.8, 0.8);
          floatspecular_a = 1.0;
          floatpower = 0.3;
          };
          };
          随后复制enemy.dat一个敌军飞机的代码粘贴到friend.dat:
          struct friend =
          {
          stringname = "p40"; 实体名称
          stringtype = "ENT_TYPE_FRIEND_PLANE"; 这里要把类别改成这个友军飞机!!!
          string model = "p40"; 调用的模型名称
          stringsound = "audio\\p_ftr.wav"; 使用的声音(应该可以照搬敌军飞机)
          stringweapon_primary = "friend_plane_machine_gun";这个武器名可以直接用,因为制作组没删干净
          string impact_entity = "plane_exp_air";
          stringimpact_water = "plane_exp_water";
          stringimpact_land = "plane_exp_land";
          floatspeed = 9.4; 速度
          floatdamage = 16.0; 撞击伤害
          floatlife = 26.0; 生命值
          floatbsphere = 15.0;
          intcollide = 1;
          vec3fireVec = (0.0, 0.0, 0.0);
          floatfireAng = 45.0;
          floatfireDist = 500.0;
          floathitPercent = 0.5;
          };
          最后最后在你想要添加友军飞机的关卡里添加这段:
          event_add_entity: 0.0 friend p40 fs2_fr3
          为什么要用fs2_fr3呢?制作组删除了所有的路径文件,但是只保留了这唯一一个,而且move.dat中已经保留了定这个路径的定义(估计是留一条后路??)
          路径使用诸如FrPa01a的路径会崩溃,因为没在move.dat中定义(***为什么有两个路径的种类)
          测试下来我发现无论用的什么路径,飞机总会在原点(0,0,0)生成然后漫无目的地乱飞但是至少,你的军队有人会开飞机了


          IP属地:美国71楼2023-04-08 03:46
          回复

            一行战机上西天.jpg


            IP属地:美国72楼2023-04-08 03:54
            收起回复
              请问楼主现在如何运行2004啊?win11怎么兼容性搞都打不开,可能是分辨率差别太大


              IP属地:广东来自iPhone客户端73楼2023-05-09 04:35
              回复
                地图200x200和实际三维空间坐标(尤其X和Z轴)是怎么对应的呢还有敌机路径后三位还是不知道代表什么,真不知道做游戏的人用什么方法布置的关卡


                IP属地:加拿大来自Android客户端74楼2023-09-06 16:42
                收起回复
                  为什么我通过c4d软件修改后导出的X模型文件在游戏里飞机没有显示呢?(进入游戏里只显示飞机的一个螺旋桨“prop”,其余都是空的,而且修改的模型也是在原游戏X格式文件的基础上修改的)


                  IP属地:江苏来自Android客户端78楼2023-09-27 15:03
                  收起回复
                    下好了3dexploration ,貌似打不开c4d文件


                    IP属地:江苏来自Android客户端79楼2023-09-27 19:09
                    收起回复
                      飞机uv贴图明明在c4d的预览里好好的,为什么到了游戏里贴图投射的位置又乱了呢?




                      IP属地:江苏来自Android客户端81楼2023-09-28 22:13
                      收起回复

                        不知道为什么,我今天又用“c4d”新做了个96式陆攻模型,做好模型和贴图uv后在c4d内部导出为X文件后又用3dexploration软件里打开刚导出的X文件再次重复导出X文件后(我选了“保存所有BMP纹理格式”的选项)在游戏里竟然能正常显示贴图位置了,但是接下来我再做了一个连山轰炸机模型后再次两个软件重复导出(完全一样的操作)在游戏里连山轰炸机的贴图位置还是错得惨不忍睹。,


                        IP属地:江苏82楼2023-09-29 21:05
                        收起回复
                          把exe文件解压了一下,我认为明明可以增加关卡数量的关键信息在眼前却又编辑不了


                          IP属地:江苏来自Android客户端83楼2023-09-30 15:51
                          收起回复
                            我用peid 扫描了一下抢滩登陆的exe,修改方法是“Win32GUI”?用python修改?


                            IP属地:江苏来自Android客户端84楼2023-09-30 16:03
                            回复
                              用了“resourcehacker ”打开exe后 exe里的data类文件居然不在解剖的框架里。,


                              IP属地:江苏来自Android客户端85楼2023-09-30 19:45
                              回复