傳奇武器觸發腳本
Ⅰ 《傳奇》腳本該如何執行
不知道你是什麼引擎,有的引擎執行這個腳本要麻煩一些,有的就非常簡單。
-------------------------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
Ⅱ 傳奇如何觸發升級加屬性的腳本
D:\MirServer\Mir200\Envir\Market_Def裡面的QFunction-0文檔
打開文檔,找到 [@PlayLevelUp],這個是升級觸發的,放底下就可以了。找不到就自己手動編寫一個 [@PlayLevelUp]。再把要增加的屬性加在下面,比如想升級加2點血上限3點藍上限,就寫
[@PlayLevelUp]
#if
#act
USEBONUSPOINT 6 + 2
USEBONUSPOINT 7 + 3
Ⅲ 傳奇腳本製作命令
分類: 游戲 >> 游戲工具
問題描述:
我想知道一些傳奇腳本製作命令,就是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
Ⅳ 傳奇裝備武器觸發使用技能腳本
(鄔攸傳奇) 打怪升級,裝備華麗
Ⅳ 傳奇裝備武器觸發使用技能腳本
實現這個想法到不難,問題是太麻煩了。
首先,玩家行為和腳本行為,一個管外部,一個管內部,同時普攻和主動技擊,是兩個動作。
腳本處理不了。
被動技能可以同時使用,就像你給的圖一樣,一邊砍,一邊觸發無敵。
麻煩的地方,首先你得把所有能PK的地圖加上自定義引導參數,我不清楚你是想單個地圖帶這種功能還是都加上,傳奇現在可有5
6百張地圖。
接著就是武器種類,1把武器還好說,多種武器就得加變數,先去記錄它在去檢測它。它的裝備位置,名稱是不是符合條件,最後加上隨機率。這還僅限於戰士,近身攻擊(連隔位刺殺都不算在內)。觸發的僅僅是狀態類『技能』。法師和道士呢,你不能法師拿著刀去平砍吧,那就得加技能觸發,這就得在功能腳本中增加所有的法師道士技能觸發項,因為你根本確定不了哪個玩家用什麼技能。麻煩不,我打這么多字也只是個籠統的說明,真正書寫的時候,腳本最少都得超過400行。
簡單的方法有沒有。有。
單獨的武器,單獨的技能,給遠程職業加新的單一技能。但這么做就沒任何意義,都不如直接出新技能。
所以我建議你,要麼就是找引擎本身就帶這種功能(直觀設置),要麼按簡單的方法來,要麼就是自己寫,你需要的腳本命令給力引擎技術手冊里都有。完整答案就別想了
Ⅵ 我想做一個傳奇腳本 武器攻擊+7 幸運+7 也就是雙7觸發1.2倍攻擊! 怎麼寫!
需要使用CHECKITEMADDVALUE腳本命令,檢查物品的附加屬性。
例如武器:
[@main]
#IF
CheckItemAddValue 1 0 > 6 ;檢測武器附加攻擊是不是大於6點
#ACT
goto @main1
#elseact
messagebox 你的武器附加攻擊沒有到7點
[@main1]
#IF
CheckItemAddValue 1 3 > 6 ;檢測武器附加幸運是不是大於6點
#ACT
goto @main2
#elseact
messagebox 你的武器附加幸運沒有到7點
[@main2]
#ACT
POWERRATE 120 600 ;POWERRATE 倍率 有效時間
具體NPC怎麼引導根據自己需要修改即可,我就不給你寫了。
另外> 6這里我現在不清楚是不是包括6,如果包括可以改為> 7
最後,這是HERO引擎的腳本命令,比較通用,下次提問的時候請把使用的引擎說一下,方便回答。
物品位置及屬性查詢
CHECKITEMADDVALUE 物品位置(0-12) 屬性位置(0-14) (符號 < > =) 值
物品位置:
0 盔甲
1 武器
2 照明物(蠟燭,此物品屬性升級無效)
3 項鏈
4 頭盔
5 右手鐲
6 左手鐲
7 右戒指
8 右戒指
9 無(放護身符位置)
10 腰帶
11 鞋子
12 寶石
盔甲
0 防禦
1 魔御
2 攻擊
3 魔法
4 道術
5-13 無效果
14 持久
武器
0 DC2
1 MC2
2 SC2
3 幸運
4 詛咒
5 准確
6 攻擊速度
7 強度
8-9 暫不知道
10 需開封
11-13 暫不知道
14 持久
頭盔
0 防禦
1 魔御
2 攻擊
3 魔法
4 道術
5 佩帶需求
6 佩帶級別
7-13 無效果
14 持久
項鏈
0 AC2
1 MAC2
2 DC2
3 MC2
4 SC2
6 佩帶需求
7 佩帶級別
8 reserved
9-13 暫不知道
14 持久
手鐲
0 AC2
1 MAC2
2 DC2
3 MC2
4 SC2
6 佩帶需求
7 佩帶級別
8-13 無效果
14 持久
戒指
0 AC2
1 MAC2
2 DC2
3 MC2
4 SC2
6 佩帶需求
7 佩帶級別
8-13 無效果
14 持久
Ⅶ 傳奇雙擊觸發腳本
功能:
雙擊物品可以自動觸發指定腳本功能、雙擊物品可以打開寶箱功能
使用方法:
1、物品資料庫設置1:StdMode欄位設置為:31
2、物品資料庫設置2:AniCount欄位設置為:X
X為指字數字觸發腳本(1-999)
3、\Mir200\Envir\market_def\QFunction-0.txt下設置
===================================
[@StdModeFuncX]
#If
#Act
OpenItemBox 寶箱
;OpenItemBox為開寶箱腳本命令
Sendmsg 7 開啟寶箱成功.
===================================
註:其中X為物品資料庫設置2中的X.寶箱為怪物資料庫里的寶箱.爆出的物品為爆率文件里設定的
雙擊金條 換100W 代碼 QFunction-0.txt下
[@StdModeFunc49]
#if
checkgold 19000001
#act
give 金條 1
messagebox 你身上攜帶的金錢太多了.無法再進行兌換!
#elseact
give 金幣 1000000
SENDMSG 7 提示:金幣已經增加100W在包裹裡面.
Ⅷ 大神您好,我能請教一個傳奇紅名武器腳本的問題嗎
在哪裡觸發紅名武器 是在
Mir200\Envir\MapInfo.txt 中設置!
裡面的地圖參數在後面加上一句 HITMON(@MUZHUANG) 之後 該地圖 就會觸發 紅名武器腳本
你看你的地圖參數
Mir200\Envir\MapInfo.txt 中的[3 盟重省] 地圖參數後面肯定有 HITMON(@MUZHUANG)