mes "abc";
mes "cba";
mes "^ff0000這是顏色^000000";
在與NPC對話窗口顯示文字
next;
在與NPC對話窗口出現下一步
close;
在與NPC對話窗口出現關閉 , 並結束腳本運行
mes "第一次出現";
close; ← 因此出現關閉後
mes "第二次出現"; ← 就不會再出現此對話
close2;
在與NPC對話窗口出現關閉 , 並不會結束腳本運行
mes "第一次出現";
close2; ← 因此出現關閉後
mes "第二次出現"; ← 就會再出現此對話
若不懂 , 可以複製到腳本裡面運行看看
end;
這個指令與close差不多..
不過如果沒有出現對話框..就使用end結束腳本運行
set相當的實用!!是個必學的函數..
『連結』 ←有詳細的教學
goto pong;
事實上..goto是配合標籤使用比如說.. lv1:
mes "第一頁";
close;
lv2:
mes "第二頁";
close;
abc:
set .@p,1;
end;
以上紅色部分是我自行製作的標籤
而標籤後面就像是,,書本~每一頁有每一頁的內容
而標簽名子可以隨便取 (不能含有中文) ,
但要注意!!標籤不能重複
而怎麼跳轉到該標籤呢!?
就要使用goto!!
例如..我要跳到lv1就打
goto lv1;
我要到abc就打
goto abc;
menu "選項一",標籤一,"選項二",標籤二,"選項三",標籤三;
menu "選項一",a,"選項二",b,"選項三",c;
a:
mes "你選擇了選項一";
close;
b:
mes "你選擇了選項二";
close;
c:
mes "你選擇了選項三";
close;
他是創造一個選項 , 讓玩家選擇
當然也可創造出這樣的選單
要怎麼辦到呢!?
其實很簡單
menu "^00FF00依斯魯得 ^FF0000【 " + getmapusers("pvp_y_2-2") + " / 40 】",a, ←或許您有疑問為什麼我分成好幾段呢!?
"^E8CCFF生死羅盤 ^FF0000【 " + getmapusers("pvp_n_2-5") + " / 40 】",b, ←不會影響腳本運行嘛!?
"^FFEE99死鬥場地 ^FF0000【 " + getmapusers("job_sage") + " / 40 】",c, ←當然是不會囉︿︿
"^9F88FF禁白劍村 ^FF0000【 " + getmapusers("pvp_y_1-2") + " / 40 】",d; ←這樣可以方便閱讀腳本 , 修改~只要中間不中斷就可以了
引用上面 :
"^9F88FF禁白劍村 ^FF0000
那個亂碼是什麼!?~沒學過的人會認為是亂碼
不過他是顏色代碼!!難道顏色代碼要背起來!?
不用~我提供一個網址 , 可以自行調配顏色
『連結』 ←它支援215個顏色
【 " + getmapusers("pvp_y_1-2") + " / 40 】 ← 至於這個是什麼!?往後會教學
此功能是一個方便的替代menu的一個函數 ,
如果你不想要一個複雜的標籤結構 , 例如 : a: b: c: d: e: f: g: h: 一堆標籤的話..可以使用 select 來化減選項
例如 : if (select("Yes:No")==1) mes "你選擇了yes"; 也可以出現像這個 怎麼辦到!?其實方法差不多 switch(select("^00FF00依斯魯得 ^FF0000【 " + getmapusers("pvp_y_2-2") + " / 40 】",
"^E8CCFF生死羅盤 ^FF0000【 " + getmapusers("pvp_n_2-5") + " / 40 】",
"^FFEE99死鬥場地 ^FF0000【 " + getmapusers("job_sage") + " / 40 】",
"^9F88FF禁白劍村 ^FF0000【 " + getmapusers("pvp_y_1-2") + " / 40 】") ) {
case 1:
warp "pvp_y_2-2",0,0; close;
case 2:
warp "pvp_n_2-5.gat",0,0; close;
case 3:
warp "job_sage",49,165; close;
case 4:
warp "pvp_y_1-2",0,0; close;
}
他是創造一個框框給玩家輸入
一樣是Input
為什麼創造出來的輸入框不一樣!?
在於..變數
input 變數; 他是將你輸入的內容存入變數中
input .@p$ ← 因為這個是文字變數
input .@p; ← 這個是數字變數
rand(數值1,數值2) ←隨機產生 數值1∼數值2之間 的數值
rand(數值) ←隨機產生 0 ∼ 數值 之間 的數值
座標怎麼抓呢!? 先找到你想要目的地
然後打 /where
就會出現
不知名區域(prt_fild08) : 174, 349
不知名區域 ← 不重要 (別管他)
prt_fild08 ← 地圖名稱
174 ← X座標
349 ← Y座標
所以要填 warp "prt_fild08",174,349;
傳送與NPC交談的那個人到此座標
areawarp "地圖1",X1,Y1,X2,Y2,"地圖2",X3,Y3;
上面是與NPC對話的人傳送
這個是範圍傳送
座標怎麼抓呢!? 先找到範圍 與 目的地 抓座標
然後打 /where
x1,y1座標
x2,y2座標
所以 範圍的座標為
areawarp "prt_fild08",187,333,192,327,"地圖2",X3,Y3;
(紅色框框部份)
然後我覺得這個地方不錯看~
於是取得 最後的
X3 , Y3
所以最後的結果為
areawarp "prt_fild08",187,333,192,327,"gef_fild07",187,245;
不管紅色框框範圍內有幾個人~全部傳送到 gef_fild07,187,245
這個跟上面差不多~所以不再多說了
他這個函數是傳送隊伍到某某座標
一般來說~都是這樣用 warpparty "地圖",X,Y,getcharid(1);
為什麼這樣用!?因為 getcharid(1) 是取得與NPC交談的玩家隊伍名稱
warpchar "地圖",X,Y,玩家的CID;
這個是傳送 某個玩家到某個座標
取得玩家的CID是用 getcharid(0) 可是不會有人這樣子用
warpchar "地圖",X,Y,getcharid(0); ←為什麼不會這樣用!?
因為 getcharid(0) 是取得與NPC交談的那名玩家CID
所以是傳送該玩家~既然這樣直接弄warp就好了呀~
根本不需要那麼麻煩~
|