反彈式腳本
㈠ 腳本有哪些
腳本語言有哪些?
腳本語言有很多種,像是我們常見的Cmd命令也可以算是一種腳本,你說的腳本語言應該是Web應用程序的腳本。
這類的常見的有javaScript、VBScript、Perl、php、python、Ruby。
腳本語言的特點是語法簡單,一般以文本形式保存,並且不需要編譯成目標程序,在調用的時候直接解釋。這可以當做是腳本語言的判斷標准,比如說JavaScript,你只需要用記事本新建一個Html文件,在裡面加上一段腳本就可以了,在瀏覽器打開Html文件時自然會調用JS腳本。
總之你能用記事本寫出程序,不需要編譯環境生成目標程序的基本上就是腳本語言。
腳本語言是什麼
腳本語言,腳本語言或擴建的語言,是一種編程語言控制軟體應用程序。 「腳本」往往被視為有別於「程序」 ,執行獨立於任何其他的應用。在同一時間,他們是有別於核心代碼的應用,這是通常的書面在不同的語言,和現正接觸到最終用戶,使他們的行為的應用,以適應用戶的需要。腳本往往是,但並非總是解釋,從源代碼或「半匯編」 ,以位元組這是解釋,不同的應用,他們的相關,這是傳統的編制本土機器碼為系統上運行他們。腳本語言幾乎總是在嵌入式應用與它們相關的。
命名為「常本」是來自書面腳本的表演藝術,在這種對話是訂下要發言,由人類行為者。早期的腳本語言通常被稱為一批語言或工作控制語言。例如早期的腳本語言的建立是冊陪隱為了縮短傳統的編輯-編譯-鏈接-運行的過程。
1.腳本語言(JavaScript,VBscript等)介於HTML和C,C++,Java,C#等編程語言之間。
HTML通常用於格式化和鏈結文本。而編程語言通常用於向機器發出一系列復雜的指令。
2.腳本語言與編程語言也有很多相似地方,其函數與編程語言比較相象一些,其也涉及到變數。與編程語言之間最大的區別是編程語言的語法和規則更為嚴格和復雜一些.
3.與程序代碼的關系:腳本也是一種語言,其同樣由程序代碼組成。
註:腳本語言一般都有相應的腳本引擎來解釋執行。 他們一般需要解釋器才能運行。JAVASCRIPT,ASP,PHP,PERL,Nuva都是腳本語言。C/C++編譯、鏈接後,可形成獨立執行的exe文件。
4.腳本語言是一種解釋性的語言,例如vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以編譯成二進制代碼,以可執行文件的形式存在.
腳本語言不需要編譯,可以直接用,由解釋器來負責解釋。
5.腳本語言一般都是以文本形式存在,類似於一種命令.
舉個例子說,如果你建立了一個程序,叫aaa.exe,可以打開.aa為擴展名的文件.
你為.aa文件的編寫指定了一套規則(語法),當別人編寫了.aa文件後,你的程序用這種規則來理解編寫人的意圖,並作出回應.那麼,這一套規則就是腳本語言.
腳本語言有哪些
腳本語言有很多種,像是我們常見的Cmd命令也可以算是一種腳本,你說的腳本語言應該是Web應用程序的腳本。
這類的常見的有JavaScript、VBScript、Perl、PHP、Python、Ruby。
腳本語言的特點是語法簡單,一般以文本形式保存,並且不需要編譯成目標亂蠢程州廳序,在調用的時候直接解釋。這可以當做是腳本語言的判斷標准,比如說JavaScript,你只需要用記事本新建一個Html文件,在裡面加上一段腳本就可以了,在瀏覽器打開Html文件時自然會調用JS腳本。
總之你能用記事本寫出程序,不需要編譯環境生成目標程序的基本上就是腳本語言。
腳本分幾種,用途都是什麼?
腳本(script)是使用一種特定的描述性語言,依據一定的格式編寫的可執行文件,又稱作宏或批處理文件。腳本是批處理文件的延伸,是一種純文本保存的程序,一般來說的計算機腳本程序是確定的一系列控制計算機進行運算操作動作的組合,在其中可以實現一定的邏輯分支等。 腳本簡單地說就是一條條的文字命令,這些文字命令是可以看到的(如可以用記事本打開查看、編輯),腳本程序在執行時,是由系統的一個解釋器,將其一條條的翻譯成機器可識別的指令,並按程序順序執行。因為腳本在執行時多了一道翻譯的過程,所以它比二進製程序執行效率要稍低一些。 腳本通常可以由應用程序臨時調用並執行。各類腳本被廣泛地應用於網頁設計中,因為腳本不僅可以減小網頁的規模和提高網頁瀏覽速度,而且可以豐富網頁的表現,如動畫、聲音等。舉個最常見的例子,當點擊網頁上的Email地址時能自動調用Outlook Express或Foxmail這類郵箱軟體,就是通過腳本功能來實現的。也正因為腳本的這些特點,往往被一些別有用心的人所利用。例如在腳本中加入一些破壞計算機系統的命令,這樣當用戶瀏覽網頁時,一旦調用 這類腳本,便會使用戶的系統受到攻擊。所以用戶應根據對所訪問網頁的信任程度選擇安全等級,特別是對於那些本身內容就非法的網頁,更不要輕易允許使用腳本。通過「安全設置」對話框,選擇「腳本」選項下的各種設置就可以輕松實現對腳本的禁用和啟用。 計算機語言是為了各種目的和任務而開發的,一個常見任務就是把各種不同的已有組件連接起來以完成相關任務。大多腳本語言共性是:良好的快速開發,高效率的執行,解釋而非編譯執行,和其它語言編寫的程序組件之間通信功能很強大。 許多腳本語言用來執行一次性任務,尤其是系統管理方面。它可以把服務組件粘合起來,因此被廣泛用於GUI創建或者命令行,操作系統通常提供一些默認的腳本語言,即通常所謂shell腳本語言。 腳本通常以文本(如ASCII)保存,只在被調用時進行解釋或編譯。 有些腳本是為了特定領域設計的,但通常腳本都可以寫更通用的腳本。在大型項目中經常把腳本和其它低級編程語言一起使用,各自發揮優勢解決特定問題。腳本經常用於設計互動通信,它有許多可以單獨執行的命令,可以做很高級的操作,(如在傳統的Unix shell (sh)中,大多操作就是程序本身。) 這些高級命令簡化了代碼編寫過程。諸如內存自動管理和溢出檢查等性能問題可以不用考慮。在更低級或非腳本語言中,內存及變數管理和數據結構等耗費人工,為解決一個給定問題需要大量代碼,當然這樣能夠獲得更為細致的控制和優化。腳本缺少優化程序以提速或者降低內存的伸縮性。 綜上所述,腳本編程速度更快,且腳本文件明顯小於如同類C程序文件。這種靈活性是以執行效率為代價的。腳本通常是解釋執行的,速度可能很慢,且運行時更耗內存。在很多案例中,如編寫一些數十行的小腳本,它所帶來的編寫優勢就遠遠超過了運行時的劣勢,尤其是在當前程序員工資趨高和硬體成本趨低時。 然而,在腳本和傳統編程語言之間的界限越來越模糊,尤其是在一系列新語言及其集成暢出現時。在一些腳本語言中,有經驗的程序員可以進行大量優化工作。在大多現代系統中通常有多種合適的腳本語言可以選擇,所以推薦使用多種語言(包括C或匯編語言)編寫一種腳本。 常見的腳本語言:Scala、JavaScript,VBScript,ActionScript,MAX Script,ASP,JSP,PHP,SQL,Perl,Shell,python,Ruby,JavaFX,Lua,AutoIt等。 [編輯本段]與......
腳本文件是什麼意思
腳本script是使用一種特定的描述性語言,依據一定的格式編寫的可執行文件,又稱作宏或批處理文件。腳本通常可以由應用程序臨時調用並執行。各類腳本目前被廣泛地應用於網頁設計中,因為腳本不僅可以減小網頁的規模和提高網頁瀏覽速度,而且可以豐富網頁的表現,如動畫、聲音等。舉個最常見的例子,當我們點擊網頁上的E-mail地址時能自動調用Outlook Express或Foxmail這類郵件軟體,就是通過腳本功能來實現的。也正因為腳本的這些特點,往往被一些別有用心的人所利用。例如在腳本中加入一些破壞計算機系統的命令,這樣當用戶瀏覽網頁時,一旦調用這類腳本,便會使用戶的系統受到攻擊。所以用戶應根據對所訪問網頁的信任程度選擇安全等級,特別是對於那些本身內容就非法的網頁,更不要輕易允許使用腳本。通過「安全設置」對話框,選擇「腳本」選項下的各種設置就可以輕松實現對腳本的禁用和啟用。
解釋二
動態程序一般有兩種實現方式,一是二進制方式,一是腳本方式。
二進制方式是先將我們編寫的程序進行編譯,變成機器可識別的指令代碼(如.exe文件),然後再執行。這種編譯好的程序我們只能執行、使用,卻看不到他的程序內容。
腳本簡單地說就是一條條的文字命令,這些文字命令是我們可以看到的(如可以用記事本打開查看、編輯),腳本程序在執行時,是由系統的一個解釋器,將其一條條的翻譯成機器可識別的指令,並按程序順序執行。因為腳本在執行時多了一道翻譯的過程,所以它比二進製程序執行效率要稍低一些。
按目前的服務規則,虛擬主機網站只能採用腳本語言來實現
動畫術語名詞解釋
腳本:寫劇本的人,也叫故事構成。
腳本英文為Script。實際上腳本就是程序,一般都是有應用程序提供的編程語言。應用程序包括瀏覽器(JavaScript、VBScript)、多媒體創作工具,應用程序的宏和創作系統的批處理語言也可以歸入腳本之類。腳本同我們平時使用的VB、C語言的區別主要是:
1、腳本語法比較簡單,比較容易掌握;
2、腳本與應用程序密切相關,所以包括相對應用程序自身的功能;
3、腳本一般不具備通用性,所能處理的問題范圍有限。
腳本,英文名為Script,簡單地說,腳本就是指通過記事本程序或其它文本編輯器(如Windows Script Editor,EditPlus等)創建,並保存為特定擴展名(如.reg , .vbs, .js, .inf等)的文件,對於注冊表腳本文件就是利用特定的格式編輯的.reg文件;對於VBScript腳本編程語言來說,腳本文件擴展名就是.vbs;對於JScript腳本編程語言來說,腳本文件擴展名就是.js;另外,.wsf格式是Microsoft定義的一種腳本文件格式,即Window Script File.
具體地說,腳本通過利用應用程序或工具的規則和語法來表達指令,以控制應用程序(包括注冊表程序)中各種元素的反應,也可以由簡單的控制結構(例如循環語句和If/Then語句)組成,這些應用程序或工具包括網頁瀏覽器(支持VBScript,Jscript),多媒體製作工具,應用程序的宏(比如Office的宏)以及我們熟悉的注冊表工具(regedit.exe)等.操作系統中的批處理也可以歸入腳本之列,批處理程序也經常由Windows環境中的"腳本"替換,所以又稱腳本是"Windows時代的批處理".
腳本的作用在每一種應用程序中起的作用都是不一樣的,比如在網頁中可以實現各種動態效果,各種特效處理,......
腳本是什麼意思?
腳本(script)是使用一種特定的描述性語言,依據一定的格式編寫的可執行文件,又稱作宏或批處理文件
腳本是批處理文件的延伸,是一種純文本保存的程序,一般來說的計算機腳本程序是確定的一系列控制計算機進行運算操作動作的組合龔在其中可以實現一定的邏輯分支等。 腳本簡單地說就是一條條的文字命令,這些文字命令是可以看到的(如可以用記事本打開查看、編輯),腳本程序在執行時,是由系統的一個解釋器,將其一條條的翻譯成機器可識別的指令,並按程序順序執行。因為腳本在執行時多了一道翻譯的過程,所以它比二進製程序執行效率要稍低一些。 腳本通常可以由應用程序臨時調用並執行。各類腳本被廣泛地應用於網頁設計中,因為腳本不僅可以減小網頁的規模和提高網頁瀏覽速度,而且可以豐富網頁的表現,如動畫、聲音等。舉個最常見的例子,當點擊網頁上的Email地址時能自動調用Outlook Express或Foxmail這類郵箱軟體,就是通過腳本功能來實現的。也正因為腳本的這些特點,往往被一些別有用心的人所利用。例如在腳本中加入一些破壞計算機系統的命令,這樣當用戶瀏覽網頁時,一旦調用
這類腳本,便會使用戶的系統受到攻擊。所以用戶應根據對所訪問網頁的信任程度選擇安全等級,特別是對於那些本身內容就非法的網頁,更不要輕易允許使用腳本。通過「安全設置」對話框,選擇「腳本」選項下的各種設置就可以輕松實現對腳本的禁用和啟用。
什麼是JS腳本??
當時服務端需要對數據進行驗證,由於網路速度相當緩慢,只有28.8kbps,驗證步驟浪費的時間太多。於是Netscape的瀏覽器Navigator加入了Javascript,提供了數據驗證的基本功能。
JavaScript 的正式名稱是 "ECMAScript"。這個標准由 ECMA 組織發展和維護。ECMA-262 是正式的 JavaScript 標准。這個標准基於 JavaScript (Netscape) 和 JScript (Microsoft)。Netscape (Navigator 2.0) 的 Brendan Eich 發明了這門語言,從 1996 年開始,已經出現在所有的 Netscape 和 Microsoft 瀏覽器中。ECMA-262 的開發始於 1996 年,在 1997 年 7 月,ECMA 會員大會採納了它的首個版本。
在1998 年,該標准成為了國際 ISO 標准 (ISO/IEC 16262)。這個標准仍然處於發展之中。
腳本script是使用一種特定的描述性語言,依據一定的格式編寫的可執行文件,又稱作宏或批處理文件。腳本通常可以由應用程序臨時調用並執行。各類腳本目前被廣泛地應用於網頁設計中,因為腳本不僅可以減小網頁的規模和提高網頁瀏覽速度,而且可以豐富網頁的表現,如動畫、聲音等。舉個最常見的例子,當我們點擊網頁上的E-mail地址時能自動調用Outlook Express或Foxmail這類郵件軟體,就是通過腳本功能來實現的。也正因為腳本的這些特點,往往被一些別有用心的人所利用。例如在腳本中加入一些破壞計算機系統的命令,這樣當用戶瀏覽網頁時,一旦調用這類腳本,便會使用戶的系統受到攻擊。所以用戶應根據對所訪問網頁的信任程度選擇安全等級,特別是對於那些本身內容就非法的網頁,更不要輕易允許使用腳本。通過「安全設置」對話框,選擇「腳本」選項下的各種設置就可以輕松實現對腳本的禁用和啟用。
現在的腳本語言是比較多的,一般的腳本語言的執行只同具體的解釋執行器有關,所以只要系統上有相應語言的解釋程序就可以做到跨平台。腳本(Script),就是含有bind和alias等命令的 *** ,你可以把這個 *** 存為一個獨立的文件然後在需要的時候執行,這樣就可以方便你在CS中的使用。腳本可以存為後綴名為.cfg的文件放在cstrike文件夾下,執行時在控制台輸入:exec(腳本文件名).cfg即可。比如將一個腳本存為 buys.cfg文件,則在控制台中輸入:execbuys.cfg則可以實現我們所需要的功能。要實現一個命令只要把這一過程定義(alias)好,並且分配一個鍵位給這個命令,以後只要按分配好的鍵位,就可以實現這一過程。所有的腳本都是通過這一方法實現的。
腳本有什麼用?
腳本scr撫pt是使用一種特定的描述性語言,依據一定的格式編寫的可執行文件,又稱作宏或批處理文件。腳本通常可以由應用程序臨時調用並執行。
簡單地說,腳本就是指通過記事本程序或其它文本編輯器(如Windows Script Editor,EditPlus等)創建,並保存為特定擴展(如.reg , .vbs, .js, .inf等)的文件,對於注冊表腳本文件就是利用特定的格式編輯的.reg文件;對於VBScript腳本編程語言來說,腳本文件擴展名就是.vbs;對於JScript腳本編程語言來說,腳本文件擴展名就是.js;另外,.wsf格式是Microsoft定義的一種腳本文件格式,即Window Script File.
腳本的作用在每一種應用程序中起的作用都是不一樣的,比如在網頁中可以實現各種動態效果,各種特效處理,實現各種HTML不能實現的功能.而在Office組件中,我們會經常看到"宏"這個工具,它其實就是一系列命令和指令可以實現任務執行的自動化.
web中的腳本語言都有哪些?
javascript JavaScript,VB,CGI , vbscriJSP,VB pt, html ,xml ,aspx
腳本語言是什麼意思?
腳本英文為Script。實際上腳本就是程序,一般都是有應用程序提供的編程語言。應用程序包括瀏覽器(JavaScript、VBScript)、多媒體創作工具,應用程序的宏和創作系統的批處理語言也可以歸入腳本之類。腳本同我們平時使用的VB、C語言的區別主要是:
1、腳本語法比較簡單,比較容易掌握;
2、腳本與應用程序密切相關,所以包括相對應用程序自身的功能;
3、腳本一般不具備通用性,所能處理的矗題范圍有限。
4、腳本多為解釋執行。
㈡ 跨站腳本攻擊有哪些類型
1、持久型跨站:最直接的危害類型,跨站代碼存儲在伺服器(資料庫)。
2、非持久型跨站:反射型跨站腳本漏洞,最普遍的類型。用戶訪問伺服器-跨站鏈接-返回跨站代碼。
3、DOM跨站(DOM XSS):DOM(document object model文檔對象模型),客戶端腳本處理邏輯導致的安全問題。
(2)反彈式腳本擴展閱讀:
跨站腳本攻擊產生的原因是網站過於相信用戶的輸入,那麼解決的辦法也很直接,就是從根本上不相信用戶的任何輸入。一個安全的網站應當對任何用戶的任何輸入都要進行檢查,特別是對用戶提交到伺服器中保存的數據,更要做篩選。
這種攻擊與反射型攻擊不同的是,它會把自己的攻擊代碼保存在網站的伺服器上,這樣,任何訪問了這個頁面的用戶,都會受到這個攻擊。
㈢ shell腳本書寫方法
在shell學習過程中,感覺挺有用的一份比較,略整理分享給大家。
首先,shell的作用
用戶的登陸shell 登陸後默認的shell程序是: /bin/bash
不同的shell內部指令,運行環境會有所區別
常見的shell有
/bin/sh
/bin/bash
/sbin/nologin
1.編寫腳本代碼:
使用vi編輯器,每行一條linux命令,按照順序執行
2.然後賦予腳本文件可執行的屬性
3.執行腳本文件的三種方法
./chao.sh
sh /chao.sh
source /chao.sh
更完善的腳本構成
注釋信息
可執行語句
重定向操作
類型 操作符 用途
重定向輸入 < 從指定文件讀取而不是從鍵盤輸入
重定向輸出 > 將輸出文件保存到指定文件(覆蓋原有內容)
>> 將輸出文件保存到指定文件(覆蓋原有內容)
標准錯誤輸出 2> 將錯誤信息保存到指定的文件(覆蓋原有內容)
2>> 將錯誤信息保存到指定的文件
混合輸出 &> 將標准輸出,標准錯誤的內容保存到同一文件中
管道操作符號「|」
將左側的命令輸出結果,作為右側命令的處理對象
shell變數的作用
為靈活管理Linux系統提供的特定參數,有兩層意思
變數名:使用固定的名稱,由系統預設或用戶定義
變數值: 能夠根據用戶設置,系統環境的變化而變化
變數的類型
自定義變數:由用戶自己定義,修改和使用
環境變數: 由系統維護,用於設置工作環境
位置變數: 通過命令行給腳本程序傳遞參數
預定義變數:BASH中內置的一類變數,不能直接修改
定義一個新的變數
格式: 變數名=變數值
變數名以字母或下劃線開頭,區分大小寫,建議全大寫
查看變數的值: echo $變數名
賦值時使用引號:
雙引號:允許使用$符引用其他變數值
單引號: 禁止引用其他變數值,$視為普通字元
反撇號:命令替換,提取命令執行後的輸出結果
將鍵盤輸入內容為變數賦值
格式: read [-p "提示信息"] 變數名
設置變數的作用范圍
export 變數名
export 變數名=變數值
兩種格式可以混合使用
整數變數的運算:
expr 變數1 運算符 變數2 [運算符 變數3]
常見的運算符
加法運算符 +
減法運算符: -
乘法運算符:\*
除法運算符: /
取余運算:%
整數變數的運算(2)
((變數=變數運算符變數));
等號後面的變數可以是具體數值
例子:
((a=a+3));
環境變數:
由系統提前創建,用來設置用戶的工作環境
配置文件: /etc/profile ~/.bash_profile
常見環境變數的舉例
位置變數:
表示為$n, n為1~9之間的數字
預定義變數:
/etc/passwd /etc/shadow
例如一些服務的內置用戶名或密碼
如apache的啟動用戶就是預定義變數
條件測試操作
測試特定的 表達式是否成立,當條件成立時,測試語句的返回值為0,否則為其他數值
格式 : test 條件表達式
應用實例:
test -z 進行測試的時候 字元串長度為0的時候 結果才返回1
如果變數數值為0 返回0
條件測試操作
[ 操作符 文件或目錄]
[5] 部分是判斷表達式,-d表示判斷是否是目錄
&&是」邏輯與「操作符,只有&&前面的判斷成立,後面的語句才會執行
-b的意思是判斷 後面的路徑是否是一個目錄
echo $? 表示對剛剛執行的表達式進行判斷
0表示成立,1表示不成立
-e filename 如果 filename存在,則為真 [ -e /var/log/syslog ]
-d filename 如果 filename為目錄,則為真 [ -d /tmp/mydir ]
-f filename 如果 filename為常規文件,則為真 [ -f /usr/bin/grep ]
-L filename 如果 filename為符號鏈接,則為真 [ -L /usr/bin/grep ]
-r filename 如果 filename可讀,則為真 [ -r /var/log/syslog ]
-w filename 如果 filename可寫,則為真 [ -w /var/mytmp.txt ]
-x filename 如果 filename可執行,則為真 [ -L /usr/bin/grep ]
filename1-nt filename2 如果 filename1比 filename2新,則為真 [ /tmp/install/etc/services -nt /etc/services ]
filename1-ot filename2 如果 filename1比 filename2舊,則為真 [ /boot/bzImage -ot arch/i386/boot/bzImage ]
字元串比較運算符 (請注意引號的使用,這是防止空格擾亂代碼的好方法)
-z string 如果 string長度為零,則為真 [ -z "$myvar" ]
-n string 如果 string長度非零,則為真 [ -n "$myvar" ]
string1= string2 如果 string1與 string2相同,則為真 [ "$myvar" = "one two three" ]
string1!= string2 如果 string1與 string2不同,則為真 [ "$myvar" != "one two three" ]
算術比較運算符
num1-eq num2 等於 [ 3 -eq $mynum ]
num1-ne num2 不等於 [ 3 -ne $mynum ]
num1-lt num2 小於 [ 3 -lt $mynum ]
num1-le num2 小於或等於 [ 3 -le $mynum ]
num1-gt num2 大於 [ 3 -gt $mynum ]
num1-ge num2 大於或等於 [ 3 -ge $mynum ]
整數值比較
格式: [ 整數1 操作符 整數2 ]
字元串比較
格式1: [ 字元串1 = 字元串2 ]
[ 字元串1 != 字元串2 ]
格式2: [ -z 字元串 ]
邏輯測試:
格式1: [ 表達式1 ] 操作符 [ 表達式2 ]
格式2: 命令1 操作符 命令2
if語句的結構
while語句的語法結構
㈣ 在scratch3.0中,腳本的觸發方式有幾種請分別闡述
總共有七種
1、當綠旗被點擊
很明白,只需要點擊運行區左上方的旗子即可運行
2、當按下空格(此處可以換成鍵盤上26個字母與上下左右)鍵
只需要點擊鍵盤上相應的鍵即可運行
3、當角色被點擊
當角色點擊時運行
4、當背景換成1(此處可換成背景名稱)
每次換背景時都將檢測,如果當前背景名稱=代碼中的造型名稱,即可運行
5、當響度(此處可以換成計時器)>10(此處可換成任意一個數字
如果響度和計時器大於此處的參數將運行
6、當接收到消息1(此處可以換成任意一個消息名稱)
當任意一個角色或者背景,發出消息,消息名稱=此處參數時運行
7、當作為克隆體啟動時
克隆體剛克隆出來時將運行
㈤ CS腳本製作
腳本(Script),就是含有bind和alias等命令的集合,你可以把這個集合存為一個獨立的文件然後在需要的時候執行,這樣就可以方便你在CS中的使用。
腳本可以存為後綴名為.cfg的文件放在cstrike文件夾下,執行時在控制台輸入:exec (腳本文件名).cfg 即可。比如將一個腳本存為buys.cfg文件,則在控制台中輸入:exec buys.cfg則可以實現我們所需要的功能。要實現一個命令只要把這一過程定義(alias)好,並且分配一個鍵位給這個命令,以後只要按分配好的鍵位,就可以實現這一過程。所有的腳本都是通過這一方法實現的。
語句簡介:
1. alias語句是參數賦值用,語法為alias 參數名 "數值"
2. bind語句為綁定命令,就是把某個alias賦值的參數綁到某個鍵。具體的語法為bind "鍵名" "參數名"
3. "buy"相當於按下"b"鍵;
"buyequip"相當於按下"o"鍵;
"menuselect x"就是對應購買菜單的號碼。
舉兩個例子:
* 你要買ak47,那你在開局時會按b-->4-->1,
對應的腳本就是buy; menuselect 4; menuselect 1;(中間用分號隔開)
* 你要買手雷和1個閃光彈的話,那你在開局時會按o-->4,o-->3,
對應的腳本就是buyequip; menuselect 4; buyequip; menuselect 3;
注意bind鍵不能沖突,否則先bind的無效
什麼是bind?
Bind就是分配一個命令到指定的鍵,它同樣能夠分配一個alias到指定的鍵。
比如:bind "mouse1" " attack" 表示分配 attack(攻擊)這個命令到指定的鍵mouse1(滑鼠左鍵)
什麼是alias?
Alias就是給一組命令定義一個名稱,當你定義過後,CS就認為此alias為一個普通的命令,你可以用bind命令分配一個鍵給這個alias,也可以在其他的alias中使用它。
比如:alias hw "say Hello World!" 則當你在控制台(console)中輸入hw這條命令回車執行後,你就對伺服器里所有的玩家說了"Hello World!"這句話。
你還可以用bind命令:bind "v" "hw" 當你按過v鍵後,你同樣對伺服器里所有的玩家說了Hello World!這句話。
又比如:
alias buym "buy;menuselect 3;menuselect 1" //(注:相當於b-3-1)
alias buyv "buy;menuselect 8;menuselect 1" //(注:相當於b-8-1)
alias buysay "buym;buyv;hw" //(注:組合定義到一起)
bind j "buysay" //(注:組合再定義到J鍵)
則表示當你執行buysay命令(注:按J鍵即可)後,購買MP5和普通防彈衣,然後對伺服器里所有的玩家說Hello World!這句話。
此alias實現的方法為:
第一步執行buym命令,buym命令已經定義好為"打開購買菜單;選擇菜單第3項;再選擇菜單第1項",即實現了購買MP5的功能;
第二步執行buyv命令,buyv命令已經定義好為"打開購買菜單;選擇菜單第8項;再選擇菜單第1項",即實現了購買普通防彈衣的功能;
第三步執行之前已經定義好的hw命令:對伺服器里所有的玩家說Hello World!這句話。
把這三步命令定義為一個新的命令buysay,然後用bind命令分配一個鍵給這個新的命令,則當你按下j鍵後就實現了這三步命令的功能。
注意:
alias語句在Half-Life Counter-Strike里不能超過259個字元即下面這行字元的長度(一般也超不到這里來的)
"------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"
最長就這么長哦
下面是進階玩家需要看的基本式腳本:
1、在腳本文件中//作用為注釋,CS系統不會執行//後的文字。如在腳本中加入:
//打倒ZUO BI DE 系統並不會管理這行文字而是忽略掉//及之後的文字。
2、在腳本文件中" "作用為alias的開始和結束標志;在腳本文件中;的作用是分開兩條命令語句。
3、首先你必須了解developer這一命令這是關於調試信息的命令:
在控制台輸入developer 1後所有載控制台中顯示的信息都會在游戲的屏幕上顯示出來,相反輸入developer 0則關閉顯示信息。
注意:這些信息只是你本身的客戶端能看到,並不會發送的其他的玩家那裡。
比如我想要在屏幕的上方顯示This Script Edited by Nick這條信息,可以在控制台中用命令echo This Script Edited by Nick實現,但在游戲時是不可能看得到的(被控制台擋住了)怎樣實現呢?
我們可以用一個alias腳本實現:alias nick "developer 1; echo This Script Edited by Nick;developer 0" 然後bind v "nick" 關閉/隱藏控制台後在你按下v鍵後屏幕的上方就會顯示This Script Edited by Nick這條信息。
其次你可以使用alias語句使一些系統默認的命令簡化,如:
alias dvon "developer 1"
alias dvoff "developer 0"
則上一條腳本可以簡化成:
alias nick "dvon; echo This Script Edited by Nick;dvoff"
這對我們編輯較長的腳本時十分有用。
4、wait命令在腳本中也是十分常用的,它的作用是在執行腳本時做一個極小的暫停,當你的延遲情況不是很嚴重時可以只使用幾個wait命令,當你的延遲情況比較糟糕時可以多用幾個wait命令來使你的腳本得以完整/正確的執行。
如:
alias clmenu "wait;wait;wait;slot10"
這條命令是用來清除屏幕上的菜單信息的,在開頭的買槍腳本中買完槍後並沒有清除購買菜單我們需要按0鍵來清除菜單,而如果使用了這里的clmenu命令則可以清除購買菜單,slot10的功能就是選擇菜單上的0項。
而前面的幾個wait命令就是為了防止由網路延遲引起的系統忽略了slot10這條命令,還可以更保險一些把clmenu命令寫成:
alias clmenu "wait;wait;wait;slot10;wait;wait;slot10"選兩次0項來清除購買菜單。
如果你需要較多的延遲也可以寫出下面的命令:
alias w1 "wait;wait;wait;wait;wait;wait;wait;wait;wait;wait"然後在需要時用w1命令代替wait命令。
幾個比較常用的腳本:
// 蹲跳腳本
// 就是用超級跳代替普通跳。
alias cjump " jump; ck"
alias -cjump "-jump; -ck"
bind "space" " cjump" (把超級跳bind到空格鍵)
// 拆彈掩護腳本
// 當你拆彈時通知隊友掩護你,把拆彈bind到某鍵。
alias defuse " use; radio1; menuselect 1; slot10; say_team Cover me I'm defusing the bomb"
alias -defuse "-use; slot10"
bind "d" " defuse" (把拆彈掩護bind到d鍵)
// 放彈掩護腳本
// 當你放boom時通知隊友掩護你,bind到b鍵。
alias bomb "weapon_c4; ck; attack; wait; radio1; menuselect 1; slot10; say_team Cover me I'm planting the bomb"
alias -bomb "-ck; -attack; slot10"
bind "b" " bomb" (把放彈掩護bind到b鍵)
// 人質營救腳本
// 這個腳本把「use"加到跳中,你要做的就是跳到人質的附近就可以救他們了。
alias jumpres " jump; wait; use"
alias -jumpres "-jump; wait; -use"
bind "enter" " jumpres" (bind到「enter」鍵)
// 停止換彈夾
// 這個腳本可以停止當前武器的換彈夾並快速換回當前武器。
alias reload_stop "weapon_knife; wait; wait; wait; lastinv"
bind "q" "reload_stop" (bind到q鍵)
// 蹲走腳本
// 這個腳本允許你無需按著一個鍵蹲下,可以按一下蹲,再按一下站。
alias ck_t "ck_on"
alias ck_on "alias ck_t ck_off; ck; developer 1; echo Ducking enabled; developer 0"
alias ck_off "alias ck_t ck_on; -ck; developer 1; echo Standing enabled; developer 0"
bind "x" "ck_t" (bind到x鍵)
// 跑走腳本
// 這個腳本允許你無需按著一個鍵走,可以按一下走,再按一下跑。
alias walk_t "walk_on"
alias walk_on "alias walk_t walk_off; speed; developer 1; echo alking enabled; developer 0"
alias walk_off "alias walk_t walk_on; -speed; developer 1; echo Running enabled; developer 0"
bind "w" "walk_t" (bind到w鍵)
// 快速劈刀子腳本1
// 當你按著一個鍵時,會換成刀子用第一種方式連續砍劈,當你放開按鍵時換回原來的武器。
alias qslash "weapon_knife; wait; attack"
alias -qslash "-attack; lastinv"
bind "alt" " qslash" (bind到Alt鍵)
// 快速劈刀子腳本2
// 當你按著一個鍵時,會換成刀子用第二種方式連續砍劈,當你放開按鍵時換回原來的武器。
alias qstab "weapon_knife; wait; attack2"
alias -qstab "-attack2; wait; lastinv"
bind "alt" " qstab" (bind到Alt鍵)
*******************************
// 一鍵購買裝備腳本,每個腳本必須包括mclr和w3兩行才完整。
alias armor "buyequip; menuselect 1" // 買防彈衣
alias -armor "mclr; mclr"
alias clmenu "wait;wait;wait;slot10;wait;wait;slot10"
Server專用
deathmatch 1..................開dm模式,一個人一組,把其它人解決掉
decalfrequency 30.............玩家的logo多久可噴一次(秒)
kick #編號....................踢人(server專用,踢編號需加#,踢名字不用,但大小寫要一樣)
mapcyclefile mapcycle.txt.....選擇地圖切換的設定檔,內定為mapcycle.txt,可准備好幾份設定檔
mp_autokick 1.................睡死和TK三次後自動被系統踢掉
mp_autoteambalance 1..........自動隊伍平衡,0為准許雙方人數不平均和Bot玩時的好參數!
mp_buytime 1.5................以分鍾計,即90秒內均可回基地買東西
mp_c4timer 45.................設定C4炸彈的爆炸時間。最低15秒,最高90秒
mp_chasecam 0.................設定觀察員模式的玩家只能跟在別人的屁股
mp_consistency 1..............限制某些模型被更改,大的C4或大的別人的武器容易讓人發現...
mp_decals 250.................貼圖解析度,降低可減少lag
mp_fadetoblack 1..............這樣死後畫面變黑 活人可以看得到屍體
mp_falldamage 1...............會不會摔傷
mp_flashlight 1...............開啟/關閉可否使用手電筒。1是開啟,0是關閉
mp_footsteps 1................開啟/關閉腳步聲。1是開啟,0是關閉
mp_forcechasecam 0............死掉的人:0自由模式、1隻能跟著自己隊友走動、2屍體視線留在原地
mp_freezetime x...............每一場開始前的購物靜止秒數
mp_friendly_genrade_damage 0..............設定同隊的是否可以手榴彈丟傷隊友
mp_friendlyfire 0.............設定會不會殺傷隊友。1是會,0是關閉
mp_ghostfrequency 0.1.........鬼魂每秒鍾更新的頻率,越高越不會Lag
mp_hostagepenalty 13..........殺了多少人質或隊友後會被踢
mp_limitteams 2...............隊伍最大相差人數,太多人便不能再加入(如mp_autoteambalance 1則相差到此人數server便會自動平衡)
mp_logfile 1..................開不開紀錄文件(那要怎麼存檔???)
mp_logmessages 0..............控制是否把游戲進行間玩家的對話也記錄到log文件中,此項設定必需同時設定「log on「「mp_logfile 1「才可生效
mp_lowlag 0...................子彈打在牆上的效果,速度快用0,慢用1
mp_mapvoteratio 0.6...........票選地圖的人數達60%以上才會換地圖,0.0-1.0
mp_roundtime 5................設定每回合的時間。(只能3~15分鍾)
mp_tkpunish 1.................TK者下回合會自殺
mp_weaponstay 0...............保留落下的武器
nightvision 1.................夜試鏡能否使用
status........................列出玩家IP編號等
sv_gravity 800................控制重力,800是正常重力,-999到999999
sv_maxrate 0.............限制網路傳輸的資料最大值
sv_maxspeed 320...............最大速度
sv_minrate 0.........限制網路傳輸的資料最小值
sv_password 0.................進入游戲的密碼
sv_sendvelocity 0.............設定1開啟較復雜的花樣以及物理設定,適用較快的Server
users................列出線上使用者名稱及Userid(Server產生)及Uniqueid(WON server產生)
changelevel 地圖名............立刻換地圖,所有USER不會離開游戲
map 地圖名....................立刻換地圖,但所有USER會離開游戲。
mp_maxrounds X................X→幾回合之後換地圖
mp_winlimit X.................任一隊勝X場便換圖,例5戰3勝制,X=3
mp_timelimit 45..........每隔多少時間換一次地圖
(以上三個只能選一個,因此要「mp_maxrounds 20「前要先「mp_timelimit 0「)
sv_rcon_maxfailures 5..........試圖取得管理員許可權失敗超過幾次,CDKEY即被BAN
sv_rcon_minfailuretime 30......單位秒。如果在此時間內試圖取得管理員許可權.又失敗了
sv_rcon_minfailures指定的次數,該CDKEY即被BAN
sv_rcon_banpenalty 0...........指定在試圖取得管理員許可權中如果BAN CDKEY,BAN多久。0=永遠
玩家用參數
adjust_crosshair..............每打一次准心就會換顏色,共有五種顏色,選個亮一點吧!!
ah 1..........................設定是否開始自動說明(戲中給玩家引導)
cl_allowupload 1..............允許用戶方上傳自己的資料如logo
cl_allowdownload 1............允許用戶方自動下傳sever的資料如map
cl_download_ingame 1..........允許用戶方在game中自動下傳sever的資料,如logo,map
cl_cmdrate 30.................modem用戶設30,寬頻設40~50,Lan=50
cl_lw X.......................有無武器的動畫,最好設x=1
cl_lb 0.......................此項與血漬有關,設1比較真實,但會減低速度
cl_lc 1.......................和cs的新的網路技術有關,最好設x=1
cl_hidefrags 1................設定是否隱藏除了自己以外其它人的殺敵數與死亡數
cl_observercrosshair 1................設定在觀察員模式的時候是否要開起準星
cl_updaterate 20..............上傳速度,如果是寬頻設30~40,如果在比較多人的站設25,modem=15,Lan=50
con_color 255 155 50..........HUD的顏色(RGB)
dm 1..........................設定1來開啟游戲開始時的訊息介紹
drawradar.....................顯示雷達,有時雷達會突然消失,就可以用(有時候SERVER關掉了你按也沒用)
fastsprites 0.................煙霧特效,0逼真,1像超任,2像GameBoy
fps_max X.....................x=1~100,游戲輸出給顯示卡的最大fps數
hideradar.....................關閉雷達(測試你懂不懂得辨認隊友,以免tk)
hud_centerid 0................設定為1時,玩家ID會出現在屏幕的正中央。否則會出現在畫面的左下角。
hud_fastswitch 0..............快速換武器,按數字直接換不用再按滑鼠
keys..........................顯示自己的CD-KEY信息(CS沒效???)
kill..........................自殺!!死定的時候……了斷自已吧…
lefthand 0....................設定屏幕上的玩家是左撇子,或是右撇子。
listmaps....................顯示server的地圖排程
listplayers.................顯示大家的編號與姓名
maps 開頭.....................列出已安裝之地圖檔名,(只列出指定字母開頭的文件名,*為所有地圖)
max_shells 50.................子彈的最大顯示數量(太多會lag...)0-500
max_smokepuffs 50.............煙霧彈的最大顯示數量,0-500
name 新名字...................換名字,活著的時候才能用
nightvision...................開關夜視鏡
r_speeds 0....................以console文字方式顯示平均fps,draw speed及polygon info??
r_speeds 0....................強制工作!!對網速能稍做改善!有沒有效果……自已看吧!??
rate 2500.....................從server接受信息的速度,太大太小都會lag,要選適合的
setinfo ah 1...............是否提供自動說明的功能
setinfo dm 1................換地圖後開啟地圖的簡介
setinfo ghosts 0..............觀察模式時是否鬼魂關掉,對lag有幫助
setinfo lefthand 0............設定屏幕上的玩家是左撇子,或是右撇子。
setinfo vgui_menus 1..........圖形化選單開關
sizedown......................縮小屏幕
sizeup........................放大屏幕
timeleft..........讓你知道還有幾分鍾換地圖
version.......................顯示版本信息
vote 編號.....................對TKer,Camper還有Cheater投票,過6成的人投票就行
votemap 地圖名.........玩家可以投票投下一張地圖
sensitivity X.................滑鼠速度0.1-不限?(20是config的最大值)
zoom_sensitivity_ratio........設定使用狙擊鏡時滑鼠移動速度
ping..................顯示Server ping client值
pingservers............顯示Client ping server值
net_graph x...................打開測FPS與聯機速的工具 x=1開 x=0關,開起此項多少會減少fps
net_graphpos x................工具的位置 x=1,2,3
net_graphwidth 192............工具的大小
volume 0.8....................調整音量大小,實際音量為(volume/hisound)
hisound 1.000000..............設定音量最大值,實際音量為(volume/hisound)
bgmvolume 1.000000.........背景音效音樂之音量大小
disconnect..........離開游戲,保持在CS console狀態
exit.....................離開游戲,關閉CS,回到桌面
quit..........................離開游戲,關閉CS,回到桌面
reconnect.....................不離線直接重組聯機
retry.........................離線並重新聯機
connect IP....................聯機到指定Server
注意:以下部分為增加圖象質量,如欲提高顯示速度請使用相反設置
命令 默認值 建議更改值 說明
cl_himodels 0...........0,使用較低細節的人物皮膚,提高顯示速度
gl_playermip 2..........0,渲染質量,越高數字質量越差顯示也越快
max_smokepuffs 0........30,設定同時間可顯示的煙霧數量(伺服器端用)
fps_max 52..............100,顯示最大FPS數,高性能機器可改大
mp_decals 20............300,最大同時顯示貼圖
hisound 0...............1,高質量聲音
loadas8bit 1............0,使用8bit音質(較低質量)
s_a3d 0.................0,使用A3D系列音效卡設置為1
s_eax 0.................0,使用創新系列音效卡設置為1
bgmvolume 0.............1,播放CD音樂
cl_download_ingame 1....下載其它玩家LOGO、貼圖等
gl_smoothmodels 1.......3,人物動作更平滑
gl_round_down 1.........3
setinfo 「ah「 0..........1
setinfo 「ghosts「 0......1,是否顯示鬼魂
setinfo 「vgui_menus「 0..1,是否顯示圖形購買界面
cl_gaitestimation 1.....0,銜接人物兩個動作
cl_nopred 0.............0
gl_picmip 0.............2,渲染質量,越大的數字圖象質量越低速度越快
r_drawviewmodel 0.......1,顯示武器
錄像類命令
首先你必須擁有CS
激活游戲的時候請修改快捷方式內的參數
\hl.exe -console -game cstrike -condebug
此為範例請將路徑更改為你自己游戲安裝的路徑
如果沒有hl.exe使用cstrike.exe也可以。
進入游戲,並正常開始一場游戲
當您想錄像時請按~鍵呼叫出控制台,在控制台輸入以下命令:
record filename...............開始記錄一個錄像,錄像保存在\cstrike\filename.dem
demos.........................循環播放使用 startdemos命令播放的錄像
listdemo demoname.............列出錄像信息
playdemo filename.............使用正常速度播放 filename.dem 錄像
playvol 9.....................設置錄像回放次數
removedemo demo sgmt..........移除錄像中設置的片斷位置
setdemoinfo demo sgmt info....增加一個錄像信息,例如一段文字,漸進漸出或者快進快退
startdemos....................循環播放一段錄像
startmovie filename...........播放一段錄像
stop..........................停止錄像
stopdemo......................同上
swapdemo demo seg seg.......交換錄像中兩處片斷位置
imedemo demoname..............播放一段錄像,同時顯示最大fps(每秒顯示幀速)及平均fps
appenddemo demoname...........在該錄像文件後繼續錄像, 不覆蓋原錄像
removedemo....................從DEMO中剪掉一個片段,先用listdemo 看錄像的信息
edgefriction 2............3D畫面方面的東東
hpk_maxsize 0.5...........在custom.hpk多大時, 系統自動砍掉, 以MB為單位
遠程遙控
先在Server.cfg 加上Rcon_password 密碼
游戲中player 再以Rcon_password 密碼 登入
Player 即搖身一變為AMD,可下達Server指令
但指令前需加rcon空一格。
rcon addip 0 〈ip〉...........拒絕某個IP進入游戲,0表是永久,以分鍾計,IP之取得由rcon status
rcon addid 0 〈won id〉 kick....設定某個WON ID不準進入游戲,時間設定同上
rcon kick xxx...............把某個玩家踼掉,xxx可以是玩家id,不過由於有些人會加些特殊碼,有時會失效,則必需改用玩家編號,(編號由rcon users可取得,每個id最前方的數字即為玩家編碼,用rcon kick # yyy #)
rcon listid.................(看bannd id)
rcon restart................server地圖重玩
rcon say ID:................server talk
rcon say xxxx...............由server發生公告,不管死掉還是活著的都看的到,若是發出來訊息很怪,每個字會被「夾住,可改用rcon say 「xxxx「即可改善,不過1.1版應該不會有這現象了
rcon status.................看Info
rcon users..................看所有人資料
rcon writeip................將Ban掉的ID存入server
rcon writeid........將Ban掉的WON ID存入server
rcon_address IP.............Server滿人時候用,只可以進行管理,不能Play
rcon_password 密碼..........AMD登入密碼
在使用addip和addid的同時, 建議最好做一個autoexec.cfg檔, 裡面寫下exec listip.cfgexec banned.cfg
這樣子在Server重新激活時, 才會把上一次存下的記錄Load到新激活的Server里, 而名字最好就用Toexec.cfg,因為valve.rc里設定是找這個檔來跑, 或是自行修改那個檔去捉別的也行, 其中, listip.cfg是ban掉的ip記錄文件, banned.cfg是ban掉的won id記錄文件, 最後, 不建議把exec listip.cfg和exec banned.cfg放入server.cfg, 這 樣會使每次換地圖時就load一次, 由rcon listip和rcon listid很快就會發現被重復的記錄塞滿
bind "KP_5" "aug;sg552;primammo;" // 「5 」為購買土匪的Sg552 或者 警察的 Aug 然後買滿子彈,就是帶瞄準鏡那把槍
bind "KP_DEL" "vest;" // 「.」 購買防彈衣
bind "KP_DOWNARROW" "deagle;secammo;" // 「2」 沙漠之鷹
bind "KP_END" "usp;secammo;" // 「1」 USP 警察拿的手槍
bind "KP_HOME" "m4a1;ak47;primammo;" //「7」 M4 和 AK
bind "KP_INS" "vesthelm;" //「0」 帶頭盔的防彈衣
bind "KP_LEFTARROW" "mp5;primammo;" //「4」 MP5
bind "KP_MINUS" "flash;" //「- 」 閃光彈
bind "KP_PGDN" "defuser;" //「3」 警察的拆彈器
bind "KP_PGUP" "awp;primammo;" //「9」 awp
bind "KP_PLUS" "hegren;" //「 」手榴彈
bind "KP_RIGHTARROW" "shield;" //「6」 盾牌
bind "KP_UPARROW" "famas;galil;primammo;" //「8」 警察和土匪的新槍
只要把Steam的文件裡面的Autoexec.cfg或者userconfig.cfg裡面的腳本清空 然後把上面的腳本放上去就可以實現一鍵買槍了·!(注意:安裝一鍵買槍時候請備份你原來的腳本!)
㈥ 編程unity,如何讓2個物體即有碰撞反彈,又能觸發腳本OnTriggerEnter(Collider other) 求詳細方法
移動的要被檢測碰撞的需要加剛體(球),牆可以不用加仔中肢,但需要collider。培指
如果想要觸發OnTrigger需要勾選collider中的 Is Trigger。
球也必需要加collider。collider是檢測碰撞的必要組件
另:你可以看下http://www.cnblogs.com/javawebsoa/archive/2013/05/18/3085818.html
很詳念世細的闡述了各種碰撞的關系,簡單明了。
㈦ 第七章 SHELL腳本
在linux里可以直接使用shell腳本進行管理,shell就是命令解釋器,把用戶的命令翻譯成機器語言,在把機器語言翻譯成人類語言返回給用戶。
shell有Bshell和Cshell區分,經常在linux裡面用的shell都是Bshell,Bshell和Cshell完全不兼容。我在Centos裡面看見支持的幾種shell解釋器有sh,bash,csh。然後用的最多的就是base(標准shell)。
shell腳本可以添加執行許可權,然後在base命令界面直接輸入腳本路徑即可執行;所有的腳本開頭要聲明腳本shell,常見的聲明是#!/bin/bash,其他的還有#!/bin/sh,#!/bin/csh
寫第一個shell腳本吧
可以使用alias命令查看系統當前的別名,也可以用alias 別名=『真實命令』 來執行;
重定向輸出是將輸出到標准輸出設備的數據重新定向到另一個地方;
將標准(鍵盤)輸入重定向到其他一個設備上;
格式:命令1 | 命令2
表示把命令1的執行結果當成命令2的執行條件
跟正則表達式不一樣啊,剛才的grep -P就是使用正則,但是這里通配符比較簡單啊。
用引號表示,其中單引號標識不解析字元串中的特殊字元,雙引號則解析特殊字元。
如果字元串中有存在$(ls)這種,那麼這個表示ls命令的執行結果啊
當然這也可以用\進行轉義
㈧ 如何編寫ae腳本
1.創建合成
在ae中的基本所有的操作都是在合成中進行的,所有我們先來講一下如何創建一個合成。
創建合成命令可以在幫助手冊中的ItemCollection object(82頁)找到。
app.project.items.addComp(合成名稱,寬度, 高度, 像素長寬比,持續時間, 幀速率);
比如,我們想要創建一個叫「合成」的合成,解析度是1280*720,時長是8秒,幀速率為25幀每秒,那麼,我們就可以這么來寫:
app.project.items.addComp("合成",1280, 720, 1, 8, 25);
2.創建文件夾
創建文件夾命令也同樣是在幫助手冊中的ItemCollection object(82頁)找到。
app.project.items.addFolder("名字");
這里我們可以寫一個小例子,比如,我們想創建一個叫「合成」、解析度是1280*720、時長是8秒、幀速率為25幀每秒的合成以及一個叫「文件夾」的文件夾,我們需要將這個所創建出來的合成移動到新創建的文件夾當中,我們就可以這么來寫:
var newFolder=app.project.items.addFolder("文件夾");var newComp=app.project.items.addComp("合成",1280,720,1,8,25);// 使用parentFolder命令將新建的合成放入新建文件夾中newComp.parentFolder=newFolder;
js小知識:
1.var是聲明變數,最先創建變數時需要在變數名前使用var進行聲明,聲明變數時可以不賦值,可以在使用的時候再賦值,如:
var num;num=1;
2.希望大家在剛開始的時候就養成良好的變數名書寫規范,這里建議大家使用駝峰命名法(所謂駝峰命名法,就是變數中的從第二個單詞開始,首字母需要大寫,如:newComp)。這樣可以大大提高代碼的可讀性,以及便於你自己及他人進行代碼維護。
3.每句代碼寫完後,需要在該句末尾加 ; 號。
4.js中書寫注釋有2種方法: // 和 /* */ 。如果想要書寫單行注釋就可以使用//。如:
//這是一個單行注釋
如果想要書寫多行注釋就可以使用 /* */ , /* */ 中間添加要寫的注釋內容。如:
/*
這是一個多行注釋這是第二行這是第三行 */
3.獲取所選擇的合成
我們經常會對在選擇的合成中進行一些操作,那麼獲取當前所選擇的合成我們就需要這樣來寫:
var currentComp;// 獲取當前所選中的對象currentComp = app.project.activeItem;// 判斷當前所選中的對象是否是合成對象,如果是則返回frue,如果不是則返回falseif (currentComp instanceof CompItem) {
return true;} else {
return false;}
這里activeItem是獲取當前被選擇的對象,但是當前被選擇的對象有好多種,比如:當什麼都沒有選中時,他就是null,是個空對象,或者選中的是文件夾或者素材對象,所以我們這里需要判斷一下。
js小知識:
1.instanceof運算符是用來判斷一個對象是否屬於這個類,返回值是一個真或假的布爾值。
currentComp instanceof CompItem 的意思就是當前所選擇的對象是否是個合成。
2. if為判斷語句,書寫格式為:
if (判斷條件) {
滿足條件後執行的語句;} else {
不滿足條件所要執行的語句;}
在以後的對選中的合成操作時,肯定需要先判斷當前是否選中了合成,如何沒選中,我們就彈出提示,如果已經選中,我們在進行後面的一系列操作,這時,我們可以把上面的判斷封裝為一個函數來方便後面的調用。
比如,我們要選擇一個合成,如果是合成我們就返回當前所選擇的合成名字,並將解析度設置為1920*1080,如果所選擇的不是合成,則返回「請選擇合成」,我們可以這樣來寫:
var currentComp;function selComp(){
currentComp=app.project.activeItem;
if(currentComp instanceof CompItem){
return true;
}else{
alert ("請選擇合成");
return false;
}}if(selComp()){
alert (currentComp.name);
currentComp.width=1920;
currentComp.height=1080;}