Jass 技能模型定義( ) 半人馬酋長的反擊光環

2022-01-12 19:38:46 字數 1953 閱讀 1187

jass是什麼?

語法結構

//jass語法結構

function trig_functions_conditions takes nothing returns boolean

if ( not ( getunittypeid(gettrainedunit()) == '

n000' ) ) then

return

false

endif

return

true

endfunction

function trig_functions_actions takes nothing returns nothing

call createitemloc( '

modt', getunitloc(gettriggerunit()) )

call

endfunction

//c語言的結構

/*其中

gettrainedunit()返回觸發器事件中建立的單位(型別:unit)

getunittypeid( unit ) 返回某乙個單位對應的id(string)

以上的兩個來自遊戲函式庫,第乙個函式的大致意思是 : 如果觸發器事件中建立的單位對應的id等於'n000'返回true,否則返回false

*/public

bool trig_functions_conditions()

/*gettriggerunit()返回觸發器事件中的單位(開啟觸發器的單位,型別:unit)

getunitloc( unit ) 返回某乙個單位所在的位置

'modt'是吸血面罩的id

createitemloc( itemid , position ) 在某個位置建立乙個物品

以上的全部解釋是:在觸發器單位所處的位置,建立乙個吸血面罩。(汗。。。還沒完)

合併在一起:在觸發器單位a所在位置建立乙個吸血面罩,然後把吸血面罩移動到a的物品欄裡。

注:問:為什麼不直接在英雄欄裡建立乙個吸血面罩呢?呵呵,函式庫裡沒有這個功能,這個功能只能間接實現。

除非能改寫這個遊戲使用的函式庫,我覺得我沒這個能力- -|||

*/public

void trig_functions_actions()

真正玩過war3、或者dota的人,或多或少的都用過worldeditor,只是熟練程度不一樣而已。今天就小試牛刀,跟大家一起做乙個dota中半人馬酋長的被動技能吧,呵呵。灰常簡單,就用編輯器中的功能就行了,不用額外寫jass指令碼。

1、首先,開啟地圖編輯器,在技能類裡新建立乙個英雄技能

2、開啟trigger編輯器,新建乙個觸發器事件

事件:當乙個單位被攻擊時

條件:被攻擊單位反擊光環等級大於0

動作:

如果反擊光環等級等於1       那麼被攻擊單位給予攻擊單位10點基礎傷害+被攻擊者力量*0.2的英雄傷害

如果反擊光環等級等於2       那麼被攻擊單位給予攻擊單位20點基礎傷害+被攻擊者力量*0.3的英雄傷害

如果反擊光環等級等於3       那麼被攻擊單位給予攻擊單位30點基礎傷害+被攻擊者力量*0.4的英雄傷害

怎麼樣,簡單吧,動動小手,反擊光環就做出來了。(穴居惡魔的尖刺和先知的荊棘光環不能實現反擊光環的效果,可詳細對比下就知道為什麼這個技能不得不借助觸發器來做了)

衝鋒技能jass指令碼重寫

優化前的指令碼 衝鋒技能 function trig chongfengb conditions takes nothing returns boolean if not getspellabilityid a06b then return false endif return true endfu...

rpg遊戲技能模型

rpg遊戲中,角色有大量的技能,如何為這些技能進行建模?這裡參考魔獸爭霸3編輯器裡面的做法。在單位資料頁面,配置人物有幾個技能,人物的普通攻擊型別,以及普通攻擊的範圍屬性,普通攻擊的弓箭,弓箭發射弧度,弓箭發射速度,弓箭發射位置,弓箭攻擊目標相對位置。在技能配置頁面中,配置人物的技能攻擊的弓箭,bu...

使用nodejs爬前程無憂前端技能排行(半半成品)

最近準備換工作,需要更新一下技能樹。為做到有的放矢,想對招聘方的要求做個統計。正好之前了解過nodejs,所以做了個爬蟲搜尋資料。具體步驟 1 先用fiddler分析請求需要的header和body。2 再用superagent構建上述資料傳送客戶端請求。3 最後對返回的資料使用cheerio整理。...