中国星际RPG联盟

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11813|回复: 9
打印 上一主题 下一主题

[已解决] 为什么会重复创建单位

[复制链接]
跳转到指定楼层
楼主
发表于 2014-4-20 10:45:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想做个移动到某区域创建个单位的触发。。。但他莫名其妙的重复创建

Always();

SetSwitch(Switch 32, Clear);

=========================================
Bring(Current Player, Exactly, 1, Unit 230, Location 34);
Switch(Switch 32, Set);

CreateUnitWithProperties(1, Unit 107, Location 34, Current Player, 1);
SetSwitch(Switch 32, Clear);
PreserveTrigger();
=========================================

做了个进入区域加钱的触发没事 求教怎么弄
Always();

SetSwitch(Switch 1, Clear);
========================================
Bring(Force 1, Exactly, 1, Unit 231, Location 0);
Bring(Force 3, Exactly, 1, Unit 230, Location 0);
Switch(Switch 1, Clear);

Comment("Set Swich 001", 0, 0, 0, 0, 0);
SetSwitch(Switch 1, Set);
PreserveTrigger();

=======================================
Switch(Switch 1, Set);

Comment("Add Ore 001", 0, 0, 0, 0, 0);
SetResources(Force 3, Add, 1, Ore);
Wait(400);
PreserveTrigger();
=======================================
Bring(Force 3, Exactly, 0, Unit 230, Location 0);
Switch(Switch 1, Set);

Comment("Clear Swich 001", 0, 0, 0, 0, 0);
SetSwitch(Switch 1, Clear);
PreserveTrigger();
========================================
Bring(Force 1, Exactly, 0, Unit 231, Location 0);
Switch(Switch 1, Set);

Comment("Clear Swich 001", 0, 0, 0, 0, 0);
SetSwitch(Switch 1, Clear);
PreserveTrigger();
========================================
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 顶 踩
回复

使用道具 举报

沙发
 楼主| 发表于 2014-4-20 10:59:54 | 只看该作者
还有、、、怎么判断单位是不是钻地了
回复 支持 反对

使用道具 举报

板凳
发表于 2014-4-20 11:46:18 | 只看该作者
只讲第一个,第二个原理相同,开关默认是关闭的,无需设定

//-----------------------------------------------------------------//
Conditions:
    Switch(Switch 32, Clear);
    Bring(Current Player, Exactly, 1, Unit 230, Location 34);

Actions:
    SetSwitch(Switch 32, Set);
    CreateUnitWithProperties(1, Unit 107, Location 34, Current Player, 1);
    Preserve Trigger();

//-----------------------------------------------------------------//

Conditions:
    Switch(Switch 32, Set);
    Bring(Current Player, Exactly, 0, Unit 230, Location 34);

Actions:
    SetSwitch(Switch 32, Clear);
    Preserve Trigger();
//-----------------------------------------------------------------//

判断单位是不是钻地:http://www.scrpg.net/thread-458-1-1.html
回复 支持 反对

使用道具 举报

地板
发表于 2014-4-20 13:56:42 | 只看该作者
你是不是加了等待0秒的循环?
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2014-4-20 20:13:15 | 只看该作者
郁闷死 照你写的那样做没用 你那样写的和我弄的一模一样 我那下段忘记贴出来了罢了...反正单位在那块区域上走来走去他会重复在执行一次这段触发重新创建个单位在这块区域上 主要是它“咚”的一声提示音弹的另人很烦。。。

我下面那段 站在A区域 每秒加钱走开不加的触发没事 用的手法和第一个一模一样的啊。。。怎么它没事

我试试把创建触发和set开关的触发分开看看。。。

你发的那个判断钻地的方法有点 - -坑啊。。。要用到0秒移动区域的方法这会导致我地图上站点加钱的触发失效
本来想更改下钻地图标 用钻地来实现回城的
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2014-4-20 20:19:11 | 只看该作者
~~~~~还有 地图上放置过多的触发 比如几千条触发 会不会导致地图运行速度变慢。。。
地图上画置一些 长度宽度 特别大的区域 (全地图区域大小的) 会不会导致地图运行速度变慢。。。

玩了这么多年星际竟然会问这样的问题 我... -m- !!


================================================
弄了很久 实在是不知道怎么搞的 算了 要咚咚咚就咚吧。。。。反正只是走上去咚那么一下 不管了。。。
回复 支持 反对

使用道具 举报

7#
发表于 2014-4-20 22:14:26 | 只看该作者
你的触发对象是force? 或者All player?   若果是(比方说force 1包含: player1,2,3),吗么执行动作里的创建单位动作(create unit for current player)实际上就是三个玩家都执行一次即都创建一次;
解决方法: 1、相关触发备份几个,每个的触发对象 单独为一个玩家(略繁琐);2、你不是移动任意单位吗,那就用move unit  这个指令,就算其他玩家重复执行也不会有BUG

你那个循环创建 稍微有些问题,循环指令执行(PreserveTrigger)顺序优先于开关修改指令(set switch)(我不知道原因),
Bring(Current Player, Exactly, 1, Unit 230, Location 34);
Switch(Switch 32, Set);

CreateUnitWithProperties(1, Unit 107, Location 34, Current Player, 1);
SetSwitch(Switch 32, Clear);
PreserveTrigger();

这里的 set switch 指令不会执行, 所以该触发无限循环。 增加一个动作remove(current player, unit 230, location 34),这样循环条件不足,循环不再执行,开关动作才开始进行(话说你这个触发,不像是移动单位啊,更像是单位进化(换单位))


温馨提示 : 所有的 音效,字幕,动态肖像触发,执行对象只会是触发对象(如果对象是force,则执行一次,所属force 1的玩家都会有效果,想分开的话——备份,分散触发对象)  



触发运行顺序,参考 卡神的资料:http://www.scrpg.net/thread-3460-1-1.html
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2014-4-22 17:05:26 | 只看该作者
是我那区域有问题 我画的那区域不会判断空中单位 而我创建的那个建筑被我改成了空中单位。。。
回复 支持 反对

使用道具 举报

9#
发表于 2014-4-23 01:26:10 | 只看该作者
问题1
你的兵到达A地以后创建B单位
你还需要将A地的兵移走,否则当然会不停创建了.如果不移走我的建议是用开关
做一个回字型区域5个,1个小的4个长方形围绕小的.小的进入单位后关闭开关创建单位.单位离开后开关重新开启.再进去则又可以创建.

问题2
这个实现起多个单位判断是很困难的.但多个判断也不是不可能要用eud,eud的方法也只是伪方法.
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2014-4-23 09:08:44 | 只看该作者
非常感谢各位热心的回答...我的问题已经解决了
要画6个区域的话 那我想..还是算了 我那地图里放置了很多个那样的东西 根本停不下来...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|网站统计|手机版|小黑屋|中国星际RPG联盟    

GMT+8, 2024-11-29 18:30 , Processed in 1.249992 second(s), 19 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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