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

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

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

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

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

659名無しデュエリスト:2018/11/25(日) 16:50:16 ID:/fw1mp.k0
自分のとは書き方が違うから正直自信無いけど、原因は多分プレイヤーの指定をしっかりしていないせいかも
上に local c=e:GetHandler():GetOwner() という指定を行ってるから
tp を c に書き換えればうまくいくかも?

660650:2018/11/25(日) 19:08:40 ID:YZg/7M8g0
>>658 >>659
解決策のご提示ありがとうございます。
>>658の記述方式で、双方でのカード追加ができるようになりました。

また、追加時の不具合の理由でデュエル開始状態で試運転を止めていたため気付くのが遅れましたが、
以下の点も追加で確認されました。
・SendtoDeckで追加したエクストラデッキのモンスターを召喚できない
 (確認した限りでは《見習い魔嬢》のリンク召喚と《C・ドラゴン》のシンクロ召喚ができなかった)
 ※最初からデッキに投入しているモンスターは各召喚可能

上記不具合は>>654実施の時に1枚だけ試した《RR-フォース・ストリクス》はX召喚できたので、
たぶん追加枚数の多さが原因かなと思っています(不具合確認時は70〜80枚くらい追加しました)。
これから追加枚数を調整して切り分けを行っていこうと思いますが、取り急ぎご報告させていただきます。

661650:2018/11/25(日) 19:58:30 ID:YZg/7M8g0
連レスになりますが、>>660の報告です。
結果からお伝えすると、SendtoDeckの数で召喚か否か変わるみたいです。
以下、確認の流れを記載します。
・汎用Sモンスター45枚を追加する《ジェット・シンクロン》と全コードトーカー+属性リンク2を1枚ずつ追加する《コード・トーカー》を互いに投入
・先行からそれぞれカードを追加。
・先行が《ダーク・グレファー》召喚後《亡龍の戦慄-デストルドー》を特殊召喚。
 この時《見習い魔嬢》と《コード・トーカー》が召喚可能であることを確認。ターンエンド。
・後攻も同様の流れで召喚。
 この時《コード・トーカー》のみ召喚可能であることを確認。
 《見習い魔嬢》は召喚対象に出てこなかった。ターンエンド。
・先行が《ジェット・シンクロン》を召喚。
 《見習い魔嬢》と《コード・トーカー》が召喚可能であることを確認。
 《デコード・トーカー》《パワーコード・トーカー》等が召喚対象に出てこなかった。

以上です。
もしかしたら別の記載を織り交ぜることで解決するかもしれませんが、
現状ではSendtoDeckを利用するだけでは無限エクストラはできなさそうです。

662名無しデュエリスト:2018/12/19(水) 00:04:34 ID:1bdfl3hQ0
カードを発動できないという状況でもカードを発動できるような効果を作りたいです。どうしたらいいでしょうか?
例)アモルファージ・ルクスのP効果の①が適用中でもAがあれば魔法カードが使える。
既質ならすいません。良ければ教えてください

663名無しデュエリスト:2018/12/19(水) 12:45:02 ID:Gzo3pjw20
>>662
Aの効果を発動できない効果を含む効果を無効にするか
発動できないカードの効果を書き換えるかというのが現実的な方法ですかね

664名無しデュエリスト:2018/12/19(水) 19:57:35 ID:1bdfl3hQ0
>>663
返信ありがとうございます
効果を発動できない効果を含む効果を無効にする効果はわかるのですが、
発動できないカードの効果を書き換えるのはどうすれば?
発動する前のカードの効果を書き換える必要があると思うのですが出来るのでしょうか?

665名無しデュエリスト:2018/12/19(水) 20:06:27 ID:Gzo3pjw20
>>664
要するにアモルファージ・ルクスとかの効果を内部的に
フィールドにAが存在せず、自分フィールドに「アモルファージ」モンスターが存在する限り、
お互いに「アモルファージ」カード以外の魔法カードの効果を発動できない。
に書き換えるということです
あとsageはつけたほうがいいですよ

666名無しデュエリスト:2018/12/19(水) 21:40:09 ID:1bdfl3hQ0
なるほど・・・つまり上の例ならルクスのスクリプトを直接書き換えるということですね
コストを変えるみたいにSetTargetを変える(もしくは付け足す)みたいな効果は作れないのでしょうか?

667名無しデュエリスト:2018/12/19(水) 22:02:59 ID:Gzo3pjw20
>>666
ReplaceEffectを使えば書き換え対象の数だけスクリプトを作る気力があればできると思います。
もしかしたらもっといい方法があるかもしれませんが・・・

668名無しデュエリスト:2018/12/19(水) 23:08:51 ID:1bdfl3hQ0
>>667
なるほど・・・試してみようと思います
ありがとうございました!

669名無しデュエリスト:2018/12/23(日) 21:58:37 ID:1bdfl3hQ0
なるほど・・・つまり上の例ならルクスのスクリプトを直接書き換えるということですね
コストを変えるみたいにSetTargetを変える(もしくは付け足す)みたいな効果は作れないのでしょうか?

670名無しデュエリスト:2019/01/08(火) 01:08:14 ID:Ta0n.bkA0
所謂シャイニングドローやリ・コントラクトユニバースの用にデュエルのゲーム外から手札やデッキにカードを追加するオリカを作りたいのですが、何かしら参考になりそうなコード等は有るでしょうか……?
開発wikiを見た感じデバッグコマンドを使えば出来なくは無い気がするのですが……

671名無しデュエリスト:2019/01/08(火) 01:21:19 ID:Gzo3pjw20
>>670
このスレの650辺りにあります

672名無しデュエリスト:2019/01/08(火) 02:12:03 ID:Ta0n.bkA0
>>671
過去の書き込みを良く読まずに質問してしまって申し訳ありませんでした。
こちらの書き込みを読みながら頑張ってみたいと思います!

673名無しデュエリスト:2019/01/10(木) 02:07:04 ID:Ta0n.bkA0
自分の「ニードルトークン」が相手モンスターの攻撃で破壊された時に発動する。
相手フィールドのモンスター1体を選んで破壊する。
その後、このカードの攻撃力は1000アップする。

こういった効果のカードを作成したいのですが、上手く動いてくれません……

local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_DESTROY)
e4:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e4:SetProperty(EFFECT_FLAG_DAMAGE_STEP+EFFECT_FLAG_DELAY+EFFECT_FLAG_CARD_TARGET)
e4:SetCode(EVENT_BATTLE_DESTROYED)
e4:SetCondition(c220200329.condition)
e4:SetTarget(c220200329.target)
e4:SetOperation(c220200329.activate)
c:RegisterEffect(e4)

function c220200329.cfilter(c,tp)
return c:IsCord(220200347) and c:GetPreviousControler()==tp
end
function c220200329.condition(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c220200329.cfilter,1,nil,tp)
end
function c220200329.target(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_MZONE,1,nil) end
local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_MZONE,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,1,0,0)
end
function c220200329.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local dg=Duel.SelectMatchingCard(tp,aux.TRUE,tp,0,LOCATION_MZONE,1,1,nil)
if dg:GetCount()>0 then
if Duel.Destroy(dg,REASON_EFFECT)~=0 and c:IsRelateToEffect(e) and c:IsFaceup() then
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_COPY_INHERIT)
e1:SetCode(EFFECT_UPDATE_ATTACK)
e1:SetValue(1000)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
c:RegisterEffect(e1)
end
end
end

現状上記のような実装になっています、動きとしては発動すらしない状況です、Conditionのeg:IsExistsが悪いのかな?とは考えているのですが、代わりに使えるコードの知識が無い状況です。

出来ればご教授のほどお願いします。

674名無しデュエリスト:2019/01/10(木) 02:09:42 ID:Ta0n.bkA0
>>673 追記:220200329がこのカード本体、220200347がトークンに割り振られたIDです。

675名無しデュエリスト:2019/01/10(木) 03:20:30 ID:Ta0n.bkA0
>>637 再追記:少し古いバージョンを貼っていました。
return c:IsCord(220200347) and c:GetPreviousControler()==tp
この行の誤字(Cord→Code)は修正済みですが、動作はしない状況です。

676名無しデュエリスト:2019/01/10(木) 16:43:31 ID:Ta0n.bkA0
>>673
この質問ですが自己解決できました、スレ汚し失礼しました。

677名無しデュエリスト:2019/02/28(木) 15:10:52 ID:jsChbv2Q0
EXからXモンスターをX召喚扱いとして特殊召喚する。その後デッキからモンスターを1枚選びそのモンスターのX素材にできる。
という効果を作りたくて下のスクリプトを作ったのですがX召喚扱いになりません。理由が分からないのですが教えて頂けませんか?
function c10011.spop(e,tp,eg,ep,ev,re,r,rp)
if Duel.GetLocationCountFromEx(tp,LOCATION_MZONE)<=0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectMatchingCard(tp,c10011.spfilter,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
local tc=g:GetFirst()
ct=Duel.SpecialSummon(tc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)
if ct>0 then
local fg=Duel.GetMatchingGroup(c10011.matfilter,tp,LOCATION_DECK,0,nil,e,tp,false,false)
if fg:GetCount()>0 and Duel.SelectYesNo(tp,aux.Stringid(10011,3)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_XMATERIAL)
local g=Duel.SelectMatchingCard(tp,c10011.matfilter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.Overlay(tc,g)
end
end
end
end

678名無しデュエリスト:2019/03/01(金) 14:35:03 ID:jTAq/nLM0
ct=Duel.SpecialSummon(tc,SUMMON_TYPE_XYZ,tp,tp,false,false,POS_FACEUP)

ctどこですか

679名無しデュエリスト:2019/03/01(金) 18:06:52 ID:jsChbv2Q0
ctはBreakEffectのためのカウントみたいなものです
ct=・・・の下のif文を回すためにつけてます

680名無しデュエリスト:2019/03/02(土) 11:58:59 ID:Gzo3pjw20
>>677
ct=の前にlocal入れたほうがいいんじゃない?

681名無しデュエリスト:2019/03/02(土) 14:57:55 ID:jsChbv2Q0
>>677
自己解決しました。回答ありがとうございます。

682名無しデュエリスト:2019/04/23(火) 15:22:08 ID:PDp1Y3G20
質問失礼します。
バーニングドロー搭載の転生炎獣パイロ・フェニックスを作りたいのですが

炎属性の効果モンスター×2体以上
このカード名の①②の効果はそれぞれ1ターンに1度しか発動できない。
①自分の墓地のリンクモンスター1体を対象として発動できる。そのモンスターを相手フィールド上に特殊召喚する。この効果で特殊召喚したモンスターの攻撃力は0となる。
②相手フィールド上にリンクモンスターが特殊召喚された場合に、そのモンスター1体を対象にして発動できる。その元々の攻撃力分のダメージを相手に与える。
③このカードが「転生炎獣パイロ・フェニックス」を素材としてリンク召喚に成功した場合に発動できる。相手フィールドのカードを全て破壊する。
④このカードの元々の持ち主は自分のライフポイントを100になるように支払ってもよい。そうした場合、払った数値1000ポイントにつき1枚カードをドローする。この効果はデュエル中に一度しか使えない。

これらの効果を使いたいのです。いいスクリプト素材はありますか?

683名無しデュエリスト:2019/04/24(水) 14:15:25 ID:XwvuZrHI0
① 夢幻崩界イヴリース ヴァンパアサッカー 
② フューチャーヴィジョン ダイナレスラーエスクリマメンチ
③ 転生炎獣ヒートライオ 超銀河眼の光子龍 クインテット・マジシャン
④ ラーの翼神竜 光の護封壁 強欲で金満な壺 BF-隠れ蓑のスチーム

多分この辺が参考になるんじゃない?
④のテキスト見る限り起動効果ですけど大丈夫ですか
後テキストが10期じゃ無かったり、そもそもOCGテキストじゃ無かったりするんで自分で直して

684名無しデュエリスト:2019/04/26(金) 01:36:16 ID:oMudfG7k0
>>682
それっぽいやつ出来ました。
あとはコード内の「yugioh」をカードIDに書き換えるだけで使えます。
④の効果は毎ターンの発動確認が邪魔だったので起動効果にしました。
ついでにルール効果として扱い、発動と効果の無効化ができません
(コストが高すぎるためこのような効果にしました)

function cyugioh.initial_effect(c)
--link summon
c:EnableReviveLimit()
aux.AddLinkProcedure(c,cyugioh.matfilter,2)
--special summon
local e1=Effect.CreateEffect(c)
e1:SetDescription(aux.Stringid(yugioh,0))
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetRange(LOCATION_MZONE)
e1:SetCountLimit(1)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET)
e1:SetTarget(cyugioh.sptg)
e1:SetOperation(cyugioh.spop)
c:RegisterEffect(e1)
--damage
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(yugioh,0))
e2:SetCategory(CATEGORY_DAMAGE)
e2:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetRange(LOCATION_MZONE)
e2:SetCountLimit(1)
e2:SetTarget(cyugioh.target)
e2:SetOperation(cyugioh.operation)
c:RegisterEffect(e2)
--destroy
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e3:SetCode(EVENT_SPSUMMON_SUCCESS)
e3:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e3:SetCondition(cyugioh.condition)
e3:SetTarget(cyugioh.destg)
e3:SetOperation(cyugioh.desop)
c:RegisterEffect(e3)
--Burning Draw
local e4=Effect.CreateEffect(c)
e4:SetCategory(CATEGORY_DRAW)
e4:SetType(EFFECT_TYPE_IGNITION)
e4:SetCost(cyugioh.bdcost)
e4:SetCondition(cyugioh.sdcon)
e4:SetTarget(cyugioh.bdtg)
e4:SetOperation(cyugioh.bdop)
e4:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e4:SetCountLimit(1,yugioh+EFFECT_COUNT_CODE_DUEL)
e4:SetRange(0xff)
c:RegisterEffect(e4)
end

685名無しデュエリスト:2019/04/26(金) 01:38:14 ID:oMudfG7k0
>>684 続き

function cyugioh.matfilter(c)
return c:IsLinkType(TYPE_EFFECT) and c:IsLinkAttribute(ATTRIBUTE_FIRE)
end
function cyugioh.filter(c,e,tp)
return c:IsType(TYPE_LINK) and c:IsCanBeSpecialSummoned(e,0,tp,false,false,POS_FACEUP,1-tp)
end
function cyugioh.sptg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return chkc:IsLocation(LOCATION_GRAVE) and chkc:IsControler(tp) and cyugioh.filter(chkc,e,tp) end
if chk==0 then return (Duel.GetLocationCount(1-tp,LOCATION_MZONE)>0)
and Duel.IsExistingTarget(cyugioh.filter,tp,LOCATION_GRAVE,0,1,nil,e,tp) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g=Duel.SelectTarget(tp,cyugioh.filter,tp,LOCATION_GRAVE,0,1,1,nil,e,tp)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,g,1,0,0)
end
function cyugioh.spop(e,tp,eg,ep,ev,re,r,rp)
local tc=Duel.GetFirstTarget()
if Duel.GetLocationCount(tp,LOCATION_MZONE)<=0 then return end
Duel.SpecialSummonStep(tc,0,tp,1-tp,false,false,POS_FACEUP)
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetCode(EFFECT_SET_ATTACK)
e1:SetValue(0)
e1:SetReset(RESET_EVENT+RESETS_STANDARD)
tc:RegisterEffect(e1)
Duel.SpecialSummonComplete()
end
function cyugioh.damfilter(c,e,tp)
return c:IsFaceup() and c:IsControler(1-tp) and c:IsType(TYPE_LINK) and (not e or c:IsRelateToEffect(e))
end
function cyugioh.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return eg:IsExists(cyugioh.damfilter,1,nil,nil,tp) end
Duel.SetTargetCard(eg)
Duel.SetOperationInfo(0,CATEGORY_DAMAGE,eg,eg:GetCount(),0,0)
end
function cyugioh.operation(e,tp,eg,ep,ev,re,r,rp)
local g=eg:Filter(cyugioh.damfilter,nil,e,tp)
local dam=g:GetSum(Card.GetBaseAttack)
Duel.Damage(1-tp,dam,REASON_EFFECT)
end
function cyugioh.linkfilter(c)
return c:IsCode(yugioh)
end
function cyugioh.condition(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return e:GetHandler():IsSummonType(SUMMON_TYPE_LINK) and c:GetMaterial():IsExists(cyugioh.linkfilter,1,nil)
end
function cyugioh.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chk==0 then return Duel.IsExistingMatchingCard(aux.TRUE,tp,0,LOCATION_ONFIELD,1,nil) end
local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g,g:GetCount(),0,0)
end
function cyugioh.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetMatchingGroup(aux.TRUE,tp,0,LOCATION_ONFIELD,nil)
Duel.Destroy(g,REASON_EFFECT)
end
function cyugioh.bdcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.GetLP(tp)>100 end
local lp=Duel.GetLP(tp)
e:SetLabel((lp-100)/1000)
Duel.PayLPCost(tp,lp-100)
end
function cyugioh.bdtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsPlayerCanDraw(tp,e:GetLabel()) end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(e:GetLabel())
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,e:GetLabel())
end
function cyugioh.bdop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler():GetOwner()
local bd=e:GetLabel()
Duel.Draw(tp,bd-1,REASON_RULE)
end
function cyugioh.sdcon(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
return c:GetOwner()==Duel.GetTurnPlayer() and Duel.GetTurnCount()~=1
end

686名無しデュエリスト:2019/04/26(金) 09:01:20 ID:PDp1Y3G20
>>685
これは先行1ターン目にバーニングドローを使うことは可能ですか?あとバーニングドローを使う時にダイヤログを表示させて文章を入れたいのですが可能でしょうか?

687名無しデュエリスト:2019/04/26(金) 10:37:09 ID:oMudfG7k0
>>686
すみません先行1ターン目に使えないのはこちらのミスです
sdcon内の「and Duel.GetTurnCount()~=1」を消してください
メッセージのみでデュエルに影響のないダイアログ程度であればbdop内の
「local bd=e:GetLabel()」と「Duel.Draw(tp,bd-1,REASON_RULE)」の間に
Duel.Hint(HINT_MESSAGE,tp,aux.Stringid(yugioh,X))を任意の数挿入してください
(yugiohはカードID、XはDBのstr-1の数値をそれぞれ必ず入力してください)

※以下例文
function cyugioh.bdop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler():GetOwner()
local bd=e:GetLabel()
Duel.Hint(HINT_MESSAGE,tp,aux.Stringid(yugioh,0))
Duel.Hint(HINT_MESSAGE,tp,aux.Stringid(yugioh,1))
Duel.Draw(tp,bd-1,REASON_RULE)
end

688名無しデュエリスト:2019/04/26(金) 15:51:51 ID:PDp1Y3G20
>>687
できました。丁寧に説明していただきありがとうございます。

689名無しデュエリスト:2019/04/26(金) 17:03:20 ID:PDp1Y3G20
③:このカードの元々の持ち主は相手のメインフェイズに発動出来る。相手は手札が3枚になるようにドローする。このスキルを発動したターンのエンドフェイズ時、自分の墓地の「トリックスター」カードの枚数分だけ相手の手札を除外する。このスキルはデュエル中に一度しか使えない。

この効果をカードに移植したいのですがお力添えをしていただけるとありがたいです。
ご不明の点がありましたら返信お願いします。

690名無しデュエリスト:2019/04/26(金) 21:19:48 ID:oMudfG7k0
>>689
こんな感じでどうでしょうか
一応効果③ということだったのでe3にしました
見たところ「ブルーエンジェル」のスキルのようだったのでルール効果として扱い、発動・効果の無効化ができません
おま環かもしれませんが発動確認の設定を「可能時のみ」または「常に確認」以外にしておくと何故か確認ダイアログが出ないので注意してください
※以下スクリプト。「yugioh」をカードIDに書き換えてください

function cyugioh.initial_effect(c)
--trickster fraud
local e3=Effect.CreateEffect(c)
e3:SetCategory(CATEGORY_DRAW)
e3:SetType(EFFECT_TYPE_QUICK_O)
e3:SetCode(EVENT_FREE_CHAIN)
e3:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e3:SetCountLimit(1,yugioh+EFFECT_COUNT_CODE_DUEL)
e3:SetCondition(cyugioh.tfcon)
e3:SetTarget(cyugioh.tftg)
e3:SetOperation(cyugioh.tfop)
e3:SetRange(0xff)
c:RegisterEffect(e3)
end
function cyugioh.tfcon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetTurnPlayer()~=tp
and (Duel.GetCurrentPhase()==PHASE_MAIN1 or Duel.GetCurrentPhase()==PHASE_MAIN2)
end
function cyugioh.tftg(e,tp,eg,ep,ev,re,r,rp,chk)
local ht=Duel.GetFieldGroupCount(1-tp,LOCATION_HAND,0)
if chk==0 then return (ht<3 and Duel.IsPlayerCanDraw(1-tp,3-ht)) end
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,1-tp,3-ht)
end
function cyugioh.tfop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler():GetOwner()
local g=Group.CreateGroup()
local ht1=Duel.GetFieldGroupCount(1-tp,LOCATION_HAND,0)
if ht1<3 then
Duel.Draw(1-tp,3-ht1,REASON_RULE)
--Remove
local e1=Effect.CreateEffect(e:GetHandler())
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_PHASE+PHASE_END)
e1:SetRange(0xff)
e1:SetCountLimit(1)
e1:SetTarget(cyugioh.remtg)
e1:SetOperation(cyugioh.remop)
Duel.RegisterEffect(e1,tp)
end
end
function cyugioh.remtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetOperationInfo(0,CATEGORY_REMOVE,nil,1,1-tp,LOCATION_HAND)
end
function cyugioh.remop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local ht2=Duel.GetMatchingGroupCount(Card.IsSetCard,c:GetControler(),LOCATION_GRAVE,0,nil,0xfb)
if ht2==0 then return end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local rg=Duel.SelectMatchingCard(tp,Card.IsAbleToRemove,tp,0,LOCATION_HAND,ht2,ht2,nil)
if rg:GetCount()>0 then
Duel.Remove(rg,POS_FACEUP,REASON_RULE)
end
end

691名無しデュエリスト:2019/04/30(火) 13:02:31 ID:PDp1Y3G20
>>690
返信遅れてすみません。動作確認しました。ありがとうございます

692名無しデュエリスト:2019/05/22(水) 19:03:29 ID:PDp1Y3G20
質問なのですがADSでストームアクセス(ライフが1000以下の時にエクストラデッキに1枚カードを加える)は再現可能でしょうか?ランダムだと使いにくいのでカードを指定してエクストラデッキに加えたいのですが…

693名無しデュエリスト:2019/05/23(木) 04:07:13 ID:RDIf/S6.0

1000以下>「エンシェントリーフ」 「魂の一撃」
指定のカード>「古代の歯車機械」(2) 「異次元の指名者」
加える>「ヘビーメタルフォーゼエレクトラム」「増援」
>>649-672

この辺が参考になるんじゃない?
ただ、正直なところ特定条件下だとバグったりしますし、OCGでできない事をADSでやるのはお勧めできないとだけ言っておく

694名無しデュエリスト:2019/05/25(土) 01:23:24 ID:oMudfG7k0
>>692
再現可能ですよ。
ただ>>692の文の効果は簡単ですが、アニメ本家の効果は難しいと思います。
(サイバース族・リンクモンスター等の限定的な指定は困難なため)
AnnounceCardとCreateTokenとSendto〜の文を書けばできると思います。
分からないことがあったり、完成文が欲しいのであればレスください。

695名無しデュエリスト:2019/05/25(土) 06:32:18 ID:PDp1Y3G20
>>693 >>694
そうなんですね!ありがとうございます!
>>694
じゃあお言葉に甘えてご依頼しても大丈夫でしょうか?

696名無しデュエリスト:2019/05/25(土) 11:36:44 ID:oMudfG7k0
>>692 >>695
アニメを観ていないので効果の詳細がよく分からないのですが、
こんな感じで合ってますか?

①:自分のライフポイントが、1000以下の場合に発動できる。
リンクモンスターのカード名を1つ宣言し、デッキ外から宣言したカード1枚をEXデッキに加える。
この効果はルール効果として扱い、この効果の発動に対して魔法・罠・モンスターの効果は発動できない。

※以下スクリプト。例によって「yugioh」をカードIDへの書き換えお願いします。

function cyugioh.initial_effect(c)
--Storm Access
local e1=Effect.CreateEffect(c)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetType(EFFECT_TYPE_IGNITION)
e1:SetCountLimit(1,yugioh+EFFECT_COUNT_CODE_DUEL)
e1:SetCondition(cyugioh.sacon)
e1:SetTarget(cyugioh.satg)
e1:SetOperation(cyugioh.saop)
e1:SetProperty(EFFECT_FLAG_CARD_TARGET+EFFECT_FLAG_CANNOT_INACTIVATE+EFFECT_FLAG_CANNOT_DISABLE+EFFECT_FLAG_CANNOT_NEGATE)
e1:SetRange(0xff)
c:RegisterEffect(e1)
end
function cyugioh.sacon(e,tp,eg,ep,ev,re,r,rp)
return Duel.GetLP(tp)<=1000
end
function cyugioh.satg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(tp)
end
function cyugioh.saop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.AnnounceCard(tp,TYPE_LINK)
local token=Duel.CreateToken(tp,tc,nil,nil,nil,nil,nil,nil)
if token then
Duel.SendtoDeck(token,nil,0,REASON_RULE)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
end
end

697名無しデュエリスト:2019/05/26(日) 18:15:18 ID:ZdXadVSY0
>>696
遅れてすみません!動作確認しました!
ありがとうございます

698名無しデュエリスト:2019/05/27(月) 20:56:53 ID:oMudfG7k0
「Master Storm Access 」
①:1ターンに1度、発動できる。
サイバース族の融合・S・X・リンクモンスターのカード名を1つ宣言し、デッキ外から宣言したカード1枚をEXデッキに加える。
この効果はルール効果として扱い、この効果の発動に対して魔法・罠・モンスターの効果は発動できない。
この効果は相手ターンでも発動できる。

遊戯王VRAINS第99話にてボーマンが使用したスキル。
これ1つで「FWD」だろうと「・X・」だろうとなんでもござれ。
君もデュエル中にリンク5のモンスターを堂々とEXデッキに加えよう。
※以下スクリプト(スクリプト内の「yugioh」をカードIDに書き換えるだけで使えます)

function cyugioh.initial_effect(c)
--Master Storm Access
local e1=Effect.CreateEffect(c)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetType(EFFECT_TYPE_QUICK_O)
e1:SetCountLimit(1)
e1:SetTarget(cyugioh.msatg)
e1:SetOperation(cyugioh.msaop)
e1:SetRange(0xff)
c:RegisterEffect(e1)
end
function cyugioh.msatg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
Duel.SetTargetPlayer(tp)
Duel.SetTargetParam(tp)
Duel.SetChainLimit(cyugioh.chainlimit)
end
function cyugioh.chainlimit(e,te,rp,tp)
return not e:IsHasType(EFFECT_TYPE_ACTIVATE)
end
function cyugioh.msaop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
cyugioh.announce_filter={RACE_CYBERSE,OPCODE_ISRACE,TYPE_FUSION+TYPE_SYNCHRO+TYPE_XYZ+TYPE_LINK,OPCODE_ISTYPE,OPCODE_AND}
local tc=Duel.AnnounceCardFilter(tp,table.unpack(cyugioh.announce_filter))
local token=Duel.CreateToken(tp,tc,nil,nil,nil,nil,nil,nil)
if token then
Duel.SendtoDeck(token,nil,0,REASON_RULE)
local p,d=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER,CHAININFO_TARGET_PARAM)
end
end

699名無しデュエリスト:2019/07/08(月) 14:59:07 ID:u/YFYLtw0
リンク先以外にエクストラのモンスターを出すっていうのは本体に手を加えないとできませんか?

700名無しデュエリスト:2019/07/09(火) 07:47:32 ID:C/98nL7Y0
>>699
「EXデッキのモンスターをSS召喚時に一度墓地に送るか除外して墓地(除外)経由で召喚条件・蘇生制限を無視して正規召喚扱いで特殊召喚」
という効果を作れば行けるかと
ただ、チェーンブロックを組まないSS(シンクロ等)はより複雑なルール効果を作る必要があります
それ以外だと多分無理じゃないかな

701名無しデュエリスト:2019/07/10(水) 19:36:23 ID:PDp1Y3G20
どなたかバレット&カートリッジというカードのスクリプト作成を依頼しても大丈夫でしょうか?効果は
通常魔法
自分のデッキからカードを4枚墓地へ送り、1枚ドローする。
その後、このカードをデッキの一番上に置く。
このカードの効果でデッキの上に置かれたこのカードをドローした場合、このカードを墓地へ送る。

という効果なのですがデッキの上から4枚ではなくデッキの中から4枚選んで墓地に送りたいです。海外のスクリプトを元に作っていたのですが上手くいかなくてお手上げです。

702名無しデュエリスト:2019/07/10(水) 20:46:56 ID:1sLhCd920
>>701
スクリーチや炎熱伝導場みたいに複数にすればいい

703名無しデュエリスト:2019/07/10(水) 22:01:15 ID:C/98nL7Y0
>>701
一応作ってみたのですが「このカードの効果によってデッキの上に置かれた〜」という処理が上手くいきません
効果使用後、いつドローしても墓地に送られます(デッキトップを変更した後ドローしても墓地に送られる)
以下スクリプトになります

--バレット&カートリッジ
function cYugioh.initial_effect(c)
--activate
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCategory(CATEGORY_TOGRAVE+CATEGORY_DRAW)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e1:SetTarget(cYugioh.tg)
e1:SetOperation(cYugioh.op)
c:RegisterEffect(e1)
end
function cYugioh.tg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(Card.IsAbleToGrave,tp,LOCATION_DECK,0,4,nil) and Duel.IsPlayerCanDraw(tp,1)
and Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)>=5 end
Duel.SetTargetPlayer(tp)
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,nil,4,tp,LOCATION_DECK)
Duel.SetOperationInfo(0,CATEGORY_DRAW,nil,0,tp,1)
end
function cYugioh.op(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g=Duel.SelectMatchingCard(tp,Card.IsAbleToGrave,tp,LOCATION_DECK,0,4,4,nil)
if g:GetCount()>0 then
Duel.SendtoGrave(g,4,REASON_EFFECT) end
local p=Duel.GetChainInfo(0,CHAININFO_TARGET_PLAYER)
if c:IsRelateToEffect(e) then
Duel.Draw(p,1,REASON_EFFECT)
Duel.BreakEffect()
c:CancelToGrave()
Duel.ShuffleDeck(tp)
Duel.SendtoDeck(c,nil,0,REASON_EFFECT)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOGRAVE)
e1:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_F)
e1:SetCode(EVENT_TO_HAND)
e1:SetCondition(cYugioh.descon)
e1:SetTarget(cYugioh.destg)
e1:SetOperation(cYugioh.desop)
e1:SetReset(RESET_EVENT+0x1de0000)
c:RegisterEffect(e1)
end
end
function cYugioh.descon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():IsReason(REASON_DRAW)
end
function cYugioh.destg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsRelateToEffect(e) end
Duel.SetOperationInfo(0,CATEGORY_TOGRAVE,e:GetHandler(),1,0,0)
end
function cYugioh.desop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SendtoGrave(c,REASON_EFFECT)
end
end

704名無しデュエリスト:2019/07/11(木) 00:54:36 ID:ob5wce4g0
それはADSでは識別できない気がします。

705名無しデュエリスト:2019/07/15(月) 18:20:37 ID:PDp1Y3G20
>>703
自分も認識しなくて悩んでたんですよね。ADS的に無理ならしょうがないです。
あとインフェルニティリベンジャーもお願いしても大丈夫でしょうか?自分のだと墓地に2枚リベンジャーを落とすと攻撃時にADSが落ちてしまいます。

このカードが墓地に存在し、自分の手札が0枚の場合、自分フィールド上のモンスターが相手モンスターとの戦闘によって破壊され自分の墓地へ送られた時、このカードを墓地から特殊召喚できる。この効果で特殊召喚したこのカードは、その戦闘によって破壊された自分のモンスターの元々のレベルと同じレベルになる。

連続で送ってしまって申し訳ございません。

706名無しデュエリスト:2019/07/15(月) 19:02:52 ID:C/98nL7Y0
>>705
「攻撃時にADSが落ちる」という状況がよくわかりません
相手のモンスターなのか自分のモンスターなのか何のモンスターなのか
そもそも「インフェルニティリベンジャー」はOCG版のスクリプトの「c85475641.filter」内にある
「and c:GetCode()~=85475641」を消すだけでアニメ効果っぽくなると思います
もしそれで落ちるならADS本体か他のカードやDB側の問題ですね

707名無しデュエリスト:2019/07/15(月) 19:25:59 ID:Op4iQ/Q60
リベンジャーはOCG化されているのでは…?
と思ったけど同名もいけるのか。
「光竜星-リフン」2や「異界の棘紫獣」が参考になりそうですかね

708名無しデュエリスト:2019/07/17(水) 01:21:25 ID:3gZ9E.Zg0
イベントコードのEVENT_STARTUPって使えないのでしょうか?下のテキストだとうまく動いてくれるのですが、PREDRAWをSTARTUPにすると動いてくれません。
constantにあるので使えると思うのですが何か条件があるのでしょうか?よろしければ教えてください
function c10022.initial_effect(c)
local e0=Effect.CreateEffect(c)
e0:SetProperty(EFFECT_FLAG_UNCOPYABLE+EFFECT_FLAG_CANNOT_DISABLE)
e0:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
e0:SetCode(EVENT_PREDRAW)
e0:SetCountLimit(1,10022+EFFECT_COUNT_CODE_DUEL)
e0:SetRange(LOCATION_DECK)
e0:SetOperation(c10022.op)
c:RegisterEffect(e0)
end
function c10022.rfilter(c)
return c:IsCode(10022)
end
function c10022.op(e,tp,eg,ep,ev,re,r,rp,chk)
local dc=Duel.GetFieldGroupCount(tp,LOCATION_DECK,0)
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,true)
Duel.ShuffleDeck(tp)
end

709名無しデュエリスト:2019/07/17(水) 19:46:51 ID:W4dyack20
>>708
多分ですが、現状使用不可なコードです

710名無しデュエリスト:2019/07/17(水) 20:34:33 ID:3gZ9E.Zg0
>>709 なるほど・・・ありがとうございますm(__)m

711名無しデュエリスト:2019/08/24(土) 14:28:51 ID:depBCins0
名称ターン2のカードを作ることはできますか?

712名無しデュエリスト:2019/08/24(土) 22:40:39 ID:MfK9n1js0
シースター

713名無しデュエリスト:2019/08/25(日) 11:26:20 ID:depBCins0
>>712 ありがとうございます!!

714名無しデュエリスト:2019/09/13(金) 21:01:52 ID:p2hkm/h20
召喚時誘発・デッキトップ3枚を確認して、「BF」カードを召喚、手札に加える…といった効果(モンスターなら召喚、魔法・罠なら手札に)を作ろうとしているのですが、なかなか上手く行きません。
ミミックリル、フォクシーの効果を参考にしようとしたものの、効果を共存させられません…。ご教授いただければ幸いです

715名無しデュエリスト:2019/09/15(日) 22:07:20 ID:xTljGC/k0
>>714
その中から1枚じゃなくて3枚全部って事?

716名無しデュエリスト:2019/09/15(日) 23:46:28 ID:RhDOr6lI0
>>715
そうです。「BF」モンスターを可能な限り召喚、または「BF」魔法・罠を可能な限り手札に加える…といったところでしょうか。

717名無しデュエリスト:2019/10/08(火) 18:42:30 ID:RVTpXkOE0
サイバーポッドは?

718名無しデュエリスト:2020/01/19(日) 04:05:46 ID:Rzpg2cRQ0
遊戯王ADSでアニメオリカが欲しいんだけど、知ってる人いればURLとか貼ってくれるとうれしい

719名無しデュエリスト:2020/01/19(日) 08:10:59 ID:H1Z7m7dM0
>>718
現日版なら
・自分で作る
・配布してる方からいただく
のどちらかですかね。
現日版に対応している配布者さんはかなり絞られそうですね。
パーシは元からあった気はします。

720名無しデュエリスト:2020/01/21(火) 00:50:35 ID:3SK0.HC.0
パーシーから移植すればいいじゃん。

721名無しデュエリスト:2020/01/21(火) 01:12:06 ID:i88F.Vn20
パーシ高速アニメならないんだもんな

722名無しデュエリスト:2020/01/21(火) 05:32:45 ID:V/UP6U5w0
>>720
パーシと日版は内部処理やスクリプト表記が異なるものもありますので
書き換えが必要なものも多数あります。

723名無しデュエリスト:2020/01/22(水) 05:54:57 ID:Rzpg2cRQ0
コメントありがとです
【魔法の教科書】と【ネクロマンシー】使いたいです!
ネクロマンシーがパーシーにありました。
魔法の教科書は自分でがんばってみます!

724名無しデュエリスト:2020/02/22(土) 09:04:14 ID:esFdvNq.O
エンドフェイズに手札を棄てる処理のない悪夢の蜃気楼とか、
ライフコストのない血の代償とかの効果を、
終焉のカウントダウンみたいな、1度、発動したら
効果無効になることなく、ずっと続いていくような
改変スクリプトのオリジナルカードを、スピードワールド2みたいな感じに
デュエル開始時にEXデッキから自動で発動する、そういうのでもあれば、
ラッシュデュエルのルールの擬似再現もできるのかな?

ラッシュデュエルのルール用にゲームバランス調整したり、
初期ライフポイントを個別にハンデ設定できないのを擬似的に設定可能にしたり、
そういうルール変更用の特集なオリジナルカードを入れた
対人プレイ用のデッキとか、そういうのつくりたいんだけど。

725名無しデュエリスト:2020/02/22(土) 09:04:58 ID:esFdvNq.O
エンドフェイズに手札を棄てる処理のない悪夢の蜃気楼とか、
ライフコストのない血の代償とかの効果を、
終焉のカウントダウンみたいな、1度、発動したら
効果無効になることなく、ずっと続いていくような
改変スクリプトのオリジナルカードを、スピードワールド2みたいな感じに
デュエル開始時にEXデッキから自動で発動する、そういうのでもあれば、
ラッシュデュエルのルールの擬似再現もできるのかな?

ラッシュデュエルのルール用にゲームバランス調整したり、
初期ライフポイントを個別にハンデ設定できないのを擬似的に設定可能にしたり、
そういうルール変更用の特集なオリジナルカードを入れた
対人プレイ用のデッキとか、そういうのつくりたいんだけど。

726名無しデュエリスト:2020/02/22(土) 19:34:06 ID:h42vsDqw0
そもそもルールがまだわかってないから何とも言えないけどやろうと思えばできるんでない

727名無しデュエリスト:2020/04/05(日) 08:50:46 ID:bCBx8iMo0
①の効果は1ターンに2度までしか使用できない。
①:自分のデッキ・手札・フィールドからチューナー1体とチューナー以外のモンスターを任意の数だけ墓地へ送り、
墓地へ送ったモンスターのレベルの合計と同じレベルを持つSモンスター1体を、エクストラデッキからS召喚扱いで特殊召喚する。
②:このカードが墓地に存在する場合、自分の墓地の「シンクロ・フュージョン」以外のカードを3枚除外して発動できる。
墓地のこのカードを手札に加える。
というカードのスクリプトを作ったのですが、デッキのモンスターのレベル的に特殊召喚できないはずのSモンスターを選択出来て、
その後[Script Error]: [string "./script/c134217715.lua"]:49: attempt to index a nil value とエラーを吐いてしまいます、何処をどうすればいいのか教えてください。
--シンクロ・フュージョン
function c134217715.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SPECIAL_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCountLimit(2,134217715+EFFECT_COUNT_CODE_OATH)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetOperation(c134217715.activate)
c:RegisterEffect(e1)
--salvage
local e2=Effect.CreateEffect(c)
e2:SetCategory(CATEGORY_TOHAND)
e2:SetDescription(aux.Stringid(134217715,1))
e2:SetType(EFFECT_TYPE_IGNITION)
e2:SetRange(LOCATION_GRAVE)
e2:SetCost(c134217715.thcost)
e2:SetTarget(c134217715.thtg)
e2:SetOperation(c134217715.thop)
c:RegisterEffect(e2)

end

function c134217715.filter1(c,e,tp)
local lv=c:GetLevel()
return c:IsType(TYPE_SYNCHRO) and lv<13
and c:IsType(TYPE_SYNCHRO) and c:IsCanBeSpecialSummoned(e,SUMMON_TYPE_SYNCHRO,tp,false,false) and Duel.GetLocationCountFromEx(tp,tp,nil,c)>0
end
function c134217715.filter2(c,tp,lv)
local rlv=lv-c:GetLevel()
local rg=Duel.GetMatchingGroup(c134217715.filter3,tp,LOCATION_ONFIELD+LOCATION_DECK+LOCATION_HAND,0,c)
return rlv>0 and c:IsType(TYPE_TUNER) and rg:CheckWithSumEqual(Card.GetLevel,rlv,1,63)
end
function c134217715.filter3(c)
return c:GetLevel()>0 and not c:IsType(TYPE_TUNER)
end

function c134217715.activate(e,tp,eg,ep,ev,re,r,rp)

if aux.MustMaterialCheck(nil,tp,EFFECT_MUST_BE_SMATERIAL)
and Duel.IsExistingMatchingCard(c134217715.filter1,tp,LOCATION_EXTRA,0,1,nil,e,tp)
and Duel.SelectYesNo(tp,aux.Stringid(134217715,0)) then
Duel.BreakEffect()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local g1=Duel.SelectMatchingCard(tp,c134217715.filter1,tp,LOCATION_EXTRA,0,1,1,nil,e,tp)
local lv=g1:GetFirst():GetLevel()
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g2=Duel.SelectMatchingCard(tp,c134217715.filter2,tp,LOCATION_ONFIELD+LOCATION_DECK+LOCATION_HAND,0,1,1,nil,tp,lv)
local rlv=lv-g2:GetFirst():GetLevel()
local rg=Duel.GetMatchingGroup(c134217715.filter3,tp,LOCATION_ONFIELD+LOCATION_DECK+LOCATION_HAND,0,g2:GetFirst())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g3=rg:SelectWithSumEqual(tp,Card.GetLevel,rlv,1,63)
g2:Merge(g3)
Duel.SendtoGrave(g2,POS_FACEUP,REASON_MATERIAL+REASON_SYNCHRO)
Duel.SpecialSummon(g1,SUMMON_TYPE_SYNCHRO,tp,tp,false,false,POS_FACEUP)
g1:GetFirst():CompleteProcedure()
end
end


function c134217715.thfilter(c)
return c:IsAbleToRemoveAsCost() and not c:IsCode(134217715)
end
function c134217715.thcost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c134217715.thfilter,tp,LOCATION_GRAVE,0,3,nil) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_REMOVE)
local g=Duel.SelectMatchingCard(tp,c134217715.thfilter,tp,LOCATION_GRAVE,0,3,3,nil)
Duel.Remove(g,POS_FACEUP,REASON_COST)
end
function c134217715.thtg(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToHand() end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
end
function c134217715.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SendtoHand(c,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,c)
end
end

728名無しデュエリスト:2020/04/06(月) 00:28:42 ID:qcOn.e/.0
とりあえず何故かMZONEになるはずの所がONFIELDになっているのと
SendtoGraveなのにPOS_FACEUPとか入ってるのと
c:IsType(TYPE_SYNCHRO)が2つあるのと墓地へ送るチェックしてないのと突っ込みどころが多すぎる

729名無しデュエリスト:2020/04/06(月) 05:40:23 ID:bCBx8iMo0
MZONEとPOS_FACEUPとc:IsType(TYPE_SYNCHRO)については直しました。
王魂調和のスクリプトを弄って作ってたので墓地へ送るチェックはしていないみたいですね。
スクリプト作成素人なので申し訳ないですが墓地へ送るチェックのやり方を教えてください。

730名無しデュエリスト:2020/04/09(木) 02:39:15 ID:C0vfSWSg0
王魂とネクロイドを見比べながら墓地へ送る系のカード見つつやればいいんじゃない?

731名無しデュエリスト:2020/04/09(木) 05:48:47 ID:bCBx8iMo0
王魂とネクロイド・シンクロを見比べながら適当に弄ってたら出来ました。
アドバイスありがとうございます。
尚なぜ出来たかは自分でもわかってない模様

732名無しデュエリスト:2020/04/10(金) 02:04:10 ID:1wb.qwMo0
記述大丈夫かは完成したの張ったりディスコ行けば多分見てくれる

733名無しデュエリスト:2020/10/10(土) 02:24:12 ID:6OiG1vXo0
hollowのオリカで、既に発動済のプレイヤーに対する永続効果(具体的には、プレイヤーに対する「〜の効果の発動に対して相手は効果を発動できない」という効果)のみを無効にする効果のスクリプト考えているんですけど
その永続効果を持つカード自体の効果を無効にする以外の方法でこれを可能にする方法って何かあります?
もしくは、「〜の効果の発動に対して相手は効果を発動できない」という効果の適用下でも効果を発動させる方法とか。
とりあえずSetCode(EFFECT_IMMUNE_EFFECT)を使ってSetTargetRangeを自分にしても、既に発動済みの効果に対しては効かないみたいです。

734名無しデュエリスト:2020/10/26(月) 02:04:24 ID:u6CZfFks0
無理。
そもそも遊戯王は基本的に適用済みの効果に干渉できない。

735名無しデュエリスト:2021/03/22(月) 06:31:33 ID:6OiG1vXo0
>>734
レス遅れて申し訳ありません。
やはり無理なんですね。
どうもありがとうございました。

736名無しデュエリスト:2021/03/24(水) 00:21:06 ID:6OiG1vXo0
>>734
やっぱ無理なんですね。
ありがとうございました。


新着レスの表示


名前: E-mail(省略可)

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

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

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

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