帝国时代2触发是什么中的定时器最多能设多少秒?

帝国时代2触发问题_百度知道
帝国时代2触发问题
我想弄个触发:指定某个英雄来盖亚女神的兵(X兵)身边才会激活(其他兵过去不会跟过来,只有那个英雄行),然后这批兵归顺的同时,某一处建筑被可视并视野转到该建筑处,对其破坏就会刷出一些兵(这个建筑是盖亚女神那一类,但不会归降,并且在英雄未激活X兵...
我有更好的答案
控制权就改变了:将刷出来的兵移动位置,不然新出来的兵站着不动就把出兵点堵住了  ==========5,如下:  在设定时输入:  触发2  条件——将目标带给指定目标:指定英雄A接近盖亚B  效果——改变所有权:将盖亚B的单位变为玩家  这样,当英雄A靠近盖亚B时,这个变过来的盖亚就不会归顺了  ==========2  需要的东西真多啊,再使用“改变所有权”效果将其变成盖亚的单位就可以了  这样,送出的聊天中会有“&”)  &GREEN&gt:  改变所有权(改变控制权、2”3个数可以设置:&lt,将视角转到这个要将其摧毁的建筑  ● 这里有一个重要设置:这个触发的“触发开始状态”要设置为“关闭”,“触发开始状态”选项在点击触发的名称后屏幕下方,意思是这个触发无论条件有没有完成,将其开启,则该触发会无限循环  ● 同样的,都不会启动效果,让自己的兵接触他,他们就会归顺  但是在有的场景中我们会见到不会归顺的盖亚,“数量”设置有“0,分别代表该文字显示在屏幕上方的上—上,上—中,上—下的位置  同样可以使用颜色代码  播放声音可以游戏中播放音乐,音乐文件需要MP3格式放在\Sound\Scenario 文件夹中,使用“清除指示”效果可以停止声音和清除文字  ● 颜色代码  在输入文字之前输入代码即可:摧毁目标建筑  效果——产生目标:开始刷兵  效果——任务目标;BLUE&gt,也就是鼠标右键命令)  激活触发(使“关闭”状态的触发“开启”)  显示建筑(是翻译错误,其实就是显示出对话和播放出声音)  送出聊天(要注意的是要设定起始玩家,设定的是能收到信息的玩家)  ==========1,这个单位在“单位”的“其他”类型里.送出对话==========  可以使用“送出聊天”效果和“显示建筑”效果  ● 送出聊天  和对局中玩家打字的效果一样  可以输入颜色代码  &lt,效果相当于僧侣的招降)  改变视角(改变玩家观察的地图的位置,就是鼠标拖动屏幕)  产生目标(凭空产生单位或者建筑)  任务目标(命令单位移动:多层触发,多层触发的位置在“触发开始状态”旁边; 橙色  &AQUA& 青色  &lt.英雄的号召==========  你的意思是让这个英雄A接近不会归顺的盖亚B旁边,盖亚B会归顺吧?  ● 具体设置如下;PURPLE&gt,需要“激活触发”效果开启它  ● 具体设置如下; 绿色  &YELLOW& 黄色  &BLUE& 蓝色  &RED&
红色(注:有一个BUG.不会归顺的盖亚==========  平时我们在地图上放置盖亚:先放置的是任意一个玩家(非盖亚)的单位,办法如下:  ● 触发1  效果——改变所有权,恐怕详细说明又不会被通过了  ● 可能用到的条件:  捕获目标(获得某单位控制权可启动效果)  消灭目标(消灭指定目标可启动效果)  将目标带到指定 区域&#47,而其他单位接近不会归顺的盖亚是没有效果的  ==========3:在这里就是指多久出一个兵了  条件——消灭目标.看到新的建筑=========  当盖亚B归顺以后;目标(把XX带到指定的位置可启动效果)  定时器(设定一定时间后才能够启动效果,可多种组合)  ● 可能用到的效果;ORANGE&gt、1; 紫色  &GREY& 灰色  ● 显示建筑  显示出的对话在屏幕上方:  之前得到了盖亚B的触发里,要创建一个新的效果——激活触发  即“触发2”还要多加一个  效果——激活触发:激活“触发3”  触发3(触发开始状态——关闭)  条件——定时器:得到了盖亚以后隔一点时间再转视角(刚得到盖亚视角就变了,别的玩家不都莫名其妙吗?)  效果——改变视角:转到建筑位置处  效果——产生目标:地图启示者(可以多设置几个产生地图启示者,在“触发2”里又要加上一个激活触发——激活“触发4”  触发4(多层触发——开启,触发开始状态——关闭)  条件——定时器,这个单位只具有打开视野的效果)  ==========4.不断出现的兵========  将建筑破坏掉就刷兵  ● 这里的一个重要设置就是
采纳率:61%
发1条件1:把目标带到指定位置:目标可视,选择哪个建筑物。触发2(多层触发选是)条件1,最好在新剧本慢慢试,选择目标为 某个英雄.选择位置为X兵附近,可以划宽点效果1,设定位置:要去的地方,这个起始玩家和单位类型都要选好,不然什么兵都去了的,任务目标这1项的设置很难:消灭目标,哪个建筑效果1:产生目标
选择位置效果2:产生目标
选择位置效果3:产生目标
选择位置(最好是多设置几个)如果要他们去指定位置要选任务目标(设定区域:产生目标地点
仔细看了一楼的发现在英雄未激活X兵之前被破坏会刷兵所以修改了一下注:建筑是盖亚女神那一类,但不会归降无法做到触发1条件1:把目标带到指定位置,选择目标为 某个英雄.选择位置为X兵附近,可以划宽点(慢慢试)效果1:目标可视,选择哪个建筑物。效果2:激活触发,输入触发2触发2条件1:消灭目标,哪个建筑效果1:激活触发,输入触发3触发3(多层触发选是)条件1:计时器,输入出兵间隔(秒)效果1:产生目标 选择兵种 选择阵营 选择位置(一个位置是一个出兵点)注:触发3可能有漏洞,没试验过,就是破坏之前就会出兵,因为自己没有用过激活触发功能
为您推荐:
其他类似问题
您可能关注的内容
帝国时代2的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。博客访问: 759864
博文数量: 205
博客积分: 4968
博客等级: 上校
技术积分: 1872
注册时间:
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: LINUX
高性能服务器编程中的定时器
编写服务器常常会需要实现定时器功能。windows下有微软封得好好的控件,拖之即用,Linux下面就算了,还是自己动手吧。
虽说Linux提供了基于信号的定时功能(alarm,settimer),但是,考虑到信号是如此的粗暴,还是算了,在写高性能服务器的时候,还是别用了。免得被虐。
既然放弃了系统的定时功能,那么只能在用户空间自己实现了,思路也很简单。维护一个时间和一堆定时器事件,每次时间更新便在那一堆定时器事件中找跟当前时间匹配的事件,触发之。这里两个因数决定了定时器的效率,一个就是更新时间的时机和频率,第二就是事件的插入和查找。
来看看经典的服务器是怎么做的吧,nginx是将事件存放在了一个rbtree中,memcached的定时器是用的libevent的,libevent同样将事件存放在了rbtree中(1.4版以后改成最小堆了),而redis则是将其放在了一个链表中(而且未排序),不过由于redis中的定时器不多,所以作者说:“可以用skiplist来优化,但是意义不大”。至于时间的管理就看场景了,太频繁了浪费cpu,太偶尔了定时器又不准。这里就看开发者对系统的把握了。
下面简单看看nginx中的定时器是如何实现的。
nginx中定时器的实现主要在nginx_event_timer.c和.h中。先来看看事件管理:
ngx_thread_volatile ngx_rbtree_t& ngx_event_timer_rbtree
ngx_event_timer_init(ngx_log_t *log)
&&&&ngx_rbtree_init(&ngx_event_timer_rbtree, &ngx_event_timer_sentinel,
&&&&&&&&&&&&&&&&&&&&ngx_rbtree_insert_timer_value);
&&&&return NGX_OK;
很直接,初始化一个全局的红黑树。
下面是插入事件(在.h中,内联函数):
static ngx_inline void
ngx_event_add_timer(ngx_event_t *ev, ngx_msec_t timer)
&&&&ngx_msec_t&&&&&
&&&&ngx_msec_int_t&
&&&&key = ngx_current_msec +
&&&&//如果这个事件上上一个定时器的事件跟要设的新定时器相差很小的话
&&&&//就复用以前的定时器,毕竟O(logN)的数操作也是要时间的嘛,能省就省了
&&&&if (ev->timer_set) {
&&&&&&&&/*
&&&&&&&&&* Use a previous timer value if difference between it and a new
&&&&&&&&&* value is less than NGX_TIMER_LAZY_DELAY milliseconds: this allows
&&&&&&&&&* to minimize the rbtree operations for fast connections.
&&&&&&&&&*/
&&&&&&&&diff = (ngx_msec_int_t) (key - ev->timer.key);
&&&&&&&&if (ngx_abs(diff) < NGX_TIMER_LAZY_DELAY) {
&&&&&&&&&&&&return;
&&&&&&&&//删除以前的定时器
&&&&&&&&ngx_del_timer(ev);
&&&&ev->timer.key =
&&&&//锁一下,添加新的定时器
&&&&ngx_mutex_lock(ngx_event_timer_mutex);
&&&&ngx_rbtree_insert(&ngx_event_timer_rbtree, &ev->timer);
&&&&ngx_mutex_unlock(ngx_event_timer_mutex);
&&&&ev->timer_set = 1;
下面是删除事件(同样在.h中):
static ngx_inline void
ngx_event_del_timer(ngx_event_t *ev)
&&&&ngx_mutex_lock(ngx_event_timer_mutex);
&&&&ngx_rbtree_delete(&ngx_event_timer_rbtree, &ev->timer);
&&&&ngx_mutex_unlock(ngx_event_timer_mutex);
&&&&ev->timer_set = 0;
同样是直接暴力。锁一下,删除节点。
查找事件同样很直接(在.c中):
ngx_msec_t
ngx_event_find_timer(void)
&&&&ngx_msec_int_t&&&&&
&&&&ngx_rbtree_node_t& *node, *root, *
&&&&if (ngx_event_timer_rbtree.root == &ngx_event_timer_sentinel) {
&&&&&&&&return NGX_TIMER_INFINITE;
&&&&ngx_mutex_lock(ngx_event_timer_mutex);
&&&&root = ngx_event_timer_rbtree.
&&&&sentinel = ngx_event_timer_rbtree.
&&&&//找到所有定时器中最近的那个
&&&&node = ngx_rbtree_min(root, sentinel);
&&&&ngx_mutex_unlock(ngx_event_timer_mutex);
&&&&//如果有将来要触发的,便将时间差算出来,返回
&&&&//这个值将影响到事件循环中等待函数(比如epoll_wait)的超时
&&&&timer = (ngx_msec_int_t) node->key - (ngx_msec_int_t) ngx_current_
&&&&return (ngx_msec_t) (timer > 0 ? timer : 0);
最后是超时事件的处理:
ngx_event_expire_timers(void)
&&&&ngx_event_t&&&&&&& *
&&&&ngx_rbtree_node_t& *node, *root, *
&&&&sentinel = ngx_event_timer_rbtree.
&&&&for ( ;; ) {
&&&&&&&&ngx_mutex_lock(ngx_event_timer_mutex);
&&&&&&&&root = ngx_event_timer_rbtree.
&&&&&&&&if (root == sentinel) {
&&&&&&&&&&&&return;
&&&&&&&&node = ngx_rbtree_min(root, sentinel);
&&&&&&&&/* node->key <= ngx_current_time */
&&&&&&&&if ((ngx_msec_int_t) node->key - (ngx_msec_int_t) ngx_current_msec <= 0)
&&&&&&&&&&&&ev = (ngx_event_t *) ((char *) node - offsetof(ngx_event_t, timer));
&&&&&&&&&&&&ngx_rbtree_delete(&ngx_event_timer_rbtree, &ev->timer);
&&&&&&&&&&&&ngx_mutex_unlock(ngx_event_timer_mutex);
&&&&&&&&&&&&ev->timer_set = 0;
&&&&&&&&&&&&ev->timedout = 1;
&&&&&&&&&&&&ev->handler(ev);
&&&&&&&&&&&&continue;
&&&&&&&&break;
&&&&ngx_mutex_unlock(ngx_event_timer_mutex);
这个函数将所有该触发的事件一一触发掉。
好了,nginx中定时器事件的管理就这样了,那么nginx是在什么时候更新时间触发事件的呢?很简单,主要在主事件处理函数中,如果发现定时器事件有事件在pending,就会在wait之后更新一下时间。
阅读(3601) | 评论(1) | 转发(1) |
相关热门文章
给主人留下些什么吧!~~
好了,nginx中定时器事件的管理就这样了,那么nginx是在什么时候更新时间触发事件的呢?很简单,主要在主事件处理函数中,如果发现定时器事件有事件在pending,就会在wait之后更新一下时间。楼主,这个地方能详细说说不?到底是怎样触发超时时间处理d&?
请登录后评论。三菱PLC定时器计时时间最多能设置多少? 例如:& D10 K最多为多少_百度知道
三菱PLC定时器计时时间最多能设置多少? 例如:& D10 K最多为多少
我有更好的答案
可以采用程序处理,计时几千年都没问题,前提是PLC那时还没坏。
怎么做这段程序??麻烦您指教指教。我的邮箱
LDP M8014OUT C200 K60
这个是小时计数LDP C200 OUT C201 K24
这个天计数RST C200LDP C201 OUT C202 K30
这个月计数RST C201LDP C202OUT C203 K12
这个年计数RST C202LDP C203OUT C204 K1000
这个K1000就相当于1000年了RST C203
采纳率:60%
其实plc定时器计算时间是要考虑溢出的,所以最大值有限,为32767.但是如果想定时间更长,可以考虑用别的指令。可以定几年都没有问题。
什么指令,请指教。
可以考虑定时器和计数器组合使用。
一个单独的定时器,最多只能设置K32767。如果还需要增加,可以添加计数器,或者用D存储器加1来实现。
其他2条回答
为您推荐:
其他类似问题
您可能关注的内容
三菱plc的相关知识
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。查看: 7089|回复: 7
在帝国时代2成就统计当中,战役大事记是怎么判定的?
阅读权限70
在线时间751 小时
主题精华积分
公爵, 积分 3401, 距离下一级还需 1399 积分
发表于 翔鹰十二年三月二十六日(春)
如题,在成就统计的时间表里能看到一个个的斧头图标,表示战役大事记。
但是到底这个战役大事记代表了什么?他所处的玩家颜色区间跟这玩家的关系是什么?
我个人是这么看的:如1v1,里战役大事记发生在蓝色区域(玩家一),可以看到斧头图标后一段时间内红色玩家人口占总人口比例下降。也就是这段时间内,斧头所处的玩家色的玩家取得大捷(杀敌数-损失数&=某数值?)。
阅读权限90
在线时间1638 小时
生日1994 年 6 月 9 日
出生地陕西省
主题精华积分
皇帝, 积分 14004, 距离下一级还需 5196 积分
鹰币511136
发表于 翔鹰十二年三月二十六日(春)
跟玩家在某个时间段内杀敌而获得的分数有关吧
我觉得……
阅读权限80
在线时间912 小时
主题精华积分
国王, 积分 8400, 距离下一级还需 1200 积分
发表于 翔鹰十二年三月二十六日(春)
我覺得好像是有大量的軍隊交戰
就會出現的樣子
RPG死守魔法堡壘
AOF 巫師天堂
(1F+3F 雙版)
阅读权限255
在线时间6923 小时
生日1987 年 12 月 30 日
主题精华积分
鹰币1450869
发表于 翔鹰十二年三月二十七日(春)
全效工作室原班人馬之一桑迪·皮特森(Sandy Petersen)在與 AoK Heaven 的多場訪談錄中曾經不祇一次回答這個問題,以下依照時序摘錄他的幾條問答:
Q) Since you've ignored many, many questions about what the heck is a battle event, is the secret behind it a MS contractual obligation to allow a magazine an exclusive to reveal the secret?
問)基於你忽視了很多很多關於戰役大事是啥鬼東西的問題,那讓某雜誌獨家披露其後秘密是否微軟的合同義務?
A) No. It's just been published (in this forum) several times already and is too boring and long for me to want to explain it.
答)不是。它已經被發表數次了(在這論壇上),而且對我來說要解釋它實在是過於沉悶及冗長。
Q) What exactly needs to happen in order for a &battle event& to show up on the timeline of the Acheivements pages after a game? Do a certain number of units have to die w/in a set period of time?
問)究竟要做什麼才能讓遊戲後的成就頁時間表上出現一場「戰役大事」?是否要有一定數量的單位在特定的時間裡死亡?
A) No, it means you have to KILL a certain number of units (like 20) within a certain amount of time.
答)不對,它指你要在一定時間內殺死一定數量的單位(像是二十)。
()Q) What causes the battle axe to appear in the acheivements timeline? Is it a certain percent of the population killed in a certain amount of time, or something else?
問)是什麼造成在成就時間表裡的戰斧?是一定百分比的人口在一定數量的時間裡被殺還是其他東西?
A) Once David Lewis knew. Now no one does. It’s number of deaths in period of time, but the exact formula is lost to history. You may say, “why not ask Dave Lewis”. I answer, “You don’t know Dave ’VMDL’ Lewis.”
答)大衛路易斯(曾為全效工作室程序員)曾經知道的。現在沒有人知道了。它是一段時間內的死亡人數,然而具體的公式已經遺失在歷史長河之中。你可以說:「為什麼不問大衛路易斯」,而我會答:「你真不清楚戴夫 VMDL 路易斯了(遊戲隱藏單位,移動速度奇高,這裡用來比喻大衛迴避問題)」。
翻查 AoK Heaven 論壇記錄,相關主題雖然確實不在少數,但是始終沒有給出皮氏所言具體公式(,,,,,,,,,,)。
類似問題甚至還出現在國際知名遊戲綜合網站 GameFAQs 或提問網站 Answers.com 上,但是同樣沒有看到什麼公式(,)。
因此,就現階段來說,依循合法途徑能獲知的最接近答案是「在一定時間內殺死一定數量的單位」,具體所需時間及殺敵量要靠非法的破解及反編遊戲程序手段才能得知,但是基本可以肯定與前面回答者所謂遊戲者分數及交戰單位數量無關。
原来是一个神秘公式啊!&
狂叔还是那么霸气&
好厲害!!^0^&
令人发指的抖干货。。。&
活跃者勋章
积极参与论坛活动,并做出自己一份贡献的活跃分子
三级嘉禾勋章
奖励于翻译、评分、技术研究领域有突出建树的成员
翔鹰建站十周年纪念章
纪念2013年翔鹰建站10周年
来到翔鹰不久就有出色表现的新朋友
三级翔鹰勋章
奖励优秀原创作品的制作者
翔鹰建站十周年大纪念章
在翔鹰建站十周年抢楼活动中获得
特级帝国勋章
奖励为管理、建设和维护论坛做出伟大贡献的成员
特级翔鹰勋章
奖励伟大原创作品的制作者
特级嘉禾勋章
奖励于翻译、评分、技术研究领域有伟大建树的成员
一级皇家勋章
奖励为翔鹰版帝国时代系列(帝王版等)做出卓越贡献的成员
为翔鹰作出突出贡献的,在技术研究或者评分评论方面很有建树的中流砥柱
影响了整个帝国界或是在与帝国有关的各个方面均有建树的元老
十字军勋章
于文学、绘图、编程、资源整理方面有所建树的活跃成员
在征服者的挑战系列活动中获得优胜
狂~剧情狂的专属勋章
Powered by && Licensed
All rights reserved帝国时代2触发教程_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
帝国时代2触发教程
&&若价格不合理请在评论处发表
你可能喜欢}

我要回帖

更多关于 帝国时代2触发 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信