詰めデュエルの作り方

Last-modified: 2021-09-02 (木) 12:04:38

 

 

基本的な記述

 

--puzzle1

 のように--のうしろに記述された文はコメント文です。
 

--[[
複数行に渡るコメントは
このようにも記述できます。
]] 

 

Debug.ReloadFieldBegin(DUEL_ATTACK_FIRST_TURN+DUEL_SIMPLE_AI+DUEL_PSEUDO_SHUFFLE,①)

おまじない
・DUEL_ATTACK_FIRST_TURN
 これが無いとバトルフェイズを行えない
・DUEL_SIMPLE_AI
 これが無いとCPUが「聖なるバリア-ミラーフォース-」などのカードの効果を発動しない
・DUEL_PSEUDO_SHUFFLE
 これを追加すると、デッキシャッフルしているようで実際にはデッキの順番を変えない
・①
 ここに数字を入れるとルールが変わる
 3=マスタールール3
 4=新マスタールール(10期)
 5=新マスタールール(11期)
 
ここから下にフィールドの状況を書く
 

Debug.SetAIName("①")

対戦画面の相手ライフ下に表示される名前です。
①に名前を入れます。
 

Debug.SetPlayerInfo(①,②,③,④)

① 0=下側プレイヤー 1=上側プレイヤー
② ライフポイント
③ デュエル開始時の初手ドロー枚数(デフォルト:0)
④ ターン開始時のドロー枚数(デフォルト:0)
※aux.BeginPuzzle(後述)を使用する場合、④は無視
 

Debug.AddCard(①,②,③,LOCATION_④,⑤,POS_⑥_⑦,⑧)

①カードのパスワード
②そのカードの元々の持ち主
 0=下側プレイヤー 1=上側プレイヤー
③そのカードのコントローラ
 0=下側プレイヤー 1=上側プレイヤー
④そのカードの現在位置
 DECK=デッキ
 HAND=手札
 MZONE=モンスターカードゾーン
 SZONE=魔法・罠ゾーン
 PZONE=ペンデュラムゾーン
 GRAVE=墓地
 REMOVED=除外ゾーン
 EXTRA=エクストラデッキ
⑤フィールド上での位置
 コントローラから見て左から0~4
 フィールドカードゾーン=5
⑥表示形式
 FACEUP=表側表示
 FACEDOWN=裏側表示
⑦表示形式(モンスター限定)
 ATTACK=攻撃表示
 DEFENCE=守備表示
※記述が無い場合は守備表示になります
⑧蘇生制限
 ここに数字を入れると蘇生制限を満たすようになります
 

Debug.ReloadFieldEnd()

フィールドの状況を書き終わったら最後にこの記述を書く
 

Debug.ShowHint("①")

詰めデュエル開始前に表示するダイアログ
①に入力
 

aux.BeginPuzzle()

最後にこの記述を入れる。意味は「詰めデュエル開始」
 

--[[message
]]

でくくったコメントは情報欄に記載されます。

以下作成中
追記よろ

特殊な記述

装備

「青眼の白龍」に「団結の力」を装備

local m02=Debug.AddCard(89631139,0,0,LOCATION_MZONE,2,POS_FACEUP_ATTACK)
local s02=Debug.AddCard(56747793,0,0,LOCATION_SZONE,2,POS_FACEUP)
Debug.PreEquip(s02,m02)

 
「銀河零式」で「銀河眼の光子竜」を蘇生して装備する場合

local m02=Debug.AddCard(93717133,0,0,LOCATION_MZONE,2,POS_FACEUP_ATTACK)
local s02=Debug.AddCard(97617181,0,0,LOCATION_SZONE,2,POS_FACEUP)
Debug.PreEquip(s02,m02)
local e1=Effect.CreateEffect(s02)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_EQUIP_LIMIT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(s02.eqlimit)
e1:SetLabelObject(s02)
s02:RegisterEffect(e1)

 

エクシーズ素材

「ガガガマジシャン」と「ガンバラナイト」を「No.39 希望皇ホープ」の素材とする

Debug.AddCard(84013237,0,0,LOCATION_MZONE,2,POS_FACEUP_ATTACK)
Debug.AddCard(26082117,0,0,LOCATION_MZONE,2,POS_FACEUP_ATTACK)
Debug.AddCard(24291651,0,0,LOCATION_MZONE,2,POS_FACEUP_ATTACK)

 

召喚条件

•X召喚扱い
「輝光竜フォトン・ブラスト・ドラゴン」をX召喚した扱いにして②効果の条件を満たす。

local m1=Debug.AddCard(16643334,1,1,LOCATION_MZONE,0,POS_FACEUP_ATTACK)
Debug.PreSummon(m1,SUMMON_TYPE_XYZ,LOCATION_EXTRA)

※SUMMON_TYPE_XYZの部分を変えるとほかの召喚条件になる。
 
•召喚条件一覧

SUMMON_TYPE_NOMAL通常召喚
SUMMON_TYPE_SPECIAL特殊召喚
SUMMON_TYPE_ADVANCEアドバンス召喚
SUMMON_TYPE_FUSION融合召喚
SUMMON_TYPE_RITUAL儀式召喚
SUMMON_TYPE_SYNCHROシンクロ召喚
SUMMON_TYPE_XYZエクシーズ召喚
SUMMON_TYPE_PENDULUMペンデュラム召喚
SUMMON_TYPE_LINKリンク召喚

 
 
•デュアルモンスター
「巨人ゴーグル」を再度召喚した状態にする。

local m11=Debug.AddCard(21155323,1,1,LOCATION_MZONE,1,POS_FACEUP_ATTACK)
local e11=Effect.CreateEffect(m11)
e11:SetType(EFFECT_TYPE_SINGLE)
e11:SetCode(EFFECT_DUAL_STATUS)
e11:SetReset(RESET_EVENT+0x1fe0000)
m11:RegisterEffect(e11)

   
 

数値関連

•攻撃力上昇
「E・HERO ネオス」の攻撃力を500アップ

local m11=Debug.AddCard(89943723,1,1,LOCATION_MZONE,1,POS_FACEUP_ATTACK)
local e11=Effect.CreateEffect(m11)
e11:SetType(EFFECT_TYPE_SINGLE)
e11:SetCode(EFFECT_UPDATE_ATTACK)
e11:SetValue(500)
e11:SetReset(RESET_EVENT+0x1fe0000)
m11:RegisterEffect(e11)

※守備力を変更する場合は4行目のATTACKをDEFENSEに変える。*スペル間違いではない。
 
•攻守入れ替え
「真紅眼の黒竜」の攻撃力、守備力を入れ替える。

local m11=Debug.AddCard(74677422,1,1,LOCATION_MZONE,1,POS_FACEUP_ATTACK)
local e11=Effect.CreateEffect(m11)
e11:SetType(EFFECT_TYPE_SINGLE)
e11:SetCode(EFFECT_SWAP_AD)
e11:SetReset(RESET_EVENT+0x1fe0000)
m11:RegisterEffect(e11)

 
•数値指定
「光の護封壁」により攻撃力3000以下のモンスターの攻撃宣言ができないようにする。

local c1=Debug.AddCard(17078030,1,1,LOCATION_SZONE,2,POS_FACEUP)
function atktarget(e,c)
	return c:IsAttackBelow(3000)
end
local e2=Effect.CreateEffect(c1)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_ATTACK)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(0,LOCATION_MZONE)
e2:SetTarget(atktarget)
c1:RegisterEffect(e2)

※"以上"にしたい場合は3行目のBelowをAboveに変える。
 
 

耐性付与

•完全耐性付与
「スペリオル・ドーラ」がカードの効果を受けなくなる

local m1=Debug.AddCard(49032236,0,0,LOCATION_MZONE,1,POS_FACEUP_ATTACK)
local e1=Effect.CreateEffect(m1)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE)
e1:SetValue(1)
m1:RegisterEffect(e1)

※4行目のIMMUNE_EFFECTを変えるとほかの耐性を付与できる。
 
•耐性一覧

INDESTRUCTABLE 戦闘、効果で破壊されない
INDESTRUCTABLE_BATTLE  戦闘で破壊されない
INDESTRUCTABLE_EFFECT 効果で破壊されない
CANNOT_BE_EFFECT_TARGET 効果の対象にならない
IMMUNE_EFFECT 効果を受けない

 
 
•リリース耐性
「ガガガガマジシャン」がリリースできなくなる

local m1=Debug.AddCard(86331741,1,1,LOCATION_MZONE,2,POS_FACEUP_ATTACK,1)
local e4=Effect.CreateEffect(m1)
e4:SetType(EFFECT_TYPE_SINGLE)
e4:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e4:SetRange(LOCATION_MZONE)
e4:SetCode(EFFECT_UNRELEASABLE_SUM)
m1:RegisterEffect(e4)
local e5=e4:Clone()
e5:SetCode(EFFECT_UNRELEASABLE_NONSUM)
m1:RegisterEffect(e5)

 

効果を無効にする

•効果無効
「FNo.0 未来龍皇ホープ」の効果を無効にする

local m1=Debug.AddCard(26973555,1,1,LOCATION_MZONE,2,POS_FACEUP_ATTACK,1)
local e1=Effect.CreateEffect(m1)
e1:SetRange(LOCATION_FIELD)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_DISABLE)
m1:RegisterEffect(e1)

 
•発動無効
「FNo.0 未来龍皇ホープ」が効果を発動できなくなる(破壊耐性は残る)

local m1=Debug.AddCard(26973555,1,1,LOCATION_MZONE,2,POS_FACEUP_ATTACK,1)
local e1=Effect.CreateEffect(m1)
e1:SetRange(LOCATION_FIELD)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_TRIGGER)
m1:RegisterEffect(e1)

 

攻撃関連

•攻撃不能
「天威の龍鬼神」は攻撃できなくなる

local m01=Debug.AddCard(5041348,0,0,LOCATION_MZONE,1,POS_FACEUP_ATTACK)
local e01=Effect.CreateEffect(m01)
e01:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CANNOT_ATTACK)
m01:RegisterEffect(e01)

 
 
•直接攻撃
「レッド・デーモンズ・ドラゴン」が相手フィールド上にモンスターが存在していても直接攻撃できるように

local m01=Debug.AddCard(70902743,0,0,LOCATION_MZONE,1,POS_FACEUP_ATTACK)
local e01=Effect.CreateEffect(m01)
e01:SetType(EFFECT_TYPE_SINGLE)
e01:SetCode(EFFECT_DIRECT_ATTACK)
e01:SetReset(RESET_EVENT+0x1fe0000)
m01:RegisterEffect(e01)

※直接攻撃できないようにするにはSetCodeをEFFECT_CANNOT_DIRECT_ATTACKに変更する。
 
 
•攻撃制限
「セイヴァー・デモン・ドラゴン」以外のモンスターを攻撃できなくなる

local m11=Debug.AddCard(67030233,1,1,LOCATION_MZONE,2,POS_FACEUP_ATTACK)
local e12=Effect.CreateEffect(m11)
function atlimit(e,c)
	return c~=e:GetHandler()
end
e12:SetType(EFFECT_TYPE_MZONE)
e12:SetRange(LOCATION_MZONE)
e12:SetTargetRange(0,LOCATION_MZONE)
e12:SetCode(EFFECT_CANNOT_SELECT_BATTLE_TARGET)
e12:SetValue(atlimit)
m11:RegisterEffect(e12)

 
 

属性関連

•属性指定
「エレメンタル・アブソーバー」にて闇属性を指定する。

Debug.AddCard(94253609,1,1,LOCATION_SZONE,1,POS_FACEUP)
function atktarget(e,c)
	return c:IsAttribute(ATTRIBUTE_DARK)
end
local e2=Effect.CreateEffect(ab)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_CANNOT_ATTACK)
e2:SetRange(LOCATION_SZONE)
e2:SetTargetRange(0,LOCATION_MZONE)
e2:SetTarget(atktarget)
ab:RegisterEffect(e2)

※3行目のATTRIBUTE_DARKを変えるとほかの属性になる。
 
•属性一覧

ATTRIBUTE_LIGHT
ATTRIBUTE_DARK
ATTRIBUTE_FIRE
ATTRIBUTE_WATER
ATTRIBUTE_WIND
ATTRIBUTE_EARTH
ATTRIBUTE_DIVINE

 
 

種族関連

•種族変更
「青眼の白龍」の種族を恐竜族に変更する。

local m1=Debug.AddCard(89631139,1,1,LOCATION_MZONE,0,POS_FACEUP_ATTACK)--青眼の白龍
local e1=Effect.CreateEffect(m1)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_CHANGE_RACE)
e1:SetValue(RACE_DINOSAUR)
m1:RegisterEffect(e1)

※5行目のRACE_DINOSAURを変えるとほかの種族になる。
 
•種族一覧

RACE_WARRIOR戦士族
RACE_SPELLCASTER魔法使い族
RACE_FAIRY天使族
RACE_FIEND悪魔族
RACE_ZOMBIEアンデット族
RACE_MACHINE機械族
RACE_AQUA水族
RACE_FISH魚族
RACE_SEASERPENT海竜族
RACE_PYRO炎族
RACE_ROCK岩石族
RACE_BEAST獣族
RACE_BEASTWARRIOR獣戦士族
RACE_WINDBEAST鳥獣族
RACE_PLANT植物族
RACE_INSECT昆虫族
RACE_THUNDER雷族
RACE_DRAGONドラゴン族
RACE_DINOSAUR恐竜族
RACE_REPTILE爬虫類族
RACE_PSYCHOサイキック族
RACE_DIVINE幻神獣族
RACE_WYRM幻竜族
RACE_CYBERSEサイバース族

 
 

カウンター

「ブラック・マジシャン・ガール」に「Yカウンター」をX個置く

local m13=Debug.AddCard(38033121,1,1,LOCATION_MZONE,3,POS_FACEUP_DEFENCE)
Debug.PreAddCounter(m13,0xY,X)

 

カウンターの種類 
01 魔力
03 武士道
04 サイコ
05 シャイン
06 ジェム
07 カウンター(コロッセウム用)
08 ディフォーマー
0A ジェネクス
0B カウンター(古代の機械城用)
0C 雷
0D 強欲
0F ワーム
10 黒羽
11 ハイパーヴェノム
12 カラクリ
13 カオス
14 カウンター(ジュラシック・エッグ用)
16 魔石
17 ドングリ
18 フラワー
1A 倍々
1B 時計
1C D
1D ジャンク
1E ゲート
1F カウンター(巨大戦艦用)
20 プラント
22 ドラゴニック
23 オーシャン
25 クロニクル
26 カウンター(メタル・シューター用)
27 カウンター(デス・モスキート用)
28 カウンター(ダーク・カタパルター用)
29 カウンター(バルーン・リザード用)
2B デステニー
2C カシコマリ
2D カウンター(キックファイア用)
2E シャーク
2F パンプキン
30 かっとビング
31 ホープ剣
32 バルーン
33 妖仙
34 カウンター(BOXサー用)
35 音響
36 Em
37 壊獣
40 カウンター(No.51 怪腕のフィニッシュ・ホールド用)
1002 楔
1009 ヴェノム
100E A
1015 アイス
1019 フォッグ
1021 ガード
1024 ストリング
102A カウンター(マジック・ガードナー用)
1038 方界
1039 ズシン
1041 捕食

 
 

その他

墓地の「スターダスト・ドラゴン」の蘇生制限を満たす

local g1=Debug.AddCard(44508094,0,0,LOCATION_GRAVE,0,POS_FACEUP)
g1:CompleteProcedure()

•「オッドアイズ・ペンデュラム・ドラゴン」を対象に「デモンズ・チェーン」を発動

local m02=Debug.AddCard(16178681,0,0,LOCATION_MZONE,2,POS_FACEUP_ATTACK)
local s12=Debug.AddCard(50078509,1,1,LOCATION_SZONE,2,POS_FACEUP)

 

Debug.ReloadFieldEnd()の後に以下の記述を追加
Debug.PreSetTarget(s12,m02)
local e1=Effect.CreateEffect(s12)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE+EFFECT_FLAG_OWNER_RELATE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetCondition(s12.rcon)
m02:RegisterEffect(e1,true)
local e2=e1:Clone()
e2:SetCode(EFFECT_CANNOT_ATTACK)
m02:RegisterEffect(e2,true)

※Debug.ReloadFieldEnd()の前にDebug.PreSetTargetを記述すると動作停止します
 
 
•アドバンス召喚のためにリリースできないトークンを生成

token=Debug.AddCard(73915052,0,0,LOCATION_MZONE,2,POS_FACEUP_DEFENSE)
local e1=Effect.CreateEffect(token)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_UNRELEASABLE_SUM)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000)
token:RegisterEffect(e1,true)

 
 
•永続罠(強引な方法)
「DNA改造手術」を強制的に発動させる(種族の宣言はプレイヤーがすることになる)

local c1=Debug.AddCard(74701381,1,1,LOCATION_SZONE,2,POS_FACEUP)
local e1=Effect.CreateEffect(c1)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE_START+PHASE_DRAW)
e1:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local te=c:GetActivateEffect()
c:CreateEffectRelation(te)
local tg=te:GetTarget()
local op=te:GetOperation()
if tg then tg(te,tp,eg,ep,ev,re,r,rp,1) end
if op then op(te,tp,eg,ep,ev,re,r,rp) end
c:ReleaseEffectRelation(te)
end)
Duel.RegisterEffect(e1,1)

 

•罠モンスター(強引な方法)
 
「機動砦 ストロング・ホールド」を強制的に発動させる(モンスターゾーンが埋まっているとダメ)

local c1=Debug.AddCard(13955608,1,1,LOCATION_MZONE,4,POS_FACEUP_ATTACK)
local e1=Effect.CreateEffect(c1)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_PHASE_START+PHASE_DRAW)
e1:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local te=c:GetActivateEffect()
c:CreateEffectRelation(te)
local tg=te:GetTarget()
local op=te:GetOperation()
if tg then tg(te,tp,eg,ep,ev,re,r,rp,1) end
if op then op(te,tp,eg,ep,ev,re,r,rp) end
c:ReleaseEffectRelation(te)
end)
Duel.RegisterEffect(e1,1)

 

別の(汎用性が皆無の)強引な方法

local c1=Debug.AddCard(13955608,1,1,LOCATION_MZONE,4,POS_FACEUP_ATTACK)
c1:AddTrapMonsterAttribute(true,ATTRIBUTE_EARTH,RACE_MACHINE,4,0,2000)
c1:TrapMonsterBlock()
local e1=Effect.CreateEffect(c1)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_MZONE)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(3000)
e1:SetCondition(c1.atkcon)
e1:SetReset(RESET_EVENT+0x1fe0000)
c1:RegisterEffect(e1)

 
•ペンデュラムにセット
 
「クリフォート・ツール」と「クリフォート・アセンブラ」をペンデュラムゾーンにセット

local s6=Debug.AddCard(65518099,0,0,LOCATION_SZONE,6,POS_FACEUP)
local s7=Debug.AddCard(51194046,0,0,LOCATION_SZONE,7,POS_FACEUP)

 

勝利条件追加

•相手の手札を0枚にすると勝利

local e1=Effect.GlobalEffect()
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e1:SetCode(EVENT_ADJUST)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)

return Duel.GetFieldGroupCount(1,LOCATION_HAND,0)==0 end)

 return Duel.GetFieldGroupCount(1,LOCATION_HAND,0)==0 end)
e1:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)

Debug.ShowHint("相手の手札を0枚にしました") Duel.SetLP(1,0) end)

 Debug.ShowHint("相手の手札を0枚にしました") Duel.SetLP(1,0) end)
e1:SetCondition(function(e,tp,eg,ep,ev,re,r,rp)return Duel.GetFieldGroupCount(1,LOCATION_HAND,0)==0 end)
e1:SetOperation(function(e,tp,eg,ep,ev,re,r,rp)Debug.ShowHint("相手の手札を0枚にしました") Duel.SetLP(1,0) end)
Duel.RegisterEffect(e1,0)

 

必要なツール

 
BOM無しUTF-8で保存可能なテキストエディタ
EmEditor(フリー版でも可)
http://jp.emeditor.com/modules/download2/rewrite/tc_5.html
保存の際はエンコードをUTF-8にして、「unicodeサイン(BOM)を付ける」のチェックを外して保存
 

ADS DuelMaker
http://www1.axfc.net/uploader/so/2727585
上記の設定・記述が面倒ならこれ
※2chスレなどで配布のオリカの分も入っています
パス:ads_duel

 
 

コメント

  • テスト -- 2021-04-08 (木) 01:22:10