找回密码
 点一下
查看: 1131|回复: 9

用变量锁定地图中的预设单位问题.

[复制链接]
发表于 2011-3-20 07:21:47 | 显示全部楼层 |阅读模式
这个问题涉及到jass不过更多的还是jass以外的问题吧...我自己是这么觉得的...擦汗.



问题是这样的.
我在地图上放多个同一单位类型的单位..那么它们在预设后的代码就是
gg_unit_hpea_000X = 这个X 为按单位的放置顺序为 1 2 3 4 5 6 9等等...如:gg_unit_hpea_0001 gg_unit_hpea_0002
这样的.
然后我想用jass来设定它们...省得老是用手点....但是发现一个无奈的事情.就是如果我这样设定:
    set udg_nm[0] = gg_unit_hpea_0000
要想使这个 变量的赋值有效的话.那么.
gg_unit_hpea_0000 就必须是在象触发器中被点选过...否则的话.会不通过jasshelper的检查...那么估计进入游戏也不会有效果....
那么想问问.各位高手们.这个限制是否有办法来突破呢?不
就是可以直接用jass来给变量赋值.而不通过在T中再点选一次单位....或者称之为激活也可以吧....

还想问问如果这个不行的话.是否有什么其它简单的方法呢?
发表于 2011-3-20 07:35:11 | 显示全部楼层
那就在地图初始化的时候放置单位,同时设置变量
回复

使用道具 举报

 楼主| 发表于 2011-3-20 08:06:24 | 显示全部楼层
引用第1楼愛婼メ媋楓于2011-03-20 07:35发表的 :
那就在地图初始化的时候放置单位,同时设置变量

这个....能具体说明一下吗?
[jass]
function CreateUnitsForPlayer1 takes nothing returns nothing
    local player p = Player(1)
    local unit u
    local integer unitID
    local trigger t
    local real life
    set u = CreateUnit( p, 'hpea', -636.6, 190.3, 12.239 )
    set u = CreateUnit( p, 'hpea', -480.0, 185.1, 88.684 )
    set u = CreateUnit( p, 'hpea', -224.2, 172.0, 75.226 )
    set u = CreateUnit( p, 'hpea', 83.8, 159.0, 2.318 )
    set u = CreateUnit( p, 'hpea', 294.9, 190.3, 182.181 )
    set u = CreateUnit( p, 'hpea', -629.2, -166.3, 248.716 )
    set u = CreateUnit( p, 'hpea', -448.5, -157.7, 228.424 )
    set u = CreateUnit( p, 'hpea', -272.8, -159.9, 259.219 )
    set u = CreateUnit( p, 'hpea', 20.2, -133.8, 119.612 )
    set u = CreateUnit( p, 'hpea', 284.2, -136.0, 311.054 )
endfunction
[/jass]
回复

使用道具 举报

发表于 2011-3-20 10:14:34 | 显示全部楼层
- -     原谅我看不懂J,可是,有那么复杂吗?地图初始化的时候创造单位在坐标,然后设置变量就可以了吧
回复

使用道具 举报

 楼主| 发表于 2011-3-20 10:20:24 | 显示全部楼层
引用第3楼愛婼メ媋楓于2011-03-20 10:14发表的 :
- -     原谅我看不懂J,可是,有那么复杂吗?地图初始化的时候创造单位在坐标,然后设置变量就可以了吧

擦汗...我不懂坐标的说..想问问.如果不用区域的话..怎么得到某个点的坐标...不懂... 求教.....谢谢.
回复

使用道具 举报

发表于 2011-3-20 14:21:22 | 显示全部楼层
捕获.PNG
关于坐标:看左下角
回复

使用道具 举报

发表于 2011-3-20 14:23:08 | 显示全部楼层
关于单位:既然要用JASS,那就不要管T了,自己写代码来创建单位吧……
回复

使用道具 举报

 楼主| 发表于 2011-3-22 11:29:19 | 显示全部楼层
引用第6楼希瓦于2011-03-20 14:23发表的 :
关于单位:既然要用JASS,那就不要管T了,自己写代码来创建单位吧……

能否请希瓦教一下.如何用写创建单位的代码.....我在这方面还很弱..
令外还想请教 关于 jass 中闪电效果 和 类型 的变量 是否需要排泄?.......可以的话.看一下我发的这个求助好吗...http://bbs.islga.org/read-htm-tid-52533.html
回复

使用道具 举报

发表于 2011-3-22 12:03:42 | 显示全部楼层
native CreateUnit takes player id, integer unitid, real x, real y, real face returns unit
就是这样啊……
回复

使用道具 举报

发表于 2011-3-23 06:13:30 | 显示全部楼层
set Unit= CreateUnit(player(0),H000,0,0)
基本就是这样了。
然后用Unit调用这个创建的单位。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-1 00:16 , Processed in 0.131064 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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