切換
舊版
前往
大廳
主題

[JavaScript]楓之谷 (NPC撰寫入門篇)

結衣 | 2016-12-28 20:47:29 | 巴幣 120 | 人氣 13337

Hello,好久不見

沒想到時間過得很快 一年又快過去了!!

我考慮了很久要寫這篇文章的說

沒想到還是來寫了這篇文章

NPC JS篇
很多人應該會覺得好奇,為什麼會用JS寫呢??
為什麼不用 其它語言 例如: C++、C#、Python、等...

沒辦法 伺服器就是用Java SE編寫 所以為了方便與腳本互動的關係 伺服器採用js語言當溝通橋樑

要怎麼編寫NPC 開發環境:Notepad++、記事本、等...

首先感謝 楓之谷伺服器始祖Odin(德國團隊) 沒有他們就沒有現在的服務端了
切入正題.....

楓之谷NPC 怎麼寫呢
首先介紹 怎麼樣確認wz NPC編號呢??
你可以去翻翻楓之谷客戶端有個String.wz >npc裡面就有name跟id了
或者你可以在服務端 添加debugger message(除錯訊息...這個會陸續深入的介紹)

1.宣告(變量) 英文:(variable)
沒錯JS就是取宣告的英文前三個做保留字來宣告
(每個語言有每個語言的宣告...這邊暫時不作介紹)
注意:除了變量要用var 外 定義的名稱沒有限制語言(應該啦

var a; (這是什麼意思呢)
就是宣告一個a 但是沒有任何型態(看你後來怎麼定義)

如果 var a=100; (那它就會變成說a 是整數 為100 所以當你以後條用a這個變量就是從100開始

接下來NPC 如果寫順手開頭可能會寫
var status = -1;
基本上面code 要宣告不宣告都沒差(因為服務端基本幫你處理好了 默認就是-1

楓之谷 的NPC處理動作有幾部分呢??
答:-1 0 1 2 3 4 ....... (最基礎就是-1開始

楓之谷的NPC有兩大主體(先介紹第一部分)
function start() {
}
這是什麼意思呢...相信有學過其它的程式語言大概就會了解
這就是一個程式的開頭 例如C語言(int main)

那腳本要怎麼註解程式碼呢??
// 或者 /* */ 等..

如:
// 哈囉你好嗎 意思就是註解一行

/*
此註解意思就是 從 此這個字 到test123 後面的3都變成註解片段
123
123test
tset123
*/

接下來要怎麼樣 讓NPC產生你想要說的語句了
function start() {
cm.sendOk("星報氣流展!!!,摸豆嗨亞酷"); //cm是服務端呼叫函數使用在NPC上的東西 (看每個端的定義 大部分都是cm
}

以下是demo圖片 ( NPC我就隨便找了



以後陸續我會推出很多系列的作品
不嫌棄的話 多多支持

創作回應

cc
請問寫對話npc可以自殺是要打什麼呢?

我以為是cm.kill後面括號 結果不是
2018-04-14 15:33:39
結衣
看伺服器端的函数吧 一般都是cm.getPlayer().getStat().setHp(0, cm.getPlayer());
cm.getPlayer().updateSingleStat(MapleStat.HP, 0);
2018-04-15 15:15:16
請問 怎樣才能把全地圖怪物血量X2 JAVA SRC 裡面要修改哪一個呢? 求解答
2018-04-15 20:38:13
結衣
找到怪物的狀態 處理的java 然後 重新設定 怪物的HP 係數 指定回去就好了
2018-04-16 11:27:05
可以請問 如果我是75端
我想把地圖改成56的地圖
要移動哪些WZ 或是還要移動哪裡
才可以不會斷線嗎?
我試過好多方式了
2018-04-23 15:28:33
string
npc
mob
map
這些我都移過了 還是只能WZ點開一個一個改
2018-04-23 15:29:49
結衣
Reactor 你沒移動
2018-04-24 15:36:02
謙阿o
您好打擾了 想問一下創腳色的圖您知道在哪個WZ檔內嗎
2020-07-31 11:37:08
結衣
Map 或 UI 都翻翻看吧
2020-12-06 11:36:09

相關創作

更多創作