Tuesday, 22 March 2016

R學習筆記(系統環境相關操作#2)

Learning Target

1. 顯示目前已安裝的套件(package)
2. 利用 CRAN 安裝套件(package)
3. 設定 CRAN Mirror
4. 關閉 R 啟動訊息
5. 執行 script
6. 顯示以及設定環境變數(Environment Variables)
7. 取得 R 安裝路徑(Home directory)

Note

1. 使用 library() 指令可以顯示目前已安裝的所有套件,使用以下的指令可以取出套件以及版本資訊
installed.packages()[,c("Package", "Version")]
             Package        Version    
GA           "GA"           "2.2"      
KernSmooth   "KernSmooth"   "2.23-15"  
MASS         "MASS"         "7.3-43"   
Matrix       "Matrix"       "1.2-2"    
MatrixModels "MatrixModels" "0.4-1"    
NMF          "NMF"          "0.20.6"   
RColorBrewer "RColorBrewer" "1.1-2"    
RSNNS        "RSNNS"        "0.4-7"    
Rcpp         "Rcpp"         "0.12.1"   
RcppEigen    "RcppEigen"    "0.3.2.5.1"
...(etc.)
2. 若你已經知道某個CRAN套件名稱,便可以藉由 install.package("package_name") 來進行套件的安裝

3. 透過網路安裝CRAN套件,會牽涉網路速度,若想要設定 CRAN Mirror 可以使用 chooseCRANmirror() 進行修改的動作

4. 若不想要看到 R 的啟動訊息,可以在執行 R 的時候加上 --quiet 選項

5. 若要執行已經撰寫好的 script 可以透過 source("script_name.R") 來進行執行的動作,在 R Studio 中,只需要點選上方的 Source 便可以執行該 R Script

6. 透過 Sys.getenv("SHELL") 便可以取得環境變數,透過 Sys.setenv("PATH") 可以設定環境變數

7. 利用 Sys.getenv("R_HOME") 則可以取得 R 的安裝路徑
> Sys.getenv("R_HOME")
[1] "/Library/Frameworks/R.framework/Resources"

Wednesday, 16 March 2016

GTA V 交通工具模組修改教學

Preface

如果讀者是第一次玩 GTA V 模組的話,可以先參考 GTA V 認識模組 這篇文章。看完有一點概念之後,請先將 GTA V 外觀模組修改工具教學 裡的模組工具安裝到電腦裡。

Tutorial

教學為大家示範的交通工具模組是另外新增一台車子,對 GTA V 來說就像是加入了一個新的 DLC ,這個 DLC 的內容就是一台車。這個改法與 GTA IV 有很大的差異,GTA IV 的模組修改都是將遊戲內現有的車子取代。 GTA V 則是新增一台新的車子,這台車子則需要使用 Trainer 修改器來呼叫出來。一樣手繪一張醜醜的圖為大家講解。

首先,加入一台新的交通工具模組對於 GTA V 來說等同於加入一個新的DLC。有幾步驟是我們必須要做的,第一,修改dlclist.xml告訴 GTA V有新的 DLC。第二個,把新的模組檔放到 update/x64/dlcpacks。最後切記,以上這些修改都是要先透過 OpenIV 將這些檔案複製到 mods 資料夾裡,再進行修改。

交通工具模組修改教學範例模組:Audi RS5 Coupe v1.1 by zQrba

1. 複製欲修改的檔案到 mods 資料夾

dlclist.xml這個檔案是放在 update/update.rpf/common/data 底下(綠框框),所以只需要複製 update/update.rpf (紅框框) 到 mods 資料夾底下即可,點一下右上方的 Copy to "mods" folder。如下圖所示


接著切換到 update/x64/dlcpacks 底下,可以看到已經現有的 DLC 了,先隨便選一個例如 mpapartment 這個 DLC 底下的 dlc.rpf,進入之後一樣複製到 mods 資料夾。


檢查 mods 底下的內容是否與下圖的一致


2. 進行修改dlclist.xml

首先,切換到 mods/common.rpf/data 找到 dlclist.xml,點選右鍵選擇extract的動作,輸出至桌面再進行編輯,如下圖。

接著,根據示範模組的ReadMe所提供要加入到dlclist.xml的內容為,請注意'rs5'
<item>dlcpacks:\rs5\</item>
接著將桌面編輯好的 dlclist.xml 複製到 mods/common.rpf/data 取代原本的 dlclist.xml

3. 匯入模組檔案

切換到 mods/update/x64/dlcpacks,這裡應該只看得到我們剛剛所複製的 mpapartment 而已。接著點選新增資料夾,資料夾的名稱請輸入rs5,這也是剛剛上一步請大家要注意的。

接著點進剛剛所建立的 rs5 資料夾,請先確認藍框內的路徑是否相符,綠框處的編輯模式是否有打開。確認後將整個資料夾的內容拖曳進來,但7-zip不支援所以要先複製到桌面在拉進來,winRAR好像可以直接拉進來


完成後就可以進入遊戲使用 Trainer 修改器利用 Spawn by name 的功能 輸入 rs5便可以將車子召喚出來了。請參考以下遊戲截圖
輸入模組名稱RS5
召喚成功

Warning!!
請記得,本篇教學所安裝的東西無法在線上模式中使用。如果想要進行線上模式的話請將ASI Manager打開,並將ASI Loader移除掉如下圖所示,再進行 GTA Online 線上模式。否則有可能會無法啟動 GTA Online 或者是被Rockstargames凍結帳號。

Postscript

熟悉了之後,改模組只是幾個步驟而已非常的簡單,比起 GTA IV 還在調整好幾份文件裡的參數實在是省去太多麻煩了。希望大家可以更愉快的玩 GTA V 模組。如果有什麼問題可以留言一起討論。


Tuesday, 15 March 2016

GTA V 外觀模組修改工具教學

Preface

第一次玩模組,對於模組不熟悉的可以先看這篇"GTA V 認識模組"。GTA V 不同於以往 GTA IV 的修改方式,GTA V 官方說明了故事單人模式支援玩家可以使用模組。但因為筆者所使用的 GTA V 版本為實體版的,所以在啟動 GTAVLauncher.exe 的時候,都會固定的進行檔案的檢查,此時模組會被視為遊戲內容不完整,故會重新下載被覆蓋掉。所以我們需要利用其他的方式來進行模組的修改。概念有點複雜,但懂了之後其實要裝上新的模組會比 GTA IV 還來得簡單很多也不必自行地去校對參數...等等複雜的動作。那麼修改模組的概念請參考下面這張醜醜的手繪圖。
這裡做個簡單的說明:
第一步,可以透過模組修改工具 OpenIV 將欲進行模組修改的檔案複製到遊戲路徑底下的mods資料夾
模組的副檔名皆為rpf

第二步,接著便可以利用 OpenIV 對mods資料夾裡的檔案進行模組的修改

第三步,確定 ASILoader,以及 OpenIV.asi 都已完成安裝

第四步,啟動遊戲時,檢查機制會檢查到 GTA V 原始的檔案。OpenIV.asi 則會幫你把 mods 資料夾裡有修改過的檔案繞過檢查機制跟著遊戲一起啟動。

希望這個圖有讓大家更清楚的了解,GTA V 外觀模組修改的過程。

Tutorial

首先,請大家先安裝 OpenIV、Simple Trainer for GTA V,以下附上原發布網站的連結

OpenIV

Simple Trainer for GTA V

OpenIV的安裝非常的簡單,只要照著步驟下一步下一步完成即可,沒有太大的困難。安裝完成後,第一次打開 OpenIV,需要告訴 OpenIV 你的 GTA V安裝路徑在哪。

安裝OpenIV.asi

接著安裝OpenIV.asi,請參照下圖的紅框處,打開ASI Manager,並完成安裝如下面第二張圖的畫面。


複製rpf模組檔案

假如果們要複製 update/update.rpf 這個檔案,切換到這個路徑底下之後點一下 update.rpf,同時請注意右邊區域上面那排紅底白字的警示訊息,有用一個綠框標示的那個 copy to "mods" folder 點擊一下,如下圖綠框處所示。
複製成功後,切換到 mods 資料夾,就可以看到update/update.rpf出現在這裡了,如下圖綠框框

安裝 Trainer 修改器

若各位玩家有習慣使用的Trainer也可以使用,只要有可以利用模組名稱產生交通工具的功能即可 Simple Trainer for GTA V 則屬於 Script Mod 功能模組,可以照著筆者另外一篇文章"GTA V 功能模組教學"完成。差別在於這篇文章裡所使用的是 Native Trainer。這裡需要進行的動作是將 NativeTrainer.asi 刪除,將上面Simple Trainer所下載下來的壓縮檔解壓縮,並將TrainerV.asi、trainerv.ini 這兩個檔案複製到遊戲的安裝目錄底下。Simple Trainer for GTA V 是為了要方便將新加入的交通工具模組呼叫出來的工具。

Warning!!
請記得,本篇教學所安裝的東西無法在線上模式中使用。如果想要進行線上模式的話請將ASI Manager打開,並將ASI Loader移除掉如下圖所示,再進行 GTA Online 線上模式。否則有可能會無法啟動 GTA Online 或者是被Rockstargames凍結帳號。

Postscript

以上的模組修改工具教學如果有不懂的地方,歡迎留言討論,接下來會有一篇交通工具模組的教學。

Sunday, 13 March 2016

R學習筆記(系統環境相關操作#1)

Learning Target

1. 設定工作路徑(Working directory)
2. 儲存現階段工作狀態(Saving workspace)
3. 列出執行過的歷史指令(Command history)
4. 儲存上一次指令執行結果
5. 顯示目前載入的套件(package)
6. 存取使用某個套件(package)的方法(function)
7. 存取內建資料集

Note

1. 可以使用 getwd() 顯示目前的工作目錄,setwd() 則可以設定工作目錄。特別注意的是 Windows 系統表示路徑所使用的斜線與 Unix系統不同, Windows 使用 '\',Unix係同則是 '/'
> getwd()
[1] "/Users/apple"
> setwd("Documents")
> getwd()
[1] "/Users/apple/Documents"
2. 使用 save.image() 可以儲存目前的工作狀態,其中會儲存變數以及方法(function),時常儲存目前的工作狀態可以預防無預警的停電或者是當機導致目前工作階段的變數方法消失,還得再重新執行一次。

3. 利用 history() 可以顯示之前所執行過最常使用的指令。但預設是顯示25個,參照下列所加入的變數可以查詢到更多歷史最常執行的指令
> history(100) #列出前100最常使用的指令
> history(Inf) #列出所有歷史執行過的指令
4. 透過一個系統的變數 .Last.value 指定給一個變數,便可以達到儲存的執行結果
> 1+pi
[1] 4.141593
> result <- .Last.value
> result
[1] 4.141593
5. 使用 search() 可以列出所載入的所有套件(package)

6. 假設我已經安裝了 e1071 這個套件,我想使用這個套件所提供的 fuzzy c-means 的方法,可以透過 library(e1071) 來載入該套件。

7. 利用 data(dataset_name, package="package_name") 可以載入 R 內建的 dataset 或者是其他 package 所提供的 dataset。
> data() #顯示所有內建的 dataset
> data("iris") #載入 iris dataset
> data("Cars93", package="MASS") #載入 MASS 套件裡的 Car93 資料集

Thursday, 10 March 2016

R學習筆記(宣告及定義方法 function)

Learning Target

1. 如何宣告方法 function

Note

請參考以下我的 R Script
#利用function這個方法來宣告方法
test <- function(a, b){
  if(b==0) return("b can't be zero")
  else return(a %% b)}

#將 test 這個 function 回傳值放到 result 這個變數
result <- test(5, 0)
print(result)

Tuesday, 8 March 2016

R 學習筆記(常見的錯誤)

Learning Target

1. 了解常見的小錯誤,不容易被發現,但會造成結果的錯誤

Note

*遺漏掉括號。例如: ls() 或其他可以不用帶入變數的方法遺漏掉括號的話 R 會將該 function的原始碼顯示出來。

*不同作業系統路徑表示斜線符號不同。Windows 所使用的為 '\',其他 Unix 作業系統則為 '/'

*將變數初始化的時候誤植一個空白在中間。正確的為 "<-" ,但有可能會發生 "<(Sapce)-"

*使用雙等號 "==" 來做邏輯的比較,如果不小心使用了一個等號 "=" 你將會把變數的值給覆寫

*建立一個動態的數列(Sequence)的時候必須加上括號。參考下列範例
> n <- 3
> 1:n+3
[1] 4 5 6
> 1:(n+3)
[1] 1 2 3 4 5 6
*使用向量(Vector)進行四則運算時記得注意兩兩向量的長度是否相同

*當使用條件式要篩選向量裡特定的值時使用 '&' 或 '|',若是在迴圈裡進行流程控制的時候則使用 "&&" 或 "||"來表示。
> v <- c(1, 3, 5, 9)
> v[ (v<2) | (v>6) ] 
[1] 1 9
>if( v[i] < 2 || v[i]  > 6 )...

Thursday, 3 March 2016

R 學習筆記(基本指令操作#2)

Learning Target

1. 基本統計計算
2. 建立序列(Sequences)
3. 向量(Vector)比較
4. 選取向量(Vector)元素(Elements)
5. 向量(Vector)四則運算(Arithmetic)

Note

1. 這裡將列出統計常用的幾個計算function
mean(x) #計算平均值
median(y) #找出中位數
sd(x) #計算標準差
var(x) #計算變異數
cor(x, y) #計算x, y的相關係數
cos(x, y) #計算x, y的共同變異數
2. 有三種方法可以建立序列,序列的間距不一定要+1也可以設定不同的間距。除此之外,亦可以給固定範圍,然後變動要列出的序列個數,此時,R會自動幫使用者計算間距該為多大。
> 1:5
[1] 1 2 3 4 5
> 5:1 #順序相反,由大至小
[1] 5 4 3 2 1
> seq(from=0, to=20, by=2)
 [1]  0  2  4  6  8 10 12 14 16 18 20
> seq(from=0, to=20, by=5) #相同範圍,不同間距,列出的個數則有所差異
[1]  0  5 10 15 20
> seq(from=0, to=20, length.out=5)
[1]  0  5 10 15 20
> seq(from=0, to=30, length.out=5) #變動範圍,固定個數,之間的差值則有所不同,且不一定為整數
[1]  0.0  7.5 15.0 22.5 30.0
> rep(1, times=5) #列出多個相同的值
[1] 1 1 1 1 1 
3. R可以直接利用大於、小於、等於的運算式進行大小的比較
> v <- c(3, pi, 4)
> w <- c(pi, pi, pi)
> v == w
[1] FALSE  TRUE FALSE
> any(v == pi)
[1] TRUE
4.  R 要挑出向量裡特定的數值與java很類似,皆使用中括號 [] 來表示
> fib <- c(0,1,1,2,3,5,8,13,21,34)
> fib[1]
[1] 0
> fib[3:6]
[1] 1 2 3 5
> fib[-(1:3)]
[1]  2  3  5  8 13 21 34
> fib[fib < 10]
[1] 0 1 1 2 3 5 8
此外,使用者也可以另外為向量建立索引值
> years <- c(1960, 1964, 1976, 1994)
> names(years) <- c("Kennedy", "Johnson", "Carter", "Clinton")
> years[c("Carter", "Clinton")]
 Carter Clinton 
   1976    1994 
5. 兩個向量可以直接進行四則運算是R的一大優點,但要注意的是兩個向量裡的元素數量必須相同
> v <- c(11,12,13,14,15)
> w <- c(1,2,3,4,5)
> v*w
[1] 11 24 39 56 75
> w - median(v)
[1] -12 -11 -10  -9  -8

GTA V 認識模組

Preface

這篇文章主要目的是介紹GTA 5模組的概念,整個概念大致上與GTA 4一樣,並沒有太大的差異。所以GTA 4模組的老手可以跳過本篇文章了。

Introduction


模組我將它區分為兩種,第一種是外觀模組,第二種則是功能模組。這兩種模組的安裝方式不一樣。 切記,在安裝外觀模組時是將原本的檔案給取代掉,所以請大家一定要記得備份原始的檔案,以防改壞了或者是運作不順還可以拿原本的檔案取代回來。

1. 外觀模組:

一些跟外觀有關係的模組,例如:車子、武器、人物...等等,這些都是常見的外觀模組。使用的工具這裡私心的推薦OpenIV比較方便。原本作者是使用SparkIV,但是在武器的部分想要修改音效的部分非常的不方便。

*安裝教學

外觀模組修改工具教學
交通工具模組修改教學

 

2. 功能模組:

功能模組的部分就非常的多樣化了,主要的概念是增加遊戲的額外功能、遊戲性,在GTA 5裡面很熱門的鋼鐵人、浩克以及修改器...等等這都是功能模組。安裝的方式較為簡單,並不需要透過任何的工具,只需要將特定的檔案放到正確的資料夾路徑下就可以了。

*安裝教學 

功能模組教學

 

Exploration

至於要去哪裡找到你喜歡的模組呢?可以參考這篇文章 (GTA 模組&輔助實用網站介紹) ,這些很多作者會把自己的模組發佈到這些網站上,從這裡下載是快又直接。可靠度非常的高,下載前稍微留意一下評價,並不會怕下載到品質不好的模組。

Postscript

GTA 5的遊戲耐玩度非常的高,玩單機的可以有很多改不完的模組。GTA online的部分,隨著節慶有不同的活動,不定期還會更新新的遊戲模式。是一套非常值得大家收藏的遊戲。最後還是要提醒大家,請記得備份原始檔案,以免把檔案給改壞了。目前只有撰寫如何回復儲存紀錄以及回復安(GTA V 回復安裝、備份存檔),模組的安裝教學還在努力中。

GTA V 功能模組教學

Preface

玩家可以先判斷一下要裝的模組是屬於什麼類型的。如果是會增加一些其他遊戲內容或者是功能等等的模組,例如:浩克、鋼鐵人、速度表...等等會增加遊戲額外操作方式、功能的都屬於這一類的模組。本篇的模組教學只需要做一次,要再安裝其他模組的話就不需要再回來看了。

Warning!!
請記得,本篇教學所安裝的東西無法在線上模式中使用。如果想要進行線上模式的話請參照Uninstallation動作,再進行 GTA Online 線上模式。否則有可能會無法啟動 GTA Online 或者是被Rockstargames凍結帳號。

Installation

1. 下載檔案
2. 解壓縮檔案
3. 把解壓縮出來bin資料夾底下的三個檔案 (ScriptHookV.dll, dinput8.dll, NativeTrainer.asi)放到遊戲路徑(...\Rockstar Games\Grand Theft Auto V)底下與 GTA5.exe 同一層路徑
4. 完成套件安裝

可以先啟動遊戲,進入故事模式,按下F4確認有沒有辦法啟動Native Trainer的選單。該選單可以控制遊戲裡面很多東西,例如:玩家、天氣、時間...等等,大家自行去摸索吧。選單的操作利用鍵盤的九宮格數字鍵進行選擇,按下Num5是確認,Num0則是返回上一層選單。

套件安裝完成之後,就可以把玩家想要安裝的模組檔案放進來,執行遊戲的同時模組也會被啟動。例如我這裡示範安裝的是 LeFixSpeedo V 速度表的模組。只需要將下載下來的模組檔案放到遊戲路徑底下就可以了。
放到遊戲資料夾後,就可以啟動遊戲看看使否可以成功的執行了。真的玩起來爽度十足。

Uninstallation

如果想要進行線上模式的話,請必定先進行移除,否則有可能遭到Rockstargames凍結帳號。移除的方式很簡單,將 ScriptHookV.dll 這個檔案移動到其他的資料夾路徑底,其他模組的檔案都不需移動。等到想要進行單機模組的時候再將這個檔案移動回來遊戲路徑底下即可。

若是有使用OpenIV的玩家也可以打開 OpenIV 的 ASI Manager,把ASI Loader移除掉,如下圖所示,便可以進行線上模式了,這個方法也非常的方便。

Postscript

以上為個人的經驗分享,歡迎大家留言討論。如果有遇到改模組的問題,也歡迎提出來大家研究研究。遇到模組有問題的可以將遊戲路徑幾個log檔(asiloader.log, ScriptHookV.log)貼出來會比較容易如何去著手解決。

R 學習筆記(基本指令操作#1)

Learning Target

1. 輸出結果
2. 設定變數
3. 列出目前現有變數
4. 刪除變數
5. 建立向量 (vector)

Note

1. 在R語言中,可以使用 print() 和 cat() ,來輸出結果。但這兩種方法有些許差異,分別應用在不同的情況。
*print() 只能夠輸出單一個 object 的內容,用於輸出 matrix, list 這兩種資料結構的型態非常的方便,不用再額外定義格式
>print(matrix(c(1,2,3,4), 2 ,2))      [,1] [,2] [1,]    1    3 [2,]    2    4
>print("The result of ", x, "plus", y, "is", x+y)  Error in print.default("The result of ", x, "plus", y, "is", x + y) :    invalid 'quote' argument
*例如要使用上述的方法來印出資料的話,則需使用 cat() 。但是 cat() 無法印出 matrix, list 這兩種資料結構。
>cat("The result of ", x, "plus", y, "is", x+y) The result of  3 plus 4 is 7
>cat(list("Hello~", "there")) Error in cat(list(...), file, sep, fill, labels, append) :    argument 1 (type 'list') cannot be handled by 'cat'
2. R 語言要進行變數的設定非常的簡單只需要使用小於的符號加上一個減號(<-)
>x <- 3 >y <- 4 >cat("The result of ", x, "plus", y, "is", x+y) The result of  3 plus 4 is 7
3. 使用 ls() 便可以看到目前所有設定的變數
>ls() [1] "x"   "y"
4. 使用 rm() 則可以刪除特定的變數
>rm(x) >x Error: object 'x' not found
5. c()可以用來建立向量(vector)
>v1 <- c(1, 2, 3)
>v2 <- c("Hello~", "there!")
>c(v1, v2)
[1] "1"      "2"      "3"      "Hello~" "there!"

Wednesday, 2 March 2016

R 學習筆記(開發環境建立)

Learning Target

1. 建立R 語言開發環境
2. 呼叫函數的相關技術文件

Note

IDE

因為R Studio在開發的時候會彈跳出一些關鍵字的function,這在開發的時候非常的方便。不用把整個function的名稱全部打出來。R Studio也可以讓使用者建立專案 Project ,目前我還沒有使用到不過應該也是很實用的功能,以後的筆記會進行介紹。

Windows環境下須先安裝 R (Mirror 1, Mirror 2)。選擇系統版本後,接著選擇下載base版本的R。安裝的過程非常的簡單,只需要下一步、下一步一句地進行下去就好了。

接著安裝RStudio,進入RStudio下載網頁,選擇下載RStudio Desktop Open Source Edition,是免費的不用擔心。一樣照著下一步、下一步,進行安裝就可以了。

Mac OSX的版本則是直接安裝 RStudio 就可以執行了,並不用再另外安裝 R。
RStudio總共分為四個區塊。左上角為編輯script檔的區塊,進行編輯複雜資料處裡動作的程式。左下角則為Console,可以執行簡單的指令或者是上面編輯的 .R 檔。右上角為變數區,程式執行的變數、Model在這個地方都看得到。右下角為其他資訊的區塊,如果程式有進行圖表的繪畫,那麼會顯示在這裡。或者是在console區有進行查詢function也會在這裡呈現查詢技術文件的內容。

Search Documentation

#可以利用 help 這個 function 來查詢其他 function 的使用方法
#或者是使用問號直接加上欲查詢的 function
help(function_name)

?function_name


#使用其他 function 的時候突然忘記了要帶入幾個變數可以用 args 來進行查詢
args(function_name)


#對於某個 function 不夠了解的話
#可以利用 example 來印出該 function 技術文件中的例子
example(function_name)