岛国禁片免费看-久久久国产精品无码-日美欧美A片一区二区-国产精品高清无吗人成午小草 -国产又粗又大又长免费麻豆-相泽南一区二区无码流出版

打印 上一主題 下一主題

[技術文章] 新手寫腳本必看腳本教程-傳奇腳本代碼

[復制鏈接]
跳轉到指定樓層
樓主
查看3342 | 回復1 | 2022-9-3 09:03:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
很多人都或多或少的接觸過傳奇服務器端腳本文件,也很想自己制作一點腳本來試試,但又不敢亂碰生怕改壞一點東西造成不能運行服務器端,其實“腳本語言“(我們暫且稱他為一種語言)和C語言等等程序語言比起來那真是不值得一提。看完我給大家寫的這篇文章后,你就自己偷著*吧...可以說傳奇服務器端所有的重點都集中在\mir200\envir\中,這里面記載著所有服務器要在游戲中表現的東西。在游戲中的npc信息也在其中,npcs.txt文件和merchant.txt文件中記載著npc的名稱、出現的地圖、坐標、范圍和形象代碼。你要問兩個記載的npc有什么不同?為什么不和在一起算了?我來告訴你,npcs.txt中記載的npc是對話型npc,在進入游戲后,不能夠使用@reloadnpc刷新信息的npc。而merchant.txt是交易型和任務型npc,可以使用@reloadnpc刷新信息。但我也做過試驗,兩種npc互換后也可以使用,好像沒有太大的限制。npcs.txt對應的文件在.\npc_def\文件夾中merchant.txt對應的文件在.\market_def\文件夾中。你如果要添加npc的時候,要注意npc的文件名,例如你要
創(chuàng)建一個超級商人的npc要他出現在比奇省330:330的坐標。首先你要在.\market_def\文件夾中創(chuàng)建一個文本文件命名為“超級商人-0“(這里你可以使用英文,也可以使用中文,但后面的數字必須要是這個npc出現的地圖代碼!),然后把你寫好的腳本粘貼在里面。再打開merchant.txt文件,添加以下信息:;調用的文件 地圖 坐標x 坐標y 范圍 人物代碼 刷新時間超級商人 0 330 330 0 5 0相信大家可以看懂吧,這里面的空格不要緊,沒有規(guī)定信息之間必須空幾格。人物代碼自己換吧,現在的npc有46種模樣。和腳本的規(guī)則一樣,這兩個文件里面以;開頭的行就當作注釋部分不做編譯。
第2節(jié)

現在步入正題,談談腳本的制作。npc腳本分為兩種,一種是不做交易的npc,一種是與之交易的npc。我們先來講不做交易的npc這類腳本的開頭一般以[@main]開頭,但并不是必須以他開頭,main的英文意思是“主體,主要部分”的意思,所以用他這是個好習慣。接著就是條件語句#if,和他對應的#act,就是說如果...那么...,我在之前的《腳本語言之不完全公略》一文中提到了一系列的測試語句。#if后面可以跟這個測試語句,比如測試金錢checkgold,測試級別checklevel等等,這些測試語句可以連用,挑選滿足這所有值的人。如果你想不要任何條件的話就把他留空,后面直接接#act.接著就是#act,如果有人滿足了上述條件,那么...我們可以使用一些命令應用于他,比如take拿走他身上的什么東西,mapmove把他移動到什么地圖,set賦予他什么函數值等等。這些語句你也可以連著使用。后面也可以跟文字,那么就在傳奇里面顯示為對話。下面是#ELSEACT,如果沒有滿足#if條件的,就不再運行#act后面的指令,直接運行#ELSEACT后面的指令。后面也可以跟文字,那么就在傳奇里面顯示為對話。#say和#elsesay的用法和#act#elsesay的用法相同。
范例:
----------------------------
;傳送豬7的npc腳本
[@main]
#if
checkgold 10000
checklevel 30
#act
take 金幣 10000
map d717
break
#elsesay
你有10000個金幣嗎?要不然就是你沒有30級。我不能把你傳送到豬7了!自己跑吧。
<關 閉/@exit>
----------------------------
這就是一個極其簡單的傳送腳本。我們下一節(jié)講稍微復雜的段落腳本。

第三節(jié)

這一節(jié)我們來講段落腳本。
復雜的腳本需要有數個[@main][@main-1]等等組成,從[@main]到[@main-1]之間稱為一個段落,他們之間是由goto命令來銜接的,#if滿足條件的話,#act就執(zhí)行goto @main-1命令,轉向[@main-1]段落。值得一提的是goto是腳本自動做出轉換段落的命令,還有一種轉換段落的方式,那就是要玩家自己選擇段落。<go to main-1/@main-1>這部分將在游戲中顯示為黃色可以點選的信息,玩家鼠標選擇后轉向main-1段落。
范例:
----------------------------
;贈送回城卷腳本
[@main]
#if
checkpkpoint 2
#act
goto @main-1
#elseact
give 回城卷 1

[@main-1]
你是紅名啊!別想讓我可憐你,你是個十足的惡魔!什么?怒視著我干嗎?信不信我現在就讓你去死?<相信,我很害怕,我現在就走./@exit>
<不信,我殺人不眨眼,還怕你?/@main-2>
[@main-2]
#if
#act
Param1 t131
Param2 10
Param3 10
MonGen 弓箭守衛(wèi) 10 10
mapmove T131
;T131這個地圖是賭場的審判間,20*20的房間內有10個弓箭手。50級的紅名進去也是死...
-----------------------------
這個腳本如果不是紅名的話就會得到一個回城卷,是紅名的話就會有上述對話,選“相信”就關閉窗口離開,選“不信”就被傳送到t131地圖,受到10個弓箭手的優(yōu)待,HOHO~~~這一節(jié)我們接觸了“<>”和“\”符號, 如果是“<選擇/@xuanze>”定義了要指向的段落,在游戲中就顯示黃色可點選的“選擇”字樣,如果“<選擇>”沒有定義要指向的段落,在游戲中就顯示紅色的“選擇”字樣。“\”是換行符號,文本文件和可以在游戲對話框中顯示的信息都可以用“\”符號來換行。不可以用回車來代替。

第四節(jié)

這一節(jié)我們來研究一下設置函數的屬性和概率問題我覺得腳本里面最難的也就是這個啦,其實我也沒有真正搞清其中的奧秘,只知道其中的一些使用的方法。現在如果想制作腳本最主要的也就是做任務了吧,我看了盛大的命運之刃和制作煉獄的任務,其中都要定義一些函數值,就拿肉店任務來說,check [301] 1如果測試到某人[301]函數的值是1的話,那么#act goto @Q301否則#elseact goto @normal,那么如何定義某人[301]函數呢?用set [301] 1命令。但是現在我還沒有弄清楚[]中所能定義的數字到底都有多少個,也不能亂定義數字的值,那樣將會打亂原有任務。而且在盛大取消的賭場腳本里面有equal、mov好像也是檢查函數定義函數的命令,但是只有在玩骰子的npc里面出現,像是專么測試骰子點數的函數,有待研究。還有一種概率命令,那就是random,我們來看一個范例。
范例:
----------------
[@main]
#IF
random 2
#ACT
goto @QUEST
#ELSEACT
goto @normal

[@normal]
你好,歡迎你來自由自在論壇<關 閉/@exit>

[@quest]
我們的網址是:黑鳥網絡<關 閉/@exit>
----------------
這樣一個腳本就牽扯一個概率問題,你在和這個npc對話的時候,看到2種信息的幾率各有百分之50,也就是說每次你看到的信息都是隨機的其中一個。注意這里面是2選1的時候,random的值就取2。在顯示文本的時候,還存在一些隨服務器或不同玩家而自動變換的信息,這里我們就不得不提起沙巴克城。我們知道,沙巴克的npc總要顯示“該城堡的主人是xxx,我們對xxx行會的成員提供20%的折扣”那么不可能在每次沙巴克換主人后更改npc腳本,于是就有了這些隨服務器變換的文本信息,<$LORD>顯示為沙巴克城主的姓名,<$OWNERGUILD>顯示為占領沙巴克的行會名稱,<$CASTLEGOLD>顯示沙巴克城堡的金錢,<$TODAYINCOME>顯示為沙巴克今天的收入,<$CASTLEDOORSTATE>沙巴克城門的狀態(tài)等等...另外還有現實不同玩家信息的命令<$USERNAME>,你手中的兵器<$USERWEAPON>。這些都用于加載在文本信息當中顯示。

第五節(jié)

這一節(jié)我們來介紹交易類型npc
交易類型的npc于普通npc腳本大同小異,但是文件頭部需要定義npc的屬性。拿土城武器店npc做例子。
開頭有個%100的字樣,在石墓陣武器店的開頭是%200,有什么區(qū)別呢?原來這是定義這個npc物價的語句。%200就是普通物價的2倍。那么接下來的+5、+6、+43是什么意思呢?這就定義了這個npc只能和你交易武器,也就是說你在鐵匠那里不能賣手鐲。具體什么數字的組合代表什么npc,我在先前的《腳本語言之不完全公略》一文中有詳解。你要是想要npc萬能的話,可以在開頭把要+的數字都給它+上好了。接下來就是腳本正文,和我們前幾講的差不多,但其中用到了一些固定含義的語言,不能
當作他用。
@s_repair 特殊修理
@buy 購買東西
@sell 出售東西
@repair 普通修理
@makedrug 制作毒藥
@storage 保管物品
@getback 取回物品
@exit 關閉窗口
@upgradenow 升級武器
@getbackupgnow 取回武器
交易型npc的結尾會有[goods]段落,這就是npc庫存物品的顯示欄,下面的寫物品有一定的規(guī)則:
;名稱 數量 時間
木劍 10 10
八荒 10 10
凝霜 10 10
煉獄 10 10
;屠龍 10 10
還是那句話,不想顯示的物品前面你就打上";"號。如果你想讓武器店里面賣藥,不改上面"+數字"的情況下,強行在[goods]里面加強效金創(chuàng)藥 10 10 反正我沒有試過,刷不刷的出來你自己試嘍...
范例:
;武器店,帶特修,帶倉庫
%100
+5
+6
+43
; -------------(這里必須空一行)
[@main]
#if
#act
hello,<$USERNAME>,歡迎光臨自由自在論壇我們將提供給你最優(yōu)惠的服務。
<買/@buy><賣/@sell><修理/@repair><特殊修理/@s_repair><保管/@storage>東西
<找回/@getback>東西<關閉/@exit>

[@buy]
您想買些什么武器?\ \ <返 回/@Main>


[@sell]
給我您要賣的武器.\ \ <返 回/@Main>

[@repair]
您要修理武器嗎?給我您要修理的武器.\ <返 回/@Main>
;物品修理前的對話框

[~@repair]
看起來修好了,歡迎下次再來.\ <返 回/@Main>
;物品修理后的對話框,注意這里的[~@repair]
;特修不需要添加類似對應段落,只在開頭有<特殊修理/@s_repair>就可以,
其對應段落寫在m2server.exe中。
[@storage]
需要保管什么東西?\ \ <返 回/@Main>

[@getback]
請看目錄決定找什么東西。\ \ <返 回/@Main>

[goods]
;名稱 數量 時間
煉獄 10 10
銀蛇 10 10
魔杖 10 10
無極棍 10 10
井中月 10 10
血飲 10 10
命運之刃 10 10
裁決之杖 10 10
龍紋劍 10 10
骨玉權杖 10 10
赤血魔劍 10 10
嗜魂法杖 10 10
屠龍 10 10
超級銀蛇 10 10


第六節(jié)

談到交易類型npc腳本,我們不得不提倉庫捆東西的腳本,看了才知道如此簡單,就是用到了checkitem、take、give這幾個命令。先檢查你的包裹里面是否有這類物品,有了就拿取它們,給你一樣東西。捆金條和現在很多人自己制作的"武器升級"腳本也是這種原理,我看過一些"武器升級"的腳本,她和盛大的武器升級系統(tǒng)相比簡直就是小兒科的玩藝,就是你拿一些東西去換另一種東西的腳本。我們來看個范例。
范例:
------------------
%100
[@main]
你好,歡迎光臨自由自在論壇,我們會竭誠為您服務。您想<捆/@mbind>東西
<關 閉/@exit>

[@mbind]
#if
#say
你具體想捆什么東西?目前我能捆的就這些啦,捆一次手工費100塊。
<捆/@ch_bind1>強效金創(chuàng)藥<返 回/@main>
[@ch_bind1]
#if
checkitem 強效金創(chuàng)藥 6
#act
goto @ch_bind1_1
#elsesay
你沒有帶齊東西啊,我沒有辦法幫你捆。<離 開/@exit>
[@ch_bind1_1]
#if
checkgold 100
checkitem 強效金創(chuàng)藥 6
#ACT
take 金幣 100
take 強效金創(chuàng)藥 6
give 超級金創(chuàng)藥 1
#SAY
已經捆好了... 我的技術不錯吧.. 還有要捆的就拿給我吧..
<繼續(xù)捆/@mbind> <離 開/@exit>
#ELSESAY
你都沒有錢捆東西,還捆什么? 快走吧.... <離 開/@exit>

[@main]
#if
check [099] 1
#say
<$USERNAME>如果你剛才已經下過線了,\那請到監(jiān)獄長那里重新登記吧!\要不你是出不去的!<好的/@cxsz> 我喜歡<呆在這里/@exit> <我沒有下過線/@exit>
#elseact
goto @cd
[@cd]
<$USERNAME>你是來看望你朋友的嗎?你要回去了?<回土城/@yes> <再等會吧/@exit>
[@cxsz]
#act
set [099] 0
mapmove 0128
break
[@yes]
#act
mapmove 3 320 320
break
監(jiān)獄長-0128.txt內容如下:
[@main]
#if
check [099] 0
#say
<$USERNAME>你將被重新送往監(jiān)獄!\時間將重新開始計算!誰叫你中途下線的呀,活該!<好的/@cxsz> 我喜歡<呆在這里/@exit>
[@cxsz]
#act
set [099] 1
timerecall 120
mapmove 0162
break
#elseact
goto @cd
[@cd]
<$USERNAME>希望下次不要再見到你了哦<回土城/@bye> 我還想<再呆會兒/@exit>
[@bye]
#act
set [099] 0
mapmove 3 320 320
break
再在Npcs.txt里加入兩行:
監(jiān)獄長 0 0128 3 5 0 8
地牢看管員 0 0162 6 15 0 15


上一篇:傳奇版本男女衣服互換腳本保持原有屬性思路摘要:男女衣服互換保持原有屬性請在 衣服互換.txt 里修改你 ...
下一篇:DBC怪物數據分解大全傳奇版本數據庫字段說明摘要:下面是DIYGM論壇為您提供的DBC怪物數據分解大全 : mo ...
回復

使用道具 舉報

沙發(fā)
fayard | 2022-11-27 15:34:20 | 只看該作者
寫的很詳細,通俗易懂,感謝分享,學習了
回復

使用道具 舉報

本版積分規(guī)則

在线看片国产福利你懂的| 麻豆成人精品| 免费观看亚洲天堂| 久久精品综合| 久久国产精品久久w女人spa| 欧美亚洲日本精品| 亚洲精品看片| 国产精品一区二区中文字幕| 亚洲免费观看| 久久久人成影片一区二区三区在哪下载| 99精品久久久| 免费一级欧美片在线观看网站| 成人a'v在线播放| 欧美男人天堂| 亚洲a级精品| 亚洲经典一区| 成人在线不卡| 精品视频高潮| 精品国产不卡| 国产拍在线视频| 国产精品自拍区| 精品日产免费二区日产免费二区| 国模精品视频| 欧美日韩国产一区二区在线观看| 久久精品青草| 激情亚洲影院在线观看| 偷拍一区二区| 国产亚洲福利| 亚洲一区在线| 伊人精品在线| 国产日韩欧美一区二区三区在线观看| 一本色道69色精品综合久久| 操人在线观看| 日本超碰一区二区| 免费在线观看一区二区三区| 中文无码久久精品| 久久亚洲电影| 国产成人精品免费视| 狠狠综合久久| 亚洲伦伦在线| 精品日本12videosex| 日韩精品久久久久久| 久久激情电影| 国产日韩欧美在线播放不卡| 欧美老女人另类| 麻豆精品久久久| 91久久久精品国产| 亚洲国产日韩欧美一区二区三区| 亚洲福利国产| 亚洲精品婷婷| 亚洲欧美清纯在线制服| 国产乱码精品一区二区三区亚洲人 | 久久综合导航| 美女少妇全过程你懂的久久| 美女在线视频一区| 亚洲成人三区| 最新精品国偷自产在线| 欧美3p在线观看| 国产精品巨作av| 久久精品亚洲一区二区| 伊人久久亚洲热| 亚洲老女人视频免费| 国产精品国产一区| 日韩激情欧美| 国产成+人+综合+亚洲欧美| 国产一区二区三区四区老人| 一区二区在线影院| 欧美3p视频| 99精品视频在线| 欧美黄色一区| av免费不卡国产观看| 91精品一区二区三区综合| 久久久久久毛片免费看| 色乱码一区二区三区网站| 国产精品巨作av| 综合久久亚洲| 免费毛片b在线观看| 欧美精品羞羞答答| 免费看日产一区二区三区| 久久精品超碰| 日韩专区在线视频| 99成人在线视频| 国产麻豆精品久久| 国产91欧美| 免费欧美在线视频| 欧美在线观看视频一区| 亚洲福利网站| 一区二区久久| 国产精品久久久久久| 不卡av一区二区| 大奶一区二区三区| 高清久久精品| 日韩三级一区| 成年男女免费视频网站不卡| 自拍亚洲一区| 91精品啪在线观看国产手机| 亚洲综合伊人| 成人国产网站| 91影院成人| 在线综合亚洲| 久久久久午夜电影| 日韩欧美激情电影| 高清精品久久| 日本中文在线一区| 亚洲综合av一区二区三区| 噜噜噜久久亚洲精品国产品小说| 欧美有码在线| 99re91这里只有精品| 亚州精品视频| 在线免费观看亚洲| 国产精品一二| 日韩经典一区| 黄色在线观看www| 蜜桃视频一区二区| 红桃视频国产一区| 久久香蕉国产| 99久久九九| 久久99偷拍| 国产精品白丝av嫩草影院| 久久免费精品| 欧美美乳视频| 国产精品久一| 韩国一区二区三区视频| 国产高清日韩| 亚洲伊人精品酒店| 国产精品xvideos88| 欧美日韩在线大尺度| 日本特黄久久久高潮| 欧美在线91| 免费视频一区| 一区二区三区福利| 国产精品一级| 青青国产91久久久久久| 久久精品一区二区三区中文字幕| 九九久久国产| 一区二区三区高清视频在线观看| 欧美黄色网络| 麻豆91小视频| 欧美黄色大片网站| 国产欧美91| 偷拍自拍亚洲色图| 久久99成人| 9l亚洲国产成人精品一区二三| 日韩黄色片在线观看| 午夜视频在线观看精品中文| 麻豆一二三区精品蜜桃| 国产精品videossex| 久久美女精品| 在线亚洲欧美| 超碰99在线| 欧美成人xxxx| 亚洲国产精品第一区二区| 国产精品hd| 日韩福利视频一区| 91免费精品国偷自产在线在线| 成人精品动漫一区二区三区| 精品国产午夜肉伦伦影院| 99久久99热这里只有精品| 亚洲国产不卡| 欧美freesextv| 欧美美女福利视频| 亚洲日韩视频| 日韩欧美中文字幕在线视频| 欧美三级午夜理伦三级小说| 亚洲精品97| 久久久久久夜| 久久99久久久精品欧美| 国产精品久久免费视频| 一区二区在线视频观看| 欧美高清一区| 吉吉日韩欧美| 青青草97国产精品免费观看| 亚洲人成亚洲精品| 久久久久欧美精品| 亚洲综合二区| 亚洲成人1区| 不卡精品视频| 精品视频97| 国产精品丝袜xxxxxxx| 色综合桃花网| 在线观看一区| 欧美调教在线| 天堂va蜜桃一区二区三区漫画版| 亚洲www免费| 国产一区二区三区亚洲综合| 亲子伦视频一区二区三区| 麻豆91精品| 国产日韩欧美一区在线 | 青草国产精品| 雨宫琴音一区二区在线| 日本蜜桃在线观看视频| 亚洲免费资源| 久久裸体网站| 日韩国产一区二区三区| 91精品福利观看| 婷婷国产精品| 色在线中文字幕| 亚洲精品亚洲人成在线观看| 91精品动漫在线观看| 久久精品久久久精品美女|