UID1303
帖子
精華
主題
積分2580
現金
積極性
威望
違規
熱心
推廣次數
閱讀權限10
註冊時間2007-8-15
在線時間 小時
最後登錄1970-1-1
該用戶從未簽到
|
[教學]CSV系列函數及指令簡要說明
以下教學是轉貼 (萌〃)
大大
csv 系列函數/指令幫助
不足 寫入指令不支持擴展名 不支持路徑 文件名不支持中文 還有兩個指令未完成
csv 系列指令能使用csv格式(逗號「,」間隔)文本數據表,擴展Athena腳本的數據處理功能,方便各位腳本設計者擴展遊戲
關於數據文件
csv 讀取的默認文件路徑為map-server文件所在文件夾,如要使用子文件夾
請在書寫文件名的同時,加入路徑,路徑需要用「\\」引用,例如
假設你的服務端位於c:\cAthena,你要使用的文件為「c:\cAthena\mydoc\csvtest」
那麼,書寫文件名的時候,就應該寫成「 "mydoc\\csvtest" 」
如果文件不存在,map將會自動創建一個,注意,寫入指令還不支持路徑和擴展名
數據坐標系說明
csv 函數是從 (0,0) 開始的坐標系。所以1行1列的內容
為 csvread("filename",0,0), 請注意。
csvgetrows 函數
作用 返回指定文件的行數。
格式 csvgetrows(<文件>)
範例 set @i,csvgetrows("csvtest");
mes "文件csvtest共有"+@i+"行數據";
csvgetcols 函數
作用 返回指定文件,指定行的列數
格式 csvgetcols(<文件>,<行>)
範例 set @i,csvgetcols("csvtest",1);
mes "文件csvtest第1行共有"+@i+"列數據";
csvread 函數
作用 返回指定文件,指定行,指定列 的值 指定坐標數據無效返回空
格式 csvread(<文件>,<行>,<C>)
範例 set @i,csvread("csvtest",1,2);
mes "文件csvtest第1行,第2列的值為"+@i;
csvfind 函數
作用 返回指定文件,指定列,指定數據所在的行,查找不到返回-1
格式 csvfind(<文件>,<C>,<目標值>)
範例 set @i,csvfind("csvtest",1,2);
mes "查找文件csvtest第1列的值為2的數據位於第"+@i+"行";
csvreadarray 指令
作用 將指定文件,指定行的數據複製給指定的數組
格式 csvreadarray <文件>,<行>,<q>;
範例 csvreadarray "csvtest",1,@test[1];
csvreload 指令
作用 文件存檔,一般map讀取一次文件後,將會放在內存處理,不更新的話,
被改寫文件不會存盤,請盡量在改寫後使用指令寫入文件,以保證正常存檔
格式 csvreload <文件>
範例 csvreload "csvtest";
csvwrite 指令
作用 給指定文件,指定行,指定列寫入 數據
格式 csvwrite <文件>,<行>,<C>,<值>;
範例 csvwrite "csvtest",0,0,"測試";
注意 當前測試中,指定文件無法使用路徑以及擴展名。
csvwritearray 指令
作用 給指定文件,指定行,輸入數組數據
格式 csvwritearray <文件>,<行>,<q>;
範例 setarray @i,2,34,23,354;
csvwritearray "csvtest",4,@i;
注意 當前測試中,指定文件無法使用路徑以及擴展名。
csvsort 指令
作用 按列數值大小對數據進行重新排序
格式 csvsort <文件>,<C>,<方式>
範例 csvsort "csvtest",0,1;
說明 方式為 1 表示從小到大的順序從上往下排列,-1則相反
注意 不支持文本數據排序,如果列中數值為文本,或沒有數據,該行會被強制刪除
csvinsert 指令
作用 在指定行插入一個空行,原數據向下移動一行
格式 csvinsert <file>,<row>
csvdelete 指令
作用 刪除指定行的數據,之後數據向上移動
格式 csvdelete <file>,<row>
[ 本帖最後由 弒殺武神 於 2007-8-19 08:24 PM 編輯 ] |
|