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

傳奇版本服務端

標題: 新手寫腳本必看腳本教程-傳奇腳本代碼 [打印本頁]

作者: 傳奇GM論壇    時間: 2022-9-3 09:03
標題: 新手寫腳本必看腳本教程-傳奇腳本代碼
很多人都或多或少的接觸過傳奇服務器端腳本文件,也很想自己制作一點腳本來試試,但又不敢亂碰生怕改壞一點東西造成不能運行服務器端,其實“腳本語言“(我們暫且稱他為一種語言)和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的文件名,例如你要
創建一個超級商人的npc要他出現在比奇省330:330的坐標。首先你要在.\market_def\文件夾中創建一個文本文件命名為“超級商人-0“(這里你可以使用英文,也可以使用中文,但后面的數字必須要是這個npc出現的地圖代碼!),然后把你寫好的腳本粘貼在里面。再打開merchant.txt文件,添加以下信息:;調用的文件 地圖 坐標x 坐標y 范圍 人物代碼 刷新時間超級商人 0 330 330 0 5 0相信大家可以看懂吧,這里面的空格不要緊,沒有規定信息之間必須空幾格。人物代碼自己換吧,現在的npc有46種模樣。和腳本的規則一樣,這兩個文件里面以;開頭的行就當作注釋部分不做編譯。
第2節

現在步入正題,談談腳本的制作。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>
----------------------------
這就是一個極其簡單的傳送腳本。我們下一節講稍微復雜的段落腳本。

第三節

這一節我們來講段落腳本。
復雜的腳本需要有數個[@main][@main-1]等等組成,從[@main]到[@main-1]之間稱為一個段落,他們之間是由goto命令來銜接的,#if滿足條件的話,#act就執行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 弓箭守衛 10 10
mapmove T131
;T131這個地圖是賭場的審判間,20*20的房間內有10個弓箭手。50級的紅名進去也是死...
-----------------------------
這個腳本如果不是紅名的話就會得到一個回城卷,是紅名的話就會有上述對話,選“相信”就關閉窗口離開,選“不信”就被傳送到t131地圖,受到10個弓箭手的優待,HOHO~~~這一節我們接觸了“<>”和“\”符號, 如果是“<選擇/@xuanze>”定義了要指向的段落,在游戲中就顯示黃色可點選的“選擇”字樣,如果“<選擇>”沒有定義要指向的段落,在游戲中就顯示紅色的“選擇”字樣。“\”是換行符號,文本文件和可以在游戲對話框中顯示的信息都可以用“\”符號來換行。不可以用回車來代替。

第四節

這一節我們來研究一下設置函數的屬性和概率問題我覺得腳本里面最難的也就是這個啦,其實我也沒有真正搞清其中的奧秘,只知道其中的一些使用的方法。現在如果想制作腳本最主要的也就是做任務了吧,我看了盛大的命運之刃和制作煉獄的任務,其中都要定義一些函數值,就拿肉店任務來說,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>沙巴克城門的狀態等等...另外還有現實不同玩家信息的命令<$USERNAME>,你手中的兵器<$USERWEAPON>。這些都用于加載在文本信息當中顯示。

第五節

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


第六節

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

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

[@main]
#if
check [099] 1
#say
<$USERNAME>如果你剛才已經下過線了,\那請到監獄長那里重新登記吧!\要不你是出不去的!<好的/@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
監獄長-0128.txt內容如下:
[@main]
#if
check [099] 0
#say
<$USERNAME>你將被重新送往監獄!\時間將重新開始計算!誰叫你中途下線的呀,活該!<好的/@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里加入兩行:
監獄長 0 0128 3 5 0 8
地牢看管員 0 0162 6 15 0 15



作者: fayard    時間: 2022-11-27 15:34
寫的很詳細,通俗易懂,感謝分享,學習了




歡迎光臨 傳奇版本服務端 (http://m.i9finance.com/) Powered by Discuz! X3.4
99久久婷婷这里只有精品| 不卡福利视频| 久久久久久黄| 亚洲欧洲日本mm| 怡红院成人在线 | 久久国产尿小便嘘嘘| 一区二区三区无毛| 极品国产人妖chinesets亚洲人妖 激情亚洲另类图片区小说区 | 欧美残忍xxxx极端| 欧美在线免费| 日韩av字幕| 亚洲一本视频| 手机av在线| 中文字幕人成人乱码| 加勒比中文字幕精品| 成人一区不卡| 亚洲欧洲日韩| 视频福利一区| 日韩国产一区二区| 日日狠狠久久偷偷综合色| 国产一区二区高清| 久久精品首页| 开心激情综合| 亚洲啊v在线| 偷拍视屏一区| 一本色道久久综合一区| 日韩精品欧美成人高清一区二区| 99re91这里只有精品 | 亚洲欧美网站在线观看| 99久久综合狠狠综合久久aⅴ| 丁香六月综合| 亚洲伊人影院| 欧美aaa视频| 日韩成人精品在线| 日韩av密桃| 精品一区二区三区中文字幕视频| 欧美大人香蕉在线| 日一区二区三区| 亚洲国产老妈| 欧美韩国一区| 亚洲尤物精选| 国产美女视频一区二区| 亚洲综合激情| 天堂俺去俺来也www久久婷婷 | 青青国产精品| 精品欧美午夜寂寞影院| 69堂免费精品视频在线播放| 激情亚洲另类图片区小说区| 国产一区二区高清在线| 99久久www免费| 国产欧美三级| 日韩一级在线| 欧美激情亚洲| 欧美日韩 国产精品| 欧美va天堂在线| 日本va欧美va瓶| 先锋资源久久| 国产精品免费99久久久| 91青青国产在线观看精品| 日本一区影院| 超级白嫩亚洲国产第一| 国产精品久久久网站| 亚洲成人精品综合在线| 99久久亚洲精品蜜臀| 亚洲精品孕妇| 日韩专区一卡二卡| 视频免费一区二区| 国产成人精品一区二区三区视频| 一区二区三区视频免费观看| 欧美日韩a区| 蜜桃视频一区二区三区在线观看| 精品中文字幕一区二区三区四区| 91精品国产经典在线观看| 激情久久综合| 最新国产一区| 激情久久99| 香蕉亚洲视频| 999久久精品| 久久一区国产| 三级亚洲高清视频| 免费观看成人www动漫视频| 久久精品国产久精国产| 亚洲黄色在线| 日韩激情欧美| 麻豆成人久久精品二区三区小说| 99国产精品久久久久久久| 日产国产高清一区二区三区 | 美女爽到呻吟久久久久| 亚洲精品一区国产| 影音先锋一区| 日本不卡网站| 亚洲一区二区三区免费在线观看| 国产伦精品一区二区三区在线播放| 国内自拍一区| 欧美无毛视频| 老司机精品视频网站| 欧美一区2区| 一本一道久久a久久| 久久亚州av| 欧美在线免费| 色老太综合网| 91视频综合| 国内揄拍国内精品久久| 精品国产鲁一鲁****| 在线看片一区| 成人日韩av| 久久久男人天堂| 午夜在线视频观看日韩17c| 欧美一区二区麻豆红桃视频| theporn国产在线精品| 国产亚洲一卡2卡3卡4卡新区 | 欧美体内she精视频在线观看| 伊人精品综合| 国产麻豆一区二区三区精品视频| 国产精品久久国产愉拍| 青青国产精品| 精精国产xxxx视频在线野外| 免费xxxx性欧美18vr| 国产一区导航| 亚洲激情婷婷| 午夜久久99| 激情久久婷婷| 99久久这里只有精品| 日本精品影院| 开心激情综合| 久久久精品五月天| 精品亚洲免a| 1024成人| 香蕉人人精品| 亚洲天堂黄色| 欧美91视频| 天天揉久久久久亚洲精品| 久久在线免费| 久久激情电影| 亚洲午夜激情在线| 激情婷婷综合| 黄色综合网站| 久久亚洲欧美| 久久久久久久欧美精品| 国产免费成人| 丝袜美腿亚洲综合| 蜜桃av一区二区三区| 国产精品99一区二区三| segui88久久综合9999| 男人的天堂亚洲| 日本一区二区免费高清| 老牛影视精品| 午夜欧美巨大性欧美巨大| 亚洲综合av一区二区三区| 国产91在线精品| 国产一区99| 夜夜爽av福利精品导航| 99热精品在线观看| 日本一区二区在线看| 日韩一区欧美| 久久伦理在线| 精品一区三区| 日韩午夜在线| 久久男人天堂| 久久国内精品视频| 91精品福利观看| 日韩成人一级大片| 91精品国产自产在线观看永久∴ | 国产亚洲一区在线| av最新在线| ww久久综合久中文字幕| 久久精品人人| 亚洲精品一级二级三级| 精品少妇av| 欧美日韩三级| 日韩片欧美片| 欧美日本一区| 日韩1区2区日韩1区2区| 加勒比中文字幕精品| 国产亚洲成人一区| 88xx成人免费观看视频库| 欧美黄色精品| 久久精品亚洲成在人线av网址| 一区视频在线| 日本免费一区二区三区四区| 影音先锋亚洲精品| 高清日韩中文字幕| 黄色成人在线网站| 日韩免费看片| 国产精品高清一区二区| 99ri日韩精品视频| 在线亚洲欧美| 国产精品久久久久久妇女| 999精品嫩草久久久久久99| 精品视频自拍| 欧美激情欧美| 亚洲乱码久久| 欧洲精品一区| 男女男精品网站| 麻豆精品蜜桃视频网站| 欧美电影在线观看一区| 日本a级不卡| 亚洲欧美清纯在线制服| 欧美亚洲福利| 偷拍亚洲色图|