當前位置:首頁 » 編程軟體 » 象壓樹腳本

象壓樹腳本

發布時間: 2023-03-13 21:25:06

Ⅰ 魔獸爭霸地圖編輯高手告訴我一下那個腳本里的各個事件動作和條件是什麼意思

http://www.egamestar.net
這里有,1.19和1.20升級補丁和地圖編輯器。

《魔獸爭霸Ⅲ》地圖製作入門教程
WarCraftⅢ World Editor(簡稱WE),是暴雪巨作《魔獸爭霸Ⅲ》所附帶的功能強大的地圖編輯器。世界上很多地圖製作高手已利用WE創作出了類似《反恐精英》、《暗黑破壞神》、《雷電》、《大富翁》等經典游戲的魔獸版,可以說用WE只有想不到,沒有做不到。WE功能如此強大,其實不難掌握,因為暴雪已將它做得再「傻瓜」不過了。當你決定使用它創造地圖時,擺在你面前的不過是一大堆「積木」,你只要發揮自己的創造力,就能將其擺放出一個自己想像中的世界來。是不是已經等不及了?讓我們趕快啟動WE來製作屬於你的一部舞台劇!

WE由四個主編輯器還有個功能強大的物件管理器(Object Manager)組成。四大編輯器分為地形編輯器(Terrain Editor)、單位編輯器(Unit Editor)、觸發編輯器(Trigger Editor)、音效編輯器(Sound Editor),四者關系如圖,其中要屬地形編輯器和觸發編輯器功能最為強大。本文將以四大編輯器為主線介紹WE,並以官方RPG地圖WarChasers的製作方法為例,由淺入深地講解構建一幅魔獸地圖的思路。(註:本文使用的軟體為英文版WarCraft World Editor 1.05版)

搭建舞台場景——地形編輯器

WE基本元素之一。光用地形編輯器就能製作出簡單的對戰地圖。由於它被設計得「傻瓜化」,就算是新手操作起來也非常容易,彷彿Windows畫板一樣。

通過魔獸爭霸快捷程序組運行World Editor之後看到如圖1界面,這便是最基礎的地形編輯器。

①上方為菜單欄,與其它的Windows軟體類似,在這里可進行WE的所有指令操作。

②WE的主編輯視窗,通過它看到所編輯地圖的全貌。

③輔助視窗,對你編輯地圖有一定幫助,不過會影響到速度。

④工具面板,相當於一個巨大的素材庫,能很方便地添加物件到地圖。

⑤狀態欄,記錄了包括滑鼠位置、滑鼠所選物件的名稱等附加信息。

看過地形編輯器的構造之後,我們來學習如何繪制地圖的基本場景。第1步,新建一張地圖(File→New)(如圖2),這時你會看到網格——暴雪為了方便玩家合理安排地圖構造而設計的類似一些圖像編輯軟體的引導線(可通過View→Grid→None來消除它)。首先,我們使用工具面板的地形面板(Terrain Palette)(圖3)來創建一些山和水之類的自然地貌。A部分用來調整地形紋理以及繪制分界線。B部分調整懸崖、海水以及地表類型,不過在這里請注意兩點:第1,只能在高度差為1,而且寬度至少為三個中型網格,長度在五個中型網格以上的地形間創建坡道(Ramp);第2,不要在小范圍內同時使用兩種懸崖類型(Cliff Type),這樣可能會造成地表貼圖錯誤。在完成了地形紋理設計和懸崖調整以後,使用C部分的地形高度選項來使地形變得更自然點兒。在調整高度時,建議使用D部分的筆刷選項,將筆刷調整到最大,這樣可省下不少力氣(圖4)。

對自己創造的地形滿意嗎?光禿禿的可不好看,想加些樹木、小鳥還有瀑布之類的修飾就需要用到擺設面板(Doodad Palette)了,點選工具面板上方的選擇框或點擊Layer→Doodad來切換到擺設面板(圖5)。當你創建類似箭靶的物品時,會發現大小與方向都是隨機的,這時你既可將四部分的隨機大小和隨機方向取消,然後重新添加擺設,也可通過雙擊調整擺設,然後輸入數值來改變大小、方向和種類。如果你只想大致地調整一下方向,則使用Ctrl+滑鼠左鍵點擊/拖拽(圖6)。

嘿嘿,接下來就是為你的地圖添加有生力量了,用相同的方法切換到單位面板(Unit Palette),相信到這里魔獸玩家應該不會陌生,你可隨意添加任何兵種和建築到地圖上(圖7),不過要注意,當准備創建中立生物或構建敵人基地時,別忘了更改上方的玩家哦(默認是Player1 Red)。同樣能通過雙擊已建立的單位來更改所有者,也可使用滑鼠框選或用Shift+滑鼠左鍵來選擇多個單位進行批量修改。除了所有者以外,單位的屬性面板和擺設的屬性面板還有很多不同的地方,其中的技能欄可激活所編輯單位的技能,而掉落物品欄多半用於設置中立生物死亡時掉落的物品。當然,游戲地圖都需要有起始點,在單位面板中Buildings的最後一欄找到起始點(Start Location),然後將它創建在地圖上的任意地方。別忘了作為對戰地圖,至少要有兩個起始點。接下來需要做的就是為你的對戰地圖加上一些小修飾了:點擊菜單Scenario→Map Description,在Description欄里你可修改地圖名稱、游戲人數和地圖說明,作者欄里簽上你的大名(圖8)。最後測試一下地圖(Ctrl+F9)就可存檔了。一張簡單的對戰地圖不就出來了?

排練演員——單位編輯器

大家肯定不會滿足於只創造簡單的對戰地圖,就像有了電腦不光只學打字一樣。想學會如何駕御WE添加一些有個性的元素,這時我們就要用到下面的單位編輯器了。

單位編輯器功能很強大,因為官方經常用來調整平衡性,所以使用它就好像編輯QQ個人資料一樣簡單。本節將介紹如何使用它,並且主要對各個可修改選項加以解釋,讓大家可盡情發揮想像力創造新的單位——善惡美醜高矮胖瘦,完全由你選擇。

用F5打開它以後,我們可看到A部分是與地形編輯器同樣的菜單欄和快捷按鈕欄,單位編輯器的菜單命令非常少且比較簡單。B部分是單位樹,在這里你可全覽所有單位。C部分則是顯示在B部分選擇單位的詳細數據,你要做的就是在此對各項數據進行修改。通過點擊菜單File→New Custom Unit新建自定義單位,彈出新建單位窗口,其中名字可在創建後再編輯,最主要的是選擇參照單位,也就是要你選擇想在哪個單位的基礎上進行編輯。選擇了之後會在單位樹的最下方看到新建的單位被放在了Custom Units目錄下,點選剛才新建的自定義單位,通過右方的編輯窗口對數據進行修改(圖9)。

因為編輯器裡面可編輯元素多得恐怖,而且有一些玩家在游戲中都沒有見過,所以我只對常見的項目進行解釋(見表1)。

注釋 傷害值的計算:例如9級石頭人的基本傷害值為60,傷害值隨機數為1,隨機傷害值為8,我們就可算出石頭人對地攻擊的最大傷害為60+1×8=68,最小傷害為60-1×8=52,即傷害值范圍為52~68。金錢獎勵的計算方法同理。

以上是普通單位的編輯介紹,在編輯英雄單位時,有以下特有的修改選項(見表2)。

在設置完了這些讓人眼花繚亂的單位數據及屬性後,不要忘了通過點擊菜單File→Export Unit Settings來將所改動的單位數據存儲到文件中,然後再在你自己設計的地圖上使用Import Unit Settings來調入修改了的數據。

展開劇情——觸發編輯器

觸發編輯器是WE的靈魂,魔獸RPG無限的內涵就是因為它的存在。在此節,我們通過分析經典RPG地圖WarChasers(大家可在魔獸爭霸游戲目錄的Maps\Scenario下找到它)中的幾個設計要點,來對觸發編輯器有基本的認識。

打開地圖WarChasers可看到它的全貌(圖10),不要光顧著欣賞地形,這些在上面講述的地形編輯器中你同樣能做到。在講解範例之前,先來了解一些觸發器的基本常識。首先是域(Region)的概念,它是地形編輯器與觸發編輯器之間最重要的一道橋梁,絕大多數的觸發器(Trigger)都與它有關系。通過工具面板→域面板(Region Palette)來顯示地圖上的域,大家會看到地圖上有許多不同顏色的矩形框,這便是域了,其中每個矩形框都是一個域。域面板簡單地分為兩部分:一部分僅為一個快捷鍵按鈕,當激活時(綠色)為增加域,當取消激活時(灰色)為編輯域的大小或移動/刪除域;另外一部分是域列表,在這里通過雙擊域名,視窗會跳轉到該域所在區,並且還可在域名上單擊滑鼠右鍵→編輯域屬性(Edit Region Properties)來修改該域的詳細資料,除了修改名字和微調域大小以外,還能改變域的顏色(Select Color)、天氣效果(Weather Effect)和聲效(Ambient Sound)(圖11)。

了解過域以後,可進入觸發編輯器的學習了。按快捷鍵F4打開觸發編輯器,有一個類似單位編輯器的窗口擺在了面前。讓我們來看看它的結構(圖12):最上方的是菜單欄。往下左邊是觸發器樹,類似於單位編輯器里的單位樹。目錄下出現的文件便是觸發器,左鍵單擊觸發器會打開編輯視窗。位於編輯視窗上方的文本框為備注框。備注框下方的便是觸發器編輯主視窗了,這里需要講解的是觸發器分為事件(Events)、條件(Conditions)、行為(Actions)三部分,即當發生什麼事件,並且滿足什麼條件時執行什麼行為。是不是感覺有點像計算機語言一樣枯燥,那麼現在讓我們試著讀懂WarChasers中幾個觸發器製作的效果實例吧。

實例一:如何實現游戲開始時的選擇英雄,這是絕大多數RPG地圖所必備的。

實例效果:進入游戲後,將樹精靈移動到英雄附近時,則選擇該英雄(圖13)。

實例講解:進入觸發器樹中Hero Selection目錄下的Robo X觸發器,我們可看到主視窗中的事件、條件、行為三大部分(圖14)。

事件部分:此處的意思是當一個單位進入Robo X域,則引發該觸發器。(通過雙擊可以編輯為你所需要的語句)

條件部分:在這個實例中條件部分為無,即當事件發生時無條件運行該觸發器。

行為部分:(下文中提到的玩家1為玩家自己,玩家12為電腦)

1.在Start2域中心為進入單位的擁有者新建一個名為Megotron X的單位(在這句中,你可以更改生成的單位數量、類型以及在哪個域新建該單位和該單位被建立時的角度)。

2.給剛才建立的英雄一個復活十字勛章(由於這是給英雄添加物品,所以不能設置數量,不過你依然可以更改物品的類型。Last Created Unit代指的便是剛才新建的Megotron X)。

3.如果進入的單位屬於玩家1則將剛才新建的Megotron X賦予單位類型變數Player1,否則什麼都不做。(這里利用了Set行為語句來設置變數,為什麼要設置變數呢?就像為什麼我們每個人都有名字一樣。If Then Else是經常用到的行為語句,它常會通過條件來判斷該執行哪個行為)

4、5、6.三句橫線標注的語句功能同第3句一樣,大家很容易讀懂。

7.移出進入Robo X域的單位(這里的Entering Unit同樣指的是進入域的樹精靈)。

8.啟動觸發器Snap Camera to Player(檢查條件)。(執行Camera Control目錄下的Snap Camera to Player觸發器,你也可通過使用類似以Trigger開頭的語句的觸發類型語句來建造觸發器鏈,相當於連鎖反應)。

實例總結:現在我們知道RPG地圖開始時用一個精靈選擇自己喜歡的英雄來作戰,這個最基礎的觸發器實例是怎麼樣通過事件、條件、行為這3個部分來組合的,還了解了基本的語句構成。

實例二:類似Tower Defense的兵海,在這個例子中你將認識到觸發編輯器的差異性,即類似的語句卻會產生不同效果。

實例效果:在WarChasers地圖中會有一個開著坦克前進,然後很多骷髏兵向你涌來的效果,著名的Tower Defense地圖中也有類似的觸發器影子(圖15)。

實例講解:目錄Monster下面的TankRun1~9觸發器,鑒於這九個觸發器有相似性,所以我就拿觸發器TankRun1來作分析了(圖16)。

事件部分:意思是當一個單位(坦克)進入TankSpeak域時,則引發該觸發器。

條件部分:進入該域的單位必須屬於Playersgroup(這里出現了條件,不滿足條件時行為部分就不會被執行。其中Playersgroup是一個玩家組類型的變數,在其它觸發器中,已設定了Playersgroup包括了游戲中的四個玩家,所以這里也可理解為任何一個屬於玩家的單位進入TankSpeak域時,才能滿足執行行為的條件)。

行為部分:

1.關閉此觸發器(這個語句便是控制該觸發器,使它只運行一次,這里我們需要注意到的是行為部分的語序性,即語句是按照從上到下依次執行的)。

2.為玩家12在MakeSlimers域中任意一點新建兩個通過單位編輯器創建的名為Giant Skeleton Warrior的骷髏戰士(請注意到這個語句執行的效果是先確定任意一點,再在該點建立兩Giant Skeleton Warrior)。

3.為玩家12在TankSkels1域中任意一點新建一個單位名為RoadKill Skeleton的骷髏,並執行30次(其實效果便是在TankSkels1域內建立30個RoadKill Skeleton。玩家可能會覺得這個等同於上面的語句,但是請注意,因為域內的隨機點在每次執行語句時都會變化,所以這30個RoadKill Skeleton不會像上個語句里的兩個Giant Skeleton Warrior一樣聚集在一起,這樣才會有骷髏海的效果,請大家注意我用橫線標注的單位類型語句是相同的)。

實例總結:通過這個例子我們不僅學會製作Tower Defense效果,而且還看到For語句可簡化很多繁瑣的效果,大家應該多多練習使用。是不是覺得簡單了?那我們就來個難一點的!

實例三:瞬間移動。通過此實例我們可發現觸發編輯器不僅有差異性,也有多樣性,即用多種方法達到同一個目的,正是因為如此,觸發編輯器才可讓大家盡情發揮想像。

實例效果:當坦克到了終點以後,將玩家的英雄傳送到Waygate2 A域(圖17)。

實例講解:目錄Tanks下面的Player 1 Leaves Tank觸發器(圖18)。

事件部分:當一個單位(坦克)進入Tank Leave 02域時,則引發該觸發器。

條件部分:進入的單位為變數Player1(這里請大家不要被迷惑了,這個Player1隻是一個單位類型變數,而非玩家1,這個變數指代的便是坦克)。

行為部分:

1.關閉此觸發器。

2.取消變數TempPlayer1的隱藏狀態(當你的英雄進入坦克時,在其它觸發器中已將你的英雄隱藏,並賦予單位類型變數TempPlayer1,●表示單位相關語句)。

3.將TempPlayer1移動到Waygate2 A域(這個移動沒有等待時間,可算是瞬間移動)。

4.在Tank Leave 02域創造「傳送」特效(這是一個用來創造特效的語句,大家可能會問,英雄都被傳送到了Waygate2 A域了,怎麼還能在Tank Leave 02域看到特效?其實在玩家進入坦克時,視角已被固定在了坦克身上,在沒有新的語句來改變視角之前,視角依然只是坦克,▲表示特效相關語句)。

5.將剛才建立的特效賦值給特效類型變數列TankSFX[1](這里出現了變數列(Array)的概念,所謂變數列,就是將同類型變數集中在一起,便於操作,就像把書都放在一個包里便於攜帶一樣)。

6.等待0.10秒(等待語句在觸發編輯器里作用也比較顯著)。

7.隱藏變數Player1。由於坦克在以後的游戲中不會再使用到,所以我們完全可使用Remove命令將它刪除,你可新建移除單位的行為語句(Unit-Remove),然後將Triggering Unit值更改為變數(Variable)Player1,這樣便做到和隱藏變數Player1等同的效果了。

8.將TempPlayer1值賦予Player1(執行後,Player1便是指代的玩家的英雄了)。

9.執行Snap Camera to Player(忽略條件)(當選擇忽略條件時,就算執行的觸發器有條件也不會被考慮,這便是轉換視角的語句)。

10.等待2.00秒。

11.摧毀特效TankSFX[1]。(將剛才建立的特效摧毀)

實例總結:這個例子有些復雜,大家可反復看注釋並結合游戲來分析。我們從這個例子了解到在觸發編輯器中達到一個目的不是只有一種方法。另外,編輯觸發器中經常用到變數,但請大家注意使用變數時要有邏輯性,邏輯錯誤會導致整個地圖出現問題。

主題曲及配音——音效編輯器

四大編輯器中最後一個組員——音效編輯器,不過它並不像其它編輯器那樣強大,使用它為的是渲染地圖內涵的氣氛。

按F5鍵啟動聲效編輯器,結構與單位編輯器類似(圖19),上方的菜單欄中,可輸出/輸入聲音或者樂曲,在左方的聲效樹狀列表中,能找到出現在魔獸爭霸游戲中的所有聲音和樂曲。雙擊可播放該文件,若想在觸發編輯器中能調用該音效,則需要通過點擊菜單File→Use Internal Sound將該文件導入到右方的聲音變數列表,以使它成為一個變數。當然,這樣還不能算完工,還需要在觸發編輯器中調用它才行,在觸發器的行為部分加入播放聲音/樂曲(Sound-Play Sound或Sound-Play Music)的行為語句,便可播放剛才所加入的聲音/樂曲了。雖然聲音類型的行為語句很多,不過對於初學者來說,掌握這兩個和中止聲音/樂曲(Sound-Stop Sound或Sound-Stop Music)就差不多了。

OK,至此我們已了解WE的基本核心內容了,即通過四大編輯器來進行自主設計,為了能使大家有個較清晰的脈絡,我們為大家整理一下製作地圖的基本思路(圖20):

1.運用地形編輯器繪制出地圖的全貌,這是一張地圖能否吸引人的首要條件。

2.運用單位編輯器在地圖中創建游戲可能出現的任何單位,包括人物、建築等。

3.在策劃的前提下,合理使用觸發編輯器來讓整個地圖「動」起來。大體步驟為:初始化數據→建立游戲系統(即設置人物變數等,可以增加一些類似販賣物品系統等新元素)→游戲任務。初學者可根據上文介紹的實例進行模仿,平時多多分析高手的地圖設計,有了經驗後向更復雜階段挑戰。

4.地圖的後期製作,包括用音效編輯器添加背景音樂、游戲音效等,然後再進行一些其它方面的潤色。

5.調試階段,如果你想做出一張受大家喜愛的地圖,那麼設計完地圖後不要急於推出,首先讓自己不斷地去調試,去試玩,玩到自己都不想看到這張地圖時,就大功告成啦!

既然我們了解了運用WE製作地圖的方法,那麼介紹幾張人氣很旺的地圖下載後進行游戲,並運用學到的知識分析高手是怎樣設計出這些經典地圖的。

Kaggz RPG-Shadow of Evil(圖21)

這張地圖首次出現是在去年秋季。特色之一是多個分支任務,在游戲中,玩家可通過收集空瓶子來換取隱藏的裝備或去尋找某個NPC來學習技能;特色之二便是可「進入房屋」,即走到房屋門口便可進入房內購買道具等,其實便是基於前文所介紹的「瞬間移動」實例製作的;特色之三是通過了聲效編輯器插入了一首非常符合游戲節奏的MP3,使得玩家可充分融入游戲。

PhoenixFlame(圖22)

這張不久前才推出的RPG地圖可謂將觸發器的使用發揮到了極致。你甚至可像玩真正的RPG一樣和每個NPC進行對話。地圖中新建了一個龐大的游戲系統,即加入了風、土、火、水等幾大屬性,要得到相應的物品才能學習相關的技能,而且還需要不斷地使用技能來提高熟練度。它的成功不光是依賴游戲系統,作者在游戲任務上也下了不少苦心,例如有時你需要利用小石塊來引開守衛(怎麼聽起來像《盟軍敢死隊》?);如果要進入永久黑暗的地區你需要先去獲得火把;對付某個物理攻擊無效的Boss,你需要換成魔法攻擊。由此,讓人不得不佩服地圖製作者的水平。

LineAge 系列(圖23)

韓國著名在線游戲《天堂》的魔獸版,在亞洲伺服器上非常流行,玩家在進行游戲時需要做的只是殺怪練級然後完成任務,特點是對《天堂》模仿度很高,不僅擁有龐大的轉職系統,而且迷宮、任務的設定都是極力效仿原著,目前甚至它的一些改版乾脆使用了天堂裡面物品的圖標。至於這種地圖的游戲性不需要我說了吧,在線游戲的吸引力是不言而喻的。製作方面,因為是韓國人製作的地圖系列,所以都經過了加密,玩家不能通過WE對該系列地圖進行學習,不過依然可作為中級地圖編輯者進階時效仿的對象。

羅羅嗦嗦了這么多篇幅,希望大家對於使用WE製作魔獸地圖有了一個基本框架的認識,當然,如果想全面了解WE的所有功能以及使用方法,恐怕一本書也講不完。我們這篇WE教程只是讓更多的人熟悉WE並學會利用它做一些簡單的屬於自己的地圖,起到拋磚引玉的作用。要製作出受到玩家喜愛的、內容豐富的高級地圖,平時的積累和學習是非常重要的,當然,最重要的是個人的愛好和鑽研精神。期待不久的明天在各大伺服器上我也能玩到你們的地圖,祝各位好運!

(本文提及的所有地圖均可在War3.OGame.NeT下載,如有疑問歡迎大家到偶游社區魔獸地圖論壇討論)

地形編輯器技巧

1.點擊菜單File→Perferences可對WE進行優化,如果你總是忘了存檔,那麼在General欄中設置AutoSave的時間來開啟自動存檔,至於其它選項大家可根據喜好來調節。

2.通常在設計完地形以後會通過點擊菜單View→Pathing或按快捷鍵P開啟路徑選項,用來檢查道路是否可通過,其中紫色代表不能通過。

3.當為單位面板時你不能點選到擺設,需要切換到擺設面板;同樣,當在地形面板時,只能對地形進行操作。

單位編輯器技巧

用單位編輯器來讓一個單位變成無敵(Invulnerable)。很簡單,修改該單位的能力選項,再點選添加能力(Add Ability),然後你可從單位(Unit)能力面板中找到Invulnerable(Neutral),選擇它便可以了。

觸發編輯器技巧

在檢查錯誤時,通常在可能引起錯誤的行為語句前加入Game-Text Message(Auto-Timed),這是一個在游戲中顯示文字的語句,你可將它們設置為顯示不同的信息,這樣當你發現哪個信息沒有顯示時就可大致確定引起錯誤的語句了。
沒有截圖,多多包涵

Ⅱ 使用jmeter錄制腳本及錄制腳本的優化

1.右鍵測試計劃---添加--線程(用戶)--線程組

2.添加HTTP代理伺服器(即把jmeter當做代理伺服器)

3.設置代理伺服器

①設置埠;

②設置Test Plan Creation 中的目標控制器(改為測試計劃>線程組)注意不修改代理伺服器啟動時可能會報錯;

③設置Requests Filtering (請求過濾器),添加建議排除,會根據設置排除模式,排除錄制過程中的某些內容。

④點擊「啟動」按鈕,後會彈出一個證書提示(注意:如果不是管理員使用,會報錯,因為沒有許可權將證書寫入到apache-jmeter-5.1.1\bin下)。

4.打開瀏覽器,設置計算機的代理設置(如圖所示)

5.成功設置代理伺服器後,在瀏覽器中輸入網址訪問,點擊線程組中會有錄制的腳本,因為再Requests Filtering (請求過濾器)設置了,添加了排除模式,所以錄制時有些內容會被過濾。

6.錄製成功後可以,添加察看結果樹,保存腳本後,運行腳本。

7.錄制完腳本後,接下來就是對錄制腳本的優化,可以看出添加的排除模式並沒有完全過濾CSS,可以禁用或刪除無用的css和js(如何判斷有這些內容有沒有用,可以嘗試先禁用掉,然後回放看對腳本有沒有影響,如果禁用或者刪除了,腳本還能運行成功,說明是無用的,否則反之)。

8.添加HTTP信息頭管理器,作用於整個線程組,如果有自己單獨的HTTP信息頭管理器,則優先使用自己的。

9.如果有登錄的腳本時,需要添加cookie管理器(不需要配置,直接添加使用)

Ⅲ 在unity3D: c# 怎樣調用另外一個c#腳本裡面東西

例:第一個腳本名字為Class_1,第二個腳本名字為Class_2,Class_1調用Class_2
如果Class_2沒有綁定在任何GameObject上,那在Class_1里寫法:

Class_2 c2 = new Class_2();

如果Class_2綁定在GameObject上,那在 Class_1里寫法:

Class_2 c2 = null;
void Start()
{
c2 = GameObject.Find("綁定的GameObject名字").GetComponent<Class_2>();
}

Ⅳ Linux 下python 腳本編寫的&amp;quot;奇技淫巧&amp;quot;

「 生命完美的答案,無非走過沒有遺憾 ---《天藍》」

「如何能夠解析腳本運行命令行選項(位於 sys.argv 中)」

argparse 模塊可被用來解析命令行選項

常用來定義一個腳本的說明文檔,一般我們寫python腳本會通過 if..else 的方式來提供一個腳本說明文檔,python不支持switch。所以很麻煩,其實,我們可以通過 argparse 來編寫說明文檔。

我們來看看怎麼執行一個python腳本

對於熟悉Linux的小夥伴下面的文檔在熟悉不過了,這個一個標准Linxu軟體包的說明文檔,文檔中定義是軟體包的說明

來看看這個腳本是如何編寫的

為了解析命令行選項, 首先要創建一個 ArgumentParser 實例, 使用 add_argument() 方法聲明你想要支持的選項。在每個 add-argument() 調用中:

dest 參數指定解析結果被指派給屬性的名字。 metavar 參數被用來生成幫助信息。

action 參數 指定跟屬性對應的處理邏輯,通常的 值為 store , 被用來存儲 某個值 或將 多個參數值收集到一個列表中 。

nargs 參數收集 所有剩餘的命令行參數到一個列表中。在本例中它被用來構造一個文件名列表

action='store_true' 根據參數是否存在來設置一個位置 Boolean 標志:

action='store' 參數接受一個單獨值並將其存儲為一個字元串

如果一個都沒有,會提示缺少參數 -p/--pat

choices={'slow', 'fast'}, 參數說明接受一個值,但是會將其和可能的選擇值做比較,以檢測其合法性:

一旦參數選項被指定,你就可以執行 parser.parse() 方法了。它會處理 sys.argv 的值並返回一個結果實例。每個參數值會被設置成該實例中 add_argument() 方法的 dest 參數指定的屬性值。

還很多種其他方法解析命令行選項。可以會手動地處理 sys.argv 或者使用 getopt 模塊 。但是,如果你採用本節的方式,將會減少很多冗餘代碼,底層細節 argparse 模塊 已經幫你處理好了。你可能還會碰到使用 optparse 庫解析選項的代碼。盡管 optparse 和 argparse 很像 ,但是後者更先進,因此在新的程序中你應該使用它。

「你寫了個腳本,運行時需要一個密碼。此腳本是互動式的,因此不能將密碼在腳本中硬編碼,而是需要彈出一個密碼輸入提示,讓用戶自己輸入。」

Python 的 getpass 模塊 正是你所需要的。你可以讓你很輕松地彈出密碼輸入提示,並且不會在用戶終端顯示密碼。

代碼中 getpass.getuser() 不會彈出用戶名的輸入提示。它會根據該 用戶的 shell 環境 或者會依據 本地系統的密碼庫 (支持 pwd 模塊的平台)來使用 當前用戶的登錄名

在bash中編寫pytohn腳本接收外部數據的方式,一般情況下,對於一般變數,我們用命令行變數的方式比較多(手動的處理 sys.argv ),對於 文件內容或者bash命令輸出 直接通過腳本內部獲取需要的數據。

其實python 腳本也可以用其他方式來接收 傳遞給他的 文件數據或者bash命令輸出 ,包括將 命令行的輸出 通過 管道傳遞 給該腳本、 重定向文件到該腳本 ,或在 命令行中傳遞一個文件名 或 文件名列表 給該腳本。

這里通過 Python 內置的 fileinput 模塊 ,可以實現重 定向,管道,以文佳輸出 的方式傳遞數據到腳本內部

使用 fileinput.input() 方法可以獲取當前輸入腳本的數據,腳本裡面用一個 FileInput 迭代器接收

文件直接接收

重定向接收

管道方式接收

fileinput.input() 創建並返回一個 FileInput 類的實例,該實例可以被當做一個 上下文管理器 使用。因此,整合起來,如果我們要寫一個列印多個文件輸出的腳本,那麼我們需要在輸出中包含文件名和行號

「你想執行一個外部命令並以 Python 字元串的形式獲取執行結果。」

使用 subprocess.check_output() 函數。

執行下試試

如果被執行的命令以非零碼返回,就會拋出異常。下面的例子捕獲到錯誤並獲取返回碼:

默認情況下, check_output() 僅僅返回輸入到標准輸出的值。如果你需要 同時收集標准輸出和錯誤輸出 ,使用 stderr 參數:

如果你需要用一個超時機制來執行命令,使用 timeout 參數:

通常來講,命令的執行 不需要 使用到 底層 shell 環境(比如 sh、bash) 。一個字元串列表會被傳遞給一個 低級系統命令 ,比如 os.execve() 。

如果你想讓 命令被一個shell 執行 ,傳遞一個字元串參數,並設置參數 shell=True . 有時候你想要 Python 去執行一個復雜的 shell 命令 的時候這個就很有用了,比如管道流、I/O 重定向和其他特性。例如:

是在 shell 中執行命令會存在一定的安全風險,特別是當參數來自於用戶輸入時。這時候可以使用 shlex.quote() 函數 來將參數正確的用雙引用引起來。

使用 check_output() 函數 是執行 外部命令 並獲取其 返回值 的最簡單方式。但是,如果你需要對 子進程做更復雜的交互 ,比如給它發送輸入,你得採用另外一種方法。這時候可直接使用 subprocess.Popen 類。

關於子進程,簡單來看下

也可以進程列表同協程結合的方式。你既可以在子shell中 進行繁重的處理工作,同時也不會讓子shell的I/O受制於終端。

如果直接丟到後台會自動在終端輸出IO

subprocess 模塊對於依賴 TTY 的外部命令不合適用 。例如,你不能使用它來自動化一個用戶輸入密碼的任務(比如一個 ssh 會話)。這時候,你需要使用到第三方模塊了,比如基於著名的 expect 家族的工具(pexpect 或類似的)(pexpect可以理解為Linux下的expect的Python封裝、通過pexpect可以實現對ssh、ftp、passwd、telnet等命令行進行自動交互,而無需人工干涉來達到自動化的目的。比如我們可以模擬一個FTP登錄時所有交互,包括輸入主機地址、用戶名、密碼、上傳文件等,待出現異常還可以進行嘗試自動處理。)

「你想向標准錯誤列印一條消息並返回某個非零狀態碼來終止程序運行」

通過 python 的 raise SystemExit(3) 命令可以主動拋出一個錯誤,通過 sys.stderr.write 將命令寫到標準的輸出端

直接將消息作為參數傳給 SystemExit() ,那麼你可以省略其他步驟

拋出一個 SystemExit 異常,使用錯誤消息作為參數,它會將消息在 sys.stderr 中列印,然後程序以狀態碼 1 退出

「你需要知道當前終端的大小以便正確的格式化輸出。」

使用 os.get terminal size() 函數 來做到這一點。

「復制或移動文件和目錄,但是又不想調用 shell 命令。」

shutil 模塊 有很多便捷的函數可以復制文件和目錄。使用起來非常簡單

這里不多講,熟悉Linux的小夥伴應該不陌生。

默認情況下,對於 符號鏈接 這些命令處理的是它指向的東西文件。例如,如果 源文件 是一個 符號鏈接 ,那麼目標文件將會是 符號鏈接 指向的文件。如果你只想 復制符號鏈接本身 ,那麼需要指定 關鍵字 參數 follow_symlinks

tree() 可以讓你在復制過程中選擇性的忽略某些文件或目錄。你可以提供一個忽略函數,接受一個目錄名和文件名列表作為輸入,返回一個忽略的名稱列表。例如:

對於文件元數據信息, 2() 這樣的函數只能盡自己最大能力來保留它。 訪問時間、創建時間和許可權 這些基本信息會被保留,但是 對於所有者、ACLs、資源 fork 和其他更深層次的文件元信息就說不準了

通常不會去使用 shutil.tree() 函數 來執行 系統備份 。當處理文件名的時候,最好使用 os.path 中的函數來確保最大的可移植性

使用 tree() 復制文件夾的一個棘手的問題是對於錯誤的處理,可以使用異常塊處理,或者通過 參數 ignore dangling symlinks=True 忽略掉無效符號鏈接。

「創建或解壓常見格式的歸檔文件(比如.tar, .tgz 或.zip)」

shutil 模塊擁有兩個函數—— make archive() 和 unpack archive() 可派上用場,

make archive() 的第二個參數是期望的輸出格式。可以使用 get archive formats() 獲取所有支持的歸檔格式列表。

「你需要寫一個涉及到文件查找操作的腳本,比如對日誌歸檔文件的重命名工具,你不想在 Python 腳本中調用 shell,或者你要實現一些 shell 不能做的功能。」

查找文件,可使用 os.walk() 函數 ,傳一個頂級目錄名給它

os.walk() 方法 為我們 遍歷目錄樹 ,每次進入一個目錄,它會返回一個 三元組 ,包含 相對於查找目錄的相對路徑,一個該目錄下的目錄名列表,以及那個目錄下面的文件名列表。

對於每個元組,只需檢測一下目標文件名是否在文件列表中。如果是就使用 os.path.join() 合並路徑。為了避免奇怪的路徑名比如 ././foo//bar ,使用了另外兩個函數來修正結果

os.walk(start) 還有跨平台的優勢。並且,還能很輕松的加入其他的功能。我們再演示一個例子,下面的函數列印所有最近被修改過的文件:

列印10分鍾之前被修改的數據

「怎樣讀取普通.ini 格式的配置文件?」

configparser 模塊 能被用來讀取配置文件

編寫配置文件

如果有需要,你還能修改配置並使用 cfg.write() 方法將其寫回到文件中

「你希望在腳本和程序中將診斷信息寫入日誌文件。」

python 腳本列印日誌最簡單方式是使用 logging 模塊

五個日誌調用( critical(), error(), warning(), info(), debug() )以降序方式表示不同的嚴重級別。 basicConfig() 的 level 參數是一個 過濾器 。所有級別低於此級別的日誌消息都會被忽略掉。每個 logging 操作的參數是一個消息字元串,後面再跟一個或多個參數。構造最終的日誌消息的時候我們使用了 % 操作符來格式化消息字元串。

如果你想使用配置文件,可以像下面這樣修改 basicConfig() 調用:

logconfig.ini

在調用日誌操作前先執行下 basicConfig() 函數方法 ,可以找標准輸出或者文件中輸出

basicConfig() 在程序中只能被執行一次。如果你稍後想改變日誌配置,就需要先獲取 root logger ,然後直接修改它。

更多見日誌模塊文檔https://docs.python.org/3/howto/logging-cookbook.html

「你想給某個函數庫增加日誌功能,但是又不能影響到那些不使用日誌功能的程序。」

對於想要執行日誌操作的函數庫,你應該創建一個專屬的 logger 對象,並且像下面這樣初始化配置:

使用這個配置,默認情況下不會列印日誌,只有配置過日誌系統,那麼日誌消息列印就開始生效

通常來講,不應該在函數庫代碼中 自己配置日誌系統 ,或者是已經有個已經存在的日誌配置了。調用 getLogger( name ) 創建一個和調用模塊同名的 logger 模塊 。由於 模塊 都是唯一的,因此創建的 logger 也將是唯一 的。所以當前進程中只有一個logging會生效。

log.addHandler(logging.NullHandler()) 操作將一個 空處理器 綁定到剛剛已經創建好的 logger 對象 上。一個空處理器默認會忽略調用所有的日誌消息。因此,如果使用該函數庫的時候還沒有配置日誌,那麼將不會有消息或警告出現。

在這里,根日誌被配置成僅僅 輸出 ERROR 或更高級別的消息 。不過, somelib 的日誌級別被單獨配置成可以輸出 debug 級別的消息, 它的優先順序比全局配置高。像這樣更改單獨模塊的日誌配置對於調試來講是很方便的,因為你無需去更改任何的全局日誌配置——只需要修改你想要更多輸出的模塊的日誌等級。(這個還有待研究)

「你想記錄程序執行多個任務所花費的時間」

time 模塊 包含很多函數來執行跟時間有關的函數。盡管如此,通常我們會在此基礎之上構造一個更高級的介面來模擬一個計時器。

這個類定義了一個可以被用戶根據需要啟動、停止和重置的計時器。它會在elapsed 屬性中記錄整個消耗時間。下面是一個例子來演示怎樣使用它:

這里通過 __enter__,__exit__ ,使用 with 語句 以及上下文管理器協議可以省略計時器打開和關閉操作。(關於上下文管理協議,即with語句,為了讓一個對象兼容with語句,必須在這個對象的類中聲明 __enter__和__exit__方法, , __enter__ 在出現with語句被調用, __exit__ 在代碼執行完畢被調用,可以參考open()方法)

在計時中要考慮一個 底層的時間函數問題 。 一般來說, 使用 time.time() 或 time.clock() 計算的時間精度因操作系統的不同會有所不同。而使用 time.perf_counter() 函數可以確保使用系統上面 最精確的計時器 。

「你想對在 Unix 系統上面運行的程序設置內存或 CPU 的使用限制。」

resource 模塊 能同時執行這兩個任務。例如,要限制 CPU 時間,下面的代碼在windows平台執行不了,但是Linux是可以的。

程序運行時, SIGXCPU 信號 在時間過期時被生成,然後執行清理並退出。

這暫時沒有好的Demo...

程序運行到沒有多餘內存時會拋出 MemoryError 異常。

setrlimit() 函數 被用來設置特定資源上面的 軟限制和硬限制 。

setrlimit() 函數 還能被用來設置 子進程數量、打開文件數以及類似系統資源的限制(cgroup) 。

「通過腳本啟動瀏覽器並打開指定的 URL 網頁」

webbrowser 模塊 能被用來啟動一個瀏覽器,並且與平台無關

新窗口打卡網站

當前窗口打開一個tab頁

指定瀏覽器類型,可以使用 webbrowser.get() 函數

Ⅳ 關於CS腳本的使用!!!

的確沒什麼用。
你下載的是不是一個名為:congfig.cfg的文件,把它復制到類似於以下目錄中F:\本地游戲\Cs1.6中文版\cstrike_schinese的文件夾內,然後系統問你:是不是要替換? 選是 。
然後運行游戲,在游戲設置中可以看到所有游戲選項全變了(就是那些高手的設置)

CS主要的是技術,設置佔次要。不過我建議你滑鼠靈敏度不要太高,你會發現高手設置中靈敏度一般沒有超過4.0的。

Ⅵ 魔獸爭霸澄海3C英雄熱鍵修改腳本

http://patch.ali213.net/view.asp?id=3226
這個網址下魔獸熱鍵修改器,簡體中文,很直觀方便,解壓後雙擊即可運行。
不過本人不建議使用修改器,就像用外掛的感覺一樣,有的支持多技能一個鍵的設置,按一下,N多技能一起放,還玩啥?

還是熟練的使用系統給的鍵位比較好
給你一些熱鍵的說明吧 :
1,「~」,按它可以選中正在休息的農民。
2,「backspace」,按它可以迅速的切回主基地,並以主基地為屏幕的中心。這個熱鍵在英雄回程救援的時候極為重要,你選中英雄,使用回程,再按backspace切回基地,選中自己回程的理想地點,回程(別忘了回程可以選擇位置,不一定要點到主基地上才能回來)。這樣總比在小地圖上點擊基地再選好位置要快一點。
3,insert和delete可以讓屏幕右旋或者左旋,這樣你可以點到一些正常視角點擊不到的單位,比如人族探路的小動物往往躲在高大建築的後面。
4,pageup和pagedown可以讓視角下移或者上移,滑鼠中鍵也可以做到。這樣你可以近距離欣賞到你想看到的東西。
5,O鍵可以給英雄迅速的學習技能,做法是選中英雄,按O再按相應技能的快捷鍵,相當於滑鼠點擊那個「+」號。例如你的死亡騎士在紅血的時候恰好升級,可以迅速的按下O、E學習死亡契約,再吃自己的單位,保證死亡騎士不死。
用鍵盤建造、放魔法、用物品,重要的一點在於擯棄以前用滑鼠點擊的壞習慣,強迫自己使用鍵盤。不斷的使用著鍵盤以後,你會發現鍵盤的使用,已經成為了你的習慣,而且終會嘗到使用鍵盤的甜頭。
PS:A鍵,H鍵,P鍵,tab鍵的運用。
1,A鍵,攻擊鍵。如果只用右鍵行軍,部隊只是移動到目的地,再進行攻擊。而使用A鍵然後點目的地行軍,部隊行進過程中如果發現敵軍,立刻能夠停下攻擊。另外如果你想殺掉自己或者隊友的單位,同樣是用A鍵攻擊。
2:H鍵,保持原位鍵。例如對手的基地裏海了箭塔,而你只能用攻城車攻擊他的基地,你的對手往往會用幾個單位出來誘引你的單位到他的箭塔群里去。這個時候你可以把你的非攻城單位用H鍵停留原位保護攻城車。
3:P鍵,巡邏鍵。例如你非要讓不死的陰影在對手的主基地與分基地之間轉來轉去,可以先讓陰影到主基地,按p再點分基地,你的陰影就會達到你的目的了。
4:TAB鍵,子組轉換鍵。例如把死亡騎士和巫妖編入一個組隊,而我想釋放巫妖的霜凍新星。可以按tab,就發現狀態欄里巫妖的頭像凸現了出來,就可以釋放霜凍新星了。

二:進階的操作:alt、shift、ctrl的使用。
可以說,不使用這3個鍵的魔獸玩家基本沒有入門,不掌握這3個鍵的魔獸玩家不能算是高手。個人認為,掌握這3個鍵的過程,是菜鳥成為高手的必由之路。下面介紹一下這3個鍵的作用。

一alt鍵:
①:按alt鍵的用途是觀察屏幕上所有單位的血量。按下alt之後你可以發現每一個單位頭頂上都出現血條,這使得你對敵我雙方,哪個單位瀕死一目瞭然。然後你應該做的是把自己瀕死的單位向後拖動,然後想辦法把對方瀕死的單位弄死。記住操作的最終目的,盡可能多的保護自己的每一個單位,盡可能多的殺死對方的每一個單位。據說某高手在戰斗的時候,是把一根牙簽插在alt鍵上的。雖然略覺誇張,但這事仍然說明alt鍵事關重大。
②:alt鍵可以和其他鍵組合產生作用,最著名的莫過於alt+ctrl+del了,其次是alt+F4。但這些組合在魔獸過程中是不能亂按的。在魔獸中常用的組合是:
1,alt+G 在2vs2的時候很重要,用於在地圖上發出一個警告。可以告訴你的盟友你在哪裡需要幫助。
2,alt+A 改變自己、隊友、敵人的顏色。盡量改變成模式3,即自己成為藍色,隊友成為綠色,敵人成為紅色。以在戰斗時能更加分清敵我,以免誤傷。
3,alt+F 開關隊型移動。在逃跑的時候,記住一定要把隊型移動關掉,否者那些遠程單位非要等到近戰單位逃到前面才肯移動。

二shift鍵:
①:shift鍵的一個作用其實很簡單,說白了就是讓一個單位連續的做幾件事。但這個作用一旦運用起來,就變得很有用處了。
1,讓一個農民做完建築之後自動回去采礦。做法是選中農民,下達建造命令以後按住shift,再用右鍵點擊木頭,或者金礦。
2,讓一個農民連續做幾樣建築。做法是選中農民,下達第一個建造命令,按住shift,下達第二個建造命令...類推。結合第1種方法,可以讓農民做完一大堆建築以後繼續回去采礦。如果連續建造的是相同的建築,比如人族的農場。你可以先把農民拖出,按住shift不放,按BF(農場快捷鍵),之後想做哪裡就做哪裡,往空地按就是,最後別忘了用shift把農民拉回來采礦。
3,連續向幾個地方探路。做法是選中探路的單位,先點擊第一個探路地點,按住shift不放,再依次點擊你想讓這個單位去的各個地方,放開shift。
4,讓你的單位集中火力,連續攻擊N個對方單位。這種做法的對象最好是遠程單位。做法是用右鍵點擊對方的一個單位,按shift連續點擊你依次想攻擊的單位。這樣可以集中火力,造成對某幾個單位的連續高傷害。但這種做法的弊端在於如果對方把正在被攻擊的單位調開,你的單位仍然會繼續追擊,這樣會受到更多對方其他單位的攻擊。所以最好只是連續的點射2-3個單位就可以了。因為如果你一下下達點射12個單位的指令,一旦對手把他的單位調開,你又要重新下達新的指令。汗,你累不累啊。
5,讓你的部隊繞過野生怪物。經常戰斗中出現的情況是你的單位集結在英雄身上,而在白天生產出來的單位往往要經過野生怪物的旁邊,造成單位的受傷或者死亡。避免這種情況的發生可以使用shift鍵。做法:點擊兵營,按住shift設置集結點,把集結點繞開野生怪物,最後點在英雄身上。之後,從兵營出來的單位會在N個集結點上先後走過,最後走到英雄身上。
6,騷擾之後全身而退。例如石像鬼騷擾,先點殺一個農民(或幾個),再shift點擊安全的地方。
7,其他用途。具體的很多想不起來。覺得最經典的就是暗夜的熊,先按f變回德魯伊,shift+e加血,再shift+f變回。這個操作用shift可以在一秒內完成,可是如果你等熊變回德魯伊,再按e加血,等加血後再按f變回,2-3秒的時間都過去了。
②:在一個隊伍里添加或者剔除單位。
1,添加。想要把一個單位編入你正在控制的這個隊伍,只要按shift在點擊(框選也可以)想添加的單位就可以了。這個做法在編入剛製造出來的單位時尤其重要。
2,剔除。想要把一個單位剔除你正在控制的這個隊伍,只要按shift在點擊(框選也可以)想剔除的單位就可以了。
具體實例,在losttemple上,你的4個獸兵有1個瀕死,可以先把這4個獸兵右鍵點擊生命之泉,再按shift點中瀕死獸兵(狀態欄的圖標也可以),把這個獸兵從組隊里剔除,再控制其他3個獸兵做其他的工作(mf,騷擾之類),等這個瀕死的獸兵滿血以後再把它添加到組隊里來。

三ctrl鍵:
①:ctrl鍵的第一個作用用於組隊。例如想把7個火槍手和2個男巫編成一隊,只要選中7個火槍手和2個男巫,按ctrl+1,就算是把火槍手和男巫編成一隊了。接下來,按一次1是選中1隊,按兩次1是選中1隊,並且以1隊做為屏幕中心。魔獸裡面最多可以有0、1-9十個編隊。把每一個單位編入組隊,是操作的基礎。另外,建築也是可以被編隊的。例如把兵營編為5隊,可以一邊在戰斗或者mf,一邊按5做步兵或者火槍。
②:選中屏幕內相同的單位。例如想選中同個屏幕中的8個食屍鬼,可以按住ctrl再點隨便一個食屍鬼,就可以全部選中8個了。但選中的單位,最多隻有12個,因為一個組隊只能容納12個單位嘛,呵呵。
③:ctrl鍵的另外一個作用是傳說中的「子組順序修改鍵」。進入游戲後,「選項」內的「游戲性」里,把「子組順序修改鍵」前面的方框點上勾,就可以用上這個功能了。這個功能的作用可以將同一個組隊的不同單位分開工作。舉個例子,不死前期使用骷髏權仗+食屍鬼mf,把食屍鬼和骷髏編在一個組隊,而mf的時候我想把骷髏頂在前面,就可以先按TAB(因為骷髏的優先度比食屍鬼低)選中骷髏,按住ctrl移動到前面。你會發現只有骷髏在移動而食屍鬼是不會動的。

三:更精細的操作:M鍵,S鍵的使用。

一M鍵:本意是move,但是我們可以把它引申為包圍。對,它就是傳說中的包圍鍵。要成為高手,就要把包圍練到神乎其技。各位,努力了。
戰場上的第一焦點永遠是英雄,所以我們當然先說的是包圍英雄。理論上,在沒有地形的影響下,4個單位就能夠把一個英雄圍住。但是這種情況很少出現,所以我們一般用5個或5個以上的單位來圍英雄。
圍英雄基本的操作步驟(用6食屍鬼為例):1,先用右鍵移動食屍鬼到對方英雄的另外一邊。2,當有2個食屍鬼超過了英雄之後,選中6食屍鬼,M到對方英雄身上。3,再按M,再點到對方英雄身上。4,再按M,再點到對方英雄身上。5,按A攻擊對方英雄。包圍時候最重要的一點,永遠不要認為一次M鍵就可以把對方圍住。[{當然,包圍以後要注意再用A建進行攻擊,HOHO,別忘記了哦。}]
然而如此明顯的包圍,對手很容易察覺,從而很輕松的跑掉。所以我們總是想盡辦法來相對的減緩對方英雄的速度,來實施更輕松的包圍。做法有:
1,固定對方英雄:山嶽的風暴錘,牛頭人酋長的戰爭踐踏,薩滿的凈化,狼騎的誘捕,巫醫的靜止陷阱,叢林守護者的樹根纏繞,猛禽德魯伊的颶風,地穴領主的穿刺,恐懼魔王的睡眠和終極技能,地精修理匠的飛彈。
2,緩慢對方英雄:血法的虛無,女巫的緩慢,影子獵手的巫術,飛龍的浸毒攻擊,守望者的暗影突襲(毒鏢),樹妖的毒素攻擊,巫妖的霜凍新星,不死的霜凍塔,骷髏法師的殘廢,冰龍的攻擊,哪伽的冰箭,熊貓的酒霧。當然,還有佩帶了閃電球、毒液球或者霜凍球的英雄。
3,加快自己部隊:獸族的加速卷軸,牛頭人酋長的耐久光環,死亡騎士的邪惡光環(包括擁有天災骨鍾的英雄)。
還有一種做法就是利用地形。論壇上的一張惡魔獵手被一個月亮井和3個小弓箭手包圍的圖文戰報相信大家都看過了,這是利用地形的一次經典包圍。同樣,我們也可以利用地圖上的拐角,樓梯用更少的兵包圍英雄。這就要讓對手的英雄盡量的走旁邊。舉個例子,我們可以把自己基地的建築只留最邊上一個口子,假如對方的英雄要來騷擾,一定只能從建築和樹林的縫隙中進來,而我們可以利用建築和樹林,實施包圍。
利用召喚單位包圍也是一種好方法,具體怎麼搞我還真不知道(眾人倒:「你個菜鳥,不知道你說什麼啊!」)。在戰斗的時候,用3個獸兵先包圍住你的一半,然後先知躲在一旁一放狼,英雄就正好被包圍了。另外死亡之書,一下是召喚出8個單位,圍一個英雄足夠。這兩種情況都是我在和別人對戰時候遇到過的尷尬情況。當然我還有在騷擾人族開分基地時候,被民兵+水元素包圍的情況,555~~~。
M鍵還可以用來反包圍。當你的對手用固定或者減緩你英雄的方法想對你英雄實施包圍,這個時候你可以把自己的單位包圍英雄,然後在英雄恢復之後逃離包圍。
包圍普通的單位和包圍英雄基本上是一樣的,只是有些單位的體積比英雄小一點,包圍的時候需要更多的單位。
一次成功的包圍往往可以左右一場戰斗的勝負。例如你的對手大軍浩浩盪盪的開到你家來,而你家裡只有一點點的兵力可守。如果包圍對手英雄成功,既可以解決你的燃眉之急,又浪費了對手的一張¥350的回程。
在越來越多的人懂得把瀕死的兵拖動以保護單位的現在,好好的練習包圍吧。

二S鍵:本意是stop,但是我們可以把它引申為阻擋。
阻擋一個單位的基本做法是:1,讓你的單位想辦法跑到它移動路線的前面。2,把你的單位斜插到它的移動路線上。3,一旦走到它要移動的路線上面,按S。
接下來你要做的就是不停的推測它的移動路線,不停的占據它的移動路線,一邊用滑鼠控制你的單位的移動路線,一邊狂按S。阻擋時候最重要的一點,永遠不要以為你的單位能夠恰好跑到它的移動路線上去阻擋它,要用S鍵控制你的單位在恰當的位置停下來,並用滑鼠右鍵讓你的單位繼續移動。
有時候我認為,阻擋幾乎和包圍相同的重要。你的對手在覺得打不贏之後,往往控制大量黃血或者紅血的單位逃跑。而你完全可以用一個或者幾個單位阻擋住對手一個或幾個單位,而等待自己的英雄過來釋放魔法或者等待自己的單位過來包圍。給我印象最深的兩個阻擋,一個是一個人族用農民阻擋一個紅血的5級先知,然後這個先知被大法師丟下4個火球而死,還有一個是xiaOt用2條3級隱形狼阻擋一個黃血的6級大法師,然後這個大法師愣是被2道閃電+2個震盪波打倒。
當然,S鍵的阻擋也可以用來掩護自己部隊的撤退。當自己撤退而對手窮追不捨得時候,我們可以讓一個速度快一點的單位(這樣在掩護這個單位可以迅速的逃走),例如英雄、女獵手、狼騎士之類,阻擋對手部隊,讓他停止對你的追擊,當然最重要的還是意識了。

Ⅶ unity中常用腳本生命周期全解

1)Awake:整個生命周期中只執行一次(腳本文件被載入到場景中的時間調用)

2)OnEnable:整個生命周期執行的次數不確定(當游戲對象或者腳本在激活的時間執行該方法)

3)Start:整個生命周期中只執行一次(用於進行初始化操作)

4)FixedUpdate:以幀為單位進行場景的刷新,以固定的時間來進行間隔執行,主要完成與物理相關的更新操作

5)Update:每一幀與每一幀的執行時間可能是不一樣的,Update方法執行速率與硬體和渲染的物體有關系,有時間快,有時間慢,主要完成場景中一些數據的更新和數據的邏輯處理操作

6)LateUpdate:當一幀執行結束,在執行下一幀之前,會調用此方法

7)OnGUI:以幀為單位進行反復的執行

8)OnDisable:整個生命周期執行的次數不確定(當對象或腳本處於不可用或不可激活的時間執行該方法,一般會與OnEnable方法配合使用)

9)OnDestory:整個生命周期只執行一次(當對象(或腳本文件)被銷毀的時間執行該方法,在執行該方法的時間,一般會先執行OnDisable方法,將對象變為不可用的狀態,然後在銷毀)

1)一個游戲對象是否只能綁定一個腳本

    一個游戲對象的身上會綁定多個腳本文件

2)如果一個游戲對象可以綁定多個腳本,那麼那個腳本先執行,那個腳本最後執行了

    先綁定的腳本最後執行,最後綁定的腳本先被執行

3)場景中如果存在多個游戲對象,多個游戲對象的身上都綁定了腳本文件,執行順序又是怎樣的

    先綁定的腳本最後執行,最後綁定的腳本先被執行,無論游戲對象上綁定了多少腳本組建,腳本的執行和腳本的綁定順序有關

注意:綁定在游戲物體對象上面的腳本文件可以手動設置Script Execution Order來決定腳本的執行順序,值越小代表的執行優先順序越高

Ⅷ 坦克世界腳本什麼意思

外 掛的另一種說法,都是作弊的意思,坦克世界這個游戲是有官方外掛的,所以還是以盒子為主就是了,基本都在用,當然你也可以買那些花錢的外掛,象壓樹、透視之類的所謂腳本。

熱點內容
原神電腦配置怎麼玩不卡 發布:2025-07-20 18:07:06 瀏覽:955
反編譯獲取原代碼 發布:2025-07-20 17:49:43 瀏覽:492
plc編譯怎麼找 發布:2025-07-20 17:48:56 瀏覽:162
無效的宏名稱將編譯啞宏 發布:2025-07-20 17:48:16 瀏覽:155
250萬解壓 發布:2025-07-20 17:44:52 瀏覽:620
騰訊視頻上傳廣告 發布:2025-07-20 17:35:55 瀏覽:406
掘地求升免費腳本 發布:2025-07-20 17:32:06 瀏覽:962
linux設置python環境變數 發布:2025-07-20 17:22:49 瀏覽:242
柱底層加密區 發布:2025-07-20 17:16:20 瀏覽:913
安卓ids是什麼文件 發布:2025-07-20 17:16:14 瀏覽:668