jass是什麼?
語法結構:
//jass語法結構真正玩過war3、或者dota的人,或多或少的都用過worldeditor,只是熟練程度不一樣而已。今天就小試牛刀,跟大家一起做乙個dota中半人馬酋長的被動技能吧,呵呵。灰常簡單,就用編輯器中的功能就行了,不用額外寫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()
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整理。...