£×SKY﹋° 發表於 2008-12-13 19:04:29

[ getd / setd ] 使用教學

本帖最後由 哆啦ˇ 於 2009-11-18 07:12 PM 編輯

setd 指 令 和 getd 函 數 雖 然 使 用 率 不 高

但 卻 是 非 常 方 便 的 指 令

說 穿 了 這 兩 個 指 令 就 是 把 字 串 轉 成 變 數 看 待

用法

*setd "變數名稱",值;
*getd("變數名稱");
眼 利 的 玩 家 可 能 會 發 現變 數 名 稱   旁 多 了 兩 個"
為 何 會 有 這 兩 個 " ?
因 為 這 兩 個 指 令 都 是 使 用 字 串 當 作 變 數 名 稱
也 就 是 因 為 如 此 變 化 性 也 會 變 大

實作
如 一 個 Cid 為 150001 名 稱 為   使 用 者   的 玩 家   使 用 以 下 腳 本
setd "$@PC_NAME_"+getcharid(0)+"$",strcharinfo(0);這 樣 將 會 使$@PC_NAME_150001 = "使 用 者";而 getd("$@PC_NAME_"+getcharid(0)+"$")將 會 讀 取 出 "使 用 者" 的 資 料也 就 是 說 他 會 將 字 串 運 算 出 來 當 成 變 數 來 執 行

pan00017 發表於 2008-12-13 19:37:46

看完了 也看懂了

不過就是不太了解能使用在哪= =

謝謝大大的教學

goddameit 發表於 2008-12-14 08:55:42

#2
意 思 可 以 想 成 set " set 數 值 名 稱 " , XXX;

應 該 是 這 樣 子

pan00017 發表於 2008-12-14 09:36:07

#3

這部份我知道

他是能夠將一個變數設定為文字

而且set 好像也能做到

我只是不知道他能夠運用在哪方面

goddameit 發表於 2008-12-14 09:38:20

#4
陣 列 數 值 名 稱
改 變 數 值 名 稱

£×SKY﹋° 發表於 2008-12-14 09:41:16

他 並 不 是 可 以 將 一 個 變 數 設 定 為 文 字

而 是 可 以 將 文 字 看 成 變 數

Ex
set a$,"@";
set b$,"pc";
setd a$ + b$,10;
這樣會使@pc = 10

goddameit 發表於 2008-12-14 09:43:27

#6
早 說 嘛 ~ 害 我 誤 會 (( 歐

pan00017 發表於 2008-12-14 09:56:44

我去翻了script_command 裡面的解說我才看懂他的用法

set $name$, "Undertaker";
比較↑↓兩者用法
setd "$name$", "Undertaker";
mes "+$name$+"; // 顯示Undertaker

setd "$" + $name$ + "123$", "Undertaker是送葬者";
mes "+$Undertaker123$+"; // 顯示Undertaker是送葬者

這樣應該沒錯吧??

£×SKY﹋° 發表於 2008-12-14 15:07:21

恩、沒錯ˇ

使用時間很廣泛…

例如:擁有腳色性質之伺服器變數…
Ex:
setd "$@Kill_"+getcharid(0),1;
或者:擁有編號性質的陣列取得
setarray $@item_1,123,456,789;
setarray $@item_2,456,789,123;
.....
getd("$@item_"+i+"["+k+"]")

atpx0602 發表於 2008-12-24 21:06:32

看完了 也看懂了

不過就是不太了解能使用在哪= =

謝謝大大的教學

DIGE 發表於 2008-12-25 06:34:45

簡單的說是變相的陣列多維化
因為EA的限制讓這功能很強大
JA可以@a
但EA只能@a
n最大可以128...相對就是128*128*128....@a的陣列數組內可以達128*128*128這麼多


setd @+"+getcharid(3)+"_"+getcharid(0)+"+$,"@A";
@帳號編號_腳色編號$=@A


set getd("@+"+getcharid(3)+"_"+getcharid(0)+""),1;
把@A當作變數來用
@A=1


可是這方式就不會拘限在128的限制內

[ 本帖最後由 DIGE 於 2008-12-25 06:53 AM 編輯 ]

goddameit 發表於 2008-12-28 13:33:27

#11
讓 陣 列 數 量 更 多 !?

yayeshaleio 發表於 2009-1-1 12:54:41

覺得setd、getd()很好用啊∼
(至少在ea很好用......)
就把它拿來當陣列用時:
不僅數值能超過127
也沒也限制此"陣列"變數的性質
無論是.、.@($)、@($)、#($)、#@($)、$($)、$@($)等等......
都可以拿來做"陣列"......

請參考我的腳本:(setd與getd()為核心功能,沒這兩種指令就不能運行了>.<)
http://okayro.com/thread-84074-1-1.html

[ 本帖最後由 yayeshaleio 於 2009-1-26 11:02 PM 編輯 ]

goddameit 發表於 2009-1-1 16:39:20

#13

留 言 太 多 之 前 都 不 知 道 怎 辦 =口=

sashomaru 發表於 2009-1-11 13:45:26

好讚的語法喔
不過還是要實際去試試研究才能更進一步了解它到底有多好用=ㄦ=
新手就是多看多學多嘗試><
頁: [1] 2
查看完整版本: [ getd / setd ] 使用教學