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

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

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

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

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

93名無しデュエリスト:2016/12/12(月) 13:08:03 ID:qKDrkW/U0
>>92
ミラクルシンクロフュージョン、真紅眼融合は専用の記述が必要だからそれじゃないかな

94名無しデュエリスト:2016/12/12(月) 17:46:50 ID:nfNN3lMY0
>>92
パスワードがわからなくてDLできません。

9592:2016/12/12(月) 22:07:07 ID:uAwBwZU60
>>93 なるほど、融合素材条件より融合カードのほうに原因があったんですね

>>94 すみません、「ads」をかな入力で登録しちゃったので「あds」になっちゃってます

96名無しデュエリスト:2016/12/12(月) 22:10:54 ID:nfNN3lMY0
>>92さん
真紅眼融合で融合するためにはこれが必要みたいですよ
c(該当の番号).material_setcode=0x3b

9792:2016/12/12(月) 22:52:40 ID:uAwBwZU60
>>96
なるほど、その一文を究極竜に付け加えれば真紅眼融合で融合召喚できるようになるということですね。
貴重な情報ありがとうございます。早速試してみます

9892:2016/12/12(月) 22:57:29 ID:uAwBwZU60
連投失礼します。>>96さんの助言通りに文章を追加したら、無事に真紅眼融合で融合召喚出来ました。
ご協力くださった皆様、本当にありがとうございました。

99名無しデュエリスト:2016/12/14(水) 06:34:44 ID:sP5TpOkM0
エクシーズモンスターで、任意の同じレベルで、特定のカテゴリモンスター2体を素材にX召喚できるモンスターをつくりたいのですが

ホープゼアルなどを参考にしたのですがうまく行きません

100名無しデュエリスト:2016/12/14(水) 09:43:31 ID:uAwBwZU60
先日は真紅眼融合の件でお世話になりました。時間が空かない内にまた新たな質問となることをお許しください。

超越融合のスクリプトを弄ってシンクロ召喚+シンクロ素材をレベル4にして蘇生というカードを作ろうと思いました。
緊急同調とシンクロキャンセルを参考に組んでみたのですが、シンクロ召喚ができても素材の復活ができません。
以前同様にスクリプトを置きますので、助力お願い致します(今回のパスワードはちゃんとadsです)

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

101名無しデュエリスト:2016/12/14(水) 16:26:26 ID:CyRNefiI0
>>100
スクリプト見ましたが、「c2901.target」内の「c2901.mgfilter」の部分の所の筈が「c2901.filter」になったままなので、表記を変えると上手く行くかも。
素人の意見ですみません。

102名無しデュエリスト:2016/12/14(水) 20:08:40 ID:nfNN3lMY0
>>100
c2901.mgfilterを参照する記述が超越融合を元にしてるのが原因っぽいですね。
一応このままでも
mg:IsExists(c2901.mgfilter,1,nil,e,tp,tc,mg)の部分を直せば動くようになるかもですが、
シンクロと融合で裁定的にもいろいろ違うので、シンクロキャンセルの記述をメインに使ったほうがいいですよ。

103名無しデュエリスト:2016/12/14(水) 20:09:40 ID:nfNN3lMY0
>>100
あと一応、他の方が指摘してらっしゃるように、c2901.filterの記述が抜けてしまってますね

104名無しデュエリスト:2016/12/14(水) 20:50:31 ID:nfNN3lMY0
>>99
セイクリッド・ビーハイブを参考にしてみてはいかがでしょう?

105100:2016/12/14(水) 21:49:33 ID:uAwBwZU60
>>101 >>102 >>103
なるほど、filterのところが問題ということですね。単語一つ分とはいえ基礎的なミスで申し訳ありません。
filterのところを直しつつ、>>102さんの仰る通りシンクロキャンセルメインで記述してみます。ありがとうございます!

10699:2016/12/15(木) 05:41:20 ID:sP5TpOkM0
一応解決しました
aux.AddXyzProcedure
を並べて各レベルに対応させました。

違うレベルでも同カテゴリモンスターでエクシーズできるようにするにはどうしたらいいでしょうか?

107名無しデュエリスト:2016/12/15(木) 15:09:10 ID:nfNN3lMY0
>>106
既存のカードにない処理なので無理矢理やるしかないと思います。
それこそ、ホープゼアルから同じランクであるという制約を消したうえで
素材数が関係する記述をすべて変更する
くらいしか方法を思いつきません。

108名無しデュエリスト:2016/12/15(木) 16:18:01 ID:sP5TpOkM0
>>107
やっぱりそうですよね
ちょっと頑張ってみます

109名無しデュエリスト:2016/12/20(火) 07:50:56 ID:SvBolpS2O
そういえば、オリカにある《スピード・ワールド2》みたいな手札・デッキから自動発動みたいな発動トリガーをエクストラデッキに
裏側で存在する時に自動発動するようなスクリプト命令文の機能や書式にする方法って、《ゴヨウ・ディフェンダー》あたりから参考にすれば良いの?
まぁメインデッキからでも手札から発動した場合は1ドローのスクリプトなど追加すれば良いっぽいけど。
お互いに初期ライフや初期手札数や基本ドロー枚数など違うハンデ戦や、最初からカード展開されてる状態からスタートや、1VS2みたいなのを誰かと遊びたい時に、
そういう特殊部屋を立てたい際のオプション項目がADS本体にないので、なんか非公式スクリプトのカード効果処理で代用したい。

ゴッズのワールドデュエルグランプリにあった勝ち抜き戦みたいなのを擬似的にやりたい際も、うまくできない。

110名無しデュエリスト:2016/12/21(水) 14:03:04 ID:uAwBwZU60
度々の質問失礼致します。《相克の魔術師》のP効果だけを抜き出して《Xエクシーズ》を作成しているのですが、
Xモンスターが場にいるにも関わらず発動を行うことが出来ません。

毎度、いちいちDLしてもらうのも大変かと思い、今回はスクリプトを直接置きます。
何か気付いた点があればお教えいただけると幸いです。

--Xエクシーズ
function c2902.initial_effect(c)
--xyz level
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(c2902.xyztg)
e1:SetOperation(c2902.xyzop)
c:RegisterEffect(e1)
end
function c2902.xyzfilter(c)
return c:IsFaceup() and c:IsType(TYPE_XYZ)
end
function c2902.xyztg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_MZONE) and chkc:IsControler(tp) and c2902.xyzfilter(chkc) end
if chk==0 then return Duel.IsExistingTarget(c2902.xyzfilter,tp,LOCATION_MZONE,0,1,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TARGET)
Duel.SelectTarget(tp,c2902.xyzfilter,tp,LOCATION_MZONE,0,1,1,nil)
end
function c2902.xyzop(e,tp,eg,ep,ev,re,r,rp)
if not e:GetHandler():IsRelateToEffect(e) then return end
local tc=Duel.GetFirstTarget()
if tc:IsRelateToEffect(e) and tc:IsFaceup() then
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_XYZ_LEVEL)
e1:SetValue(c2902.xyzlv)
e1:SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END)
tc:RegisterEffect(e1)
end
end
function c2902.xyzlv(e,c,rc)
return c:GetRank()
end

111名無しデュエリスト:2016/12/21(水) 20:37:10 ID:8akAaX0k0
>>109
何が聞きたいのかよく分からん
目標、過程、質問を3行でまとめてくださいな

>>110
EFFECT_TYPEが違うな

11273:2016/12/21(水) 23:38:25 ID:8akAaX0k0
待たせたな!
まだ待ってるかどうかわからないけど青眼+真紅眼+光ドラゴン2体のスクリプト作ったんで置いときます
https://www.axfc.net/u/3755082
(あんまり細かいデバッグしてないけど、きっと大丈夫だと信じたい)

113110:2016/12/22(木) 00:47:45 ID:uAwBwZU60
>>111 ACTIVATEにしてたつもりが、保存ミスってIGNITIONのままでしたね…解決しました、申し訳ありませんでした

114名無しデュエリスト:2016/12/23(金) 10:01:20 ID:CyRNefiI0
>>112
お待ちしていました!

長い間考えてくれて本当にありがとうございます。
返信して頂いて感謝しています。
早速使わせていただきます!

115名無しデュエリスト:2016/12/23(金) 12:01:44 ID:9dp8ymFU0
フレシアの蟲惑魔とモルモラット参考にして
速攻魔法コピー+素材になったら素材取り除いて特定のモンスターssみたいなのを作りたいんですが、魔法コピーの方の効果が発動しません…
https://www.axfc.net/u/3755520
(パスはadsです)

よろしければどなたか見てもらえないでしょうか

116名無しデュエリスト:2016/12/23(金) 14:36:33 ID:wmd/umIo0
>>115
バグ報告スレみたいに場の状況や発動しようとした速攻魔法とか、エラーメッセージとかが分からないと細かいとこは分かんないな…
発動できないって事はTarget以前の関数が間違ってるって事だから、ざっと見た感じfilter2内のIsSetCard位しか原因が思いつかん

117名無しデュエリスト:2016/12/23(金) 14:53:28 ID:9dp8ymFU0
>>116
エラーメッセージは出てなかったです
一応モルモラットから引用した所消したらコピー自体はきちんと発動してました。
しかし、効果を追加したらコピー効果の発動が何故か出来なくなります…
追加した方の効果は発動するのですが…

118名無しデュエリスト:2016/12/23(金) 15:45:37 ID:SvBolpS2O
>>111 「何が聞きたいのかよく分からん」じゃなくて、聞きたいこと書いてますやん。
【部屋を立てる際に特殊ルールで初期ライフや初期手札枚数やドロー枚数などをハンデみたいに個別に設定できなくて】
【オリジナルカードの《スピードワールド2》みたいに自動発動するスクリプトで代用したいので】
【エクストラデッキから発動するスクリプトの参考できるカードな命令文はありませんか?】…と。

この説明を3行で述べるのは絶対に無理なので、もはや国語の1ページ数十行は当たり前の教科書すら読めないような頭おかしい反応はしないでもらいたいですね。

119名無しデュエリスト:2016/12/23(金) 16:51:25 ID:wmd/umIo0
>>118
説明出来てんじゃん
自動発動自体はスピードワールド2のスクリプトを真似すれば良い
エクストラデッキから発動したいならSetRange(LOCATION_EXTRA)で終わり

120名無しデュエリスト:2016/12/23(金) 17:25:15 ID:wmd/umIo0
>>117
1つ目と2つ目の効果で共にGetFlagEffect(3902)を使用しているのが原因だったみたい
使用していないIDを使ったら解決した

121名無しデュエリスト:2016/12/23(金) 17:52:34 ID:9dp8ymFU0
>>120
ID変えたら無事解決しました!
ありがとうございます

122名無しデュエリスト:2016/12/24(土) 08:41:56 ID:SvBolpS2O
>>119 おーそうかそうか、その命令文の部分だけわからなかったの。
ありがと。
ノートPCを複数台で友人とかと有線LANケーブル対戦したい際に、困っていたのだ。
次回のADS本体更新してくれているひとが、自分・相手と個別に特殊ルールにできる部屋を立てられるようにしてくれたり
1VS2や1VS3などの特殊タッグ対戦の対応してくれりゃあ良いんだけどね。

123110:2016/12/24(土) 18:35:42 ID:uAwBwZU60
度々ここを利用させてもらってる者です。もしかしたら過去の例同様に単純な見落としかもしれませんが、また質問させてください。
インぺリオンマグナムの効果を元に「虚竜魔王アモルファクターPと真竜剣士マスターPを特殊召喚する」効果を作成しているのですが、
相手のカード効果で離れても二体を特殊召喚することができません。
またスクリプトを下に置きますので、何か気付きましたら助言お願いします。

function c2304.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFunFunRep(c,c2304.mfilter1,c2304.mfilter2,1,63,true)
--spsummon condition
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_UNCOPYABLE)
e1:SetCode(EFFECT_SPSUMMON_CONDITION)
e1:SetValue(aux.fuslimit)
c:RegisterEffect(e1)

--special summon
local e3=Effect.CreateEffect(c)
e3:SetDescription(aux.Stringid(2304,1))
e3:SetCategory(CATEGORY_SPECIAL_SUMMON)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DAMAGE_CAL+EFFECT_FLAG_DELAY)
e3:SetCode(EVENT_LEAVE_FIELD)
e3:SetCondition(c2304.spcon)
e3:SetTarget(c2304.sptg)
e3:SetOperation(c2304.spop)
c:RegisterEffect(e3)
--indes
local e4=Effect.CreateEffect(c)
e4:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_CONTINUOUS)
e4:SetCode(EVENT_SPSUMMON_SUCCESS)
e4:SetCondition(c2304.indcon)
e4:SetOperation(c2304.indop)
c:RegisterEffect(e4)
end
function c2304.mfilter1(c)
return c:IsFusionSetCard(0xc7) and c:IsType(TYPE_FUSION)
end
function c2304.mfilter2(c)
return c:IsFusionSetCard(0xc7)
end
function c2304.spcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:GetReasonPlayer()~=tp and c:IsReason(REASON_EFFECT)
and c:IsPreviousLocation(LOCATION_ONFIELD) and c:IsPreviousPosition(POS_FACEUP)
end
function c2304.spfilter(c,e,tp,code)
return c:IsCode(code) and c:IsCanBeSpecialSummoned(e,0,tp,true,false)
end
function c2304.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)>1
and Duel.IsExistingMatchingCard(c2304.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,e,tp,75347539)
and Duel.IsExistingMatchingCard(c2304.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,1,nil,e,tp,42901635) end
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,nil,2,tp,LOCATION_HAND+LOCATION_DECK)
end
function c2304.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.IsPlayerAffectedByEffect(tp,59822133)
or Duel.GetLocationCount(tp,LOCATION_MZONE)<2 then return end
local g1=Duel.GetMatchingGroup(c2304.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,nil,e,tp,34079868)
local g2=Duel.GetMatchingGroup(c2304.spfilter,tp,LOCATION_HAND+LOCATION_DECK,0,nil,e,tp,98287529)
if g1:GetCount()>0 and g2:GetCount()>0 then
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg1=g1:Select(tp,1,1,nil)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local sg2=g2:Select(tp,1,1,nil)
sg1:Merge(sg2)
Duel.SpecialSummon(sg1,0,tp,tp,true,false,POS_FACEUP)
end
end
function c2304.indcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return bit.band(c:GetSummonType(),SUMMON_TYPE_FUSION)==SUMMON_TYPE_FUSION and c:GetMaterialCount()>=3
end
function c2304.indop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_INDESTRUCTABLE_BATTLE)
e1:SetValue(1)
e1:SetReset(RESET_EVENT+0x1fe0000)
c:RegisterEffect(e1)
local e2=e1:Clone()
e2:SetDescription(aux.Stringid(2304,0))
e2:SetCode(EFFECT_INDESTRUCTABLE_EFFECT)
e2:SetProperty(EFFECT_FLAG_CLIENT_HINT)
c:RegisterEffect(e2)
end

124名無しデュエリスト:2016/12/24(土) 21:29:24 ID:DJ.Lcrdw0
>>123
sptgの部分がバルキリオンとベルセリオン指定になってますよ

125名無しデュエリスト:2016/12/24(土) 23:12:08 ID:vr7pISjg0
自分以外の闇属性コード0x799のモンスターが存在する場合、
自分は戦闘で破壊されず効果を受けないと言う効果を作りました。
が、テストプレイをしていると、時々この耐性が機能しない事があります。

似たような状況を再現しても、普通に機能することもあり何故機能していない事があるか
不明です。

スクリプトをアップロードするので助言をお願いします。
http://www.dotup.org/uploda/www.dotup.org1101661.txt.html

126名無しデュエリスト:2016/12/25(日) 00:57:07 ID:gWij7xqY0
>>125
c2034.indcon内で絶対エラー吐いてるよな…
古狸三太夫の耐性が近いので参考にしてみては?

127名無しデュエリスト:2016/12/25(日) 02:00:14 ID:vr7pISjg0
>>126
参考カードありがとうございます。
引き続き、原因がわかればよろしくお願いします。

128名無しデュエリスト:2016/12/25(日) 09:38:56 ID:uAwBwZU60
>>124
またもや単純な見落としで…申し訳ありません。

それと、これまで助言をいただいたカード達をまとめてみました。
一部まだ効果製作途中で参考元の効果をほぼ丸ごと流用しているのもありますが、皆さんのお役に立てれば幸いです。
https://www.axfc.net/u/3756431

129名無しデュエリスト:2016/12/26(月) 17:37:31 ID:vr7pISjg0
>>126
自己解決しました。

SetCode(EFFECT_IMMUNE_EFFECT)の例外に自分を含めていなかったために、戦闘破壊されてしまうのが原因でした。

130名無しデュエリスト:2016/12/27(火) 11:06:42 ID:uAwBwZU60
先日は大変お世話になりました。これまでの前例同様に見落としのケアレスミスの可能性もありますが、力を貸していただけると幸いです。

Pモンスター版のダークレクイエムを作成しておりまして、クリアウィングファストドラゴンのP効果を参考にPゾーンから特殊召喚する効果を作成しました。
一応特殊召喚するところまではできているのですが、Xモンスターの性質上X素材が無いとただの高打点モンスターで終わってしまうため、スターダストの「自身の効果を使ったターンに発動する」部分とナイトメアシャークの「手札・場のレベル3水属性モンスターを自身のX素材とする」効果を足し合わせて、
「自身の効果で特殊召喚した場合、手札・場・墓地のモンスター1体をこのカードのX素材とする」効果にしたいのですが、スクリプトエラーで素材を補充できません。
スターダストの部分が良くないのかと思い一旦ナイトメアシャークの部分だけで試運転してみたのですが、なぜか墓地のモンスターを選択できず…

今回のカードのデータをまた置いておきますので、何か分かりましたら教えていただきたいと思います。

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

131名無しデュエリスト:2016/12/27(火) 14:14:00 ID:Apr5hSz20
>>130
エラー出てるならエラー書いて
選択範囲に墓地入れてないからそりゃあ墓地選択できないよね

132名無しデュエリスト:2016/12/27(火) 15:34:06 ID:2tCEEvQA0
luaの良い統合開発環境ってないのかな
ads本体で定義されている関数に対してintellisenseとかオムニ補完とか効かないからミスることミスること

133名無しデュエリスト:2017/01/02(月) 18:31:52 ID:LUmGf95M0
https://www.axfc.net/u/3760198
幻影騎士団カースド・ジャベリンを強引に切り貼りして作りました
テキストが判明しているのに非公式スクリプトがないのは事情がありそうなのでこっちに投げます
スクリプトに詳しくないので修正はできそうにありません

134名無しデュエリスト:2017/01/16(月) 06:43:27 ID:INsnLwwk0
EFFECT_IMMUNE_EFFECTの対象を広げる(例えば「墓地のカード」)にはどうしたらいいか分かる方いらっしゃいませんか?
フィールド上に限ればアニメ効果のビヨンドがいるので流用できるのですが、それ以外の場所が…。

135名無しデュエリスト:2017/01/16(月) 16:51:16 ID:IbqmMQMA0
>>133
いつもの人が忙しいだけだろうし、自分も過去に未実装カード作って向こうに投稿したことあるしそこまで気を使わなくてもいいと思われ

136名無しデュエリスト:2017/01/16(月) 21:28:13 ID:GOJQD.Cs0
>>134
アニメ版ビヨンドのスクリプト持ってないんでミセラサウルスで説明するぞ
immop内を適当にコピって36行目のSetTargetRangeに好きな場所を指定すれば良い

137名無しデュエリスト:2017/01/16(月) 23:26:23 ID:IbqmMQMA0
というかカースドジャベリンはもう非公式実装されてるんだが>>133は何を勘違いしてたんだ?

138名無しデュエリスト:2017/01/16(月) 23:28:10 ID:IbqmMQMA0
俺が勘違いしてた、書き込み時間見比べれば>>133の段階ではまだ実装されてなかったな…マジでスマンorz

139名無しデュエリスト:2017/01/17(火) 05:31:23 ID:INsnLwwk0
>>136さんありがとうございます。

実はSetTargetRangeを変える所まではできていたのですが、自分が色々と勘違いしていただけでした。
「効果を受けない」だけでは死者蘇生のようなカードは防げないんですね...。

140名無しデュエリスト:2017/01/19(木) 02:16:40 ID:vr7pISjg0
『このカードが存在する限り、(カテゴリ)装備カードを装備していない自分のモンスターは攻撃できない。』
という効果を作っているのですが、特定のカード、または特定のカテゴリを装備しているかどうかを返す
関数は何を使えば良いのでしょうか?

141名無しデュエリスト:2017/01/19(木) 22:53:57 ID:1gl1iJHo0
モンスターの効果で、①②はそれぞれ1ターンに1度しか使用できない。と、
①②の効果は1ターンに1度、いずれか1つしか使用できない。
はスクリプトのどこで区別されているのでしょうか?

142名無しデュエリスト:2017/01/19(木) 23:37:13 ID:DuEyLKC.0
>>140
Card.GetEquipGroupでそのモンスターに装備されているカードを取得できるから、その中に特定のカードがあるか調べれば良し

>>141
Effect.SetCountLimitの第三引数(カードIDとか入れてるとこ)に
・同じ値を与えれば合わせて1度まで
・別の値を与えればそれぞれ1度まで

143名無しデュエリスト:2017/01/20(金) 00:18:03 ID:1gl1iJHo0
>>142
ありがとうございます。解決しました。

144名無しデュエリスト:2017/01/20(金) 21:57:19 ID:vr7pISjg0
>>142
ありがとうございます。うまく行きました。

145名無しデュエリスト:2017/01/22(日) 16:19:09 ID:vr7pISjg0
以下の様な効果を作りたいのですが、参考になる様なカードは何かありませんか?

このカードがモンスターゾーンに存在する限り、自分フィールド上の「テスト」モンスターは以下の効果を得る。●『1ターンに1度、相手に200ダメージを与える。』

『』の中身はカードによって変わる効果です。よろしくお願いします。

146名無しデュエリスト:2017/01/22(日) 23:18:22 ID:zZfteHqk0
>>145
多分公式のカードだと無いと思う
永続的処理で効果を与えると、効果を持たないモンスターやデュアルの処理がややこしくなるから作らないのが無難

147名無しデュエリスト:2017/01/25(水) 06:10:50 ID:nfNN3lMY0
>>145
細かい裁定を気にしないなら、効果を得る「テスト」モンスターの方に
「〇〇がいる時に以下の効果を得る。」みたいなスクリプトをいれるといいかも

聖騎士モルドレッドのスクリプトとか参考になるかも。

一応、デュアルする前のデュアルモンスターは「効果を持つ通常モンスター」扱いだから、裁定的にはそういう効果を作っても問題ないと思う。(断定はできないけど)

148名無しデュエリスト:2017/01/27(金) 15:07:36 ID:vr7pISjg0
>>146
うーむやはりそうですか
一応『効果を与える』のではなく、『味方の効果を得る』方向で考えているのですが、どうやって永続効果にするか考え中です

>>147
10種類くらい作りたいので、ちょっと難しいかもです。最悪そういう方法も手ですね
ありがとうございます

149名無しデュエリスト:2017/01/27(金) 22:51:30 ID:.uBUQG/20
>>148
「以下の効果を得る」≒「〜場合、〜出来る」だからその場合は効果を得るモンスターの方に書くのが普通だぞ
実際のテキストをどうするつもりなのかは知らないけど、少なくとも永続効果的に効果をコピーするのは難しい
一部の効果だけをコピーするとかならもっと無理

150名無しデュエリスト:2017/01/28(土) 07:06:02 ID:nfNN3lMY0
>>148
なんか勘違いさせたかもなので一応補足
146さんや149さんが言ってるように
「永続効果で他のモンスターに効果を与える効果」を持つモンスターは存在しない。
=むりやりそういう効果のスクリプトを作ったとしてもADS側の処理が対応してなくて、不具合で動かない可能性がある。

一方、「聖騎士」モンスターにみたいに条件付きで効果を使えるようになるスクリプトは本体側で対応してるから、
「テキスト上は『効果を与える効果』だけど、スクリプト的には『効果が使えるようになる効果』」
として効果を与えられる側にスクリプトを書く、って手段が一番再現率が高いと思う。
(実際に自分のカードの処理を他のカードのスクリプトに任せてるカードは結構あるし)

あと、コピー効果の処理はいろいろ面倒くさいらしく、実際のカードにないものはちゃんと動いてくれないものも多いから避けたほうがいいかも

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
「トゥーン」や「スピリット」、「チューナー」など、名称指定ではなくテキストの【】内に種族とは別に存在するカテゴリーでオリジナルのものを作りたいのですが、何か良い方法はありませんか?


新着レスの表示


名前: E-mail(省略可)

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

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

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

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