したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

【遊戯王】ADS自作スクリプト投稿スレ

1名無しデュエリスト:2016/07/16(土) 07:42:18 ID:nfNN3lMY0

日本版ADSで使えるスクリプトで自分で組んだものを投稿したり、
組んだスクリプトのバグ修正、裁定やルール面での問題点などアドバイスを求めたり、
スクリプトについて質問したりするスレです。

アニメオリカ、完全オリカ、OCGTCGカードいずれでも構いません。

151名無しデュエリスト:2017/02/01(水) 01:08:02 ID:pdFupXlQ0
新規インフェルニティシンクロモンスターを作成しているのですが、処理が上手くいかず困っています。
「自分フィールドにレベル8以上の「インフェルニティ」Sモンスターが存在し、相手がモンスターを特殊召喚した場合に自分フィールドの「インフェルニティ」モンスター2体をリリースして発動できる。
エクストラデッキ・墓地からこのカードをS召喚扱いで特殊召喚する」という効果を想定して作っています。
効果は下記の通りに参考にして(というか、条件付けたし以外はほぼ丸々コピーして)います。
スクリプトとデータベースも一緒に置いておきますので、何か気付いたところがありましたら助言をお願いします。

レベル8以上の「インフェルニティ」Sモンスターが存在し→レッド・ガードナー
相手がモンスターの特殊召喚に成功した場合→龍大神
「インフェルニティ」モンスター2体をリリースして→幻獣機グリーフィン
S召喚扱いで特殊召喚→スターダストウォリアー

https://www.axfc.net/u/3771027

152名無しデュエリスト:2017/02/01(水) 01:09:20 ID:pdFupXlQ0
>>151
すみません、効果はデュエル中1度だけ発動できる、という条件を記載し忘れていました。
発動回数の制限も設けてあります。よろしくお願い致します。

153名無しデュエリスト:2017/02/01(水) 01:39:13 ID:rezNayzg0
(覇王眷竜かな?)
どのあたりで処理がおかしくなるのかとかエラーメッセージとか書いてくれないとなんでうまく行かないかは分かんないや
とりあえず気になったのをいっぱい

・LOCATIONは足し算して大丈夫
・ルール的にリリースなら表側表示である必要はない
・CheckReleaseGroup、SelectReleaseGroupではフィルタ関数内でのIsReleasableByEffectは必要なし(効果でもない)
・32行目がなんか全体的によく分からない
・リリースはCost側で処理するのでCondition側にはCheckReleaseGroupは要らない
・自身がSSされて発動する事は無いと思う……やっぱあるかも
・IsCanBeSpecialSummonedとかでS召喚になってない

154名無しデュエリスト:2017/02/01(水) 12:58:08 ID:pdFupXlQ0
>>153
回答ありがとうございます。お察しの通り、覇王眷竜モチーフです。一番面倒な効果だけを先行して作ろうと考えています。

まずエラーメッセージに関してですが、特にメッセージは出ていません。
ソリティアで自分の場の条件を満たした状態で相手にターンを渡し、レッドリゾネーター召喚→効果でダークリゾネーター特殊召喚という動きをしてもらい、
それでダークリゾネーターの特殊召喚成功時にエクストラデッキから効果発動の確認が出る…予定が、確認が出ずに召喚が通ってそのままデュエル続行という流れになってしまいます。

各種助言の通り、SetRangeを(LOCATION_EXTRA+LOCATION_GRAVE)にまとめ、IsCanBeSpecialSummonedをS召喚に書き換えました。
32行目に関しては、>>151で書いた通り色々なところから効果を切り貼りしてきたので、たぶん何かが混じったのだと思います。
CheckReleaseGroup、SelectReleaseGroupでのIsReleaseGroupは必要ないとのことでしたので、削除しました。

いただいた助言を元に描き直してみたのですが、未だカードは動かず…といった感じです。

155名無しデュエリスト:2017/02/01(水) 13:05:22 ID:pdFupXlQ0
度々連投失礼します。もう一度最初から切り貼りし直したところ、「相手モンスターの特殊召喚成功時にインフェルニティ2体をリリースして発動する」ところまでは問題なく動作しました。
ただ、肝心の「S召喚扱いで特殊召喚する」が行われず…書き直した各種filter,condition等を下記に置いておきますので、よろしくお願い致します。

end
function c2038.zfilter(c)
return c:IsFaceup() and c:IsSetCard(0xb) and c:IsType(TYPE_SYNCHRO) and c:IsLevelAbove(8)
end
function c2038.mfilter(c)
return c:IsSetCard(0xb) and c:IsReleasableByEffect()
end
function c2038.cfilter(c,tp)
return c:GetSummonPlayer()~=tp
end
function c2038.syncon(e,tp,eg,ep,ev,re,r,rp)
return not eg:IsContains(e:GetHandler()) and eg:IsExists(c2038.cfilter,1,nil,tp)
and Duel.IsExistingMatchingCard(c2038.zfilter,tp,LOCATION_MZONE,0,1,nil)
end
function c2038.syncost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.CheckReleaseGroup(tp,c2038.mfilter,2,nil) end
local g=Duel.SelectReleaseGroup(tp,c2038.mfilter,2,2,nil)
Duel.Release(g,REASON_COST)
end
function c2038.syntg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-2
and e:GetHandler():IsCanBeSpecialSummoned(e,SUMMON_TYPE_SYNCHRO,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c2038.synop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c and Duel.CheckReleaseGroup(tp,c2038.mfilter,2,nil) then
local g=Duel.SelectReleaseGroup(tp,c2038.mfilter,2,2,nil)
if g:GetCount()>1 then
Duel.Release(g,REASON_EFFECT)
Duel.SpecialSummon(c,SUMMON_TYPE_SYNCHRO,tp,tp,true,true,POS_FACEUP)
c:CompleteProcedure()
end
end
end

156名無しデュエリスト:2017/02/01(水) 14:49:47 ID:nfNN3lMY0
>>154
詳しくは分からんけど、雰囲気的に
「自身の効果で自身を裏側エクストラデッキから特殊召喚する」効果が現在存在しないからADSでは対応してないように思う。
Duel.SpecialSummon(c,SUMMON_TYPE_SYNCHRO,tp,tp,true,true,POS_FACEUP)の部分の対象を無理矢理このカード自身に指定すればできるかもだけど
どっちにしろ存在しない効果の処理になるからオススメはしない。

157名無しデュエリスト:2017/02/01(水) 17:02:21 ID:pdFupXlQ0
>>156
助言ありがとうございます。結果的に盤面は同じになるということで、スタウォの「ウォリアーモンスターを特殊召喚する」の部分をカードID指定にして、疑似的に再現する形で落ち着こうと思います。
お二方、色々とありがとうございました

158名無しデュエリスト:2017/02/01(水) 21:54:49 ID:rezNayzg0
>>156
んいや、発動元が変わるだけだからどこからでも特殊召喚できるよ
俺も覇王眷竜作ったから分かる
なんならX素材だったりしてもSSできる

>>157
synop内でまたリリースしてない?

159名無しデュエリスト:2017/02/01(水) 22:20:50 ID:vr7pISjg0
>>150
ご丁寧にどうもありがとうございます。
結果から言うと、全てのモンスターに効果を持たせ、○○が存在する時に効果を得ると言う処理にしました。

そして何度も質問をして恐縮なのですが、あるカードAに効果の処理を記述して、他のカードBにはEffect.CreateEffect(c)のみを記述して、処理はAを参照するという事は可能でしょうか?
Aのカードはデュエル開始時に消滅する効果を記述しており、デュエル中は使用できなくしています。

Bが初手に無いならうまく動作してくれるのですが、Bが初手に来るとエラーが発生してしまいます。
素直に全てのカードに記述するしか無いでしょうか?

160名無しデュエリスト:2017/02/01(水) 23:23:34 ID:rezNayzg0
>>159
普通に考えると不可能
プログラム的な話になるけど、Aと言う箱の中で定義された関数だから他の箱では通用しないみたいな感じ
変に新しい記述を作って処理がおかしくなる可能性を考えると素直にBに書いた方が良いかな

161名無しデュエリスト:2017/02/01(水) 23:24:54 ID:nfNN3lMY0
>>159
Aの効果としてBに効果をもたせるならいけると思う。

Bの効果のスクリプト自体をAのスクリプトに持たせるのは
人聞きの情報だけど「最悪本体側がバグる原因になるからしないほうがいい」みたいな話だったと思う。

まあスクリプト見てみないとよく分からん。

162名無しデュエリスト:2017/02/05(日) 09:42:30 ID:p0PuIlkI0
質問なんですが、某世紀末動画の魔法カードとかをデッキから発動するってどうなってるんですか?

163名無しデュエリスト:2017/02/05(日) 13:39:01 ID:nfNN3lMY0
>>162
どのレベルの話か分からんけど、普通に効果の発動場所をデッキ内にすれば行けると思うよ

164名無しデュエリスト:2017/02/05(日) 22:15:13 ID:p0PuIlkI0
魔法カードを前動作なく手札から発動した時にみたいにデッキから出す感じです

165名無しデュエリスト:2017/02/06(月) 00:28:49 ID:jd19KSoo0
>>164
デッキから場に出して発動
説明おわり
「どうなってるんですか?」なんて質問で欲しい答えが返ってくるとは思わん様にな

166名無しデュエリスト:2017/02/06(月) 18:40:32 ID:p0PuIlkI0
聞くスレを間違えてたみたいです。
すみません

167名無しデュエリスト:2017/02/13(月) 00:24:29 ID:vr7pISjg0
効果発動時に、取り除くX素材を指定する方法は無いでしょうか?
テキスト的には「1ターンに1度、このカードのX素材の「○○」1つを取り除いて発動できる。〜」
みたいな感じです

168名無しデュエリスト:2017/02/13(月) 02:30:16 ID:menwvtcQ0
>>167
現時点だと取り除くX素材を指定する関数は無いけど、X素材を取り除く処理を自分で書ければできる
もしかしたら単純に墓地送りでうまくいくのかもしれない

169名無しデュエリスト:2017/02/13(月) 21:50:35 ID:sxfbCNtk0
スクリプトの質問なのですが、海外版ADSでAIでの実戦形式で試したいことがあり、
それの補助として以下のようなフィールド魔法をつくりたいのですが

このカードはカードの効果を受けない。①②③の効果は一ターンに一度しか発動できない
①:手札、デッキ、墓地、または除外されている「紋章獣」と名の付くカードを3体召喚条件をむしして特殊召喚する
②:フィールド上の表側表示の効果をエンドフェイズまで無効にする
③:フィールドのエクシーズモンスターを素材にしてランクの一つ高いモンスターをエクシーズ召喚扱いで特殊召喚する

実際に使ってみようと思ったのですが発動できません。スクリプト作成初心者で、色々なサイトを見て無理やり継ぎはぎして作ったので、
問題点を指摘して、解決策をいただけないでしょうか。よろしくおねがいします。

170名無しデュエリスト:2017/02/13(月) 22:07:26 ID:sxfbCNtk0
スクリプトです
function c4377.initial_effect(c)
--immune
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_IMMUNE_EFFECT)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetRange(LOCATION_ONFIELD)
e1:SetValue(c4377.efilter)
c:RegisterEffect(e1)
--spsummon
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_SPECIAL_SUMMON)
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetTarget(c4377.sptg)
e2:SetOperation(c4377.spop)
c:RegisterEffect(e2)
--negate
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(23204029,0))
e3:SetCategory(CATEGORY_DISABLE)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET)
e3:SetRange(LOCATION_ONFIELD)
e3:SetHintTiming(0,0x1c0)
e3:SetCountLimit(1)
e3:SetTarget(c4377.target)
e3:SetOperation(c4377.operation)
c:RegisterEffect(e3)
--Activate
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_SPECIAL_SUMMON)
e4:SetType(EFFECT_TYPE_ACTIVATE)
e4:SetCode(EVENT_FREE_CHAIN)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET)
e4:SetTarget(c4377.targets)
e4:SetOperation(c4377.activates)
c:RegisterEffect(e4)
--Activate
local e5=Effect.CreateEffect(c)
e5:SetCategory(CATEGORY_TOGRAVE)
e5:SetType(EFFECT_TYPE_ACTIVATE)
e5:SetProperty(EFFECT_FLAG_CARD_TARGET)
e5:SetCode(EVENT_FREE_CHAIN)
e5:SetTarget(c4377.targetss)
e5:SetOperation(c4377.activatess)
c:RegisterEffect(e5)
end
まだ続きます

171名無しデュエリスト:2017/02/13(月) 22:09:20 ID:sxfbCNtk0
c4377.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return not Duel.IsPlayerAffectedByEffect(tp,59822133)
and Duel.GetLocationCount(tp,LOCATION_MZONE)>=3
and Duel.IsExistingMatchingCard(c4377.spfilter,tp,0x13,0,3,nil,e,tp) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,3,tp,0x13)
end
function c4377.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsPlayerAffectedByEffect(tp,59822133) then return end
if Duel.GetLocationCount(tp,LOCATION_MZONE)<3 then return end
local g=Duel.GetMatchingGroup(aux.NecroValleyFilter(c4377.spfilter),tp,0x13,0,nil,e,tp)
if g:GetCount()>2 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg=g:Select(tp,3,3,nil)
Duel.SpecialSummon(sg,0,tp,tp,true,true,POS_FACEUP)-> 3
end
if tc:IsType(TYPE_TRAPMONSTER) then
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCode(EFFECT_DISABLE_TRAPMONSTER)
e3:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e3)
endunction c4377.filter1(c,e,tp)
local rk=c:GetRank()
return c:IsFaceup() and c:IsType(TYPE_XYZ) and rk==4
and Duel.IsExistingMatchingCard(c4377.filter2,tp,LOCATION_EXTRA,0,1,nil,e,tp,c,rk+1)
end
function c4377.filter2(c,e,tp,mc,rk)
if c.rum_limit_code and not mc:IsCode(c.rum_limit_code) then return false end
return c:GetRank()==rk and c:IsSetCard(0x1048) and mc:IsCanBeXyzMaterial(c)
and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_XYZ,tp,false,false)
end
function c4377.targets(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsControler(tp) and chkc:IsLocation(LOCATION_MZONE) and c92365601.filter1(chkc,e,tp) end
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>-1
and Duel.IsExistingTarget(c4377.filter1,tp,LOCATION_MZONE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
local g=Duel.SelectTarget(tp,c4377.filter1,tp,LOCATION_MZONE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,1,tp,LOCATION_EXTRA)
end
function c4377.activates(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCount(tp,LOCATION_MZONE)<0 then return end
local tc=Duel.GetFirstTarget()
if tc:IsFacedown() or not tc:IsRelateToEffect(e) or tc:IsControler(1-tp) or tc:IsImmuneToEffect(e) then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c4377.filter2,tp,LOCATION_EXTRA,0,1,1,nil,e,tp,tc,tc:GetRank()+1)
local sc=g:GetFirst()
if sc then
local mg=tc:GetOverlayGroup()
if mg:GetCount()~=0 then
Duel.Overlay(sc,mg)
end
sc:SetMaterial(Group.FromCards(tc))
Duel.Overlay(sc,Group.FromCards(tc))
Duel.SpecialSummon(sc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)
sc:CompleteProcedure()
endfunction c4377.filter(c)
return c:IsFaceup() and c:IsType(TYPE_MONSTER)
end
function c4377.targetss(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_REMOVED) and c4377.filter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c4377.filter,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,aux.Stringid(4377,0))
local g=Duel.SelectTarget(tp,c48976825.filter,tp,LOCATION_REMOVED,LOCATION_REMOVED,1,3,nil)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,g,g:GetCount(),0,0)
end
function c4377.activatess(e,tp,eg,ep,ev,re,r,rp)
local tg=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS)
local sg=tg:Filter(Card.IsRelateToEffect,nil,e)
if sg:GetCount()>0 then
Duel.SendtoGrave(sg,REASON_EFFECT+REASON_RETURN)
end
end
連投失礼しました。

172名無しデュエリスト:2017/02/14(火) 01:40:46 ID:nfNN3lMY0
とりあえず色々箇条書きすると
・「効果を受けない」効果外テキストってOCGにはないよね?無いものは作らないほうがいい
・EFFECT_SPSUMMON_PROCは召喚ルール効果の記述だとおもう。できるだけにてる効果のカードをコピー元にした方がいい。
この場合は祝福の教会-リチューアル・チャーチとか?
・efilterやspfilterを指定してるけど、記述がない
などなど

多分ほぼ初心者さんみたいだし、最初は簡単な効果を一つ一つ動くか確認しながら作ったほうがいいと思う。
例えば、祝福の教会-リチューアル・チャーチを弄って、1の効果だけ再現するとか
あとこのサイトが参考になるかも
http://adsmod.cswiki.jp/index.php?%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E8%AC%9B%E5%BA%A7

173名無しデュエリスト:2017/02/14(火) 15:32:41 ID:ZnrbWrT20
>>169
まず最初に発動の処理を書いてない時点で駄目だなって思った
・魔法罠のスクリプトを書くときは、カードの発動→効果1→効果2→・・・と順番に作って動作確認する
 慣れた人でもそうする
・大まかでも良いから各定数や関数の意味を理解しておく
・if文とかの構文の意味や全体のスクリプト処理の流れを把握しておく
・関数名はぱっと見て分かる名前をつける
基本的にこの辺を守っておけば大抵のスクリプトは書けるけど、逆にできてないと書けない

174名無しデュエリスト:2017/02/16(木) 21:56:41 ID:8EVjueac0
フィールドのモンスターを対象に取らずにX素材として吸収する効果を作ったら、
Xモンスターを吸収した時にそのモンスターのX素材だけフィールドに残ったままになてしまいました。
吸収する側から素材を前もって取り除く効果が必要みたいですが、まったくうまくいきませんでした。
GetOverlayGroupが何とかとエラーが出てしまいます。指摘をおねがいします。以下スプ
function c6511115.mtfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsFaceup() and (c:IsControler(tp) or c:IsAbleToChangeControler()) and not c:IsType(TYPE_TOKEN)
end
function c6511115.mttg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c6511115.mtfilter,tp,0,LOCATION_MZONE,1,nil,e) end
end
function c6511115.mtop1(e,tp,eg,ep,ev,re,r,rp)
  local c=e:GetHandler()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and not tc:IsImmuneToEffect(e) then end
local og=Duel.SelectMatchingCard(tp,c6511115.mtfilter,tp,0,LOCATION_MZONE,1,1,nil,e)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local og=tc:GetOverlayGroup()
if tc:GetCount()>0 then
Duel.SendtoGrave(og,REASON_RULE)
Duel.Overlay(c,Group.FromCards(tc))
end
end

175名無しデュエリスト:2017/02/16(木) 22:04:08 ID:8EVjueac0
フィールドのモンスターを対象を取らずにX素材として吸収する効果を作ったところ、吸収したXモンスターのX素材がフィールドに残ってしまいました。
他のカード効果を参考に吸収される側の素材を取り除く効果を組み込もうとしたら、
大体エラーでGetOverlayGroupと出てきてしまいます。ご指摘をお願いします。
スプ↓
function c6511115.mtfilter(c)
return c:IsType(TYPE_MONSTER) and c:IsFaceup() and (c:IsControler(tp) or c:IsAbleToChangeControler()) and not c:IsType(TYPE_TOKEN)
end
function c6511115.mttg1(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c6511115.mtfilter,tp,0,LOCATION_MZONE,1,nil,e) end
end
function c6511115.mtop1(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and not tc:IsImmuneToEffect(e) then end
local og=Duel.SelectMatchingCard(tp,c6511115.mtfilter,tp,0,LOCATION_MZONE,1,1,nil,e)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local og=tc:GetOverlayGroup()
if tc:GetCount()>0 then
Duel.SendtoGrave(og,REASON_RULE)
Duel.Overlay(c,Group.FromCards(tc))
end
end

176名無しデュエリスト:2017/02/16(木) 22:33:41 ID:8EVjueac0
すいません、同じ内容を二つ打ち込んでしまいました...。

177名無しデュエリスト:2017/02/17(金) 00:36:32 ID:menwvtcQ0
>>174
エラーメッセージはある程度意味が分かるようになっといた方が良いぞ
エラーは恐らくtcの未定義エラー
他にも色々と不可解な記述があるからインフィニティとかダークナイトとかのスクリプト読んだ方が良い

178名無しデュエリスト:2017/02/17(金) 23:41:11 ID:8EVjueac0
実はどっちも見たうえでここに来ていました;
あの後No.102とルール効果にしたスペースサイクロンを合体させて、
無事、完成いたしました。指摘してくださった方、ありがとうございました。

179名無しデュエリスト:2017/02/18(土) 00:09:50 ID:d7HIVcxE0
>>178
おめでとう!スペースサイクロンは思いつかなかったなあ

180名無しデュエリスト:2017/02/20(月) 20:48:57 ID:dNeEepXo0
《異界共鳴―シンクロ・フュージョン》を作成しようと考えています。

ADS上での処理としては「融合召喚する→素材一組を蘇生→S召喚する」という形にしたいのですが、
素材一組を蘇生するところのスクリプト記述でお手上げ状態です。
素材を蘇生すること自体は類似するOCGカードの効果を参考にすることで可能なのですが、融合召喚から素材蘇生までの一連の流れをどう記述すべきか…で悩んでいます。

もし既に異界共鳴や類似カードを作成したことのある方などいらっしゃいましたら、お答えいただけると幸いです。

181名無しデュエリスト:2017/02/20(月) 21:02:29 ID:cBQBKIwA0
素人考えだけど普通の融合+リミットオーバードライブの処理でいいんじゃないかな

182名無しデュエリスト:2017/02/20(月) 23:16:33 ID:dNeEepXo0
>>181 助言ありがとうございます。
融合召喚→融合、S召喚→緊急同調を参考…というかほぼ流用で行けるんですが、
融合召喚とS召喚を繋ぐ素材蘇生で詰んでいる状態です。

183名無しデュエリスト:2017/02/21(火) 00:31:49 ID:nfNN3lMY0
>>180
昔作ろうとした人の話聞いたけど、うろ覚えだけど
「融合素材がシンクロ召喚の素材と一致してるかの判定の処理が、ADSでは不可能」みたいな話で無理だったみたいですよ。
思い切って効果自体を変えてしまった方がよいかもしれません。

184名無しデュエリスト:2017/02/21(火) 00:40:45 ID:menwvtcQ0
>>180,182
シンクロフュージョン作ったモノです
結論から言うと俺はアニメ効果から素材が2体固定になった
というのもSの方に問題があって、ソウザ、ニルヴァーナ、スカノヴァ辺りの素材を取得する事が非常に困難だった
融合側も素材数に制限が無かったりする
まあ、Sと融合で素材を別にしても良い効果なら同調と融合でいいと思う
因みにADSの仕様上、「S素材として使用したモンスター」と「融合素材として使用したモンスター」の2つの状態を同時に与える事はできないっぽい
融合解除やシンクロキャンセルに関わってくるので頭の片隅にでも置いとくと良い

融合してから蘇生なら、融合素材モンスターを墓地に送る処理があるはずだから、それで墓地へ送られたモンスターを全部効果を無効にするなりしつつSSするだけじゃない?
複数体無効蘇生で参考になるカードなら蛮族の狂宴とかかな

185名無しデュエリスト:2017/02/21(火) 20:26:35 ID:cBQBKIwA0
じゃあ効果として素材を墓地に送る処理をして対応するモンスターをそれぞれ融合召喚扱いとシンクロ召喚扱いでエクストラから呼び出すのはどうだろうか
それなら素材を蘇生とかする必要もない

186名無しデュエリスト:2017/02/21(火) 21:20:33 ID:dNeEepXo0
>>183 >>184 >>185 三名の方々、それぞれご回答ありがとうございます。
融合素材・S素材の共有がADSの仕様上不可能とのことで、>>185さんのご意見を参考にして、余裕があれば>>184さんのご意見を元に作成してみたいと思います。
皆さん、ご協力ありがとうございました。もしどのような形でも完成したら改めてここで報告させてください

187名無しデュエリスト:2017/02/23(木) 10:00:48 ID:nViyBGV60
罠カードが発動できない場合にのみ発動出来る魔法カードを作りたいんですが
罠カードが発動できない状態を判定する方法ってありますか?

188名無しデュエリスト:2017/02/23(木) 21:40:04 ID:E3IXe0vw0
>>187
罠カードだけが発動できない状況って?

189名無しデュエリスト:2017/02/23(木) 22:49:31 ID:nViyBGV60
>>188
サイコショッカーやショックルーラーなどもですが
自分のオリカの効果で罠カードを封じてその状況でのみ使えるカードを作りたい感じです

190名無しデュエリスト:2017/02/23(木) 23:49:57 ID:E3IXe0vw0
>>189
(ワーウルフとか地味なのが居るな…)
オリカに合わせて作るなら、そのオリカを条件にしたり、オリカの効果内でフラグを出してそれを条件にしたりすれば良いんじゃない?

191名無しデュエリスト:2017/02/24(金) 09:15:53 ID:nViyBGV60
>>190
やっぱりそれしかないですか・・・とりあえずそれでつくってみます
ありがとうございました

192名無しデュエリスト:2017/02/27(月) 19:30:15 ID:d7HIVcxE0
「トゥーン」や「スピリット」、「チューナー」など、名称指定ではなくテキストの【】内に種族とは別に存在するカテゴリーでオリジナルのものを作りたいのですが、何か良い方法はありませんか?

193名無しデュエリスト:2017/02/28(火) 23:18:10 ID:vr7pISjg0
「このカードをX素材として持っているモンスターは以下の効果を得る。●このカードがモンスターゾーンに存在する限り、このカード以外のテーマのモンスターは相手の効果の対象にならない」
という効果を作ったのですが、自分自身も対象に出来なくなってしまいます。

恐らく、tgtg()の中の記述が違うと思うのですが、どうすれば良いでしょうか?

--cannot be target
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_XMATERIAL)
e4:SetCode(EFFECT_CANNOT_BE_EFFECT_TARGET)
e4:SetProperty(EFFECT_FLAG_IGNORE_IMMUNE)
e4:SetRange(LOCATION_MZONE)
e4:SetTargetRange(LOCATION_MZONE,LOCATION_MZONE)
e4:SetTarget(c2170.tgtg)
e4:SetValue(aux.tgoval)
c:RegisterEffect(e4)



function c2170.tgtg(e,c)
return c:IsSetCard(0x999) and c~=e:GetHandler()
end

194名無しデュエリスト:2017/03/01(水) 12:05:58 ID:dNeEepXo0
メタモルFの部分改変でテストしてないから正しいか分からないけど…

eX:SetValue(c2170.efilter)←これを最初に添えた上で

end
function c2170.etarget(e,c)
return c:IsSetCard(0x999) and not IsCode(2170)
end
function c2170.efilter(e,re)
return re:GetOwnerPlayer()~=e:GetHandlerPlayer()
end

これにしてみてはどうだろうか

195名無しデュエリスト:2017/03/02(木) 10:47:32 ID:ZnrbWrT20
>>193
見た感じおかしな所はなかった…
もしかしてe:GetHandler()がX素材となっているそのモンスターになってるんじゃない?

196名無しデュエリスト:2017/03/02(木) 19:26:19 ID:vr7pISjg0
>>194
すみません。同じ様にうまく行きませんでした。

>>195
恐らくそれが原因だと思うのですが、どうやって解決すれば良いか悩んでいます。

197名無しデュエリスト:2017/03/03(金) 01:09:10 ID:N9Rf3kXE0
>>196
EFFECT_TYPE_FIELD+EFFECT_TYPE_XMATERIALでおかしくなるみたい
EFFECT_TYPE_XMATERIALがEFFECT_TYPE_SINGLEみたいなものを内包してるのかな?

198名無しデュエリスト:2017/03/03(金) 16:39:40 ID:vr7pISjg0
>>197
とは言え、EFFECT_TYPE_XMATERIALが無いと機能しないんですよね…
やはり、現状のADSの仕様では無理ということでしょうか

199名無しデュエリスト:2017/03/07(火) 18:34:48 ID:HXmRxERg0
既存のを弄って王国編風死デッキみたいなの作ってみたんだけど・・・需要ある?
https://www.axfc.net/u/3783857

200名無しデュエリスト:2017/03/07(火) 18:38:33 ID:HXmRxERg0
【スクリプト、画像、cdb】
《死のデッキ破壊ウイルス》

199だけど↑入れんの忘れてたスマソ

201名無しデュエリスト:2017/03/12(日) 22:36:35 ID:ZbjKb5r60
今オリカでディニクアビスのサーチと特殊召喚を同時に行うようにして、サーチ範囲を水精鱗かレベル4以下の海竜族にした効果を作りたいんだけどどうスクリプトを変えればいい?

202名無しデュエリスト:2017/03/12(日) 23:33:14 ID:ZbjKb5r60
>>201だけど、
①このカード以外の手札の水属性モンスター1枚を捨てて発動できる。このカードを手札から特殊召喚し、デッキから「水精鱗」モンスターまたはレベル4以下の海竜族モンスター1枚を手札に加える。この効果は相手ターンでも発動できる。②このカードがモンスターゾーンに存在し、相手がカードの効果を発動した場合、手札・フィールドの水属性モンスター1枚を墓地に送って発動できる。その効果と発動を無効にして破壊する。
③このカードが墓地に送られた場合に発動できる。墓地に存在する「水精鱗ーティタニアビス」以外の水属性モンスター1枚を手札に加える。④このカードが墓地に存在する場合、手札の水属性モンスター1枚を捨てて発動できる。墓地に存在するこのカードを手札に加える。
こういう効果にしたいんだけどスクリプト初心者でよくわからないから誰か教えてください

203名無しデュエリスト:2017/03/12(日) 23:56:52 ID:ZbjKb5r60
>>201
特にサーチ対象についてお願いします

204名無しデュエリスト:2017/03/13(月) 02:38:11 ID:8EVjueac0
>>201
(水精鱗 or レベル4以下のやつ)
2つのグループにorをandみたいにつけてそれらをカッコで囲む
だがここで説明するよりもマンジュ・ゴットのスプリクト見てもらえれば早いかも

205名無しデュエリスト:2017/03/13(月) 02:46:39 ID:8EVjueac0
対象取らない吸収の時の者です。
相手の耐性を無視してX素材化する事態が発生することがわかったため
いろいろ錯誤しましたが結局ここに来ちゃいました。
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local og=Duel.SelectMatchingCard(tp,c5.mtfilter,tp,0,LOCATION_MZONE,1,1,nil,e)
if c:IsRelateToEffect(e) and c:IsRelateToEffect(e) and not c:IsImmuneToEffect(e) then
if chk==0 then return og:GetFirst():RemoveOverlayCard(tp,1,REASON_RULE) end
local g=og:GetFirst():GetOverlayGroup()
if og:GetCount()>0 then end
Duel.SendtoGrave(g,REASON_RULE)
end
Duel.Overlay(c,og)
恐らくIsImmuneToEffect(e)で制御するものと思いましたが、うまくいきませんでした
ご指摘をお願いします。

206201です:2017/03/13(月) 06:49:54 ID:ZbjKb5r60
>>204
ありがとうございます。
もう一つ質問なのですが、特殊召喚とサーチを同時に行うにはどうすればいいでしょうか?

207名無しデュエリスト:2017/03/13(月) 07:47:08 ID:nfNN3lMY0
>>206
ディニクアビス自体がサーチと特殊召喚が別の効果だからディニクアビスを弄って同時にするのは難しいと思うよ
同時にするなら、別の元々同時に行うカードを参考にしたほうがいいと思う

208201です:2017/03/13(月) 17:39:54 ID:ZbjKb5r60
>>207そうですね…個人的には真竜皇を参考にしようと思ったのですがどうでしょうか?
サーチ効果はディニクのものをある程度流用できそうなのですが…

209201です:2017/03/13(月) 18:31:53 ID:ZbjKb5r60
↓真竜皇アグニマズドVの①の効果のスクリプトなのですが、各部分の意味を教えてください
function c96746083.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ft=Duel.GetLocationCount(tp,LOCATION_MZONE)
local loc=LOCATION_MZONE+LOCATION_HAND
if ft<0 then loc=LOCATION_MZONE end
local loc2=0
if Duel.IsPlayerAffectedByEffect(tp,88581108) then loc2=LOCATION_MZONE end
local g=Duel.GetMatchingGroup(c96746083.desfilter,tp,loc,loc2,c)
if g:GetCount()<2 or not g:IsExists(Card.IsAttribute,1,nil,ATTRIBUTE_FIRE) then return end
local g1=nil local g2=nil
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
if ft<1 then
g1=g:FilterSelect(tp,c96746083.locfilter,1,1,nil,tp)
else
g1=g:Select(tp,1,1,nil)
end
g:RemoveCard(g1:GetFirst())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
if g1:GetFirst():IsAttribute(ATTRIBUTE_FIRE) then
g2=g:Select(tp,1,1,nil)
else
g2=g:FilterSelect(tp,Card.IsAttribute,1,1,nil,ATTRIBUTE_FIRE)
end
g1:Merge(g2)
local rm=g1:IsExists(Card.IsAttribute,2,nil,ATTRIBUTE_FIRE)
if Duel.Destroy(g1,REASON_EFFECT)==2 then
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,0,tp,tp,false,false,POS_FACEUP)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) then
Duel.SendtoGrave(c,REASON_RULE)
return
end
local rg=Duel.GetMatchingGroup(c96746083.rmfilter,tp,0,LOCATION_MZONE+LOCATION_GRAVE,nil,tp)
if rm and rg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(96746083,0)) then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local tg=rg:Select(tp,1,1,nil)
Duel.HintSelection(tg)
Duel.Remove(tg,POS_FACEUP,REASON_EFFECT)
end
end
end

210201です:2017/03/13(月) 22:41:41 ID:ZbjKb5r60
やっぱり同時化は難しそうなのでやめて、
②このカードがモンスターゾーンに存在し、相手がカードの効果を発動した場合、手札・フィールドの水属性モンスター1枚を墓地に送って発動できる。その効果と発動を無効にして破壊する。
③このカードが墓地に送られた場合に発動できる。墓地に存在する(同名モンスター)以外の水属性モンスター1枚を手札に加える。
という効果をそれぞれパーデク、シャドミを参考にして作ろうと思います

211201です:2017/03/14(火) 00:48:19 ID:ZbjKb5r60
ディニクアビスの特殊召喚効果をフリーチェーン化したのですが、自身の効果にチェーンして重複して発動できてしまいます。
どうスクリプトを修正すればいいでしょうか?
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(122446869,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL)
e1:SetRange(LOCATION_HAND)
e1:SetCost(c122446869.spcost)
e1:SetTarget(c122446869.sptg)
e1:SetOperation(c122446869.spop)
c:RegisterEffect(e1)
function c122446869.spcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c122446869.cfilter,tp,LOCATION_HAND,0,1,e:GetHandler()) end
Duel.DiscardHand(tp,c122446869.cfilter,1,1,REASON_COST+REASON_DISCARD,e:GetHandler())
end
function c122446869.sptg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLocationCount(tp,LOCATION_MZONE)>0
and e:GetHandler():IsCanBeSpecialSummoned(e,0,tp,false,false) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
end
function c122446869.spop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if not c:IsRelateToEffect(e) then return end
if Duel.SpecialSummon(c,1,tp,tp,false,false,POS_FACEUP)==0 and Duel.GetLocationCount(tp,LOCATION_MZONE)<=0
and c:IsCanBeSpecialSummoned(e,0,tp,false,false) then
Duel.SendtoGrave(c,REASON_RULE)
end
end

212名無しデュエリスト:2017/03/14(火) 02:40:22 ID:pi8xWGT.0
1ターンに1度つければいい

213名無しデュエリスト:2017/03/14(火) 04:40:15 ID:nfNN3lMY0
>>211
特殊召喚するタイプの手札誘発カードを参考にするといいですよ

214名無しデュエリスト:2017/03/14(火) 04:43:37 ID:8EVjueac0
エクストラデッキのカードが破壊された時、そのカードを対象に取るようにいたいのですが
効果を作りたいのですが、どうしてもフィールドで破壊されないと参照してくれないんです。
誰かいい方法をご存知でないでしょうか。お願いします。

215名無しデュエリスト:2017/03/14(火) 06:49:15 ID:nfNN3lMY0
>>214
詳細が分からんからなんとも言えないけど、
・IsPreviousLocation(LOCATION_ONFIELD)が破壊される前にフィールドにいることを指してるからここいじるといいかも
・エクストラデッキのカードが破壊された時、そのカードを対象にするカードがOCGにないなら対応してないのかも
・一応確認だけど、その場合対象にとって特殊召喚するなら蘇生制限無視しないとできないよ。
ここらへんじゃない?

216201です:2017/03/14(火) 16:30:37 ID:ZbjKb5r60
>>213
そうですね。
TGワーウルフとかがちょうどよさそうなので参考にしてみたいと思います。

217201です:2017/03/14(火) 17:19:34 ID:ZbjKb5r60
今調べてみたのですが、そもそも根本が違うようです。
ただ、特殊召喚にチェーンした効果にさらにチェーンできるのでこのままにしようと思います。

218201です:2017/03/14(火) 20:25:22 ID:ZbjKb5r60
パーデクの効果を元にコストを「手札・フィールドの水属性モンスター1枚」に変更したいのですがどうすればいいでしょうか?水属性にするところまではできたのですが…

219名無しデュエリスト:2017/03/14(火) 20:54:13 ID:8EVjueac0
>>215
装備カードにしようと思ってました...。
星邪の神喰で対象に取らず別のモンスターを装備できたので自己解決しました。

220201です:2017/03/15(水) 14:13:03 ID:ZbjKb5r60
①:このカード以外の手札の水属性モンスター1枚を捨てて発動できる。このカードをデッキから特殊召喚する。この効果は相手ターンでも発動できる。
という効果を作りたいのですが、どうやったらデッキに存在する場合に効果が発動できるようになりますか?

221201です:2017/03/15(水) 14:22:09 ID:ZbjKb5r60
すいません解決しました。
次は崇光なる宣告者を元にコストを「手札・フィールドの水属性モンスター1枚」に変更し、召喚も無効に出来るようにしたいので協力お願いします。

222201です:2017/03/16(木) 01:28:28 ID:ZbjKb5r60
③:1ターンに1度、手札・フィールドから水属性モンスター1体を墓地へ送って以下の効果を発動できる。
●相手がモンスターの効果・魔法・罠カードを発動した時に発動できる。その発動を無効にし破壊する。
●相手がモンスターを召喚・特殊召喚する際に発動できる。その召喚・特殊召喚を無効にし、そのモンスターを破壊する。
という効果を崇光なる宣告者を元に作りたいのですが、「1ターンに1度」の部分をどうすればいいかわかりません…
あと、コストを手札だけでなくフィールドからも支払えるようにしたいのですがどうすればいいですか?

223名無しデュエリスト:2017/03/16(木) 01:35:55 ID:nfNN3lMY0
「1ターンに1度」とか「フィールドから〇〇を墓地へ送って発動する」とかのテキスト持つカードのスクリプトを何枚か自分で調べてみたらわかると思うよ。
さすがにいちいち全部聞いてたら際限ないし、自分で他のカードのスクリプトから類推した方が早いと思うよ。

224201です:2017/03/16(木) 01:57:50 ID:ZbjKb5r60
>>223手札とフィールドを同時に指定できないんです…

225名無しデュエリスト:2017/03/16(木) 12:06:58 ID:eAoR0UUg0
>>224
手札・フィールドの水モンスターを墓地へ送り……ってまんま餅カエルじゃん(種族と属性は違うけど)
それのScript見ればいいと思うよ
CostのDuel.IsExistingMatchingCardの()内に答えはある
ADS本体のデッキ編集画面で、カード名の欄で「手札・フィールドの」って検索したらいろいろ出てくるからそれを参考にしてもいいかもね


ところで質問なんですが、Mtgの精神隷属器のような相手プレイヤーのコントロールを得ることはできますか?
具体的には相手のカードを自分が発動したり相手の手札からアドバンス召喚させたりしたいのですが

226201です:2017/03/16(木) 12:46:02 ID:ZbjKb5r60
コストの件は解決しました。
しかし、1ターンに1度、2つの効果から1つだけ発動できるようにする方法がシャドーミストや彼岸といった類似効果を見てもよくわかりません。
誰か解説してください…

227名無しデュエリスト:2017/03/16(木) 13:10:17 ID:eAoR0UUg0
>>226
>>222見る限りだとダイガスタ・エメラルみたいな効果でいいのかな?
それ見れ
というかさっきも言ったけど、デッキ編集画面の検索活用した方がいいよ
「1ターンに1度、以下」って入力してみ? いろいろ出てくるから

228201です:2017/03/16(木) 14:13:16 ID:ZbjKb5r60
>>227エメラルとは別物です。
彼岸のSSと墓地効果みたいな感じで、1ターンに片方しか使えない(同名ターン1ではないが)って感じです。

229名無しデュエリスト:2017/03/16(木) 15:03:02 ID:eAoR0UUg0
>>228
うーんエメラルも1ターンに片方しか使えない(同名ターン1ではない)んだけど
Script開いてみたらわかるけど、エメラルの片方ターン1も彼岸のターン1も記述一緒だよ

230201です:2017/03/16(木) 15:19:59 ID:ZbjKb5r60
>>229
e1:SetCountLimit(1,EFFECT_COUNT_CODE_SINGLE)
この部分ですか?

231名無しデュエリスト:2017/03/16(木) 15:21:54 ID:eAoR0UUg0
>>228
おっとごめん>>229間違い
彼岸は同名ターン1だった

ハロウハウンドの記述は
e1:SetCountLimit(1,9342162) ←これの(1)が回数制限、(9342162)がカード名制限になってる

だから単に
e1:SetCountLimit(1) 
をe1とe2にそれぞれ書き込めば同名ターン1じゃない、片方ターン1ができるよ

偉そうなこと言って間違ってたわ……すまない

232名無しデュエリスト:2017/03/16(木) 15:26:52 ID:eAoR0UUg0
>>230
そそ、e1にe1:SetCountLimit(1) を書いて、
e2にe2:SetCountLimit(1) を書けばおk

あとEFFECT_COUNT_CODE_SINGLEはあってもなくても動くよ

233201です:2017/03/16(木) 15:39:15 ID:ZbjKb5r60
>>231
>>232
ありがとうございます!

234名無しデュエリスト:2017/03/16(木) 17:24:17 ID:nfNN3lMY0
>>225
OCGにない効果だから基本的に無理だと思う。
エクスチェンジみたいに手札交換で奪って自分で発動する一連の効果とかならいけるかも

235名無しデュエリスト:2017/03/16(木) 19:14:30 ID:88jP14J.0
一回自分と相手の場と手札とライフを全部入れ換えて
一枚モンスターの召喚、または魔法罠セットしたら元に戻す
モンスターを召喚した場合、召喚権使った事にするために通常召喚封じて
魔法をセットしてた場合元に戻したら発動する
対象はこっちが選ぶ
のが現実的じゃないかなぁ

手札と場は除外ゾーン通して
場はスペースタイムポリス
手札はプレゼント交換
ライフは大逆転クイズ
速攻魔法も伏せたターン使えるよう王家の神殿
召喚封じは絶対不可侵領域
強制発動はおとり人形
対象選択はカンゴルゴーム
でなんとかなりそうな気もする

236名無しデュエリスト:2017/03/16(木) 22:13:00 ID:eAoR0UUg0
>>234 >>235 ありがとうございます
おとり人形がかなりいい感じなのでこれをいじると面白そうですね
ただ、魔法、罠はうまくいったのですがモンスター効果の強制発動の方法が分かりません……

if te:GetCode()==EVENT_FREE_CHAIN and te:IsActivatable(tep)

このあたりに秘密はありそうですが……

あとおとり人形自体が起動効果なのでどうしてもチェーンブロックを作ってしまい、任意の誘発効果をうまく発動できないのも課題です

モンスターの召喚については>>235さんのいう通り全部取っかえるのもありですね
ただそうなると自分の場に伏せておいた罠を向こう側で発動させられないので結局チェーンを組まないおとり人形が必要に……

237名無しデュエリスト:2017/03/17(金) 01:04:02 ID:eAoR0UUg0
処刑人マキュラの「デッキから罠」Verを作りたいのですが、c21593977.operationのどれをいじってもうまくいきません
某世紀末動画さんのシャドーループを見る限り実際にスクリプトは書けそうなんですが

238名無しデュエリスト:2017/03/17(金) 06:37:30 ID:nfNN3lMY0
マキュラはEFFECT_TRAP_ACT_IN_HANDっていう本体側に設定されてる変数?みたいなの使ってるから
マキュラをいじって、「デッキから罠」を作るのは無理だと思う。
シャドール-プは多分発動するカード側に「デッキ内で発動できる」スクリプトが書いてあるから全然仕組みが違う。

やろうとするとトラミッドダンサーあたりのフィールド魔法を罠に書き換えたらいけるかもしれない。
(OCGにはない効果だからちゃんと動く保証はできないけど)

239名無しデュエリスト:2017/03/17(金) 06:48:55 ID:nfNN3lMY0
>>236
「モンスター効果を強制発動させる効果」がそもそもOCGにないから無理なのかもしれません。
誘発効果はそもそも効果の発動条件を元のカードから持ってこないといけないので、ADSの機能的に無理か、できてもかなり難しいと思いますよ。

240名無しデュエリスト:2017/03/17(金) 10:35:59 ID:eAoR0UUg0
>>238 >>239
ありがとうございます。なるほど、ルーツや接触の方を改造していたのか……納得です

おとり人形で罠を強制発動させたところ、罠版に改造した魔法吸収が反応しませんでした
どうやらおとり人形は「発動させる」というより「コピーする」処理に近いのかもしれません
今のカードプールではカードの強制発動は難しいみたいですね

ご助言下さった方々ありがとうございました。

241名無しデュエリスト:2017/03/17(金) 12:35:53 ID:SNt.LAgk0
魔法吸収のwikiみると
効果で発動してるから反応してないだけな気もするが

242名無しデュエリスト:2017/03/17(金) 12:49:50 ID:eAoR0UUg0
>>241
おとり人形のWikiを見る限り、強制発動とは「カードの発動」を指しているようです
しかしADSでは魔法吸収が反応しないため、おそらく効果の発動のみ行っているのでしょう

いずれにせよ、他のカードの効果で「カードの発動」を行わせるのは難しそうです

243201です:2017/03/17(金) 19:13:32 ID:ZbjKb5r60
1ターンに1度ではない、墓地に送られたときに2つの効果から1つを選択して発動できる効果の作り方がよくわかりません…
1ターンに1度ならあるのですが…

244名無しデュエリスト:2017/03/17(金) 20:05:53 ID:OV9uJmcY0
リバイバルゴーレムが参考になるかと

245何度も質問申し訳ないです:2017/03/17(金) 20:44:56 ID:eAoR0UUg0
壊獣の共通の制限
「壊獣」モンスターは自分フィールドに1体しか表側表示で存在できない
を、
「KYOUTOUウォーターフロント」が存在しない場合、「壊獣」モンスターは自分フィールドに1体しか表側表示で存在できない
に変えることはできるでしょうか

SetUniqueOnField だけでは設定できなさそうなので、自壊効果や召喚制限を駆使してみましたがどうも上手くいきません
所有者の刻印で2体並ぶと1体も残らず全部割れちゃうんです
「このカードは「壊獣」モンスターの特殊召喚(※効果ではなく、特殊召喚のための手順)のためにはリリースできない」
も EFFECT_UNRELEASABLE_??? ←これをいじってもできませんでした
特殊召喚制限もミラクル・フリッパーを完コピしてるのになぜか特殊召喚できちゃうし……

246名無しデュエリスト:2017/03/17(金) 21:04:08 ID:OV9uJmcY0
Sinモンスターが参考になるかと

247201です:2017/03/17(金) 21:21:35 ID:ZbjKb5r60
>>244ターン1なんで駄目ですね
1度に一方だけ発動+任意効果でお願いします

248名無しデュエリスト:2017/03/17(金) 21:38:03 ID:OV9uJmcY0
>>247
記述見れば分かると思うけどターン1だけど効果自体は1つの効果に纏められてるから
ターン1取り払って任意にして条件と効果弄ればいけると思うよ

249何度も質問申し訳ないです:2017/03/17(金) 21:42:35 ID:eAoR0UUg0
>>247
>>231にある通り、 SetCountLimit がターン1を制御しているので、それを消せばいいと思うよ

>>245の特殊召喚制限はどうにかできました
しかし
「自分フィールドに」1体しか表側表示で存在できない
>>246さんの言うSinモンスターはちょっとあてにならない気がします
Sinモンスターはどうやら召喚に制限をかけているだけで、同じコントローラーのフィールドで重複したら破壊といった
「自分フィールドに1体しか表側表示で存在できない」
モンスターとは記述の仕方が違うようです
前述の通り、壊獣モンスターは「SetUniqueOnField」で召喚制限と重複制限をかけているのでそれについて詳しい方がいればご教授願います

250名無しデュエリスト:2017/03/17(金) 23:02:26 ID:nfNN3lMY0
>>242
魔法版おとり人形のように
「罠カードの効果で魔法カードをプレイヤーに発動させる」効果がOCGにないので対応してないのかもですね。


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板