導航:首頁 > 程序命令 > 90宏命令編寫

90宏命令編寫

發布時間:2022-06-13 07:04:39

Ⅰ 魔獸世界裡面的宏該怎麼寫

判斷表達式,判斷式(Option Set):由若干判斷項組成,封閉在方括弧[]中的真值表達式。繼承自安全模板,能在受保護環境下允許運作的唯一判斷形式。



一,寫宏的基本法則



宏最主要的應用是帶有判斷的施法,這也是下文主要應用的模型。一個典型的這種宏可以抽象成以下形式:



Code(c):



/cast [表達式1-1][表達式1-2]技能1;[表達式2]技能2;技能3



--宏的模型



[項1,項2,項3, ...]



--表達式的模型



--註:表達式中定義單位target=或@不是一種判斷條件,但它重新指定了後續所有涉及目標的判斷和最終技能施放的對象。比如指定了@mouseover後,後續的help/exists/dead之類的判斷都會基於滑鼠懸停的單位。



在這個模型下,討論:


1.邏輯及判斷順序(法則一,!極為重要)



涉及判斷就有真值,但是不要被這個帶有濃重編程和數學色彩的詞嚇倒。概括來說就兩句話:



<1>方括弧內各分項之間是AND的關系,用逗號間隔,只有各個分項都為真整個方括弧(表達式)才為真。方括弧內各項之間沒有順序要求。



<2>各個方括弧之間是OR的關系,判斷順序是從左至右,遇到第一個方括弧為真時即結束判斷,而忽略其後的所有項目。



大部分宏出錯/不能用/判斷混亂的原因就是在此。寫宏的時候必須把條件強的(或者說優先順序高的)判斷放到前面,弱的(泛用型的)判斷放到後面。舉個例子,昨天回答了問答區一個人的提問,他的宏



Code(c):



1:#showtooltip



2:/cast [nomod,spec:2]煉獄沖擊;[nomod,target=mouseover,exists,harm,spec:2]煉獄沖擊



無法對滑鼠懸停目標放。究其原因就是,[nomod,spec:2]這一個表達式弱於後者


[nomod,target=mouseover,exists,harm,spec:2],後者不僅需要無修飾鍵和第二專精,同時需要存在一個可攻擊的滑鼠懸停目標才會為真,導致了後者為真時前者一定為真。


按照上文的<2>,從左至右的順序將永遠是前者表達式率先為真,因而無法對懸停目標施放煉獄沖擊。修改的方法很簡單,把兩個判斷調換位置即可:



Code(c):



1:#showtooltip



2:/cast [nomod,target=mouseover,exists,harm,spec:2]煉獄沖擊;[nomod,spec:2]煉獄沖擊



3:--修改後的宏



當然我在回答中還給出了優化方案,後文會詳細介紹如何優化。



2. 技能整合(法則二)



對於把多個技能整合進一個/cast命令里,在不同的條件下自動判斷施放不同的技能,只有一條格式法則:不同技能之間用分號;間隔。具體可以參照本章開頭提出的宏模型。



要注意,一個/cast任何情況下至多隻能施放一個技能,而且各個方括弧之間仍舊遵循上文提出的<2>判斷順序法則。



3. 技能堆疊(法則三)



如果要做到一鍵同時放出兩個或更多的技能,必須有多行/cast命令,這就是技能堆疊。這種宏通常用於爆發技能,喝葯開飾品開技能需要同時完成。



其法則是:至多隻能擁有一個產生/受到GCD影響的技能,幸運的是爆發類技能和葯水等物品幾乎都設計成不佔用GCD。



Code(c):



1:#showtooltip



2:/cast 奧術強化



3:/use 13



4:/use 14



這樣的宏是可行的,因為飾品和[奧術強化]本身並不產生GCD,甚至再加兩行



Code(c):



/cast 氣定神閑



/cast 奧術沖擊



也是合法的。但是,形如以下的宏是非法的:



Code(c):



1:#showtooltip



2:/cast 驅邪術



3:/cast 審判



4:/cast 十字軍打擊



因為三者都產生GCD和/或被GCD影響,最終的效果是只相當於第一行[驅邪]有用。不要妄圖這種方法能實現按優先順序施放技能。



4. 技能替代(法則四)



技能替代是一個十分有意思的機制,自CTM引進。這種機制允許某[基礎技能]在特殊情況下被另一個[替代技能]替代,而即便在替代的情況下,通過宏命令施放[基礎技能]時會自動定向到[替代技能],其最終的結果是正常施放[替代技能],宏的圖標也會隨之變化。



這種機制有兩種情況:



1)單向的替代,/cast [替代技能]不會施放出基礎技能,但是/cast [基礎技能]是任何情況下通用的。



舉例:神牧的[聖言術:罰]在黃輪和藍輪下轉換成[靜]和[佑],只要宏



Code(c):



1:#showtooltip



2:/cast 聖言術:罰



就能自動根據輪的顏色轉換技能,但因為這是[罰]被單向地替代,反過來如果宏里寫[靜]或[佑],在紅輪下就會放不出技能。



2)雙向的等價,[基礎技能]和[替代技能]是完全等價的,就如同一個技能,任何情況下用宏施放任意一個技能的結果都是放出當前激活的那一個。比如[腐蝕術]和[獻祭]兩者,SS玩家可以分別在不同天賦下試試。



這種機制對於寫宏非常有利,我們不需要為了技能被替換而另開一個宏。更深入的一點,以下兩個技能需要重點提及:



Code(c):



1:#showtooltip



2:/cast 秘法炸彈



3:--這個技能對應法師75級天賦中的[虛空風暴],[寒冰炸彈]和[活動炸彈]。[秘法炸彈]被單向替代。



Code(c):



1:#showtooltip



2:/cast 神聖爆發



3:--這個技能對應牧師90級天賦,也是單向替代。



如果其他職業也有類似的天賦基礎技能,請歡迎補充。



二,寫宏的靈魂:邏輯和優先順序



筆者和自己圈子裡的很多人說過,寫宏其實和編程沒多大關系,需要的是一點數學的邏輯思維。尤其是那些技能整合宏,對在各種判斷條件下到底哪一個技能才是優先的必須心裡有譜。


實際上這是上文中法則一之<2>的推演,本質上仍舊是按照越優先越靠前的方式排列整個技能和判斷序列。正因如此,上文法則一才是宏最最重要的法則,而優先順序正是寫宏的靈魂。



Code(c):



1:#showtooltip



2:/cast [help,dead][mod:shift,help][mod:shift,@player]Soulstone;[mod]Soul


Link;Unending Resolve



3:/targetlasttarget [help,dead]



4:--比如這個術士宏,它的邏輯等價於:



5:--如果[目標死亡且可協助]或[按住shift並且目標可協助]或[其他按住shift的情況下對自己]施放[靈魂石]



6:--否則,如果[有按下其他任何修飾鍵]則施放靈魂鏈接



7:--否則任何其他情況下放盾牆



8:--此外,如果[目標死亡且可協助]還會順帶切換回之前的目標,目的是戰復後目標切回怪身上



有人可能會問,[help,dead][mod:shift,help][mod:shift,@player]這一串看不懂,為什麼先來個shift修飾後面又來一個,這里就涉及到優先順序的問題了。



首先[help,dead]指定了[目標死亡且可協助]的情況,它是優先順序最高的,只要滿足這兩個條件,其他任何條件不管滿足不滿足都會戰復目標。



其次,[mod:shift,help]這一判斷代表[按住shift並且目標可協助],但是它還有個隱藏條件。因為要判斷到這一層,首先必須前者[help,dead]為假,也就是當[目標不可協助或者目標不死]的情況。


所以其實這個判斷應該是[(目標不可協助或者目標不死)並且按住shift並且目標可協助],由於不可協助和可協助互斥,所以實際判斷的真值應該是[目標不死並且按住shift並且目標可協助],滿足這個條件,對目標放靈魂石。



再次,[mod:shift,@player],這里只用了一個判斷即shift修飾,上文說過@player不是判斷條件。但因為前一個判斷已經有一種按下shift的情況被取走了,那麼這里的判斷表示[其他按住shift的情況下對自己]施放靈魂石。



然後,[mod]是個廣義的修飾鍵判斷,當alt/shift/ctrl中任何一個或多個被按下是都為true。當然shift在前面的判斷中被取走,那麼這里表示的是[按下alt/ctrl中任何一個或兩個],他等同於[有按下其他任何修飾鍵]則施放靈魂鏈接。



最後,無盡決心沒有任何判斷,它是恆真的。也就是在其他任何條件下都會施放無盡決心。



上面這個例子有些復雜,下面會通過一個相對簡單的實例來闡述如何運用這種模式寫宏。



法師法術反制及焦點反制/懸停解詛咒整合宏



要求是:焦點可攻擊按住任何修飾鍵都是焦點反制,不按修飾鍵且敵對目標是對目標反制,滑鼠懸停到友善目標是解詛咒,目標是友善目標是解詛咒,默認狀況下是對目標的反制。



首先就是釐清優先順序。



那麼整理之後的優先順序就是:



第一優先順序:焦點反制敵對目標,判斷式[mod,@focus,exists,harm]



第二優先順序:懸停解可協助目標詛咒,判斷式[@mouseover,exists,help]



第三優先順序:對友善目標解詛咒,判斷式[help]



第四優先順序:敵對目標反制,判斷式[harm]



第五優先順序:反制,無判斷式(恆真)



*要注意,harm和help有關系,但並不是help=noharm或者harm=nohelp。harm代表目標可攻擊,help代表目標可協助(能給他加血上buff等),此外還有一種既不能攻擊也不能協助的狀態,稱為"被動(Passive)"。



現在可以直接寫出宏了,那就是:



Code(c):



1:#showtooltip



2:/cast [mod,@focus,exists,harm]法術反制;[@mouseover,exists,help][help]解除詛咒;[harm]法術反制;法術反制



3:--第一行的#showtooltip不是命令行,它的作用是能在滑鼠提示上顯示技能的有關信息



這個宏運作起來是符合要求的,但是可以繼續優化。從邏輯上而言,第四與第五優先順序可以合並,而且exists沒必要與harm和help連用。因此最終的宏是:



Code(c):



1:#showtooltip



2:/cast [mod,@focus,harm]法術反制;[@mouseover,help][help]解除詛咒;法術反制



(1)90宏命令編寫擴展閱讀:


常用宏模板:


1.治療/傷害技能混合宏,附帶指向施法,或者用於解buff和攻擊性技能組合:



Code(c):



1:#showtooltip



2:/cast [@mouseover,help]治療技能;[harm]攻擊技能;治療技能



2. 治療指向宏,無指向對目標:



Code(c):



1:#showtooltip



2:/cast [@mouseover,help][]治療技能



3. 經典的修飾鍵整合宏:



Code(c):



1:#showtooltip



2:/cast [mod]技能1;技能2



或者更多的技能:



Code(c):



1:#showtooltip



2:/cast [mod:shift]技能1;[mod:ctrl]技能2;[mod]技能3;技能4



4. 翻頁宏:



Code(c):



1:#showtooltip



2:/cast 技能



3:/changeactionbar n



這個宏最近已經被玩壞了,n可取1-6。



5. 花式宏,雙修飾鍵/三修飾鍵判斷:



Code(c):



1:#showtooltip



2:/cast [mod:alt,mod:ctrl,mod:shift]技能



按照需要自己整合,就是這個套路。



6. 花式用法:



拆分1+alt和alt+1(按鍵順序)。



*1+alt指的是先按住1然後不放去按alt,保持alt松開1(此時放技能),最後松開alt。



這個用法需要關閉界面設置中的點擊施法選項。



按鍵綁定中綁定alt+1,在這個動作按鈕上放技能1



建立一個宏



Code(c):



1:#showtooltip



2:/cast [mod]技能2;技能3



把這個宏放到鍵1上。



其結果就是alt+1放出技能1,1+alt放出技能2,直接按1是技能3。

Ⅱ 新人求助 羅技G90怎麼設置滑鼠宏

打開驅動,滑鼠大圖右側的三個圖標,點右邊的帶齒輪的計算機圖標為自動游戲檢測方式,這樣才能設宏,再點下面圖標兩個藍箭頭指的滑鼠小圖標,這時出現按鍵設定,點擊滑鼠大圖上的按鍵位置,點編輯命令,「按鍵」是映射鍵盤單鍵,「多鍵」是設定宏,鍵盤動作是可以錄制的,滑鼠動作不能錄只能點擊右鍵插入,「文本塊」可以錄制長文本,可以用來當宏動作,不過不可以插入滑鼠動作;
「滑鼠功能」是一般的最基本的動作,不可插入宏;
羅技的滑鼠很怪,必須保留1個左鍵和右鍵,佔用寶貴的按鍵資源,在所有的配置文件都是這樣,宏驅動必須打開的情況下才能使用宏。

Ⅲ 魔獸世界宏命令製作

2.0-TBC 法師PVP用宏大匯集.歡迎各路高手補充(此帖是轉的希望大家不要拿這個說事)

2.0-TBC 法師PVP用宏大匯集.歡迎各路高手補充Sample TextSample Text2.0-TBC 法師PVP用宏大匯集.歡迎各路高手補充Sample Text2.0-TBC 法師PVP用宏大匯集.歡迎各路高手補充.繼續更新2.0常用插件下載地址.本帖將持續更新.2007.6.26
隨著2.0的到來,宏命令的全面修改,過去大多數宏沒有辦法使用,於是我測試了一點實用的新宏,都可以正常使用,主要用於PvP,這里與大家分享一下。

2.0常用插件下載地址. http://www.wowui.cn/ui/wow2/index.html
此網頁不屬於NGA網站,NGA不保證其安全性
繼續訪問 取消 不再提示我[ http://www.wowui.cn/ui/wow2/index.html ]

說明:
1, "#showtooltip+技能名字" 這個命令是使宏圖標顯示出技能的冷卻,如果裝有Cooldown顯示類插件,可以以此命令實現宏圖標顯示技能冷卻. 同時滑鼠移動帶該宏圖標上不會像過去一樣只顯示宏名字,而是顯示"技能名字"這個你所輸入的技能的說明.
2, "/stopcasting" 同1.12版本的"/script SpellStopCasting();"效果一樣,只是舊版的不好用了,換個方式

瑟銀手雷:
--------------------------------
#showtooltip 瑟銀手雷
/stopcasting
/use 瑟銀手雷
--------------------------------
因為鐵皮手雷在更新後對53級以上目標就會有幾率失敗而對60級的目標幾乎是90%以上的失敗率所以基本作廢了,喜歡投手雷的朋友可以換瑟銀玩.
宏同過去的鐵皮宏,使用途中按為取消.

雙開宏:
--------------------------------
#showtooltip 奧術能量
/cast 奧術能量
/stopcasting
/use 14
--------------------------------
注: 14是裝飾品欄下一格,如果你傷害護符放在上一格請把14換成13,下同.

閃現宏:
--------------------------------
#showtooltip 閃現術
/stopcasting
/cast 閃現術
--------------------------------
中斷當前正在施放的法術直接閃現.

急冷宏:
--------------------------------
#showtooltip 急速冷卻
/stopcasting
/cast 急速冷卻
--------------------------------
中斷當前正在施放的法術直接急冷.

反制宏:
--------------------------------
#showtooltip 法術反制
/stopcasting
/Cast 法術反制
--------------------------------
中斷當前正在施放的法術直接反制.

火球/炎爆宏:
--------------------------------
#showtooltip 火球術
/cast [modifier:alt] 炎爆術; 火球術
--------------------------------
直接按是放火球,按住Alt按是放炎爆.

冰箭/1級冰箭宏:
--------------------------------
#showtooltip 寒冰箭
/cast [modifier:alt] 寒冰箭(等級 1); 寒冰箭
--------------------------------
同上面的火球宏,直接按滿級冰箭,按住Alt按是1級冰箭.如果想把Alt換成別的鍵請修改[modifier:alt]中的"alt",可以改成ctrl,shift等
當然也可以用同樣方法實現火球/1級火球的合並.

Nova宏:
--------------------------------
#showtooltip 冰霜新星(等級 1)
/stopcasting
/cast [nomounted] 冰霜新星(等級 1)
/dismount [mounted]
--------------------------------
不在坐騎上則中斷當前正在施放的法術放1級冰環,在坐騎上則下馬什麼都不做(由於2.0的修改,直接按技能會空中下馬並放出技能,習慣Ezdismount的按技能下馬再按技能才放的朋友可能不習慣,就可以用這個)

冰護宏:
--------------------------------
#showtooltip 寒冰護體
/stopcasting
/cast 寒冰護體
--------------------------------

無視公共冷卻開關冰箱宏:
--------------------------------
#showtooltip 寒冰屏障
/stopcasting
/cancelAura 寒冰屏障
/cast 寒冰屏障
--------------------------------
有冰箱則關冰箱,無冰箱則中斷施法開冰箱.

從大到小按順序吃藍石宏:
--------------------------------
#showtooltip 法力紅寶石
/use 法力紅寶石
/use 法力黃水晶
/use 法力翡翠
/use 法力瑪瑙
--------------------------------
(吃其他東西也同理/use 物品名稱)

寶寶+遠程Nova宏:
--------------------------------
#showtooltip [pet] 冰凍術
#showtooltip [nopet] 召喚水元素
/cast [nopet] 召喚水元素
/click [pet] PetActionButton5
--------------------------------
沒有寶寶的情況下圖標顯示"召喚水元素"技能說明並顯示該技能冷卻,有寶寶的情況下圖標顯示寶寶的遠程冰環"冰凍術"技能說明及冷卻.
在沒有寶寶時按下則召喚寶寶,有寶寶是按則施放寶寶的遠程冰凍術.
注: 寶寶的Nova在默認寵物技能條的第5格,請不要移動它,如果放到別的格子請自行修改PetActionButton5
這句中"5"為相應的數字.

護符單開氣定炎爆:
--------------------------------
#showtooltip 氣定神閑
/use 14
/cast 氣定神閑
/stopcasting
/cast 炎爆術
--------------------------------
如果不用開護符就吧/use 14這行去掉,如果想改成氣定冰箭就把"炎爆術"改成"寒冰箭".

雙開氣定炎爆:
--------------------------------
#showtooltip 氣定神閑
/stopcasting
/cast 奧術能量
/stopcasting
/use 14
/cast 氣定神閑
/stopcasting
/cast 炎爆術
--------------------------------
同樣"炎爆術"改成"寒冰箭"就是雙開氣定冰箭宏了

一樓朋友補充的宏修改成中文版適用:
召喚水元素和水元素攻擊宏:
-----------------------------------------
/cast [nopet] 召喚水元素
/stopmacro [target=pettarget, exists]
/petattack
-----------------------------------------
註:點擊一次將召喚水元素
再點一次水元素將攻擊你的目標,在召喚後的lag時間內重復點擊可以讓寵物立即進入攻擊狀態並不會取消第一個水球.
綳帶宏

--------------------------
/use 戰歌峽谷符文布綳帶
/use 污染者的符文布綳帶
/USE 奧特蘭克厚符文布綳帶
/USE 厚符文布綳帶
---------------------------
不用再換綳帶了.一鍵搞定.感謝提供者.

奧爆宏

----------------------------
/cast [noharm] 魔爆術(等級 1);魔爆術
---------------------------------
有目標時頂級奧爆.無目標時1級

下面是引用kidwish於2007-06-27 10:14發表的Re:2.0-TBC 法師PVP用宏大匯集.歡迎各路高手補充.繼續更新2.0常用插件下載地:
1鍵 龍息3連招
#showtooltip
/stopcasting
/castsequence reset=20 龍息術, 灼燒, 沖擊波

1鍵 雙魔法防護盾
#showtooltip
/stopcasting
/cast [modifier:shift] 防護冰霜結界; 防護火焰結界

反控制宏(13 - 第一個飾品位放徽記), 按下ALT使用種族技能,不按使用徽記
#showtooltip
/stopcasting
/cast [modifier:alt] 逃脫大師(亡靈意志,石像形態)
/stopmacro [modifier:alt]
/use 13

換高精神武器喚醒再換回原武器宏
#showtooltip
/equip [modifier:shift] 搜魂者
/stopmacro [modifier:shift]
/equip 婭爾羅的意志
/cast 喚醒

1鍵 做寶石宏
/showtooltip
/castsequence 製造魔法紅寶石, 製造魔法黃水晶, 製造魔法翡翠, 製造魔法瑪瑙

1鍵 護甲 滑鼠右冰甲,其他魔甲
#showtooltip
/cast [button:2] 冰甲術; 魔甲術;

1鍵 加智力 目標自己,滑鼠右,給自己加單體智力; 目標友放,滑鼠左,單體智力; 按住ctrl,滑鼠左鍵,在隊伍里,加全體智力
#Showtooltip
/cast [target=player,button:2] 奧術智慧
/cast [button:1] 奧術智慧
/cast [modifier:ctrl,group,button:1] 奧術光輝

1鍵 廚師吃喝宏 鼠左鍵吃麵包,鼠右鍵喝水,按住alt 鼠左鍵 做麵包, 按住alt 鼠右鍵 做水

#show none
/use [nomodifier:alt,button:1] 魔法肉貴麵包
/use [nomodifier:alt,button:2] 魔法晶水
/cast [modifier:alt, button:1] 製造魔法肉貴麵包
/cast [modifier:alt,button:2] 製造魔法晶水

冰環集成宏, 按一下冰環,按2下有水元素則冰環, 無水元素則招, 再按水元素冰環
/castsequence reset=21 冰霜新星, [nopet] 召喚水元素
/click [pet] PetActionButton5

群控超級羊
/focus [button:1]
/cast [button:1,nomodifier:shift] 變形術:豬; [target=focus,exists,button:2,nomodifier:shift] 變形術:豬
/stopmacro [nomodifier:shift]
/target [button:2] focus
/castsequence 氣定神閑, 變形術:豬
隨機變形豬或羊
/script if UnitCanAttack("target","player") then CastSpellByName("魔暴術");else CastSpellByName("魔暴術(等級 1)");end;
隨機變羊,豬,烏龜宏
/script local s,m,r={"",":龜",":豬"},{"%t變羊了","%t是烏龜","%t是豬"},random(3); CastSpellByName("變形術"..s[r]);SendChatMessage(m[r],"yell");

冰箱宏

#showtooltip 寒冰屏障
/stopcasting
/cancelAura 寒冰屏障
/castSequence reset=240 寒冰屏障,急速冷卻

按一下冰箱,再按一下出冰箱。冰箱冷卻中,按一下急冷,再按一下冰箱。沒加浮冰的把240換成300。
羊上偵測宏

#showtooltip 變形術
/castsequence reset=5 變形術, 偵測魔法

偵測必須羊後5秒上 否則會再變一次羊
神龜
/castSequence reset=24 寒冰護體,法力護盾
定羊
#showtooltip 氣定神閑
/cast 氣定神閑
/stopcasting
/cast 變形術:豬

參考資料:http://bbs.game.mop.com/index.html?url=http://bbs.game.mop.com/index.php?gid=2#

Ⅳ 數控編程宏程序的指令

宏程序編程
一 變數
普通加工程序直接用數值指定G代碼和移動距離;例如,GO1和X100.0。使用用戶宏程序時,數值可以直接指定或用變數指定。當用變數時,變數值可用程序或用MDI面板上的操作改變。
#1=#2+100
G01 X#1 F300
說明:
變數的表示
計算機允許使用變數名,用戶宏程序不行。變數用變數符號(#)和後面的變數號指定。
例如:#1
表達式可以用於指定變數號。此時,表達式必須封閉在括弧中。
例如:#[#1+#2-12]
變數的類型
變數根據變數號可以分成四種類型
變數號
變數類型
功能
#0
空變數
該變數總是空,沒有值能賦給該變數.
#1-#33
局部變數
局部變數只能用在宏程序中存儲數據,例如,運算結果.當斷電時,局部變數被初始化為空.調用宏程序時,自變數對局部變數賦值,
#100-#199
#500-#999
公共變數
公共變數在不同的宏程序中的意義相同.當斷電時,變數#100-#199初始化為空.變數#500-#999的數據保存,即使斷電也不丟失.
#1000
系統變數
系統變數用於讀和寫CNC運行時各種數據的變化,例如,刀具的當前位置和補償值.
變數值的范圍
局部變數和公共變數可以有0值或下面范圍中的值:
-1047到-10-29或-10-2到-1047
如果計算結果超出有效范圍,則發出P/S報警NO.111.
小數點的省略
當在程序中定義變數值時,小數點可以省略。
例:當定義#1=123;變數#1的實際值是123.000。
變數的引用
為在程序中使用變數值,指定後跟變數號的地址。當用表達式指定變數時,要把表達式放在括弧中。
例如:G01X[#1+#2]F#3;
被引用變數的值根據地址的最小設定單位自動地舍入。
例如:
當G00X#/;以1/1000mm的單位執行時,CNC把123456賦值給變數#1,實際指令值為G00X12346.
改變引用變數的值的符號,要把負號(-)放在#的前面。
例如:G00X-#1
當引用未定義的變數時,變數及地址都被忽略。
例如:當變數#1的值是0,並且變數#2的值是空時,G00X#1 Y#2的執行結果為G00X0。
雙軌跡(雙軌跡控制)的公共變數
對雙軌跡控制,系統為每一軌跡都提供了單獨的宏變數,但是,根據參數N0.6036和6037的設定,某些公共變數可同時用於兩個軌跡。
未定義的變數
當變數值未定義時,這樣的變數成為空變數。變數#0總是空變數。它不能寫,只能讀。
引用
當引用一個未定義的變數時,地址本身也被忽略。
當#1=
當#1=0
G90 X100 Y#1
G90 X100
G90 X100 Y#1
G90 X100 Y0
(b) 運算
除了用賦值以外,其餘情況下與0相同。
當#1=時
當#1=0時
#2=#1
#2=
#2=#1
#2=0
#2=#*5
#2=0
#2=#*5
#2=0
#2=#1+#1
#2=0
#2=#1+#1
#2=0
(c)條件表達式
EQ和NE中的不同於0。
當#1=時
當#1=0時
#1EQ#0 成立
#1EQ#0 不成立
#1 NE #0 成立
#1 NE #0 不成立
#1 GE #0 成立
#1 GE #0 不成立
#1 GT #0 不成立
#1 GT #0 不成立
限制
程序號,順序號和任選程序段跳轉號不能使用變數。
例:下面情況不能使用變數:
0#1;
/#2G00X100.0;
N#3Y200.0;
二 算術和邏輯運算
下面表中列出的運算可以在變數中執行。運算符右邊的表達式可包含常量和或由函數或運算符組成的變數。表達式中的變數#j和#k可以用常數賦值。左邊的變數也可以用表達式賦值。

說明:
角度單位
函數SIN ,COS,ASIN,ACOS,TAN和ATAN的角度單位是度。如90°30'表示為90.5度。
ARCSIN # i= ASIN[#j]
(1)取值范圍如下:
當參數(NO.6004#0)NAT位設為0時,270°~90°
當參數(NO.6004#0)NAT位設為1時,-90°~90°
(2)當#j超出-1到1的范圍時,發出P/S報警NO.111.
(3)常數可替代變數#j
ARCCOS #i=ACOS[#j] 取值范圍從180°~0° 當#j超出-1到1的范圍時,發出P/S報警NO.111. 常數可替代變數#j
三 程序舉例
銑橢圓:

軌跡:

橢圓程序代碼如下:
N10 G54 G90 G0 S1500 M03
N12 X0 Y0 Z20.
N14 G0 Z1
N16 G1 Z-5. F150.
N18 G41 D1
N20 #1=0
N22 #2=34
N24 #3=24
N26 #4=#2*COS[#1]
N28 #5=#3*SIN[#1]
N30 #10=#4*COS[45]-#5*SIN[45]
N32 #11=#4*SIN[45]+#5*COS[45]
N34 G1 X#10 Y#11
N36 #1=#1+1
N38 IF [#1 LT 370] GOTO26
N40 G40 G1 X0 Y0
N42 G0 Z100
N44 M30
銑矩形槽:

銑矩形槽代碼如下:
#102=0.
N3#100=0.
#101=0.
#103=200.
#104=400.
G91G28Z0.
G0G90G54X0.Y0.
G43H1Z20.
M3S2000.
N4G0X#100Y#101
G01Z#102F200.
#102=#102-2.
IF[#102EQ-50.]GOTO1
GOTO2
N2
N4X#104F500.
Y#103
X#100
Y#101
#100=#100+10.
#101=#101+10.
#103=#103-10.
#104=#104-10.
IF[#100EQ100.]GOTO3
GOTO4
N3
N1
M5
M9
G91G28Z0.
G28Y0.
M30
銑傾斜3度的面:

軌跡:

銑傾斜3度的面的代碼如下:
O0001
#[#1+1*2]=1
G65P9012L1A0B0.1C4I100J3K0
M30
宏程序O9012代碼如下:
G54 G90 G00 X[#3] Y0 Z100
S500 M3
G01 Z0 F300
WHILE[#1LE10]DO1
#7= #1/TAN[#5]+#3
G1Z-#1 X#7
#8=#6/2-ROUND[#6/2]
IF[#8EQ0]GOTO10
G1Y0
GOTO20
N10 Y#4
N20#1=#1+#2
#6=#6+1
END1
G0
Z100
銑半球:

軌跡:

銑半球代碼如下:
G90G0G54X-10.Y0M3S4500
G43Z50.H1M8
#1=0.5
WHILE[#1LE50.]DO1
#2=50.-#1
#3=SQRT[2500.-[#2*#2]]
G1Z-#1F20
X-#3F500
G2I#3
#1=#1+0.5
END1
G0Z50.M5
M30
銑喇叭:

銑喇叭代碼如下:
M03 S500
M06 T01
#1=0
#2=0
G0 Z15
X150 Y0
N11
#2=30*SIN[#1]
#3=30+30*[1-COS[#1]]
G01 Z-#2 F40
G41 X#3 D01
G03 I-#3
G40 G01 X150 Y0
#1=#1+1
IF [#1 LE 90] GOTO 11
G0 Z30
M30

Ⅳ 數控車床宏程序怎麼編啊

宏程序序
大家都在問宏程序~其實說起來宏就是用公式來加工零件的,比如說橢圓,如果沒有宏的話,我們要逐點算出曲線上的點,然後慢慢來用直線逼近,如果是個光潔度要求很高的工件的話,那麼需要計算很多的點,可是應用了宏後,我們把橢圓公式輸入到系統中然後我們給出Z坐標並且每次加10um那麼宏就會自動算出X坐標並且進行切削,實際上宏在程序中主要起到的是運算作用..宏一般分為A類宏和B類宏.A類宏是以G65 Hxx P#xx Q#xx R#xx的格式輸入的,而B類宏程序則是
以直接的公式和語言輸入的和C語言很相似在0i系統中應用比較廣.由於現在B類宏程序的大量使
用很多書都進行了介紹這里我就不再重復了,但在一些老系統中,比如法蘭克OTD系統中由於它的MDI鍵盤上沒有公式符號,連最簡單的等於號都沒有,為此如果應用B類宏程序的話就只能在計算機上編好再通過RSN-32介面傳輸的數控系統中,可是如果我們沒有PC機和RSN-32電纜的話怎麼辦呢,那麼只有通過A類宏程序來進行宏程序編制了,下面我介紹一下A類宏的引用;
A類宏是用G65 Hxx P#xx Q#xx R#xx或G65 Hxx P#xx Qxx Rxx格式輸入的xx的意思就是數值,是以um級的量輸入的,比如你輸入100那就是0.1MM~~~~~.#xx就是變數號,關於變數號是什麼意思再不知道的的話我也就沒治了,不過還是教一下吧,變數號就是把數值代入到一個固定的地址中,固定的地址就是變數,一般OTD系統中有#0~~~#100~#149~~~#500~#531關閉電源時變數#100~#149被初始化成「空」,而變數#500~#531保持數據.我們如果說#100=30那麼現在#100地址內的數據就是30了,就是這么簡單.好現在我來說一下H代碼,大家可以看到A類宏的標准格式中#xx和xx都是數值,而G65表示使用A類宏,那麼這個H就是要表示各個數值和變數號內的數值或者各個變數號內的數值與其他變數號內的數值之間要進行一個什麼運算,可以說你了解了H代碼A類宏程序你基本就可以應用了,好,現在說一下H代碼的各個含義:
以下都以#100和#101和#102,及數值10和20做為例子,應用的時候別把他們當格式就行,
基本指令:
H01賦值;格式:G65H01P#101Q#102:把#102內的數值賦予到#101中
G65H01P#101Q#10:把10賦予到#101中
H02加指令;格式G65 H02 P#101 Q#102 R#103,把#102的數值加上#103的數值賦予#101
G65 H02 P#101 Q#102 R10
G65 H02 P#101 Q10 R#103
G65 H02 P#101 Q10 R20
上面4個都是加指令的格式都是把Q後面的數值或變數號內的數值加上R後面的數
值或變數號內的數值然後等於到P後面的變數號中.
H03減指令;格式G65 H03 P#101 Q#102 R#103,把#102的數值減去#103的數值賦予#101
G65 H03 P#101 Q#102 R10
G65 H03 P#101 Q10 R#103
G65 H03 P#101 Q20 R10
上面4個都是減指令的格式都是把Q後面的數值或變數號內的數值減去R後面的數
值或變數號內的數值然後等於到P後面的變數號中.
H04乘指令;格式G65 H04 P#101 Q#102 R#103,把#102的數值乘上#103的數值賦予#101
G65 H04 P#101 Q#102 R10
G65 H04 P#101 Q10 R#103
G65 H04 P#101 Q20 R10
上面4個都是乘指令的格式都是把Q後面的數值或變數號內的數值乘上R後面的數
值或變數號內的數值然後等於到P後面的變數號中.
H05除指令;格式G65 H05P#101 Q#102 R#103,把#102的數值除以#103的數值賦予#101
G65 H05 P#101 Q#102 R10
G65 H05 P#101 Q10 R#103
G65 H05 P#101 Q20 R10
上面4個都是除指令格式都是把Q後面的數值或變數號內的數值除以R後面的數
值或變數號內的數值然後等於到P後面的變數號中.(余數不存,除數如果為0的話會出現112報警)
三角函數指令:
H31 SIN正玄函數指令:格式G65 H31 P#101 Q#102 R#103;含義Q後面的#102是三角形的斜邊R後面的#103內存的是角度.結果是#101=#102*SIN#103,也就是說可以直接用這個求出三角形的另
一條邊長.和以前的指令一樣Q和R後面也可以直接寫數值.
H32 COS余玄函數指令:格式G65 H32 #101 Q#102 R#103;含義Q後面的#102是三角形的斜邊
R後面的#103內存的是角度.結果是#101=#102*COS#103,也就是說可以直接用這個求出三角形的
另一條邊長.和以前的指令一樣Q和R後面也可以直接寫數值.
H33和H34本來應該是TAN 和ATAN的可是經過我使用得數並不準確,希望有知道的人能夠告訴我是為什麼?
開平方根指令:
H21;格式G65 H21 P#101 Q#102 ;意思是把#102內的數值開了平方根然後存到#101中(這個指令是非常重要的如果在車橢圓的時候沒有開平方跟的指令是沒可能用宏做到的.
無條件轉移指令:
H80;格式:G65 H80 P10 ;直接跳到第10程序段
有條件轉移指令:
H81 H82 H83 H84 H85 H86 ,分別是等於就轉的H81;不等於就轉的H82;小於就轉的H83;大於就轉的H84;小於等於就轉的H85;大於等於就轉的H86;
格式:G65 H8x P10 Q#101 R#102;將#101內的數值和#102內的數值相比較,按上面的H8x的碼帶入H8x中去,如果條件符合就跳到第10程序段,如果不符合就繼續執行下面的程序段.
用 戶 宏 程 序
能完成某一功能的一系列指令像子程序那樣存入存儲器,用一個總指令來它們,使用時只需給出這個總指令就能執行其功能。
l 所存入的這一系列指令——用戶宏程序
l 調用宏程序的指令————宏指令
l 特點:使用變數
一. 變數的表示和使用
(一) 變數表示
#I(I=1,2,3,…)或#[<式子>]
例:#5,#109,#501,#[#1+#2-12]
(二) 變數的使用
1. 地址字後面指定變數號或公式
格式:<地址字>#I
<地址字>-#I
<地址字>[<式子>]
例:F#103,設#103=15則為F15
Z-#110,設#110=250則為Z-250
X[#24+#18*COS[#1]]
2. 變數號可用變數代替
例:#[#30],設#30=3則為#3
3. 變數不能使用地址O,N,I
例:下述方法下允許
O#1;
I#26.00×100.0;
N#3Z200.0;
4. 變數號所對應的變數,對每個地址來說,都有具體數值范圍
例:#30=1100時,則M#30是不允許的
5. #0為空變數,沒有定義變數值的變數也是空變數
6. 變數值定義:
程序定義時可省略小數點,例:#123=149
MDI鍵盤輸一. 變數的種類
1. 局部變數#1~#33
一個在宏程序中局部使用的變數
例:A宏程序B宏程序
……
#10=20X#10不表示X20
……
斷電後清空,調用宏程序時代入變數值
2. 公共變數#100~#149,#500~#531
各用戶宏程序內公用的變數
例:上例中#10改用#100時,B宏程序中的
X#100表示X20
#100~#149斷電後清空
#500~#531保持型變數(斷電後不丟失)
3. 系統變數
固定用途的變數,其值取決於系統的狀態
例:#2001值為1號刀補X軸補償值
#5221值為X軸G54工件原點偏置值
入時必須輸入小數點,小數點省略時單位為μm
一. 運算指令
運算式的右邊可以是常數、變數、函數、式子
式中#j,#k也可為常量
式子右邊為變數號、運算式
1. 定義
#I=#j
2. 算術運算
#I=#j+#k
#I=#j-#k
#I=#j*#k
#I=#j/#k
3. 邏輯運算
#I=#JOK#k
#I=#JXOK#k
#I=#JAND#k
4. 函數
#I=SIN[#j] 正弦
#I=COS[#j] 餘弦
#I=TAN[#j] 正切
#I=ATAN[#j] 反正切
#I=SQRT[#j]平方根
#I=ABS[#j]絕對值
#I=ROUND[#j]四捨五入化整
#I=FIX[#j]下取整
#I=FUP[#j]上取整
#I=BIN[#j]BCD→BIN(二進制)
#I=BCN[#j]BIN→BCD
1. 說明
1) 角度單位為度
例:90度30分為90.5度
2) ATAN函數後的兩個邊長要用「1」隔開
例:#1=ATAN[1]/[-1]時,#1為了35.0
3) ROUND用於語句中的地址,按各地址的最小設定單位進行四捨五入
例:設#1=1.2345,#2=2.3456,設定單位1μm
G91X-#1;X-1.235
X-#2F300;X-2.346
X[#1+#2];X3.580
未返回原處,應改為
X[ROUND[#1]+ROUND[#2]];
4) 取整後的絕對值比原值大為上取整,反之為下取整
例:設#1=1.2,#2=-1.2時
若#3=FUP[#1]時,則#3=2.0
若#3=FIX[#1]時,則#3=1.0
若#3=FUP[#2]時,則#3=-2.0
若#3=FIX[#2]時,則#3=-1.0
5) 指令函數時,可只寫開頭2個字母
例:ROUND→RO
FIX→FI
6) 優先順序
函數→乘除(*,1,AND)→加減(+,-,OR,XOR)
例:#1=#2+#3*SIN[#4];
7) 括弧為中括弧,最多5重,園括弧用於注釋語句
例:#1=SIN[[[#2+#3]*#4+#5]*#6];(3重)
一. 轉移與循環指令
1.無條件的轉移
格式:GOTO1;
GOTO#10;
2.條件轉移
格式:IF[<條件式>]GOTOn
條件式:
#jEQ#k 表示=
#jNE#k 表示≠
#jGT#k 表示>
#jLT#k 表示<
#jGE#k 表示≥
#jLE#k 表示≤
例:IF[#1GT10]GOTO100;

N100G00691X10;
例:求1到10之和
O9500;
#1=0
#2=1
N1IF[#2GT10]GOTO2
#1=#1+#2;
#2=#2+1;
GOTO1
N2M301.循環
格式:WHILE[<條件式>]DOm;(m=1,2,3)



ENDm
說明:1.條件滿足時,執行DOm到ENDm,則從DOm的程序段
不滿足時,執行DOm到ENDm的程序段
2.省略WHILE語句只有DOm…ENDm,則從DOm到ENDm之間形成死循環
3.嵌套
4.EQNE時,空和「0」不同
其他條件下,空和「0」相同
例:求1到10之和
O0001;
#1=0;
#2=1;
WHILE[#2LE10]DO1;
#1=#1+#2;
#2=#2+#1;
END1;
M30; 這是簡單的拋物線程序! G99
S800M3
T0101
G0 X30. .Z10.
#1=0
N10 #2=SQRT[2*#1]
G1X[2*#2]Z-#1F0.05
#1=#1+0.1
IF [#1 LE 50] GOTO 10
G0X30
Z100
M5
M30

Ⅵ 魔獸世界 5.4 90級狂怒戰士宏指令

其實不建議新手直升90的,因為升級的時間都是在了解這個游戲和你的職業,就算直接到了90也是要花大量時間來熟悉游戲熟悉職業的,這是菜鳥脫菜的時間,逃不掉。
既然已經升了,就先這么玩著吧,熟悉熟悉游戲。
關於打高輸出。首先把每個技能的說明看看,記住他們的效果、大概傷害、消耗、冷卻時間什麼的(幾十個技能還有天賦雕文,夠你記一會兒了),再去木樁打兩下試試。這樣你就應該基本了解狂暴戰的機制了。
然後看看這個狂暴戰指南:http://bbs.ngacn.cc/read.php?tid=6427035。東西很多,耐心看,不懂的地方去游戲里看看技能說明,再不懂問我。
關於宏,其實不用也沒問題,實在要用的話那個指南里也有說到,打副本夠用了。

Ⅶ 藏劍90pve輸出宏

這套有點老了猛虎現在已經沒有了,平湖黃龍不推薦宏,有些boss你不能去正面的,然後就是沒有移動跳躍的判定,這個斷潮應該會吃掉鳳鳴吧,輕劍換重劍劍氣接近90就行了,嘯日一般都有10劍氣秘籍吧,你又不能穩穩卡90劍氣,有點浪費了,而且這個應該是夕照優先於雲飛的,現在一般都是雲飛優先於夕照
宏命令就是這個代碼
名字隨便吧,新建宏一?

Ⅷ 數控車床宏程序怎麼寫最好帶步驟解說

數控車床宏程序是非常靈活且因情況而異的,所以數控車床宏程序編程掌握以下參數即可:

普通加工程序直接用數值指定G代碼和移動距離;例如,GO1和X100.0。使用用戶宏程序時,數值可以直接指定或用變數指定。當用變數時,變數值可用程序或用MDI面板上的操作改變。

例如:#1=#2+100;G01X#1F300。

量的表示:計算機允許使用變數名,用戶宏程序不行。變數用變數符號(#)和後面的變數號指定。例如:#1,表達式可以用於指定變數號。

此時,表達式必須封閉在括弧中。例如:#[#1+#2-12]。

變數根據變數號可以分成四種類型:#0空變數,該變數總是空,沒有值能賦給該變數。#1-#33局部變數,局部變數只能用在宏程序中存儲數據,例如,運算結果。當斷電時,局部變數被初始化為空。調用宏程序時,自變數對局部變數賦值。

#100-#199、#500-#999公共變數,公共變數在不同的宏程序中的意義相同。當斷電時,變數#100-#199初始化為空。變數#500-#999的數據保存,即使斷電也不丟失。#1000---系統變數。系統變數用於讀和寫CNC運行時各種數據的變化,例如,刀具的當前位置,補償值。

局部變數和公共變數可以有0值或下面范圍中的值:-1047到-10-29或-10-2到-1047,如果計算結果超出有效范圍,則發出P/S報警NO.111。

當在程序中定義變數值時,小數點可以省略。例:當定義#1=123;變數#1的實際值是123.000。

為在程序中使用變數值,指定後跟變數號的地址。當用表達式指定變數時,要把表達式放在括弧中。例如:G01X[#1+#2]F#3;

被引用變數的值根據地址的最小設定單位自動地舍入。例如:當G00X#/;以1/1000mm的單位執行時,CNC把123456賦值給變數#1,實際指令值為G00X12346.改變引用變數的值的符號,要把負號(-)放在#的前面。

例如:G00X-#1當引用未定義的變數時,變數及地址都被忽略。例如:當變數#1的值是0,並且變數#2的值是空時,G00X#1Y#2的執行結果為G00X0。

(8)90宏命令編寫擴展閱讀:

數控宏程序編程是用變數的方式進行數控編程的方法,數控宏程序分為A類和B類宏程序,其中A類宏程序比較老,編寫起來也比較費時費力,B類宏程序類似於C語言的編程,編寫起來也很方便。

不論是A類還B類宏程序,它們運行的效果都是一樣的。

編寫一些大批相似零件的時候,可以用宏程序編寫,這樣只需要改動幾個數據就可以了,沒有必要進行大量重復編程。

Ⅸ 魔獸世界宏命令是什麼 我是新手ZS剛90級。改怎麼用宏我是武器 防戰

聊天框左上角按鈕,有宏按鈕,點出來,可以自己設計宏按鈕,是用來快捷的讓玩家設計自己想要得連續技能,比如我想按一下,把盾牆和盾牌屏障在同一秒用了,就可以設計宏:
/ues 盾牆
/ues 盾牌屏障
或者很多不公CD的技能,自己用大腦開發。用英文。
謝謝,自己打的,整個最佳吧

Ⅹ 魔獸世界宏命令編寫要計算機知識嗎

計算機語言有很多種,我雖然不專業,也沒系統的學過,在編程上只接觸過plc,但我還是用一晚上的時間編寫出了魔獸世界自動釣魚腳本,成功率90%以上。有幸我是個魔獸世界玩家,宏命令這塊沒有接觸過,不過也會舉一反三的寫些娛樂性的宏,雖然沒什麼用處,但最起碼我是編程里玩魔獸世界最厲害的,也是玩魔獸世界裡編程懂一些思路的。

宏命令只是魔獸世界裡開源的那部分自定義功能而已,就像word也可以實現簡單的編程一樣。

魔獸世界裡除了源代碼這種復雜的程式,玩家經常用的就是宏和腳本,我們平時用的插件就是宏和腳本的結合。

不知道樓主所說的計算機知識是什麼,反正想要接觸這塊,樓主知道保存打開關閉基本就差不多了,不需要知道CPU GPU 位寬頻率南北橋之類的知識。

編程最重要的就是邏輯思維能力。還有記單詞。

計算機語言有很多種,什麼vb c java網路一搜一把,就是個別語句格式單詞不一樣,大體思路是這樣的。

如果你會c,那腳本宏什麼的肯定入門超快而且覺得超簡單。如果你不會,也可以直接學,因為各大新華書店編程區里都有厚厚一本針對魔獸世界腳本宏的技術書籍,樓主可以去學習一下。

閱讀全文

與90宏命令編寫相關的資料

熱點內容
skins的梯度壓縮衣 瀏覽:975
電腦進入桌面文件夾就黑屏 瀏覽:943
新預演算法推進 瀏覽:506
學移動客戶端app編程費用 瀏覽:415
怎麼遠程鏈接雲伺服器 瀏覽:770
期貨手機版指標源碼 瀏覽:752
360壓縮怎麼修復 瀏覽:181
程序員釘釘的圖片 瀏覽:549
德語的動詞命令式 瀏覽:718
谷歌伺服器通信出問題了怎麼辦 瀏覽:661
三國演義毛宗崗pdf 瀏覽:664
金庸群俠傳x魔改版在哪個文件夾 瀏覽:709
安卓targz文件怎麼解壓 瀏覽:612
手機文件夾改成多媒體 瀏覽:247
通達信優質選股公式源碼 瀏覽:787
如何解16進制加密 瀏覽:635
魔獸什麼伺服器不卡 瀏覽:361
王思聰的伺服器有什麼用 瀏覽:751
創建java虛擬機失敗 瀏覽:731
怎樣進網址改文件夾名 瀏覽:531