中国星际RPG联盟
标题:
为什么会重复创建单位
[打印本页]
作者:
a834930997a
时间:
2014-4-20 10:45
标题:
为什么会重复创建单位
想做个移动到某区域创建个单位的触发。。。但他莫名其妙的重复创建
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();
========================================
作者:
a834930997a
时间:
2014-4-20 10:59
还有、、、怎么判断单位是不是钻地了
作者:
Zeo
时间:
2014-4-20 11:46
只讲第一个,第二个原理相同,开关默认是关闭的,无需设定
//-----------------------------------------------------------------//
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
作者:
showyumen
时间:
2014-4-20 13:56
你是不是加了等待0秒的循环?
作者:
a834930997a
时间:
2014-4-20 20:13
郁闷死 照你写的那样做没用 你那样写的和我弄的一模一样 我那下段忘记贴出来了罢了...反正单位在那块区域上走来走去他会重复在执行一次这段触发重新创建个单位在这块区域上 主要是它“咚”的一声提示音弹的另人很烦。。。
我下面那段 站在A区域 每秒加钱走开不加的触发没事 用的手法和第一个一模一样的啊。。。怎么它没事
我试试把创建触发和set开关的触发分开看看。。。
你发的那个判断钻地的方法有点 - -坑啊。。。要用到0秒移动区域的方法这会导致我地图上站点加钱的触发失效
本来想更改下钻地图标 用钻地来实现回城的
作者:
a834930997a
时间:
2014-4-20 20:19
~~~~~还有 地图上放置过多的触发 比如几千条触发 会不会导致地图运行速度变慢。。。
地图上画置一些 长度宽度 特别大的区域 (全地图区域大小的) 会不会导致地图运行速度变慢。。。
玩了这么多年星际竟然会问这样的问题 我... -m- !!
================================================
弄了很久 实在是不知道怎么搞的 算了 要咚咚咚就咚吧。。。。反正只是走上去咚那么一下 不管了。。。
作者:
独性虾
时间:
2014-4-20 22:14
你的触发对象是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
作者:
a834930997a
时间:
2014-4-22 17:05
是我那区域有问题 我画的那区域不会判断空中单位 而我创建的那个建筑被我改成了空中单位。。。
作者:
Nsqs
时间:
2014-4-23 01:26
问题1
你的兵到达A地以后创建B单位
你还需要将A地的兵移走,否则当然会不停创建了.如果不移走我的建议是用开关
做一个回字型区域5个,1个小的4个长方形围绕小的.小的进入单位后关闭开关创建单位.单位离开后开关重新开启.再进去则又可以创建.
问题2
这个实现起多个单位判断是很困难的.但多个判断也不是不可能要用eud,eud的方法也只是伪方法.
作者:
a834930997a
时间:
2014-4-23 09:08
非常感谢各位热心的回答...我的问题已经解决了
要画6个区域的话 那我想..还是算了 我那地图里放置了很多个那样的东西 根本停不下来...
欢迎光临 中国星际RPG联盟 (http://www.scrpg.net/)
Powered by Discuz! X3.1