當前位置:首頁 » 網頁前端 » 傳奇煉星腳本怎麼寫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

傳奇煉星腳本怎麼寫

發布時間: 2023-07-25 17:30:40

A. 傳奇腳本教程入門

傳奇腳本教程入門:

1、第一步:打開傳奇掛機腳本編輯器(僅適用於木劍會議),並選擇相應的類型的西裝你正在發揮。如果是內部/3K/HGE引擎的點擊坐標,點擊LEG引擎右側進入。

2、第二步:按照腳本編輯器中給出的說明,一步一步填寫需要的函數。

3、第三步:按照說明一步一步填寫後,點擊生成腳本,腳本生成後點擊保存。

4、第四部分:打開木劍會議助手,點擊掛機功能,點擊腳本路徑後面的瀏覽,上傳剛剛保存的腳本,或者直接昌團拖拽腳本到這個界面。

比如:檢測職業:checkjob Warrior 意思就是檢測職業是不是戰士如果不羨孫是就無法下一步,也就是說滿足戰士職業才可以耐派橘進行下級命令。

檢測人物金幣數量:CHECKGOLD >3000 意思就是說人物金幣大於3000才可以進入或者下一步。

MOVEMAP 3 339 339 意思就是說 移動地圖3土城意思 移動到土城坐標為339,339位置。

B. 傳奇腳本 怎麼製作

多人都或多或少的接觸過傳奇伺服器端腳本文件,也很想自己製作一點腳本來試試,但又不敢亂碰生怕改壞一點東西造成不能運行伺服器端,其實「腳本語言「(我們暫且稱他為一種語言)和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種模樣。
和腳本的規則一樣,這兩個文件裡面以;開頭的行就當作注釋部分不做編譯。

C. 傳奇服務端腳本命令

1、常用命令

#IF ;如果

#SAY ;輸出字元串

#ACT ;執行命令

break ;結束命令

close ;結束對話

2、人物條件命令

CHECKITEM 物品名 數量 ;檢測當前人物所帶物品及數量

CHECKGOLD 數量 ;檢測當前人物所帶金幣數量

CHECKLEVELEX (>,<,=) 等級數 ;檢測當前人物等級

CHECKCREDITPOINT (>,<,=) 聲望數 ;檢測當前人物聲望

CHECKJOB (Warrior,Wizard,Taoist) ;檢測當前人物所屬職業

CHECKHUM 地圖名 數量 ;檢測指定地圖的玩家數量

CHECKITEMW 物品名 數量 ;檢測當前人物是否佩帶指定物品

CHECKDURAEVA 物品名 數值 ;檢測當前人物所帶礦物等物品的品質

CHECKBAGGAGE ;檢測當前人物的背包是否已滿

ONLINELONGMIN (>,<,=) 時長 ;檢測當前人物在線時長

CHECKCASTLEDOOR (損壞,開啟,關閉) ;檢測沙城城門狀態

CASTLEWARAY (>,<,=) 天數 ;檢測上次攻城到現在的天數

CASTLECHANGEDAY (>,<,=) 天數 ;檢測沙巴克佔領天數

CHECKOFGUILD 行會名稱 ;檢測當前人物行會名稱

CHECKNAMELIST 角色名列表.txt ;檢測當前人物角色名是否在列表中

CHECKGUILDLIST 行會列表.txt ;檢測當前人物行會是否在列表中

CHECKACCOUNTLIST 帳號列表.txt ;檢測當前人物帳號是否在列表中

CHECKIPLIST IP列表.txt ;檢測當前人物IP是否在列表中

CHECKACCOUNTIPLIST 帳號和IP列表.txt ;檢測當前人物登錄帳號與IP是否與列表中匹配

CHECKNAMEIPLIST 角色名和IP列表.txt ;檢測當前人物角色名稱與IP是否與列表中匹配

ISADMIN ;檢測當前人物是否為管理員

HAVEGUILD ;檢測當前人物是否加入行會

ISCASTLEGUILD ;檢測當前人物是否為沙城成員

ISCASTLEMASTER ;檢測當前人物是否為沙城老大

ISGUILDMASTER ;檢測當前人物是否為行會老大

ISNEWHUMAN ;檢測當前人物是否為新人

CHECKSLAVECOUNT (>,<,=) 數量 ;檢測傳奇私服人物所帶寵物的數量

CHECKSLAVELEVEL (>,<,=) 等級數(7) ;檢測當前人物所帶寵物的等級

CHECKEXP (>,<,=) 經驗值 ;檢測當前人物經驗值

CHECKPOSELEVEL (>,<,=) 等級數 ;檢測當前人物對面人物的等級

CHECKPOSEGENDER 性別(男,女) ;檢測當前人物對面人物的性別

CHECKMEMBERLEVEL 類型 (>,<,=) 等級數 ;檢測當前人物的會員等級

CHECKMEMBERTYPE (=,>,<) 類型數 ;檢測當前人物的會員類型

CHECKRENEWLEVEL (=,>,<) 轉生次數 ;檢測當前人物的轉生次數

CheckBagSize 數量 ;檢測當前人物背包空格數

CHECKDC (=,>,<) 攻擊下限 (=,>,<) 攻擊上限 ;檢測當前人物攻擊力的上限及下限值

CHECKMC (=,>,<) 魔法下限 (=,>,<) 魔法上限 ;檢測當前人物魔法力的上限及下限值

CHECKSC (=,>,<) 道術下限 (=,>,<) 道術上限 ;檢測當前人物道術力的上限及下限值

CHECKHP (=,>,<) HP下限 (=,>,<) HP上限 ;檢測當前人物HP值的上限及下限值

CHECKMP (=,>,<) MP下限 (=,>,<) MP上限 ;檢測當前人物MP值的上限及下限值

CHECKUSEITEM 物品位置 ;檢測當前人物身上指定位置是否戴物品

CHECKITEMTYPE 物品位置 物品類型 ;檢測當前人物身上指定位置戴的物品是否為指定類型

CHECKGAMEPOINT 活力值 ;檢測當前人物活力值

ISLOCKPASSWORD ;檢測當前人物的倉庫是否解鎖

PASSWORDERRORCOUNT (=,>,<) 次數 ;檢測當前人物輸入倉庫密碼錯誤次數

CheckRangeMonCount 地圖號 X Y 范圍 (=,>,<) 數量 ;檢測一個坐標范圍內怪物數量

CheckMonMap 地圖號 數量 ;檢測一個指定地圖內的怪物數量

CHECKMON 數量 ;檢測私服人物所在地圖內的怪物數量

CHECKSKILL 技能名稱 (=,>,<) 修煉等級 ;檢測當前人物已學技能

3、地圖功能命令

MAP 地圖名 ;將當前人物移動到指定地圖

MOVEMAP 地圖名 X Y ;將當前人物移動到指定地圖的指定坐標

TIMERECALL 時間值 ;指定當前人物到達多少時間後被傳回這里

BREAKTIMERECALL ;中斷指定人物達多少時間後被傳回這里

RECALLMOB 怪物名稱 寶寶等級(最高為 7) 叛變時間(分鍾) 是否自動變色(0、1)固定顏色(1-7);給予當前人物指定怪物為寶寶

setautogetexp 命令 時間 經驗 是否安全區(0為任何地方) 地圖號(任何地圖請不用填);指定當前人物在線泡經驗(直接得到經驗)

GAMEGOLD (=,+,-) 數量 ;調整當前人物的元寶數量

SETRANKLEVELNAME 封號 ;調整當前人物的封號

ADDGUILDLIST 行會列表.txt ;將當前人物行會名加入列表

DELGUILDLIST 行會列表.txt ;將當前人物行會名從列表刪除

ADLNAMELIST 角色名列表.txt ;將當前人物角色名加入列表

DELNAMELIST 角色名列表.txt ;將當前人物角色名從列表刪除

CLEARNAMELIST 列表.txt ;清除列表內的所有信息

HAIRSTYLE 數值 ;調整當前人物的發型

CHANGENAMECOLOR 數值 ;調整當前人物的名字顏色

CHANGEJOB 職業名稱(Warrior,Wizard,Taoist) ;調整當前人物的所屬職業

CHANGEGENDER 數值 ;調整重慶市人物的所屬性別

ADDSKILL 技能名稱 技能等級 ;給予當前人物添加指定技能

DELSKILL 技能名稱 ;刪除當前人物的指定技能

SKILLLEVEL 技能名稱 (=,+,-) 技能等級 ;調整當前人物的指定技能為指定等級

DELNOJOBSKILL ;刪除當前人物非本職業的所有技能

CLEARSKILL ;刪除當前人物的所有技能

GAMEPOINT (=,+,-) 數量 ;調整當前人物的活力值

CREDITPOINT (=,+,-) 數量 ;調整當前人物的聲望點數

SETMEMBERLEVEL (=,+,-) 等級數 ;調整當前人物的會員等級

SETMEMBERTYPE (=,+,-) 等級數 ;調整當前人物的會員類型

CHANGELEVEL (=,+,-) 等級數 ;調整當前人物的等級

CHANGEPKPOINT (=,+,-) 點數 ;調整當前人物的PK點數

CHANGEEXP (=,+,-) 經驗值 ;調整當前人物的經驗值

CHANGEMODE 模式類型(1管理模式、2無敵模式、3隱身模式) 開關(1為開,0為關) ;調整當前人物的游戲模式

CHANGEPERMISSION 許可權等級 ;調整當前人物的許可權等級

KILLMONEXPRATE 倍率 有效時間 ;調整當前人物的殺怪經驗倍率

POWERRATE 倍率 有效時間 ;調整當前人物的攻擊力倍率

KICK ;將當前人物踢下線

KILL 數值 ;將當前傳奇私服人物殺死,並設置殺死類型

KILLSLAVE ;將當前人物的寶寶全部殺死

CLEARPASSWORD ;清除當前人物的倉庫密碼

RestRenewLevel ;將人物的轉生次數復位為零,即未轉生

DELMARRY ;清除當前人物的結婚信息

DELMASTER ;清除當前人物的拜師信息

RENEWLEVEL 轉次數 轉後等級 0 ;將當前人物轉生,並設置轉生次數以及轉生後人物等級跳到多少級

SENDMSG 信息類型代碼 %s信息內容%d ;發送文字信息

CLEARMAPMON 地圖號 ;清除指定地圖的所有怪物

RESTBONUSPOINT ;清楚當前人物的屬性點

PARAM1 地圖 ;NPC指定刷怪地圖

PARAM2 橫坐標 ;NPC刷怪X坐標

PARAM3 縱坐標 ;NPC刷怪Y坐標

MONGEN 怪物名稱 數量 時間 ;NPC刷怪命令+怪物+數量+時間

takew可以取走身上裝備的物品)

mapmove 移動地圖(例如:mapmove 0 634 612)

map 移動地圖(不需要具體坐標.例如:map 0)

timerecall 在規定時間內召回(timerecall 5 在5分鍾之內召喚回原地圖)

takecheckitem 收取checkitem過的物品(不加任何參數)

monclear 清空地圖怪物(monclear 0 清空0地圖上的所有怪物)

exchangemap 互換地圖(exchangemap 地圖代碼)

recallmap 把某地圖的人召喚過來(recallmap 地圖代碼)

batchmove 3 (此3個連用可以瞬移地圖用於賭場)

3、定義變數

RANDOM 隨機數 ;一般用在#IF語句中作為觸發#IF機率,

EQUAL 變數名 數值 ;檢測變數是否等於指定數值

LARGE 變數名 數值 ;檢測變數是否大於指定數值

SMALL 變數名 數值 ;檢測變數是否小於指定數值

MOV 變數名 數值 ;給予變數賦於指定值

INC 變數名 數值 ;給予變數加上指定值

DEC 變數名 數值 ;給予變數減去指定值

SUM 變數名A 變數名B ;將兩個變數相加

MOVR 數值 ;變數賦予小於指定數值的隨機非負數

<$STR(變數)> ;把變數轉為字元串

SET [變數名] 數值 ;定義變數

RESET [變數名] 連續數字 ;連續將變數清零

CHECK [變數數值] 數值 ;檢測變數是否等於指定數值

(3)傳奇煉星腳本怎麼寫擴展閱讀

傳奇伺服器腳本命令常見錯誤

1、錯誤一:

#if

RANDOM 3

#act

goto 1

break

#if

RANDOM 3

#act

goto 2

break

#if

RANDOM 3

#act

goto 3

break

很多人認為random的具體運行是首先在3以下隨機取一個值,然後該腳本內的random 3都不再取值了。那樣理解的時候goto 1、2、3的幾率是相等的,都是1/3。

這是一個理解上的錯誤,實際這里運行的操作是這樣的,到達1的幾率為1/3,到達2的幾率為先2/3然後1/3就是2/9。而到達3的幾率則為2/3然後2/3然後1/3實際幾率為4/27!

2、錯誤二:

#if

RANDOM 3

#act

goto 1

break

#if

RANDOM 2

#act

goto 2

break

#if

RANDOM 1

#act

goto 3

break

有人認為在第一個random的時候會給一個隱藏的值在3以下做一個賦值。然後以後的random就是檢測是否自己的random值和這個隱藏值相同,如果相同則#act。

這個也是一種錯誤理解,雖然同是對random理解錯誤造成的,但是該錯誤與錯誤一理解上是不同的。但是這種隨機的設計方式是提倡的,利用P變數的隨機取值是可以完成的。



D. 傳奇加星裝備還原屬性腳本怎麼寫

引擎:heroM2
網址:http://bbs.1x.la
功能: 清除使用寶石升級的裝備屬性.
格式: ClearStoneUpgrade 位置(0-14)
注意: 此命令不區分極品和普通裝備,清除時所有屬性都將消失.

例子: 清除衣服升級的星
[@main]
#IF
#ACT
ClearStoneUpgrade 0

物品位置:
0 盔甲
1 武器
2 照明物
3 項鏈
4 頭盔
5 右手鐲
6 左手鐲
7 右戒指
8 右戒指
9 無(放護身符位置)
10 腰帶
11 鞋子
12 寶石

E. 求傳奇腳本編寫

第一個腳本如下:
[@main]
#if
ISCASTLEGUILD
#act
goto @檢查等級
break
#elsesay
你不是沙巴克成員,不能領取會員證明!

[@檢查等級]
#if
checklevelex > 59
#act
goto @檢查名單
break
#elsesay
你的等級還沒到達60級,不能領取會員證明!

[@檢查名單]
#if
CHECKNAMELIST ..\QuestDiary\領取證明\已領取名單.txt
;說明(檢查\QuestDiary\領取證明\已領取名單.txt是否有名單,需要在D:\MirServer\Mir200\Envir\QuestDiary\下創建文件夾「領取證明」\裡面創建「領取名單.txt」)
#act
break
#say
你已經領取過會員證明了,不能再領取了
#elseact
give 會員證明 1
addnamelist ..\QuestDiary\領取證明\已領取名單.txt
;說明(給予會員證明後,把人物名字添加到\QuestDiary\領取證明\已領取名單.txt下)
#elsesay
恭喜你領取了會員證明!

第二個腳本思路跟上面的是一樣的,至於每天用機器人進行清除就用上面的腳本舉例,腳本如下

AutoRunRobot.txt 文檔下寫 #AutoRun NPC RUNONDAY 00:00 @清理數據
RobotManage.txt 文檔下寫 如下:

[@清理數據]
#IF
#ACT
GMEXECUTE StartQuest @名單清理
;說明(上面的清理數據路徑是在登陸腳本QManage.txt裡面的)

QManage.txt登陸腳本 的腳本如下:
[@名單清理]
#if
#act
#CALL [領取證明\名單清理.txt] @清理名單
;說明(\QuestDiary\領取證明\添加一個名單清理.txt裡面寫一個清理腳本)
BREAK

;[領取證明\名單清理.txt] @清理名單 清理腳本如下:
[@清理名單]
{
#if
#act
CLEARNAMELIST ..\QuestDiary\領取證明\已領取名單.txt
}

注意:{ }很重要,沒有的話M2會報錯

網路搜索 傳奇技術吧 裡面有很多腳本,很適合新手

F. 傳奇任務腳本怎麼寫我

A: NPC領取殺怪任務100隻,當殺怪達到100隻的時候回來NPC處領取獎勵
B:人物在某地圖殺怪提示。即每殺一隻怪 聊天框 就提示你目前殺怪總數為:
C:當殺怪達到100隻,;聊天框提示:殺怪總數完成,請回去領取獎勵

A 用到自定義變數
B 用到殺怪觸發
C 一樣殺怪觸發
臨時寫的 看下面的
[@main]
#if
#say
<領取殺怪100任務/@領取> <任務完成領取獎勵/@獎勵>
[@領取]
#if
Check [100] 0
#act
set [100] 1
SENDMSG 6 提示:任務領取完畢,請盡快完成.
#elseact
SENDMSG 6 提示:草,領取過的還來搗亂,勞資乾死你.
break
[@獎勵]
#if
CHECKVAR HUMAN SGCF > 99
#act
set [100] 0
CREDITPOINT + 5
SENDMSG 6 提示:任務完成獎勵聲望+5.
CALCVAR HUMAN SGCF = 0
SAVEVAR HUMAN YUAN ..\QuestDiary\數據文件\變數數據.txt
#elseact
SENDMSG 6 提示:草,任務未完成,還想要獎勵,滾.
break
-----------------------------------------------------------------------------
登陸腳本如下:
請在mirserver\Mir200\Envir\QuestDiary\數據文件\ ---目錄下建立一個[變數數據.txt]的文本
如果沒有的話就自己創建
[@login]
#if
CHECKLEVELEX > 0
#act
VAR Integer HUMAN SGCF
LOADVAR HUMAN SGCF ..\QuestDiary\數據文件\變數數據.txt
-----------------------------------------------------------------------------
殺怪觸發:
mirserver\Mir200\Envir目錄下MapQuest.txt文本,添加如下一行:
3 [035] 0 沃瑪教主 * Q016

上面的3代表殺怪所在的地圖號,沃瑪教主代表殺的怪物名稱,可以自己修改
Q016對應的是mirserver\Mir200\Envir\MapQuest_Def 裡面的文本
意思就是這里寫Q016那麼MapQuest_Def目錄下觸發的文本名稱也必須是 Q016.txt
總之最後你寫什麼那麼MapQuest_Def目錄下就必須創建一個相對應的名稱txt文本
-----------------------------------------------------------------------------
mirserver\Mir200\Envir\MapQuest_Def\Q016.txt 裡面的文本內容如下:
[@main]
#IF
CHECKVAR HUMAN SGCF > 99
#ACT
mapmove 3 333 333
SENDMSG 6 提示:任務完成.
#elseact
CALCVAR HUMAN SGCF + 1
SAVEVAR HUMAN YUAN ..\QuestDiary\數據文件\變數數據.txt
messagebox 您的當前殺怪數量為:<$HUMAN(SGCF)>
break

3K的,方法一樣