翔鹰帝国网|帝国时代论坛|帝国时代系列|神话时代
 找回密码
 注册翔鹰会员(昵称)
搜索
查看: 20|回复: 0

[教程分享] XS分享紀錄_光環靈氣代碼

[复制链接]

23

主题

0

精华

141

积分

男爵

耕战
5
鹰币
185
天龙币
0
回帖
41
附庸关系0
 楼主| 发表于 3 天前 | 显示全部楼层 |阅读模式

void XXXXXX(){

int building_id =1217; //直接控制擁有的光環單位
float Effect_value =1.5; //直接控制光環效果百分比或數值(根據xsTaskAmount(5,39); )
float Effect_radius=6; //效果半徑
float Effect_xs_properties=9; //xs的效果類型詳細需要查詢xs效果類型

xsEffectAmount(0, building_id, 63, 32);
//xsEffectAmount(屬性類型(不理他), 光環擁有者 效果63設定戰鬥類型, 備設定戰鬥的類型為32(開啟光環效果));

xsTaskAmount(0,Effect_value); //直接控制擁有的光環單位
xsTaskAmount(1,1);//最少要多少單位才會觸發光環(例如莫納斯帕要最少5隻)
xsTaskAmount(2,Effect_radius);//效果半徑
xsTaskAmount(4,Effect_xs_properties); //xs的效果類型詳細需要查詢xs效果類型
xsTaskAmount(5,39); //對應網站的說明 將「未使用標誌」值變更為 38,這是圓形(位元值 2)+可見(位元值 4)+半透明(位元值 32)光環的可組合位元字段
原本以為最高是38結果玩家測試時發現39似乎是(乘法) 38是加法
估計是1+0 也就是對應 3 5 33 ( 7 35 37 38) 任意值相加+1式乘法 原始為+0加法
(以尚未證實)

xsTaskAmount(6,4);
光環效果(一般常用為4或2)

1 - 僅限玩家自身:
光環或效果只會作用於執行該任務的玩家自己的單位,不影響盟軍或敵人。
2 - 敵方單位:
效果將應用於敵對玩家的單位(與您在遊戲中設定為敵對關係的玩家)。
3 - 無效果:
此設定將禁用光環或效果,不會對任何單位產生影響。
4 - 玩家自身及盟軍單位:
效果將同時作用於執行該任務的玩家單位和與該玩家設定為盟軍的單位。


xsTask(1217, 155, 952, 1);
光環作用單位1217 task光環類型155,光環影響單位952,1未知

不太確定最後一碼的1代表什麼有可能是玩家
例如你可以讓弓箭手(id4)取得這個光環155然後只影響(id906)
xsTask(4, 155, 906, 1);
如果把這個task再補上去總效果如下解釋
}


單位1217與單位4擁有靈氣光環.對於ID952與906 增加150% 傷害(ATK)屬性 範圍半徑6
再說成世紀帝國的人話就是

玩家1 單位"古爾古廟"與單位"弓箭手"擁有靈氣光環.
對於"建築物類型"與"步兵類型"增加150% 傷害(ATK)屬性 範圍半徑6


根據Update 128442
https://www.ageofempires.com/news/age-of-empires-ii-definitive-edition-update-128442/
解析與測試後得到的資訊編輯成容易修改的XS函數
放在這邊做個紀錄已備不時之需


基本上刪除//...文字後可直接使用
(無腦懶人包)

void addArcher1AuraArt(){

int building_id =1217;
float Effect_value =1.5;
float Effect_radius=6;
float Effect_xs_properties=9;

xsEffectAmount(0, building_id, 63, 32);
xsTaskAmount(0,Effect_value);
xsTaskAmount(1,1);
xsTaskAmount(2,Effect_radius);
xsTaskAmount(4,Effect_xs_properties);
xsTaskAmount(5,39);
xsTaskAmount(6,4);

xsTask(1217, 155, 952, 1);
}


有疑問可以留言有緣會在答覆與分享
我把它改成代碼是~可以直接用在編輯器內方便編輯

基本上光環的基本格式是

void AAAAAA(){

xsTaskAmount(0,Effect_value);
xsTaskAmount(1,1);
xsTaskAmount(2,Effect_radius);
xsTaskAmount(4,Effect_xs_properties);
xsTaskAmount(5,39);
xsTaskAmount(6,4);

xsTask(1217, 155, 952, 1);//安裝xsTaskAmount的單位屬性155是光環型態
有其他型態但要多測試
1217=安裝光環(擁有光環)的單位
952=影響的單位ID或群ID
目前測試似乎只能有1個群N個ID沒辦法兩個群(屬種)
例如900(弓箭手),906(步兵)不能同時寫入
只會計算最後寫入
例如:


void addArcher1AuraArt(){

int building_id =1217;
float Effect_value =1.5;
float Effect_radius=6;
float Effect_xs_properties=9;

xsEffectAmount(0, building_id, 63, 32);
xsTaskAmount(0,Effect_value);
xsTaskAmount(1,1);
xsTaskAmount(2,Effect_radius);
xsTaskAmount(4,Effect_xs_properties);
xsTaskAmount(5,39);
xsTaskAmount(6,4);

xsTask(1217, 155, 900, 1);
xsTask(1217, 155, 906, 1);
}

只會觸發906(步兵)900不會觸發~
然後分成兩個XS寫也不行~但如果一個影響傷害一個影響攻擊速度則可以~同時安裝~可能是判定的BUG

最後一個直是1=玩家 也就代表只有玩家1的1217擁有此光環~
目前測試沒有全局設定
但可以用FOR函數+代碼來全場觸發~

有其他問題可以討論~另外歡迎分享與指教~還在測試中~感謝~


MMS|C32


回复

使用道具 举报

本版积分规则

排行榜|小黑屋|翔鹰帝国

GMT+8, 2024-11-24 13:04 , Processed in 0.107569 second(s), 24 queries , File On.

Powered by Hawk Studio  QS Security Corp.® Licensed

Copyright © 2001-2023, Hawkaoe.net All Rights Reserved

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