魔兽改图吧 关注:1,328贴子:7,918

简单谈谈怎么去掉地图的平台限制

只看楼主收藏回复

有的人问怎么去平台限制,我在这里简单讲讲,以下图为例,先把地图的J文件提取出来(怎么提取这里就不教了,网上有教程,很简单),提取出来后,看这段文字


首先看第一行,你不用分析,一看函数名就知道是做什么的了,本地函数DzAPI_Map_SaveServerValue的意思很明显,存(save)一下你开的这个游戏的服务器(Server)的值(Value),这个函数的返回值是boolean(布尔)型,boolean型的值只有两种,一种是false(假),一种是true(真),如果存了服务器的值而且成功了,返回true,失败返回false。这样就知道这句话是做什么的了,地图在调用这个函数,如果是通过局域网或者某平台加载了地图,那么肯定有服务器(server),自然能取到服务器的值,这样DzAPI_Map_SaveServerValue的返回值必然为true,如果你开的是单机,那么肯定是没有服务器的,返回值就是false。
再来分析第二行,DzAPI_Map_GetServerValue这个函数的意思看字面也能理解,得到(get)服务器(Server)的值(Value),返回值是字符串(string)。这样就知道这句话的作用了,用SaveServerValue这个函数,我们只能知道开启的是不是单机,有没有服务器?但是却无法得知这个服务器是属于局域网还是对战平台的,通过GetServerValue的返回值就能判断出服务器是属于局域网还是对战平台,因为GetServerValue这个函数在局域网和对战平台的执行后返回值肯定不会一样。
剩下那几句我就不细解释了,尤其IsRedV爱皮(是不是红色V爱皮)、IsBlueV爱皮(是不是蓝色V爱皮)这些函数,意思都很明显了。上图红框里的那些函数全部都是关于平台限制的,全部都要改,这里我就示范一下部分内容的改法。
第一句,既然地图作者想调用本地函数DzAPI_Map_SaveServerValue存服务器的值,那就改一改,让他调用我们自己写的函数
function DzAPI_Map_SaveServerValue takes player whichPlayer,string key,string value returns boolean
return true
endfunction
注意我这里写的是3句,function的意思是函数声明,告诉魔兽程序,DzAPI_Map_SaveServerValue不是常数不是变量,而是函数!函数名当然还是DzAPI_Map_SaveServerValue,我们本来就是要替换这个函数。后面那些参数都不能改,否则后面在调用时会出错,参数照抄上去就可以,这样就能保证我们自己写的函数和本地函数用法相同。
return true的意识是DzAPI_Map_SaveServerValue的返回值是true,这样一来,无论你传递什么样的参数,这个函数永远返回true,就可以欺骗游戏,我用的是服务器!!
endfunction是函数的结束标识符,没什么好说的。
就讲这些吧,想学改图的可以自己动手试试,自己动手丰衣足食。
至于平台检测升级,一般是地图里有某些内容(地图特征),只有这个地图里有,平台进行检测是要查这部分内容。要么就是某个图的专用房间,进去后检测地图md5的,改一个字符md5都会变,凡和官方图不一致的平台一律不予创建,这种情况,解决办法就是去别的房间建图,没啥好办法,因为平台那边已经把你限制了,这不是改图能解决的问题。
这是改好的J文件

另外给菜鸟一个忠告,不要怕改错,不要怕游戏崩溃,就当给自己积累经验,经验是最好的老师!祝你早日成为大神


IP属地:内蒙古1楼2018-03-20 11:11回复
    先ma住


    IP属地:北京来自Android客户端2楼2018-03-20 11:28
    收起回复
      这样改没有成功 地图:疾星斩月1.19


      IP属地:北京4楼2018-03-20 12:55
      收起回复
        后面的string返回值不知道写啥 大佬你这百度文件分享不存在...本想照着看看的


        IP属地:北京5楼2018-03-20 20:21
        收起回复
          很详细的教程,谢谢分享


          IP属地:湖北6楼2018-03-20 20:45
          回复
            这是我改完之后的 我把war3map.j这个文件替换了地图里的 再开单人和局域网还是不行啊


            IP属地:北京7楼2018-03-20 21:02
            收起回复

              把native去了还是不行


              IP属地:北京8楼2018-03-21 11:20
              收起回复
                移除了平台限制了 谢谢大佬
                那么怎么做才能把付费的那些英雄可选呢


                IP属地:北京9楼2018-03-21 11:59
                收起回复
                  找到了部分相关代码 这种需要判断玩家id和输入指令的 怎么破 求教大佬


                  IP属地:北京10楼2018-03-21 18:13
                  收起回复
                    请教下大神 怎么在地图中添加触发呢 我在j里添加了之后游戏就无法创建了 这是为何 emmmm


                    IP属地:辽宁12楼2018-03-23 18:02
                    回复(3)
                      希望把某图去除平台限制,并且加入-save本地存档模式


                      来自手机贴吧13楼2018-03-23 22:53
                      收起回复
                        麻烦大佬留个联系方式


                        来自手机贴吧14楼2018-03-23 22:54
                        收起回复

                          emmm上次移除了疾星斩月的平台限制 现在照样改星耀天穹的行不通 大佬再指点一下


                          IP属地:北京15楼2018-03-26 22:03
                          收起回复
                            这个我试着改了下弓箭手小生存结果不行。大佬帮我看看


                            IP属地:湖北来自手机贴吧16楼2018-03-27 13:06
                            回复
                              大佬 纯小白 这个J文件是什么。。。。能不能帮给下军团战争平台限制啊~


                              IP属地:辽宁18楼2018-03-30 16:53
                              回复