找回密码
 点一下
查看: 1534|回复: 8

用wc3mapoptimizer优化地图的大问题

[复制链接]
发表于 2008-12-13 11:54:21 | 显示全部楼层 |阅读模式
以前用都一直是好好的,今天用这个优化地图之后,在WAR3中选中地图居然连玩家的那些选项(选族啊之类的)都没有了,一片空白。我一个一个试之后发现勾选了优化脚本(解释是使用各种方法使之变得更小、更快的那个选项)会发生这个问题。可是之前一直都是好好的啊,请教一下是怎么回事?单独选中这一个的时候会这样,但是我选了更多,替换脚本的字符串之类的如果也加上这个优化脚本就会使得进入游戏后所有触发全部不执行。只要不选这个就正常。
kw 该用户已被删除
发表于 2008-12-13 11:56:42 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2008-12-13 12:06:52 | 显示全部楼层
可是我以前都是可以的啊……
那就用这个来做开源图吧…………………………防止别人修改图然后乱发,就用这个,然后只能用编辑器打开看代码,不能进入游戏…………
回复

使用道具 举报

发表于 2008-12-13 12:25:21 | 显示全部楼层
真高级,j代码被优化得语法都通不过了………………
回复

使用道具 举报

 楼主| 发表于 2008-12-13 19:35:20 | 显示全部楼层
我又有了个新问题,用Wc3MapMax++优化之后,地图出现了问题,有一些函数没有正常被调用,但是我用MPQ分析器把j代码提取出来,是我的源代码啊,代码如下:[jass]function III0III takes nothing returns nothing
local timer t=GetExpiredTimer()
call SetUnitFlyHeight(I00IOI((I2S(I0OOII((t)))),"unit"),.0,666.67)
call OIIIOI((I2S(I0OOII((t)))))
call DestroyTimer(t)
set t=null
endfunction
function III0IOI takes nothing returns nothing
local timer t=GetExpiredTimer()
local unit u=I00IOI((I2S(I0OOII((t)))),"unit")
local real III0I0I=I00III((I2S(I0OOII((t)))),"facing")
local real III0OII=I00III((I2S(I0OOII((t)))),"distance")-20.
call SetUnitX(u,OIIIII(GetUnitX(u)+CosBJ(III0I0I)*20.))
call SetUnitY(u,OII0OI(GetUnitY(u)+SinBJ(III0I0I)*20.))
call SetUnitFacing(u,III0I0I)
call I0O00I((I2S(I0OOII((t)))),"distance",III0OII)
if III0OII<=0 then
call OIIIOI((I2S(I0OOII((t)))))
call DestroyTimer(t)
call SetUnitPathing(u,true)
call SetUnitAnimation(u,"stand")
endif
set t=null
endfunction
function III0OOI takes nothing returns nothing
local unit u=GetTriggerUnit()
local timer t=CreateTimer()
local timer t2=CreateTimer()
call UnitAddAbility(u,1097691750)
call UnitRemoveAbility(u,1097691750)
call SetUnitFlyHeight(u,200.,666.67)
call IssueImmediateOrder(u,"stop")
call SetUnitAnimationByIndex(u,6)
call I0O00I((I2S(I0OOII((t)))),"facing",GetUnitFacing(u))
call I0O0OI((I2S(I0OOII((t)))),"unit",u)
call I0O0OI((I2S(I0OOII((t2)))),"unit",u)
call I0O00I((I2S(I0OOII((t)))),"distance",600.)
call SetUnitPathing(u,false)
call TimerStart(t,.02,true,function III0IOI)
call TimerStart(t2,.3,false,function III0III)
set t = null
set t2 = null
set u = null
endfunction[/jass]
只能看见单位移动,而call SetUnitFlyHeight(u,200.,666.67)是没有作用的!!!
不仅只有这一句没有用,还有很多,比如 某个给英雄创建物品的语句 也没有被执行。。
回复

使用道具 举报

 楼主| 发表于 2008-12-16 22:18:42 | 显示全部楼层
难道说是没有标记过修改(变为红色)的数据,使用后者优化后会被删除?
回复

使用道具 举报

发表于 2008-12-16 22:45:28 | 显示全部楼层
我一般都是人工优化的。。。。
回复

使用道具 举报

发表于 2008-12-17 03:14:17 | 显示全部楼层
这些优化器与直接用MPQ修改地图有一样的效果
没有WE的版本记录
你可以试一下  用一张没加密的地图  用MPQ工具改WTS,J文件等等 ,然后用WE打开
被修改过的部分在WE里一律无法修改了   只要改了 就出RP问题
回复

使用道具 举报

 楼主| 发表于 2008-12-17 22:22:06 | 显示全部楼层
因为人比较笨所以不是很懂楼上在回答什么……用后面那个优化器如果优化一张war3的对战地图是不行的对吧?因为它好像会删掉所有的没修改过的数据吧?所以才单位无法飞高和创建物品失效,因为变乌鸦的技能和那个物品都被认为是没在WE中使用所以删掉了对吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-7-21 12:16 , Processed in 0.029946 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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