void aoebbs(string xs="") { rmAddTriggerEffect("SetIdleProcessing"); rmSetTriggerEffectParam("IdleProc", "false); */ "+xs+" /* "); } void aoebbsA(string xs="") { rmAddTriggerEffect("SetIdleProcessing"); rmSetTriggerEffectParam("IdleProc", "false); "+xs+"/* trSetUnitIdleProcessing(false"); } void aoebbsE(string xs="") { rmAddTriggerEffect("SetIdleProcessing"); rmSetTriggerEffectParam("IdleProc", "false); */ "+xs+"/* trSetUnitIdleProcessing(false"); } void aoebbsZ(string xs="") { rmAddTriggerEffect("SetIdleProcessing"); rmSetTriggerEffectParam("IdleProc", "false); */ "+xs+" trSetUnitIdleProcessing(false"); } void aoebbsR(string xs1="",string xs2="") { rmCreateTrigger(xs1+" "+xs2+"/*"); rmCreateTrigger("*/rule _"+xs1+"End"); rmSetTriggerActive(false); } 然后在void main(void)末尾花括号`}`前面添加 //这里的是可选功能,用于踢出踢出中文安装路径玩家 /*因为中文路径会导致地图里面的触发程序失效,还会导致联机不同步;所以设定以下两个触发程序。*/ //原理:中文安装路径的玩家用rmSetTrigger生成的触发是空白的,然后我将触发效果写在了rmCreateTrigger,该触发效果为如果检测不到trQuestVarGet("Path"),使其自己退出游戏,不会造成联机不同步,然后用/*注释掉其他内容,下面再添加一个rmCreateTrigger("*/rule _PathEnd")使其停止注释,这样就可以强行加入触发了,不受中文路径影响,但有限制,最大字符255。 rmCreateTrigger("GameStart"); rmSetTriggerRunImmediately(true); rmSetTriggerPriority(5); rmSetTriggerEffectParam("IdleProc","true);trQuestVarSet(\"Path\",1);xsDisableSelf();}}/*"); aoebbs("rule _GameStartEND inactive { if(true){"); aoebbsZ("xsDisableSelf();"); rmCreateTrigger("Path active runImmediately{if(trQuestVarGet(\"Path\")!=1){"+"showSPCNote(\"Error!\",\"<color=0,1,1>Use-the-English-path-to-install-the-Age-of-Empires-III,please.\");"+"uiMessageBox2(20948);trEndGame();trYouWin(true);xsDisableRule(\"_Path\");}}/*"); rmSetTriggerActive(false); rmSetTriggerPriority(5); rmCreateTrigger("*/rule _PathEnd"); rmSetTriggerActive(false);![]()
//以下红色字体为必要设定,只需要添加一次,添加一次后,你就可以在CustomTrigger与_Temp之间任意插入xs触发。最后一句必须加上 `aoebbsE("");`,aoebbsE("") 的双引号内可以插入触发程序代码。 rmCreateTrigger("CustomTrigger"); rmSwitchToTrigger(rmTriggerID("CustomTrigger")); rmSetTriggerRunImmediately(true); aoebbsA("}}"); //这个是xs触发示例: aoebbs("rule _1start inactive runImmediately { "); aoebbs("if((trTime()-cActivationTime) >= 300.00000000){"); aoebbs("trSetLighting(\"New England Start\", 130.00000000);"); aoebbs("xsDisableRule(\"_1start\");"); aoebbs("xsEnableRule(\"_2start\");"); aoebbsE("}} "); //如果你使用的是aoebbsZ结束函数,那么必须要以aoebbsZ("/*");结尾 aoebbs("rule _1startZ inactive runImmediately { "); aoebbs("if((trTime()-cActivationTime) >= 300.00000000){"); aoebbs("trSetLighting(\"New England Start\", 130.00000000);"); aoebbs("xsDisableRule(\"_1startZ\");"); aoebbs("xsEnableRule(\"_2start\");"); aoebbsZ("}} /*"); //RM与XS混用,根据RM的设定,生成不同的触发 int PlayerType = rmRandInt(1,2); aoebbs("rule _2start inactive runImmediately { "); aoebbs("if((trTime()-cActivationTime) >= 130.00000000){"); if ( PlayerType == 1 ) { aoebbs("trSetLighting(\"yellow_river\", 140.00000000);"); } if ( PlayerType == 2 ) { aoebbs("trSetLighting(\"yukon\", 140.00000000);"); } aoebbs("xsDisableRule(\"_2start\");"); aoebbs("xsEnableRule(\"_3patagonia\");"); aoebbsE("}} "); if (rmGetNomadStart()!=true) { aoebbs("rule _start active runImmediately { "); aoebbs("if((trTime()-cActivationTime) >= 1.00000000){"); for(p=1;<=cNumberNonGaiaPlayers) { if (rmGetPlayerCiv(p) >= 14 && rmGetPlayerCiv(p) <= 18 ) { aoebbs("trChatSendToPlayer(0,"+p+",\"{63974}\");"); } else if (rmGetPlayerCiv(p) >= 19 && rmGetPlayerCiv(p) <= 26 ) { aoebbs("trChatSendToPlayer(0,"+p+",\"{63973}\");"); } else { aoebbs("trChatSendToPlayer(0,"+p+",\"{31536}\");"); } } aoebbs("xsDisableRule(\"_start\");"); aoebbsE("}} "); } 这里必须要以aoebbsZ结尾,不能用aoebbsE结尾 aoebbs("rule _Temp inactive { if(true){"); aoebbsZ("xsDisableSelf();"); rmCreateTrigger使用说明,利用/**/将触发程序写在rmCreateTrigger中,将不会受到中文路径影响而引起的失效,但最高上限255字符,不能输入空格,只能用tab制表符代替,若输入空格则变成下划线_。 使用方法:当前分了两种转换,一种是封装函数(需要在右上角将aoebbs右边的字母修改成R),建议封装函数,如果不封装函数将会导致在地图中无法使用/**/注释这个触发程序。与上面的触发程序一样,你需要先在头部声明 void aoebbsR(string xs1="",string xs2="") { rmCreateTrigger(xs1+" "+xs2+"/*"); rmCreateTrigger("*/rule _"+xs1+"End"); rmSetTriggerActive(false);} 然后你可以直接使用aoebbsR(srting 触发程序名,string 触发源代码)调用这种触发程序。 例如 aoebbsR("About8"," active runImmediately{if(trTime()>=1){for(m=0;<9){trChatSend(0,\" \");}trChatSendSpoofed(0,\"Forum:\");"+"trChatSendSpoofed(0,\"<color=1,1,0>https://<color=0,1,1>www.aoebbs.net\");xsDisableSelf();}}"); 如果不封装函数将变回 rmCreateTrigger("About8 active runImmediately{if(trTime()>=1){for(m=0;<9){trChatSend(0,\" \");}trChatSendSpoofed(0,\"Forum:\");"+"trChatSendSpoofed(0,\"<color=1,1,0>https://<color=0,1,1>www.aoebbs.net\");xsDisableSelf();}}/*"); rmCreateTrigger("*/rule _About8End"); rmSetTriggerActive(false);
繁体简体互转工具
文字类
汉字、UTF-8互转工具
编码类
UTF-8编码/unicode编码转换
编码类
URL编码转换工具
编码类
在线MD5加密
编码类
base64加密(UTF-8编码)
编码类
计算文字个数
小工具
密码生成器管理员专用
小工具
RGB十六进制
网站类
在线调试css渐变色
网站类
html格式化
网站类
2-64进制转换工具
开发类
xml格式化
开发类
时间戳转换工具
开发类
二维码生成
图片类
图片转换base64编码
图片类
在线识别图片颜色
图片类
词云图生成
图片类
封禁帝国3科技作弊漏洞工具
帝国时代3工具
触发程序转码器
帝国时代3工具
地图坐标生成器
帝国时代3工具