找回密码
 点一下
查看: 1309|回复: 14

请帮帮我--此T的排泄

[复制链接]
发表于 2011-7-23 09:29:10 | 显示全部楼层 |阅读模式
排泄不畅,我已经近最大努力做了,结果还是有问题。请各位大神指引我的前程!!!
[trigger]REXA 1
    事件
        单位 - 雷克萨 0006 <情报> 开始一种技能的效果
    环境
        (Ability being cast) 等于  雷克萨 英雄 1
    动作
        Set PLAYT = 0.00
        Set PLAYPOINT0 = (Position of 雷克萨 0006 <情报>)
        Set PLAYPOINT1 = (Target point of ability being cast)
        Set PLAYRENGE = (Distance between PLAYPOINT0 and PLAYPOINT1)
        Set PLAYRRAN = (PLAYRENGE / 8.00)
        Set PLAYANGLE = (Angle from PLAYPOINT0 to PLAYPOINT1)
        Set PointA_Campaign = (PLAYPOINT0 offset by 40.00 towards ((Facing of 雷克萨 0006 <情报>) + 90.00) degrees)
        单位 - Create 1 女巫 for 玩家 1 (红色) at PointA_Campaign facing (Random angle) degrees
        Set PLAYA = (Last created unit)
        Set PointA_Campaign = (PLAYPOINT0 offset by 40.00 towards ((Facing of 雷克萨 0006 <情报>) - 90.00) degrees)
        单位 - Create 1 女巫 for 玩家 1 (红色) at PointA_Campaign facing (Random angle) degrees
        Set PLAYB = (Last created unit)
        单位组 - Remove all units from GROUP0
        单位组 - Remove all units from GROUP1
        触发器 - Turn on REXA 2 <情报>
[/trigger]

[trigger]REXA 2
    事件
        时间 - Every 0.04 seconds of game time
    环境
    动作
        Set PLAYT = (PLAYT + 0.04)
        Set PLAYPOINT0 = (Position of 雷克萨 0006 <情报>)
        Set PLAYRENGE = (Distance between PLAYPOINT0 and PLAYPOINT1)
        Set PLAYANGLE = (Angle from PLAYPOINT0 to PLAYPOINT1)
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - 环境
                And - All (Conditions) are true
                    环境
                        PLAYT 大于或者等于 2.00
                        ((PLAYRENGE x PLAYT) x (2.00 - PLAYT)) 小于或者等于 0.00
            Then - 动作
                触发器 - Turn off (This trigger)
                单位 - Remove PLAYA from the game
                单位 - Remove PLAYB from the game
            Else - 动作
                Set PointA_Campaign = (PLAYPOINT0 offset by ((PLAYT x (2.00 - PLAYT)) x PLAYRENGE) towards PLAYANGLE degrees)
                Set PointB_Campaign = (PointA_Campaign offset by ((280.00 - PLAYRRAN) x (Sin((254.56 x (Square root(PLAYT)))))) towards (PLAYANGLE + 90.00) degrees)
                单位 - Move PLAYA instantly to PointB_Campaign
                Set PointB_Campaign = (PointA_Campaign offset by ((280.00 - PLAYRRAN) x (Sin((254.56 x (Square root(PLAYT)))))) towards (PLAYANGLE - 90.00) degrees)
                单位 - Move PLAYB instantly to PointB_Campaign
                Set PointA_Campaign = (Position of PLAYA)
                单位组 - Pick every unit in (Units within 180.00 of PointA_Campaign matching (((((Owner of (Matching unit)) is an enemy of (Owner of 雷克萨 0006 <情报>)) 等于 TRUE) and (((Matching unit) is 一个古代的) 等于 FALSE)) and ((((Matching unit) is alive) 等于 TRUE) and (((Match and do (Actions)
                    Loop - 动作
                        Set PointB_Campaign = (Position of (Picked unit))
                        Set PointB_Campaign = (PointB_Campaign offset by 20.00 towards (180.00 x PLAYT) degrees)
                        单位 - Create 1 女巫 for (Owner of 雷克萨 0006 <情报>) at PointB_Campaign facing (Random angle) degrees
                        单位 - Order (Last created unit) to 攻击一次 (Picked unit)
                        单位 - Hide (Last created unit)
                        单位组 - Add (Last created unit) to GROUP2
                        单位组 - Add (Picked unit) to GROUP0
                Set PointA_Campaign = (Position of PLAYB)
                单位组 - Pick every unit in (Units within 180.00 of PointA_Campaign matching (((((Owner of (Matching unit)) is an enemy of (Owner of 雷克萨 0006 <情报>)) 等于 TRUE) and (((Matching unit) is 一个古代的) 等于 FALSE)) and ((((Matching unit) is alive) 等于 TRUE) and (((Match and do (Actions)
                    Loop - 动作
                        Set PointB_Campaign = (Position of (Picked unit))
                        Set PointB_Campaign = (PointB_Campaign offset by 20.00 towards (180.00 x (2.00 - PLAYT)) degrees)
                        单位 - Create 1 女巫 for (Owner of 雷克萨 0006 <情报>) at PointB_Campaign facing (Random angle) degrees
                        单位 - Order (Last created unit) to 攻击一次 (Picked unit)
                        单位 - Hide (Last created unit)
                        单位组 - Add (Last created unit) to GROUP2
                        单位组 - Add (Picked unit) to GROUP1
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - 环境
                PLAYT 等于 1.00
            Then - 动作
                单位组 - Remove all units from GROUP0
                单位组 - Remove all units from GROUP1
                单位组 - Pick every unit in GROUP2 and do (Actions)
                    Loop - 动作
                        单位 - Remove (Picked unit) from the game
            Else - 动作
[/trigger]
11.jpg 12.jpg
发表于 2011-7-23 09:49:37 | 显示全部楼层
http://bbs.islga.org/read-htm-tid-2531.html
建议使用加强GUI

你的点和单位组完全泄露,如果不用GUI,请用Custom Script输入以下代码
这是删点
call RemoveLocation(udg_XXX)
这是删单位组
call DestroyGroup(udg_XXX)
回复

使用道具 举报

发表于 2011-7-23 09:53:00 | 显示全部楼层
哎... 你可不可以吧图发上来 好多变量都不知道是什么 麻烦发一下图....有些触发没经常用到
英文的我还真是没看懂.....
PLAYT 实数? PLAYPOINT0 单位? PLAYRENGE点? PLAYRENGE不知道.... PLAYRRAN同上...PLAYANGLE整数? PointA_Campaign 整数? PLAYB单位?
回复

使用道具 举报

 楼主| 发表于 2011-7-23 09:53:54 | 显示全部楼层

回 1楼(·) 的帖子

用全局变量代“点” 也会泄露啊????

顺便说下  我这里的变量全是全局的  而且纯T 。。。所以比较麻烦 各位见谅。
回复

使用道具 举报

发表于 2011-7-23 09:57:36 | 显示全部楼层
先理解魔兽这玩意它的变量原理吧......

简单来说,就是魔兽机制比较蠢,用变量记录的点在这个变量被赋予其他值的时候不会自动清除,所以需要我们手动删,要么使用加强UI的T,要么敲自定义代码
回复

使用道具 举报

 楼主| 发表于 2011-7-23 10:02:28 | 显示全部楼层

回 2楼(xiokingsing) 的帖子

。。同样非常感谢。。。。您英语是伤啊。。

战役里的某图  单图发上来内容会缺失严重  求谅解

Set PLAYT = 0.00  初始时间为0 实数
Set  PLAYPOINT0 = (Position of 雷克萨 0006 <情报>)     释放单位所在的点
Set PLAYPOINT1 = (Target point of ability being cast)       目标点
Set PLAYRENGE = (Distance between PLAYPOINT0 and PLAYPOINT1)  点0和1的距离
Set PLAYRRAN = (PLAYRENGE / 8.00)    曲线中用到的一个实数参量
Set PLAYANGLE = (Angle from PLAYPOINT0 to PLAYPOINT1)  点0到1的角度
Set PointA_Campaign    我尝试用来“排泄”的点变量
Set  PointA_Campaign    另外一个 点变量。
回复

使用道具 举报

发表于 2011-7-23 10:03:41 | 显示全部楼层
话说楼主的逆流之战很好玩,期待后续版本
引用第5楼pr.kou于2011-07-23 10:02发表的 回 2楼(xiokingsing) 的帖子 :
。。同样非常感谢。。。。您英语是伤啊。。

战役里的某图&#160;&#160;单图发上来内容会缺失严重&#160;&#160;求谅解

Set PLAYT = 0.00&#160;&#160;初始时间为0 实数
.......

那啥,补充一下,特殊效果类似的玩意也要及时排泄
回复

使用道具 举报

 楼主| 发表于 2011-7-23 10:10:50 | 显示全部楼层

回 4楼(·) 的帖子

大概 了解了  在重新赋值之前  删除点就OK了吧   

我那个单位组 pick xxxx  不泄露吧
回复

使用道具 举报

 楼主| 发表于 2011-7-23 10:12:58 | 显示全部楼层

回 6楼(·) 的帖子

特效 创建 然后直接删除就OK了是吧 。。。为此我还特意吧几个特效做了个death 动作。
回复

使用道具 举报

发表于 2011-7-23 10:14:13 | 显示全部楼层
引用第7楼pr.kou于2011-07-23 10:10发表的 回 4楼(·) 的帖子 :
大概 了解了&#160;&#160;在重新赋值之前&#160;&#160;删除点就OK了吧&#160;&#160;

我那个单位组 pick xxxx&#160;&#160;不泄露吧&#160;&#160;
不不不,单位组那样使用是泄露的,不过赋值、使用完之后删掉就行了
引用第8楼pr.kou于2011-07-23 10:12发表的 回 6楼(·) 的帖子 :
特效 创建 然后直接删除就OK了是吧 。。。为此我还特意吧几个特效做了个death 动作。
回复

使用道具 举报

发表于 2011-7-23 10:43:00 | 显示全部楼层
星表示一般来说特效的话,直接删除新建XXX特效就可以了的说~

其实变量所指向的是一个对象,删除并不是删除变量本身,而是干掉那个对象而已~

而某些函数用过之后,会新建对象,这才是需要删除的原因~
回复

使用道具 举报

 楼主| 发表于 2011-7-23 10:46:09 | 显示全部楼层
大概了解这个问题了。。。。请问

能通过导入一个自动排泄的脚本文件。。。。。

让我不用手动排泄了么。。。。GUI什么的  我想远离
回复

使用道具 举报

发表于 2011-7-23 10:47:40 | 显示全部楼层
写自定义代码吧,看你似乎有编程基础
回复

使用道具 举报

 楼主| 发表于 2011-7-23 10:52:03 | 显示全部楼层

回 12楼(·) 的帖子

我喜欢T环境,如果直接用J  我也不用这么心烦了。



我想我还是手排吧  。。过几天
回复

使用道具 举报

发表于 2011-7-23 11:24:49 | 显示全部楼层
排泄什么的还是必须自己做的说~

目前没有一个完美的自动排泄脚本(唯一存在的一个,其实没有实际应用价值)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 10:23 , Processed in 0.037307 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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