返回列表 发帖

〖讨论〗 5分钟冰封王座提权

本文教大家如何快速修改魔兽争霸-冰封王座的地图,这仅是一种技术,不推荐大家游戏作弊。

虽然网络上已经有过魔兽地图自动修改器,但那种傻瓜式的修改工具就连修者自身都会感到傻瓜。

下面小锋将和大家一起分享小锋的魔兽地图修改之旅。

搭建工作环境:

windows XP , HkeW3mModifier,修改笔记.txt(各人总结的一些修改经验),魔兽地图一张,部分工具将打包下载。


在修改地图前先做下说明:
地图文件扩展名为.w3x,其实这个文件就像我们用的winrar压缩了很多文件,里面有地图资源、声音资源、图片资源、触发器等等。。。
我们修改地图一般只修改触发器,而不去更改其他地图资源,否则将会失去地图原有的味道。
把地图文件解压出来后我们将提取出 war3map.j , 这个文件就是魔兽地图的触发器,游戏的过程都在里面。
然后修改里面的代码,再打包进原有的地图中,就完成了地图的修改。
这种方法只修改了触发器的方法,并不是所谓盗版地图,只要处理得到将不会被其他玩家发觉,并且经过测试可以过浩方等对战平台。



火影竞技の疾风乱舞V3修正版




打开工具 HkeW3mModifier

打开文件 选择地图 ,解压文件




然后用记事本打开  war3map.j  这个文件

我们修改的第一步,玩家1、玩家3 在游戏初始化时, 金钱,木材,人口全满。

搜索 InitBlizzard , 将自动跳转到 call InitBlizzard()  然后在后门加上


复制代码
call SetPlayerStateBJ(Player(0),PLAYER_STATE_RESOURCE_GOLD,1000000)
call SetPlayerStateBJ(Player(0),PLAYER_STATE_RESOURCE_LUMBER,1000000)
call SetPlayerStateBJ(Player(0),PLAYER_STATE_ALLIED_VICTORY,100)
call SetPlayerStateBJ(Player(2),PLAYER_STATE_RESOURCE_GOLD,1000000)
call SetPlayerStateBJ(Player(2),PLAYER_STATE_RESOURCE_LUMBER,1000000)
call SetPlayerStateBJ(Player(2),PLAYER_STATE_ALLIED_VICTORY,100)





大家可以自己修改这段代码,  Player(0) 代表玩家1,也就是建主机的玩家,Player(1),就是代表玩家2一次类推。
PLAYER_STATE_RESOURCE_GOLD        代表魔兽金钱,起标识作用。
PLAYER_STATE_RESOURCE_LUMBER  代表魔兽木材,起标识作用。
PLAYER_STATE_ALLIED_VICTORY            代表魔兽人口,起标识作用。
至于改多少不会让对方怀疑,请自己定量。(别人只要不看你屏幕,发现金钱没你多,是不会发现你作弊的)
上面的修改是 在 游戏载入的时候修改玩家金钱。

但是对于有的地图如:选择困难的后将重新给修改玩家金钱,这个方法又会被这种图改回去。


方法2:
查找隐藏英雄,很多Rpg图,为了吸引玩家,都会有隐藏英雄,或者过关密码,必须到作者空间才能找到密码。
我们可以直接 搜索 TriggerRegisterPlayerChatEvent ,然后后面被引号括起来的字符串基本上都能被输入框接受(按回车出现的对话框)


将有很多信息,一般来说:游戏地图里有回程命令 HC 等。。
也可以修改代码,让其他玩家在游戏使用该命令失败 ,在里面如果发现可以的,都可以在游戏中输入看下是不是隐藏英雄密码。

方法3:
灵活判断修改。
搜索 关键词
DisplayTextToForce,这个方法作用为魔兽提示输出语句。



DisplayTextToForce(GetForceOfPlayer(GetOwningPlayer(GetTriggerUnit())),"|cffFF8040晋级 下忍(LV:5)所有属性增加1点,并获得2个木头的奖励,可到“忍务所”购买[下忍之书]|r")
call AddSpecialEffectTargetUnitBJ("origin",GetTriggerUnit(),"Abilities\\Spells\\Human\\Resurrect\\ResurrectTarget.mdl")
call DestroyEffect(GetLastCreatedEffectBJ())
call ModifyHeroStat(bj_HEROSTAT_STR,GetTriggerUnit(),bj_MODIFYMETHOD_ADD,1)
call ModifyHeroStat(bj_HEROSTAT_AGI,GetTriggerUnit(),bj_MODIFYMETHOD_ADD,1)
call ModifyHeroStat(bj_HEROSTAT_INT,GetTriggerUnit(),bj_MODIFYMETHOD_ADD,1)
把后面的1点属性改成任意多的


call ModifyHeroStat(bj_HEROSTAT_STR,GetTriggerUnit(),bj_MODIFYMETHOD_ADD,999)
call ModifyHeroStat(bj_HEROSTAT_AGI,GetTriggerUnit(),bj_MODIFYMETHOD_ADD,999)
call ModifyHeroStat(bj_HEROSTAT_INT,GetTriggerUnit(),bj_MODIFYMETHOD_ADD,999)
也就是说在游戏中满足这个条件的时候 属性就会增加这么多,当然这个只是例子。
还有就是比如杀自己一对的人将扣除金钱XX,可以把金钱减少的“-”去掉就是加上多少了,另外还可以用“*”进行相乘。

修改地图触发器脚本就到这里,下面在HkeW3mModifier  选择添加替换文件,选中刚刚修改好的触发器脚本 war3map.j

在这里跟大家说一下吧,
sql没有查看账号和密码的语句
但是办法是有的如74发的方面就是其中之一。
通过其它的表如新闻表吧,打开后如tid什么跟什么那么就给他们合并表。就是把密码这个表跟新闻这个表合并用上同一个sql语句来把相关信息调出来。
实现的方法很简单,正如74提共的方法。
那为什么要加那么多数字上去呢。那是因为合并表中的字段数,
当我们猜他的时候如在后面加上and 1=1进来进行猜表,当然1等于1是OK的。。没有什么问题。那1=2可以试一下,还是正常那就再猜。。当我们写到1=10的时候问题出来了报划了。这时我们就可以确认出mysql中有10个那么我们合并的时候就要统填了。
就直接用数字来统填就可以了。。如1,2,3,4,5,6,7,8,9,10
在这十个中我们要改掉两个。一个就是user一个就是passwd
如:user,passwd,3,4,5,6,7,8,9,10
必须要填够数不然无法合表查。但是像这样的问题目前以很少有这样的问题了。
因为大多程序都处理掉了这个问题,在ie地址上以处理掉了。。 union select
所以行为通。当然这样的方法我们必须要知道。在做安全这一块也不能不记得这个问题的。

TOP

返回列表 回复 发帖