魔兽争霸秘籍JASS问题

魔兽争霸地图 jass问题_百度知道
魔兽争霸地图 jass问题
我复制的U9下载的技能 每次都提示call DamageEnemiesArea(u, S, GetUnitX(v), GetUnitY(v), R, false, true, ATTACK_TYPE_MAGIC, DAMAGE_TYPE_MAGIC, WEAPON_TYPE_AXE_MEDIUM_CHOP) 的函数名错误。
//Variable Configuration:
constant function Frost_D...
我有更好的答案
我没看到你的function DamageEnemiesArea这个函数啊是有一部分你没有复制吧
嗯是的, 不过算了,我已经打算不用这个了,所以麻烦了,分送你,
采纳率:59%
这。。。也许你的版本和他的不一样或者他加密了等
e!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
为您推荐:
其他类似问题
您可能关注的内容
魔兽争霸地图的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。收藏的论坛
魔兽地图编辑器新手教学 JASS函数基础教程
  懂Jass的同学应该都知道,blizzard.j里放的都是由common.j里的函数写成的自定义函数,可以在所有地图里调用。既然如此,我们就可以修改b.j,把自己写的自定义函数放进去,也可以所有地图共用了。但b.j文件是放在mpq文件里的,总不能让玩家自己修改mpq文件吧。在单张地图上导入自定义b.j文件,并将路径改为与原b.j文件相同,就可以替换原b.j文件,但只对这一张地图有效,那又有什么用呢?  大家是否还记得,战役编辑器里也有个导入文件的模块,并且在该模块导入的文件可以被战役里的所有地图共用!也就是说,我们把自定义函数放到b.j文件里,然后把修改过的b.j文件导入到战役编辑器里,就可以在所有战役地图里调用我们的自定义函数,而不必把这些函数在每张地图里都写一遍了!  不过修改原版b.j文件是不行的,YDWE整合的JassHelper里,有一个b.j文件却可以用。原因我也不清楚,似乎是因为原版b.j不支持VJ。  那么我们就把JassHelper的b.j文件复制出来,导入战役文件里。   导入后要把b.j文件的路径修改为与原版相同:   当然导入的文件是没法修改的,不过我们可以先导入,在外面修改了原文件以后随时右击替换就可以了。  JassHelper的语法检查,也会检查b.j文件里的函数,不过不像检查触发编辑器那么简单。这里提示一下b.j文件语法检查的小窍门:b.j文件刚导入时,还没有保存下来,因此保存前的语法检查是不会检查这个文件的。如果是替换文件,那么实际上检查的是替换之前的b.j文件,可能会有不少错误。等第一遍保存之后,如果接着保存第二遍,由于地图没做修改,不会进行语法检查。  所以正确的b.j文件语法检查方法是:先导入,然后保存一遍战役,不必理会检查结果。然后在打开的地图上做少许修改(比如添加一个空触发器再删除),再保存战役,这次得到的结果就是当前b.j文件的语法检查结果了。  现在我们把之前的地图切换触发动作写成函数,添加到b.j文件里。当然触发的事件还是要在地图里添加。  先把我们用到的变量放到最开始的全局变量定义部分末尾。   然后是我们的自定义函数,一律放到原文件的一个函数&InitBlizzard()&之前,这个函数在靠近文件末尾的位置,所有的地图初始化时都会自动运行,用来初始化一些变量之类。自定义函数放在这里,既可以调用前面的b.j函数,又可以用&InitBlizzard&初始化我们自定义的变量和触发。  切换地图的函数,后面的_TA意为&TriggerAction&。本来用作触发条件更好,但由于含有等待动作,只好作为触发动作了。好在这个函数也不占用资源。     读取数据:     &  玩家读取:   然后是为变量赋值,把上面的函数添加为触发动作,并注册事件。当然切换地图的事件还是要在各地图上根据情况注册。有些变量由于在各地图上数值不同,比如LocalMapNumber,也要在各地图上赋值。&   MaxQuestNumber、MaxMapNumber分别是最大任务数量、最大地图编号,根据自己的战役情况赋值。比如我们的例子里,最大编号就是13。地图&C2_1.w3m&不涉及切换地图,暂不计入。  上面的两个函数,需要在地图初始化时运行。我们可以用&InitBlizzard()&来自动运行他们(InitBlizzard()在所有地图初始化时都会自动运行)。   然后是在各地图上初始化部分变量,并为切换地图触发注册事件,用哈希表为各个触发区域绑定其通往的地图编号。给出的图片是&C1_1.w3m&的,其他地图上也是大同小异。&   然后在地图初始化时运行该函数:&   在分&C1_2.w3m&和&C1_3.w3m&两张分地图上,还要在地图初始化时读取数据:   切换地图系统到此结束。再回过头来看切换章节,由于切换章节需要传递的数据和考虑的问题远比切换地图少,所以本帖开头给出的触发基本就可以胜任。不过我们前面把所有的变量都改成了Jass版的,不能在T里使用,只好连切换章节也写成Jass了。&   在我们的例子里,后一章和前一章的地图编号相差10,所以我写成了切换到编号+10的地图,也可以所有地图通用了。大家可以根据自己战役的情况酌情修改。  另外,切换地图的事件一般固定是&单位进入区域&,而切换章节的事件则可能多种多样,比如杀光敌人什么的,所以我们不用固定触发了,需要时直接调用函数。下面是我的例子里的相关触发。  &C1_1.w3m&:&   &C2_1.w3m&:   这是战役切换地图和章节的系统,而其他的自定义系统函数和技能函数,大家也可以如法炮制,加到自定义b.j文件里。待会我会把Jass版的演示战役发到公邮网盘里。  好了,本教程到此结束,感谢大家支持!Jass部分特别感谢鱼,导入自定义b.j的方法是他教我的。前面仍有不完善的地方,有时间我会整理一遍重发。
近期游戏热闻查看: 734|回复: 5
这个JASS加密是怎么实现的?
本帖最后由 qq7350635 于
03:29 编辑
QQ图片00.jpg (132.27 KB, 下载次数: 0)
03:03 上传
这样的加密方式是什么?有什么工具可以直接加密成这样?
2楼还有图,能提供类似这种加密的加密工具的,追加100FB
Wc3MapMax++1.3.12 魔兽地图加密优化软件
http://home.feifeishijie.com/thread--1.html
(出处: 飞飞世界魔兽争霸论坛)
你发的这个只能算是优化不能算是加密
Wc3MapMax++1.3.12 魔兽地图加密优化软件
(出处: 飞飞世界魔兽争霸论坛)
你发的这个只能算是优化不能算是加密
QQ图片31.png (222.32 KB, 下载次数: 0)
03:15 上传
这是第二张图看这加密,是和一楼第一张图是一样的,这是什么工具什么原理加密的。有没有类似的工具?
Wc3MapMax++1.3.12 魔兽地图加密优化软件
http://home.feifeishijie.com/thread--1.html
(出处:&&...
了解 谢谢。。。。原来没有加密工具。。。只是优化J而已
你主楼贴的图,是一个 昙花一现的ID优化加密 名字叫 海豚加密,没记错的话 是叫这个名字。只出现过一段时间,后来就直接消失。
而第二个,就单纯是优化,对J进行深度优化,包括对ID进行进制转换等。
你主楼贴的图,是一个 昙花一现的ID优化加密 名字叫 海豚加密,没记错的话 是叫这个名字。只出现过一段时间 ...
没错!我说的就是海豚加密!&&作者不愿意共享。。 原因是,他说要是有人问你也拿你自己的未加密地图,你有什么感觉。
好吧。。于是我只能在论坛求类似海豚的加密工具了。
Powered by
X3.2 Designed by请教JASS新手入门全解答_百度知道
请教JASS新手入门全解答
但大家的英文水平大多都不行,看不懂的地方多问题或者查一下字典(偶的手机有字典功能,这帮了偶很大的忙.)  直到弄明白为止 ---- 这就是耐心.所谓毅力,就是不断地坚持,只有持之以恒: Jass的语法结构?
先看下这段函数: function TestFunctions takes nothing returns nothing复制代码 function InitGameCacheBJ takes string filename returns gamecache复制代码通过比较,而Jass是用英文编辑的,所以在此看   来,不懂英语的人对Jass是束手无策了.难道真的没有办法学习Jass了吗,那样很无聊, 你得学会Jass的语法结构.( 这个可以看一下第一章. 这对于
步了解Jass是非常有帮助的. 而且对于一些不喜欢背函数的朋友也很有用.所以自定义函数(custom function)也就诞生了.那它们有什么意义呢: takes
C?其实还是有的,关键就看大家  有没有耐心和毅力.所谓耐心,就是在看不懂Jass的情况下不气馁,不急躁.相当初,我看Jass的时候也  是一脸茫然.但如果有耐心, 在这之前? 其实这个问题可以向暴雪请教. Blizzard.j 函数库就是一个自定义函数库, 里面有很多的功能的编定逻辑是
大家学习Jass编辑的最好教程,字母该  认得吧,认得字母就能查单词了,很多人看到N多的函数,就开始头晕了(因类要记住这些函数.)不过我从  来不去背什么函数, 我们该怎么办.而Blizzard.=============================================================================================Q: 如何编写自定义函数,有些地方如果强译成中文,才能有所做为,这个道里  就不多说了,没有耐心和毅力的人永远也无法成功: 怎么学习Jass中那些函数?    Jass函数是非常重要的一个部分,那选什么学习工具呢.j 里面的函数不需要记很多?这个问题,我们通过多个例子的比较便可以打到答案;自己动手,丰衣足食&了. 这个时候
编写一些官方函数里没的自定义就十分有必要了.) function 复制代码=============================================================================================Q.ai ,很多事情其实只要自己动一下手就能搞定的,更别说学比较简单的Jass了.不懂英语也不要紧,不要看不懂就不去管了,那样是非常没有专业精神的(因而BS之.)  当然,单词有中文解释的.当然?
自定义函数(custom function) 是学习Jass之后一定要学会的.因为 Blizzard.j 中的官方函数的功能并不能满足大多数
人的需要, 甚至有些函数还有明显的漏洞. 既然知道怎么学习Jass. 当然. 这个时候!---- 不过还是给一些建议,千万不要有坐享其成的  心理.所以说只有两部分,而大家学习Jass函数的重点也就放在这两个函数
 库中.j 中的函数是  暴雪编写的自定义函数库,真正的库函数在common.j 和common.ai 中,不免有些生硬,这个时候  就要多学多问了,还有就是自己多去思考,借些还可以提升一下英语的水平,何乐而不为呢: returns
这几关键字便是编定函数是重要的语法字段? 最好的办法就是&quot?这个就看大家的情况了.
 高手一般都用专业的编辑器编写,那样速度比较快,新手呢?我的建议是使用WE编辑. &quot:库函数和AI库函数.也许你还有疑问,也就函数名前面带有&native&的函数.真  的Jass库函数是common, 大家就可以借此比较容易地了解Jass在触发中所表现的形式,听我说一下就明了.Blizzard,这两段函数都有一个相似的地方那就是函数含有几个关键字:
A: function
B,就不要麻烦别人了,那样对自己能力的提升很不好.=============================================================================================Q;触发编辑器--编辑--转换触发
为自定义文本& 可以将一个触发转化为Jass,而且进度很慢.建议大家用一些辅助工具,比如可以查询Jass函数的以及语  法高亮的工具.这样遇上不懂的函数就可以查询一下,也不用花太多精力去记忆一些无聊的内容了.    Jass函数可以分为两块.
怎么编写呢Q:怎么学习Jass?  这个问题是大家"谈Jass色变"的最直接原因.原因就在于不知道从什么地方着手学习,从而也无法很好地了解Jass
.学习Jass英语水平很重要.j 和common.
function InitGameCacheBJ takes string filename returns gamecache
set bj_lastCreatedGameCache = InitGameCache( filename )
return bj_lastCreatedGameCache
endfunction
function TestFunctions takes nothing returns nothing
call InitGameCacheBJ(&CustomFunction&)
endfunction
function LocalCacehValue takes nothing returns gamecache
if ( bj_lastCreatedGameCache = null ) then
set bj_lastCreatedGameCache = InitGameCache(&CustomFunction&)
endfunction
return bj_lastCreatedGameCache
endfunction
function H2I takes handle h returns integer
endfunction
复制代码通过以上的例子,大家发现了什么?每个函数都含有&function,takes,returns,endfunction&.
基中&function,takes,returns&用于函数起始部分,而&endfunction&用于结束函数,这些是每个函数必备的语句.记起来很容易.
另外,函数还有一些其他的常用语法句:&set,call,if,then,endif,return,local,loop,exitwhen,endloop&等等.这些语句虽然
是非必要语句,但却是函数功能体现的重要组成部分.下面我就来说一下这些语句的功能:
A: set ---- set 是&变量赋值&功能.上面函数中的&bj_lastCreatedGameCache&是BJ函数库中的一个全局变量,用set可以为
其设定一个值.是常用语法之一.
B: call ---- call 是&函数调用&功能.用于启用一个函数,使这个函数发生作用.&call InitGameCacheBJ(&CustomFunction&)&
就是在启用&InitGameCacheBJ&函数,而&CustomFunction&是&InitGameCacheBJ&函数运行所需要的参数表(参数下面会
C: if,then,else,elseif,endif ---- 这些语句全是&条件限制&功能,这个功能大家在WE中体会过了.主要讲一下&elseif&.
&elseif&是相对于&if&而言的,就是说当&if&所持有的条件不成立时,就检测&elseif&所持有的条件是否成立,如果成立,运行
&elseif&之下的函数功能.&条件限制&的语法功能是Jass编写时重点语法之一,怎么用就看个人的体会以及逻辑思维能力
D: return ---- return 是相对于&returns&而言的,被称之为&返回值&功能.其作用是&结束函数运行,并传'returns'设定的传回
值类型&.这个函数用处很多,& return bug&就是利用这个功能.值得注意的是,当函数中只有一个&return&语法时,就要注意
&returns&所设定的传回值类型是否与&return&所传回的值的类型是否一致了,否则会出错.当然,如果有多个&return&语法
就没有大多的限制.
E: local ---- local 是&声明局部变量&功能,其作用就是声明一个局部变量(相对于全局变量而言).其格式有以下几种:
&local integer i&
&local integer i = 0&
&local integer array i&
大家通过比较可以看出&local&后是个变量的类型,然后是变量的名称.&array&是数组变量的声明格式.当然要注意以下几
1 -- local 声明的变量尽量不要用全局变量的名称类型相一致
2 -- local 声明数组变量时,不能直接为数组变量赋值&local integer array i == 0//(这种声明方法是错的)&.
F: loop,exitwhen,endloop ---- loop,exitwhen,endloop 称之为&循环&功能,这个功能也是最容易用错的功能之一.用时,要注
意 以下几点:
1 -- loop 是循环的开始,必需有结束句 endloop(这个不是结束循环功能,只是用于标示函数中循环设定的结束位置.) 循
环的结束是由 exitwhen 来控制的.exitwhen 所需要的是boolean值做为判断.
2 -- 没有exitwhen的循环是&死循环&,双又称&无限循环&.函数中就尽量不要出现(一般人用了,轻则当机,重则电脑要送去
3 -- 循环中,尽量不要用等待延迟之类的功能,特别是WE自带的循环数功能,当然这并不是说不可以用.用的进候注意一
下就可以了循环等待建议换成计时器,这样可以提升效率.
---------------------------------------------------------------------------------------------------------------------
大家也许有些疑问,为什么我还没讲&function,takes,returns,endfunction&的功能.这个其实自己通过多看多比较就知道了,
不用我多说些什么,以上便是Jass的语法结构了.讲了这么多还希望大家能亲自试验一下,才能体会这些功能真正的用处.=============================================================================================Q: 什么是参数表?
或许,听到这个有些耳熟吧!不是WE中有什么玩家参数之类的吗?不过我要讲的是函数的参数表.
function LocalCacehValue takes nothing returns gamecache
if ( bj_lastCreatedGameCache = null ) then
set bj_lastCreatedGameCache = InitGameCache(&CustomFunction&)
endfunction
return bj_lastCreatedGameCache
endfunction
function SetValue takes integer valueid, string valuename, handle value returns nothing
call StoreInteger(LocalCacehValue(),I2S(valueid),valuename,H2I(value))
endfunction
function GetValue takes integer valueid, string valuename returns handle
return GetStoredInteger(LocalCacehValue(),I2S(valueid),valuename)
endfunction复制代码通过比较以上两个函数,不难看出&takes&后面有&integer valueid, string valuename, handle value&之类的语句.而我们称
呼这些语句为&参数&,其所排列如列表一样,又称之为&参数表&.参数表位于&takes&之后,当没有参数时用&nohting&表于没有
参数表.列出参数首 先列出参数的类型,然后是参数名称,当有多个参数时, 参数与参数之间用&,&隔开.当然要注意以下几
1 -- 当有多个参数时,参数名称不能重复
2 -- 一个参数包含&参数类型&和&参数名&,当一个函数有了参数时,就不能用&nothing&了.
3 -- 参数可以在其所代入的函数中随意使用,而函数中的变量名不得与参数名相同.
参数的用途呢?这个用变量来解释要好一些.在函数中,参数的真正作用就是传递数据,这点和变量的作用是相同的,所以上
面的函数中的参数的用法和变量差不多.和变量所不同的是,参数不能用&set&语法来赋值,参数的值在函数中是不能变化
的,相当于&只读&属性.有参数的函数一般称之为&功能性函数&,而无参数的函数一般可以称之为&非功能函数&.两种函数的
用法是不同的,用的地方也有限制.这
点当大家对函数熟悉后自然就知道了(当然这也是我认为Jass没有太多研究必要的原因之一.)=============================================================================================Q: return bug 是什么?怎么用?
return bug 是我对Jass感兴趣的地方之一,return bug使Jass功能得到了极大的扩展,我想如果没有return bug,Jass可能
将一无是处,当 这种想法只是个人的意见.
function H2I takes handle h returns integer
endfunction复制代码上面的函数就是传说中的return bug!至于原理,大家可以看以前我发过的&return bug解析&,其中介绍
了一些return bug的由来,相信看过之后会有所启发.return bug的用途就是传递数据,一般是配合缓存来使用.所以说到
return bug,就必需和缓存一起讲缓存,就是缓冲储存(这个一般网页用得多.)其实WE区有很多不错的缓存教程,所以在此
不多说什么了.只说以下两点:
1 -- return bug利用数据转换的方法,将handle类的数据作为整数,从而使用&StoreInteger&这个功能将handle类的数据存
入缓存之中. 当然,这个看起来没啥必要,但实际上,魔兽争霸缓存功能只能储存&integer,string,boolean,real,unit&五种类型
的数据,而handle 类的数据是分类型最多的数据类,除的&unit&,其他的都没有储存功能.
2 -- return bug利用反转换,又将整数还原为handle类的数据,并用&GetStoredInteger&从缓存中读取存入的数据,而读取的
数据可以直接使用.(这点和变量的功能差不多),而该数据若再需要重新赋值必须用&StoreInteger&再储存一次新的数据,覆
盖原来的数据. 再次读取是,所读取的值就改变了.所要注意的是,读取的值和存入的值的类型要一致,否则不是出错就是没
-----------------------------------------------------------------------------------------------------------------------
另外,我已将return bug的功能加入触发编辑器中,在WE区的置顶帖里.当然,为了适应WE的逻辑需要,对函数又进行了一
些加工.return bug做为Jass中的一个难点,学会之后所得的回报也是巨大的.以下是有关于return bug的文章链接地址:
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。拒绝访问 | www.ou99.com | 百度云加速
请打开cookies.
此网站 (www.ou99.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(408ec3e19ef943fb-ua98).
重新安装浏览器,或使用别的浏览器

我要回帖

更多关于 魔兽争霸3秘籍 的文章

 

随机推荐