⑴ 傳奇腳本製作命令
分類: 游戲 >> 游戲工具
問題描述:
我想知道一些傳奇腳本製作命令,就是NPC的例如給東西 檢測結婚 師徒,傳送到那些地方,給寶寶什麼的。多多益善 越詳細越好謝謝。
解析:
傳奇腳本命令大全
命令與函數:
checkjob (Warr, Wizard, Taos) ;測試職業
checkgold (金幣數) ;測試金幣
checklevel (等級) ;測試等級
checkitem (物品名) (數量) ;測試物品及數量
give gold (金幣數) ;給錢
give (物品名) (數量) ;給物及數量
take gold (金幣數) ;拿走錢
take (物品名) (數量) ;拿走物及數量
checkpkpoint (pk值) ;測試PK值
checkluckypoint (幸運值) ;幸運值正值為好,負值為差
checkraeva (物品名) (數值) ;一般測試礦物等物品的品質
checkhum (地圖名) (數值) ;測試這個地圖的人數
checkmonmap (地圖名) (數值) ;測試這個地圖的怪物數
map (地圖名) ;移動到這個地圖
mapmove (地圖名) (坐標A) (坐標B) ;移動到這個地圖指定坐標
monclear 地圖清除
close 關閉對話框
TimeRecall (設定時間值) ;分鍾,一般指進入地圖時間限制
BreakTimeRecall ;中斷設定時間
ExchangeMap (地圖名) ;與指定地圖里的人交換位置
daytime sunset ;一天時間
checkbaggage ;測試背包滿沒
*** all (變數) (數值) ;測試變數是不是小於指定數值
large (變數) (數值) ;測試變數是不是大於指定數值
equal (變數) (數值) ;測試變數是不是等於指定數值
mov (變數) (數值) ;讓變數等於指定數值
sum (變數A) (變數B) ;A+B 注意,如果還要家第3個數直接換行寫sum (變數C)
注:關於SUM的詳解
首先有MOV (變數X) 0 ;(變數X)清0
sum (變數A) (變數B) ;X=A+B
sum (變數C) ;X=X+C
movr (變數) (數值) ;隨機把指定數值以下的數(正數)給變數
inc (變數) (數值) ;讓變數自動加指定數值到變數
playdice (骰子數) @xxx ;玩骰子,跳轉到標簽[@xxx]
random (隨機數) ;一般用在#IF語句中作為觸發#IF機率,有時隨機數=並列#IF語句數用於隨機多項選擇,既:
#IF RANDOM 3 #SAY() #ELSEACT
#IF RANDOM 3 #SAY() #ELSEACT
#IF RANDOM 3 #SAY() #ELSEACT
Check [條件數] 1 ;測試[條件數]觸發與否 1(觸發)
SET [條件數] 1 ;設置[條件數]觸發
batchDelay (暫停時間) ;一般為1
addbatch (地圖名1)
addbatch (地圖名2)
addbatch (地圖名3)
addbatch (地圖名4)
addbatch (地圖名5)
batchmove ;一步步到下一個地圖直到5
param1 01141 ;01141=(地圖名)
param2 10
param3 10
mongen 火焰沃瑪2(怪物名) 30 10
;玩骰子腳本解析
#IF
equal p9 1 ;測試 p9是不是等於1
#ACT
goto @cube ;是的,到@cube
BreakTimeRecall (中斷設定時間)
break
#IF
equal p9 9 ;測試 p9是不是等於9
#ACT
goto @quit ;是的,到@quit 退出
BreakTimeRecall (中斷設定時間)
break
[@main-1]
#IF
#ACT
mov p9 0 ;測試 p9是不是等於0
#SAY
say ;歡迎詞
<下一步/@pre_cube>
[@pre_cube]
#IF
checkitem 籌碼 1 ;測試有沒有籌碼
#ACT
mov p9 1 ;有,讓p9=1
take 籌碼 1 ;給出一個籌碼
movr d0 6 ;;隨機把6以下的數(正數)給d0
inc d0 1 ;讓d0自動加1到d0
playdice 1 @cube ;玩骰子,點擊到標簽[@cube]
#SAY
正在投骰子. \ <下一個/@cube>
#ELSESAY
quit
<退出/@Quit>
#ELSEACT
mov p9 9 ;轉到標簽@quit並讓P9等於9
[@Quit]
#IF
#ACT
map B011 ;退出到B011地圖
[@cube]
#IF
#SAY
骰子的點數 <$STR(D0)> \ ;<$STR(D0)>是變數,把D0數值型轉字元型
你可以前進 <$STR(D0)> \ <移動/@next_cube>
[@next_cube]
#IF
equal d0 1 ;如果 d0=1
#ACT
goto @posi1 ;到POSI1
break
#IF
equal d0 2
#ACT
goto @posi2
break
#IF
equal d0 3
#ACT
goto @posi3
break
#IF
equal d0 4
#ACT
goto @posi4
break
#IF
equal d0 5
#ACT
goto @posi5
break
#IF
equal d0 6
#ACT
goto @posi6
break
[@Posi1]
#IF
#ACT
batchDelay 1 ;一般為1(暫停時間)
addbatch B102 ;步進地圖名1
batchmove ;移動到最後一個步進地圖
[@Posi2]
#IF
#ACT
batchDelay 1
addbatch B102
addbatch B103
batchmove
[@Posi3]
#IF
#ACT
batchDelay 1
addbatch B102
addbatch B103
addbatch B104
batchmove
[@Posi4]
#IF
#ACT
batchDelay 1
addbatch B102
addbatch B103
addbatch B104
addbatch B105
batchmove
[@Posi5]
#IF
#ACT
batchDelay 1
addbatch B102
addbatch B103
addbatch B104
addbatch B105
addbatch B106
batchmove
[@Posi6]
#IF
#ACT
batchDelay 1 ;一般為1(暫停時間)
addbatch B102 ;步進地圖名1
addbatch B103 ;步進地圖名2
addbatch B104 ;步進地圖名3
addbatch B105 ;步進地圖名4
addbatch B106 ;步進地圖名5
addbatch B107 ;步進地圖名6
batchmove ;移動到最後一個步進地圖(這里是6)
;結束
SET
語句:
#IF
……
#ACT(SAY)
……
#ELSESAY(ACT) ;ELSE的兩句是並列的,都是IF<>(條件)的動作
……
#ELSEACT(SAY)
……
goto (標簽名)
break (中斷)
\ ;換行
變數:
<$USERNAME> 當前用戶名
<$GUILDWARFEE>行會戰金幣數
<$LORD>沙巴克行會頭名
<$OWNERGUILD>沙巴克行會名
<$UPGRADEWEAPONFEE>升級武器價格
<$USERWEAPON> 放在對話框里的武器名字
<$STR(變數)> 把變數轉換為字元型
網風傳奇腳本編輯器V1.0.1
wfyl/sfrj/sfrj/200603/20060314224115
⑵ 傳奇人物升級觸發、殺人、使用物品和游戲命令觸發的命令腳本什麼
腳本文件位於: X:\GameOfmir\Mir200\Envir\Market_Def\QFunction-0.txt
此腳為功能腳本,用於實現各種與腳本有關的功能
;人物升級觸發
[@PlayLevelUp]
#ACT
MessageBox 升級
;人物死亡觸發
[@PlayDie]
#ACT
MessageBox 死了
;殺人觸發
[@KillPlay]
#ACT
MessageBox 你殺人了
;使用物品
[@StdModeFuncX]
#IF
#ACT
sendmsg 7 觸發成功!!
;游戲命令
[@Member]
彈出腳本菜單!!!
<關閉/@exit>
⑶ 《傳奇》腳本該如何執行
不知道你是什麼引擎,有的引擎執行這個腳本要麻煩一些,有的就非常簡單。
-------------------------HERO引擎實現攻擊目標觸發--------------------------------
首先在地圖配置文件MapInfo.txt裡面添加 @Attack
比如 [3 盟重土城] HITMON(@Attack ) 這個就代表在盟重土城攻擊目標時才觸發,其他地圖則不觸發,如果想在其他地圖觸發,那就在相應的地圖後面加上這個參數。
然後在 QFunction-0.txt 這個系統固定腳本文件中添加一段執行腳本
[@Attack]
#IF
checkitemw 開天 1 ;檢測手上必須拿的是開天,才觸發腳本
CHECKHITMONNAME <$STR(S0)> ;檢測攻擊的目標取得目標名稱
#ACT
SendMsg 0 提示:<$STR(S0)>被<$USERNAME>手中的"開天"擊中
break
我們可以參考砍豬的腳本,大致跟這個一樣!
---------------------------D3D引擎實現攻擊目標觸發--------------------------------
這個引擎的就簡單了多,直接在 QFunction-0.txt 這個系統固定腳本文件中添加一段執行腳本
下面這是個範例,根據你自己的需要修改都可以。
;所有觸發只有攻擊到怪物才會觸發,有些魔法不會觸發,如魔法盾
;======================魔法攻擊觸發==========================
[@MagicStruck]
#IF
CHECKCURRTARGETRACE
= 0
#ACT
SENDMSG 6 你被人物【<$CURRRTARGETNAME>】攻擊了。使用魔法ID=<$CURRRUSEMAGICID> 255
253
BREAK
#IF
#ACT
SENDMSG 6 你被怪物【<$CURRRTARGETNAME>】攻擊了。使用魔法ID=<$CURRRUSEMAGICID> 255
253
BREAK
[@MagicAttack]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 你攻擊了人物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>
255 249
BREAK
#IF
#ACT
SENDMSG 6 你攻擊了怪物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>
255 249
BREAK
;======================物理攻擊觸發==========================
[@Struck]
#IF
CHECKCURRTARGETRACE
= 0
#ACT
SENDMSG 6 你被人物【<$CURRRTARGETNAME>】攻擊了。使用魔法ID=<$CURRRUSEMAGICID> 255
253
BREAK
#IF
#ACT
SENDMSG 6 你被怪物【<$CURRRTARGETNAME>】攻擊了。使用魔法ID=<$CURRRUSEMAGICID> 255
253
BREAK
[@Attack]
#IF
CHECKCURRTARGETRACE = 0
#ACT
SENDMSG 6 你攻擊了人物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>
255 249
BREAK
#IF
#ACT
SENDMSG 6 你攻擊了怪物【<$CURRRTARGETNAME>】。使用魔法ID=<$CURRRUSEMAGICID>
255 249
BREAK
⑷ 傳奇私服設置一個物品或者按鈕觸發每秒回血和相對應扣除元寶的腳本
這個腳本我有,玩家可以設置當血量少於多少人物開始每秒回血多少點,血量超過設置點停止回血,MP也可以設置
⑸ 傳奇私服撿取物品觸發提示腳本求助
1、在MapEvent.txt內加「3 -1 -1 -1:1
2:裁決之杖:0 0 1:@MapEventPickUpItem3」及在QFunction-0加:「[@MapEventPickUpItem3]
#ACT
SendMsg 0 「裁決之杖」 已掉落在:[%M].坐標:[%x:%y]」_____在盟重撿取裁決無法提示。
2.mapquest.txt內加3 [603] 0 * 裁決之杖 ZS1,並加了ZS1.txt的相應也無法實現。。。。。。。。
⑹ 傳奇服務端腳本命令
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 [變數數值] 數值 ;檢測變數是否等於指定數值
(6)傳奇腳本單鍵觸發擴展閱讀
傳奇伺服器腳本命令常見錯誤
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變數的隨機取值是可以完成的。
⑺ 傳奇人物升級觸發、殺人、使用物品和游戲命令觸發的命令腳本什麼
一、命令腳本文件位碼和於:X:GameOfmirMir200EnvirMarket_DefQFunction-0.txt。
二、此腳為功困銷能腳本,用於實現各種與腳遲尺盯本有關的功能。
三、人物死亡觸發,[@PlayDie]#ACT。