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

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

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

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

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

2 名無しデュエリスト :2016/07/16(土) 10:01:54 ID:N..JxTec0
《ギミック・ボックス》
【スクリプト等】
http://www1.axfc.net/u/3692446

投稿はこういう感じでおk?

3 名無しデュエリスト :2016/07/16(土) 15:57:26 ID:HLSX9P960
アニメで登場した未OCG化のカード(オレイカルコスシリーズ、B・Fなど)や、
アニメ版効果のカードもOKって解釈して良いですか?

実際は作る方より使いたい方ですが・・・

4 名無しデュエリスト :2016/07/16(土) 17:04:00 ID:4SmMHWyY0
>>3
>>2が早速未OCGのアニメオリカだし、全然問題ないんじゃない?

5 名無しデュエリスト :2016/07/16(土) 17:21:03 ID:nfNN3lMY0
>>3
オリカのスクリプトの作成依頼とかも面白そうですね。
もちろん、誰かがそれに興味を持たないと作ってもらえないですけど

6 名無しデュエリスト :2016/07/16(土) 18:12:13 ID:HLSX9P960
>>5
それならアニメオリカと公式発表された未OCG化カードの
両方使える状態がいいですね。

7 名無しデュエリスト :2016/07/16(土) 19:32:50 ID:xQD6g/JM0
誰かデュエマやろうや

8 名無しデュエリスト :2016/07/17(日) 00:50:46 ID:bepR2mMA0
アニメ版オレイカルコスのスクリプト作るとしたらどんな感じだろう…
マッチキル(魂を奪う)とか入れたら面白そうだけど面倒くさい…

9 名無しデュエリスト :2016/07/17(日) 01:38:26 ID:N..JxTec0
>>8
敗北したプレイヤーの画面に「あなたはオレイカルコスの結界によって魂を奪われました」って表示するとか?
なんにしてもデュエルに影響する処理として実装するのは難しそう

10 名無しデュエリスト :2016/07/17(日) 18:06:21 ID:I1jYybW60
以前アクションデュエルを取り入れた動画を観たことがあるのですが、(一定の条件下で確率で手札にアクションカードを加えるもの)
そこまで大掛かりなものになると本体まで手を加える必要はあるのでしょうか。

11 名無しデュエリスト :2016/07/17(日) 18:46:31 ID:2tCEEvQA0
こんなんでどうだ
デュエル開始時にデッキ・手札から発動、アクションカードカテゴリのカードを全て除外
カテゴリターン1制限でフリーチェーンで除外ゾーンから手札に加える効果
この効果以外で手札に加えられない効果

デュエル開始時にデッキから発動とか多分できないと思うけどね

12 名無しデュエリスト :2016/07/17(日) 18:51:33 ID:2tCEEvQA0
《ナーガ》はデッキで効果を発動するみたいだね
手元にスクリプト無いからよく分からんけど応用できれば行けるんじゃないかね

13 名無しデュエリスト :2016/07/17(日) 19:45:04 ID:Rv.HsamY0
>>10
あの動画はスクリプト内で疑似乱数を作ってるようですが、そこまでこだわらなくてもサイコロやコインで乱数を作れば、可能ですよ。

ゲーム開始時にデッキから除外もデッキにないカードをつくるのもスクリプトで可能なので、意外と再現可能ですよ。

海外版adsにはアクションフィールドのスクリプトがあるので参考に見てみてください

14 名無しデュエリスト :2016/07/17(日) 20:32:40 ID:I1jYybW60
>>11-12, >>13
有難うございます。思っていたより色々な処理が出来るんですね。
教えて頂いたカードを参考にしながら試してみます。

15 名無しデュエリスト :2016/07/17(日) 21:07:50 ID:4SmMHWyY0
>>10が言ってる動画って例の黄泉天輪ホルアクティの人の動画?
それなら確か非公式スクリプトでアクションフィールドを配布してたはずだから、参考になるかも

16 名無しデュエリスト :2016/07/18(月) 01:59:48 ID:N..JxTec0
《デストロイ・ゼム・オール》
《L・B・ゴーファー》
《R・B・ゴーファー》
http://www1.axfc.net/u/3693439

巨大戦艦にも・・・笑顔を・・・
そういえばペンデュラムユニオンって楽しい事になりそうなのに全然出ないね

17 名無しデュエリスト :2016/07/23(土) 21:38:10 ID:HLSX9P960
公式未OCG化カードとアニメオリジナルカードの両方をADSで使えるようにしてほしい。

個人的にGX時代とARCVのエドのカードを噛み合わせて使いたい。

18 名無しデュエリスト :2016/07/23(土) 22:06:19 ID:nfNN3lMY0
>>17
よく分からんけど、アニメオリカのスクリプトと非公式スクリプトはなにもしなくても一緒に使えるぞ

19 名無しデュエリスト :2016/07/23(土) 23:19:53 ID:Cc/.3qXE0
アニオリは有志がいっぱい作っている人いるからそれを許可得て修正してやっていくってのは?
2000枚近くあるスクリプトを修正していく必要があるけど

20 名無しデュエリスト :2016/07/24(日) 08:40:12 ID:HJQP98zM0
洗脳ブレインコントロールを全てのコントロールを得るに
変えてみたくて、憑依するブラッド・ソウルのスクリプト参考にしようと
したけど上手くできなかった・・・。  どこをいじればいいのだろうか?

21 名無しデュエリスト :2016/07/24(日) 08:49:04 ID:nfNN3lMY0
>>20
普通にターゲットを
サンダーボルトみたいに相手フィールド上のすべてのモンスターを標的にするものに変えればいいんでね?

22 名無しデュエリスト :2016/07/24(日) 12:18:32 ID:P5FNuDwk0
>>20
対象を取る効果から取らない効果に代わるからだいぶ変わるよ
c87910978.lua内で
7,22,24,25,26行目を全削除
21行目の[,chkc]を削除
23行目を[IsExistingTarget]→[IsExistingMatchingCard]に修正
29~32行を全部消して以下に修正

local g=Duel.GetMatchingGroup(c87910978.filter,tp,0,LOCATION_MZONE,nil)
local tc=g:GetFirst()
while tc do
Duel.GetControl(tc,tp,PHASE_END,1)
tc=g:GetNext()
end

多分これでいける

23 名無しデュエリスト :2016/07/24(日) 14:43:45 ID:P5FNuDwk0
>>20
スマン、ブレインコントロールのスクリプトだけ読んで適当なこと言ってた
上記の状態から、
23行目の[IsExistingMatchingCard(~~) end]のendの前に[Duel.GetLocationCount(tp,LOCATION_MZONE)>0]を挿入
target内の最後に[Duel.SetOperationInfo(0,CATEGORY_CONTROL,nil,1,1-tp,LOCATION_MZONE)]を挿入
[local tc=~~]の行から[end]までを[Duel.GetControl(g,tp)]に修正
多分これで問題ない

24 名無しデュエリスト :2016/07/24(日) 21:36:25 ID:HJQP98zM0
ありがとうございます!

25 名無しデュエリスト :2016/07/26(火) 11:41:19 ID:HJQP98zM0
【スクリプト、cdbファイル】
《古代の機械狂融合》
《ダイスマン》
http://www1.axfc.net/u/3697535.zip
完全なオリカです。

26 名無しデュエリスト :2016/07/26(火) 19:54:52 ID:NN0hZaFo0
【スクリプト、画像、cdb】
http://www1.axfc.net/u/3697671
完全オリカです。既存カードとのバランスを考えて作成はしてません。
使用は自己責任でお願いします。

《スナッチャー・ホーク》《スナッチャー・スパロー》《スナッチャー・ピジョン》
《スナッチャー・クロウ》《スナッチャー・オウル》《スナッチャー・グル》
《スナッチャー・ファルコン》《スナッチャー・イーグル》《ターゲット・ロックオン》

27 名無しデュエリスト :2016/07/29(金) 00:41:54 ID:rN8Twv8A0
>1

28 名無しデュエリスト :2016/08/05(金) 02:28:16 ID:ikNehU8s0
アルカナフォース0-THE FOOLのコイントス結果を、
正位置固定にしたいんですがどこを書き換えればいいのでしょうか?

29 名無しデュエリスト :2016/08/07(日) 02:56:00 ID:2tCEEvQA0
コイントスしたいと考えなければいいのだ
召喚・特殊召喚時効果にしてしまえばいいのだ

30 名無しデュエリスト :2016/08/07(日) 13:59:52 ID:nfNN3lMY0
光の結界じゃいかんの?

31 名無しデュエリスト :2016/08/13(土) 18:26:25 ID:rAlYLzPM0
先行と後攻で適用されるプレイヤーが変わるという現象について
発動プレイヤーが対象等を選択するはずなのに
先行を取ったプレイヤーが選ぶようになってしまいます。
非公式スクリプトでも稀に確認できた現象なのですが、何が原因なのでしょうか?

32 名無しデュエリスト :2016/08/13(土) 21:23:36 ID:2tCEEvQA0
スレチな気がする
スクリプト等作成・バグ報告スレの管轄では?
あと、その不具合が確認されたカード名について書くべき
スクリプト読まんとなんとも言えん

33 名無しデュエリスト :2016/08/16(火) 22:02:13 ID:jp5I8b720
>>32
>>31は自作スクリプトの書き方話っぽいし、こっちで良いんじゃない?

>>31
SelectTargetの最初の引数を0にしてるじゃろ

34 名無しデュエリスト :2016/08/31(水) 21:42:41 ID:HJQP98zM0
白黒の波動の除外効果なのですが、これを対象を取らない効果として扱う
ようにしたいのですがどこをいじればいいでしょうか?

35 名無しデュエリスト :2016/08/31(水) 21:55:39 ID:nfNN3lMY0
プロパテイがターゲットを取る効果に設定されてるからガラッと変えないと行けないわ

多分、対象取らない効果のカードのスクリプトを書き換えたほうが早い

36 名無しデュエリスト :2016/09/01(木) 09:27:07 ID:HJQP98zM0
ありがとうございます

37 名無しデュエリスト :2016/09/09(金) 07:22:29 ID:INsnLwwk0
他のアニメ作品をオリカにした場合、ここに投稿するのはまずいですかね。
ちゃんとした画像つけたいから、原作オリカか他アニメのオリカしか作ったことないんですよね…。

38 名無しデュエリスト :2016/09/09(金) 19:47:37 ID:zv8xHcwA0
>>37
別に大丈夫だと思う

39 名無しデュエリスト :2016/09/09(金) 21:12:11 ID:nfNN3lMY0
>>1に書いてあるしどんなものでもいいと思うよ

40 名無しデュエリスト :2016/09/14(水) 23:13:28 ID:INsnLwwk0
>>38>>39
よかった、なら手直し終わったら投稿する事にします。

前回のアップデート?でスクリプトの守備表示の表記が変わったみたいですね。
おかげで全部見直すことに…。

41 名無しデュエリスト :2016/09/15(木) 21:13:58 ID:nJNlh0Bc0
初投稿・初制作なのでDLする時とかに不備があったら申し訳ないです

アニメ版のダークリベリオンエクシーズドラゴンを制作してみたのですが、
X召喚・素材を使って相手モンスターを対象にとる処までは問題無いのに肝心の攻撃力を吸収しません。
どこが間違っているか、どう訂正すれば良いか教えていただけると助かります。

http://www1.axfc.net/u/3718847

42 名無しデュエリスト :2016/09/16(金) 01:22:59 ID:nfNN3lMY0
>>40
defenceとdefenseが変わった件ですね。
grep系?のソフトを使えば、簡単に自動で置き換えてくれますよ。
自分はdevas35bというやつで自動変換しました。
いろいろ探してみるといいですよ。

43 名無しデュエリスト :2016/09/16(金) 02:02:58 ID:nfNN3lMY0
>>41
日本版と比べた感じだと
math.ceil
がないから原因これじゃない?

44 名無しデュエリスト :2016/09/16(金) 07:21:37 ID:INsnLwwk0
>>42>>43
math.ceilは切り捨てに関してなので(多分)関係ないと思います。

SetReset(RESET_EVENT+0x5fe0000+RESET_PHASE+RESET_END)

SetReset(RESET_EVENT+0x1fe0000+RESET_PHASE+RESET_END)

これで動くはずです。
「多分」とか「はず」とかばっかりですみません。

45 名無しデュエリスト :2016/09/16(金) 07:24:19 ID:INsnLwwk0
すみません。
44は>>42ではなく>>41でした。

46 名無しデュエリスト :2016/09/16(金) 11:39:38 ID:qKDrkW/U0
>>41
ちょうど同じものを作っていたので比較してみました
攻撃力の吸収自体ができない原因はResetの部分だと思います
 RESET_END → PHASE_END

47 名無しデュエリスト :2016/09/16(金) 14:14:38 ID:nfNN3lMY0
あー、エラーログ出してなかった感じかな

48 >>40 :2016/09/16(金) 23:09:39 ID:nJNlh0Bc0
>>44>>45を試してみたのですが、書き換えたところX召喚自体ができなくなるという…

49 名無しデュエリスト :2016/09/17(土) 13:12:13 ID:nfNN3lMY0
>>48
そこだけの変更でエクシーズできなくなることはないと思うけど、
赤字のエラー出てない?

50 名無しデュエリスト :2016/09/18(日) 07:41:23 ID:INsnLwwk0
>>48
検証不足で申し訳ありません。
>>46の方の言う通り、RESET_END → PHASE_ENDで正常に動きました。

>>44は変えても変えなくても支障が無いという…。
X召喚ができなくなる現象は確認できませんでしたので、少なくとも投稿されているscriptであれば
>>46で動くようになります。

51 名無しデュエリスト :2016/09/18(日) 08:31:24 ID:INsnLwwk0
https://www.axfc.net/u/3719661

【スクリプト、CDB】

《Sinサイバー・エンド・ドラゴン》《Sinレインボー・ドラゴン》《Sin青眼の白龍》
《Sin真紅眼の黒竜》《Sinスターダスト・ドラゴン》《Sinパラレルギア》
《Sinパラドクス・ドラゴン》《Sin Selector》《Sin Cross》《Sin Forse》《Sin Tune》

どれから投稿するか迷ったのですが、まずは原作Sinからにしました。
トゥルース関連は入ってません。出来上がる前に力尽きました。
画像も同じ理由から入ってません。
(自分はあるブログで配布されていたのをお借りしていました。)
おかしなところあれば、ご一報よろしくお願いします。

52 名無しデュエリスト :2016/11/09(水) 22:11:20 ID:KSrN8I8w0
SRアクマグネ作ってるんだが
もしかしてCard.IsSynchroSummonableって相手フィールドのモンスターに対応してない…?

53 名無しデュエリスト :2016/11/11(金) 23:23:11 ID:T0L6Vje60
このカードが攻撃対象に選択された時に発動できる。
その攻撃モンスターをデッキに戻す。
この効果を作ろうとしてるんですが、発動すらしません。
スクリプト https://www.axfc.net/u/3739588&key=ads
誰か助言お願いします。

54 名無しデュエリスト :2016/11/11(金) 23:43:25 ID:nfNN3lMY0
>>52
シンクロ・マテリアルがあるから相手モンスターもシンクロ素材に出来ると思うけど、どうなんだろ?

55 名無しデュエリスト :2016/11/11(金) 23:50:41 ID:nfNN3lMY0
>>53
EVENT_BE_BATTLE_TARGETが
EFENT_BE_BATTLE_TARGETになってますね笑

56 名無しデュエリスト :2016/11/12(土) 22:05:36 ID:T0L6Vje60
>>53
すみません、色々してたらできました。

57 名無しデュエリスト :2016/11/16(水) 11:30:44 ID:CyRNefiI0
「青眼の白龍」+「真紅眼の黒竜」+ドラゴン族・光属性モンスター×2
こういう融合召喚条件を作りたいと思っているんですが、同じような融合召喚条件のカードは無く、
唯一参考にできそうな「インフェルノイド・ティエラ」は、記述が難解で解読が難しく、困り果てている現状です。。
どなたか知恵をお貸し頂けないでしょうか?

58 名無しデュエリスト :2016/11/17(木) 00:22:41 ID:.xkoRCmk0
>>54
ADSは時々よく分からん関数が出てきて困る

>>57
fsconが融合召喚できるかのチェック、fsopが融合召喚時の素材選択手順って事は分かるよな?
fcfilter1,2,3はそれぞれ融合素材代用モンスター、カード名が指定されたモンスター、カテゴリ名が指定されたモンスターに対して、「そいつを素材に融合できるか?」っていうフィルタ
こういう(まどろっこしい)書き方をする事で融合素材選択がどのカードからでもできるようにしてるっぽい
ティエラからいじるなら、IsExistsの第3引数を2枚以上にしたり、176行目以降を少し変えたりすればできそうだな

内輪で使う程度なら「青眼を選択→真紅眼を選択→他のドラゴンを2体選択」って方式で1から作ってもいいと思う
コードが短くなって分かりやすいし、使い勝手もそんなに変わらないし

59 名無しデュエリスト :2016/11/17(木) 00:25:40 ID:uAwBwZU60
>>57
≪古代の機械究極巨人≫の「古代の機械巨人」指定部分をそれぞれのドラゴンにして、
「アンティーク・ギア」モンスターの部分を≪ビーストアイズ・ペンデュラム・ドラゴン≫の種族属性指定に書き換えるってのは?
×2の部分は≪月光舞獅子姫≫の「ムーンライト」モンスター×2の部分を参考にすると良いかも

60 名無しデュエリスト :2016/11/17(木) 15:44:44 ID:CyRNefiI0
>>58
お返事ありがとうございます。
スクリプトを改造してテストしてみたのですが、ドラゴン族・光属性のモンスターが1体の時でも「融合」魔法カードを発動できてしまいます。
改造したスクリプトをお見せするので、要らない記述、変えた方が良い記述などありましたら、ご教授頂けると助かります。

http://secretroom.ddo.jp/~upload4/upl/Vry5I5PBPbHcLyegE8U3.lua

>>59
お返事ありがとうございます。
教えていただいた方法で試みてみましたが、その方法ではどうやら難しいことが解りました。
でも回答いただけて嬉しかったです。改めてありがとうございます。

61 名無しデュエリスト :2016/11/17(木) 17:08:00 ID:CyRNefiI0
>>60
補足不足でした、すみません。
「青眼の白龍」、「真紅眼の黒竜」もその時手札に揃ってました。
ドラゴン族・光属性のモンスターが1体足りないのに融合魔法カードを発動できてしまった、という訳です。

62 名無しデュエリスト :2016/11/17(木) 22:27:19 ID:.xkoRCmk0
>>60,61
>>58
>IsExistsの第3引数を2枚以上にしたり
これ

63 名無しデュエリスト :2016/11/18(金) 06:20:16 ID:CyRNefiI0
>>62
IsExistsの第3引数を2枚以上にしましたけど、それでも融合魔法を発動できてしまったので、元に戻しました。
折角教えて頂いたのにすみません。

64 名無しデュエリスト :2016/11/18(金) 20:27:35 ID:.xkoRCmk0
>>63
分かったドラゴン族光属性の中に青眼が入ってるから数が合わないんだ
青眼1体の他にドラゴン族光属性が2体以上あるかチェックすればイケるんじゃない?

65 名無しデュエリスト :2016/11/18(金) 21:39:19 ID:CyRNefiI0
>>64
お返事ありがとうございます。

>青眼1体の他にドラゴン族光属性が2体以上あるかチェックすればイケるんじゃない?
教えて頂いて申し訳ないですが、記述の仕方が全く解りません…。
何か参考にできるカードは無いでしょうか?

66 名無しデュエリスト :2016/11/19(土) 15:10:10 ID:BnpMd0.k0
>>65
指定の仕方が特殊だから似たカードは無いんじゃない?
青眼→自身を除く光ドラゴンが2体居るか?
真紅眼→上記の条件を満たす青眼が居るか?
光ドラゴン→上記の条件を満たす真紅眼が居るか?
ていう指定ならどう?

ところで融合が発動できるのはfsconのwhile文中が間違ってたのが原因っぽかった
代用(1体まで)+青眼+真紅眼=2かつ他の光ドラゴン=2になるように書きかえれば融合の発動条件はうまく行くんじゃない?

67 名無しデュエリスト :2016/11/19(土) 20:13:06 ID:CyRNefiI0
>>66
貴重なご意見ありがとうございます。
教えていただいた方法ですが、私は超初心者なので、どちらも大変難しいです。
スクリプトを組むためにどうすればいいのか、もう少し具体的に例を挙げて教えて頂けると助かります。

68 名無しデュエリスト :2016/11/27(日) 00:24:03 ID:1gl1iJHo0
オリジナルカードを作ろうと、スクリプトを触るためにcards.cdbを開こうとすると、
アプリが存在しないために開けないと出てきました。
どのようなアプリをダウンロードすればよいのか教えて頂けないでしょうか?
私は右も左もわからない未熟者ですので、どなたか教えて頂けると幸いと存じます。

69 名無しデュエリスト :2016/11/27(日) 01:01:01 ID:2tCEEvQA0
>>68
sqliteで検索してごらん
使い方きっとわからんだろうから入門ってワードも一緒に入れるといいよ

70 名無しデュエリスト :2016/11/27(日) 01:01:35 ID:2tCEEvQA0
>>68
あと、cards.cdbはスクリプトではない(腹パン)

71 名無しデュエリスト :2016/11/27(日) 01:18:14 ID:1gl1iJHo0
>>69
教えて頂きありがとうございます。
何がなんやらわからん単語ばかりですが、いつかオリカを作れるよう頑張ります。

72 名無しデュエリスト :2016/11/27(日) 01:45:29 ID:INsnLwwk0
ティエラの話が出てたので便乗して質問させていただきます。
「融合モンスター+Sモンスター+Xモンスター」を素材とした融合モンスターを作ろうと思い、
ティエラを参考にして以下のようになりました。(luaファイルが置いてあります。)
https://www.dropbox.com/s/8onj068lz2mx0ii/c372000940.lua?dl=0
この状態で融合を発動すると、素材モンスターが墓地へ行かずにこのモンスターが融合召喚されてしまいます。
ティエラのスクリプトから不要だと思って削った部分に問題があるのだとは思いますが…。
どなたか知恵をお貸し願います。

73 66 :2016/11/27(日) 15:11:32 ID:v03LEzHA0
>>67
某ゲームやってたら1週間経ってた
自分で作ってみて今while文中弄ってるとこだけどちょっと行き詰ってる

>>72
SetFusionMaterialの後にreturn入れてみたらどう?

74 名無しデュエリスト :2016/11/27(日) 22:21:53 ID:INsnLwwk0
>>66
変わりありませんでした...。
試しに他の位置にあった(意味がよく分からなかった)returnも元に戻してみたのですが、それでも変化なしです。

75 名無しデュエリスト :2016/12/02(金) 22:13:39 ID:CyRNefiI0
>>73
掲示板を見てなくて返信が遅れてしまい、申し訳ありません。
返信ありがとうございます。
行き詰ってるところすみません。大変でしょうが、ゆっくりでいいので回答お待ちしています。

>>73以外の方へ。
今、こういう効果のスクリプトを作っています。

「このカードが墓地へ送られたターン、自分は墓地から罠カードを発動できる。
この効果で発動したのが通常・カウンター罠カードなら、発動後にそのカードを除外する。」

頑張って作ってみたのですが、バグが発生しました。
以下がそのカードを使っていて、現在判明している事です。

・神の宣告のモンスターを召喚・反転召喚・特殊召喚する際の発動ができない(他のカウンター罠発動時には墓地からチェーンして発動できる)。
・召喚・反転召喚・特殊召喚する際の効果1つしか無いカードの発動は可能(セイバー・ホールなど)。
・神の宣告自身にSetRange(LOCATION_GRAVE)を追加した場合、召喚・反転召喚・特殊召喚する際に墓地からの発動はできた。
・神の宣告を発動してもライフコストを払う処理がされない。

因みに永続罠にはまだ対応させていません。対応させようと思えば多分可能です。

スクリプトをお見せするので、どこがいけないかちょっと見て頂けないでしょうか?

↓スクリプトです。
http://secretroom.ddo.jp/~upload4/upl/2IEMlOo0OGFU5R8HYlUL.lua

76 名無しデュエリスト :2016/12/02(金) 22:21:19 ID:CyRNefiI0
伝え忘れましたが、発動後に除外する効果もまだ未対応です。
これも対応は可能です。

77 名無しデュエリスト :2016/12/03(土) 11:13:39 ID:czBVKl9s0
>>75
ADSで長いことオリカ作ってる経験上ですが、そもそもそういう「他のカードに影響するカード」はあまり作らないほうがいいかと
F・G・Dを別途オッドアイズ・フュージョンを対応させているように、本体側のスクリプトも書き換えなければならないようなカードも出てくるので

78 名無しデュエリスト :2016/12/03(土) 11:19:40 ID:CyRNefiI0
>>77
なるほど…そういう事なら残念ですが、一々スクリプトを書き換えるのも手間が掛かるので、この効果は諦めることにします。
お返事ありがとうございました。

79 名無しデュエリスト :2016/12/03(土) 18:30:46 ID:1gl1iJHo0
オッドアイズ・ペンデュラム・ドラゴンのP効果は自分エンドフェイズに発動できる効果で、
EMギッタンバッタの効果は相手エンドフェイズに発動できる効果のはずなのですが、scriptに違いを見つけることができません・・・
自分エンドフェイズ、相手エンドフェイズに発動する効果はどこで区別されているのでしょうか?

80 名無しデュエリスト :2016/12/03(土) 18:57:39 ID:czBVKl9s0
>>79
Duel.GetTurnPlayer()==tpで自分ターン、 Duel.GetTurnPlayer()~=tpで相手ターンですね
ただ、キングベアーの②の効果がtp==e:GetHandler():GetControler()っとなってるように、全部が全部この記述で判別できないので注意

81 名無しデュエリスト :2016/12/03(土) 20:11:02 ID:1gl1iJHo0
>>80
ありがとうございます。解決しました。

82 名無しデュエリスト :2016/12/03(土) 20:41:39 ID:vr7pISjg0
スクリプト関連の初心者の質問で申し訳ないのですが、GetFirstTarget()以外にDuel.SelectTarget()で指定したカードを返す関数、または方法は無いでしょうか?
フィールド上と墓地のカードを1枚づつ選択して発動。墓地のカードを処理した後に、フィールド上の選択したカードを処理すると言うオリカを作っているのですが、
最初に選択したカードしか処理出来なくて困っています。

83 名無しデュエリスト :2016/12/03(土) 21:18:35 ID:CyRNefiI0
>>82
例えばlocal g1=Duel.SelectTarget()で「g1」という変数を取得し、
e:SetLabelObject(g1:GetFirst())で設定した後、
local g=e:GetLabelObject()という風に呼び出してやれば別々の処理にできます。

具体的な書き方は「フォース」を参照すればOKです。

84 名無しデュエリスト :2016/12/03(土) 21:32:02 ID:vr7pISjg0
>>83
うまく処理できました。
ありがとうございます!

85 名無しデュエリスト :2016/12/08(木) 23:31:46 ID:1gl1iJHo0
相手が効果ダメージを受けた時、受けたダメージと同じダメージを与える。という効果を持つカードを作っているのですが、
このままではそのカード自身の効果に反応してしまい、無限ループとなってしまいます。
どのようにscriptに追加すれば自身と同名のカードの効果を対象外にできるのでしょうか。

86 名無しデュエリスト :2016/12/09(金) 00:58:32 ID:1gl1iJHo0
>>85
自己解決しました。お騒がせしました。

87 名無しデュエリスト :2016/12/11(日) 20:53:08 ID:nasnfJp.0
エクシーズモンスターの効果を発動させる際に
素材を墓地ではなく除外したいのですがどのようにすればよいのでしょうか

色々試行錯誤はしてるのですがなかなか上手く行かず…

88 名無しデュエリスト :2016/12/11(日) 21:46:39 ID:1gl1iJHo0
相手フィールドのモンスターの数だけ、自分の墓地からモンスターを特殊召喚するという効果を作るには、どのようにスクリプトを書けばよいでしょうか。
既存のカードのスクリプトを参考にして色々いじっているのですが、どうにもうまくいきません…

89 名無しデュエリスト :2016/12/12(月) 01:51:42 ID:nfNN3lMY0
>>87
基本的に、今までのカードにない動きを行うことは難しいです。
一応「ギミック・パペット-シャドー・フィーラー」が似たような動きをするので、スクリプトを利用すれば、いけるかもしれません。

90 名無しデュエリスト :2016/12/12(月) 02:03:18 ID:nfNN3lMY0
>>88
トリッキーズ・マジック4のスクリプトのように、相手フィールドのモンスターの数を数えて、ソウルチャージの特殊召喚の特殊召喚する数の部分に入れれば、作れると思います。

ただ、どちらも裁定の関係でややこしい記述が多いので、慣れてないと難しいかもしれません。

91 名無しデュエリスト :2016/12/12(月) 07:44:47 ID:nasnfJp.0
>>89
ありがとうございます
できる限り頑張ってみたいと思います

92 名無しデュエリスト :2016/12/12(月) 09:48:08 ID:uAwBwZU60
《真紅眼の究極竜》というカードを作ってみたのですが、《真紅眼融合》で融合召喚の対象に選ぶことができません。
画像・スクリプト・データベースを置きますので、解決方法が分かる方がいらっしゃったらお教えいただければと思います。

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

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

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

95 92 :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

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

98 92 :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
セイクリッド・ビーハイブを参考にしてみてはいかがでしょう?

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

106 99 :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が違うな

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

113 110 :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などの特殊タッグ対戦の対応してくれりゃあ良いんだけどね。

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

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)で制御するものと思いましたが、うまくいきませんでした
ご指摘をお願いします。

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

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

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

209 201です :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

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

211 201です :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にないなら対応してないのかも
・一応確認だけど、その場合対象にとって特殊召喚するなら蘇生制限無視しないとできないよ。
ここらへんじゃない?

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

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

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

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

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

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

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

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

224 201です :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の精神隷属器のような相手プレイヤーのコントロールを得ることはできますか?
具体的には相手のカードを自分が発動したり相手の手札からアドバンス召喚させたりしたいのですが

226 201です :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度、以下」って入力してみ? いろいろ出てくるから

228 201です :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も記述一緒だよ

230 201です :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はあってもなくても動くよ

233 201です :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では魔法吸収が反応しないため、おそらく効果の発動のみ行っているのでしょう

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

243 201です :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モンスターが参考になるかと

247 201です :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にないので対応してないのかもですね。

251 名無しデュエリスト :2017/03/17(金) 23:55:48 ID:nfNN3lMY0
>>249
その下のselfdesのところに重複制限の文章があると思う。
SetUniqueOnFieldはsinに書いてある長いスクリプトを本体側に全部任せてるって感じ
だから、sinのスクリプトを自分フィールド限定にして制限がかかる条件に「〜〜が場にある時」を加えたらいけるかも。
(壊獣の処理結構バグるのにそんなことしたらバグる可能性もあるけど)

252 何度も質問申し訳ないです :2017/03/18(土) 00:39:23 ID:eAoR0UUg0
>>251
ああああ見落としてました
無事 SetUniqueOnField なしで重複制限をかけられました。ありがとうございます

ところで>>238さんが言っていた「デッキ内で発動できる」スクリプトってどうやって書くんでしょうか
SetTypeをIGNITTIONにして LOCATION_DECK を追加してもなんかこれじゃないって言うか、シャドーループのように「デッキからフィールドに置いて発動」ができないんです
一応スピードワールド2を今研究中ですが、OCGにない効果だからかすごく難解です……

253 201です :2017/03/18(土) 01:05:52 ID:ZbjKb5r60
リバイバルゴーレムの
e:SetLabel(opt)
if opt==1 then
e:SetCategory(CATEGORY_SPECIAL_SUMMON)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,e:GetHandler(),1,0,0)
elseif opt==2 then
e:SetCategory(CATEGORY_TOHAND)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,e:GetHandler(),1,0,0)
else
e:SetCategory(0)
end
の部分にはどういう意味があるんですか?

254 名無しデュエリスト :2017/03/18(土) 01:23:10 ID:eAoR0UUg0
つ http://adsmod.cswiki.jp/index.php?%E5%8A%B9%E6%9E%9C%2F%E5%9F%BA%E6%9C%AC

SetCategoryとかSetOperationInfoは「この効果は〜という効果です」ってラベルを貼り付けるようなもん
SetCategory(CATEGORY_SPECIAL_SUMMON)なら「この効果のカテゴリは”特殊召喚”です」って意味
他のカードに「特殊召喚した時、する時」の発動条件があればこれをもとにして判定する
……んだと思う。文系なたとえで申し訳ないけど

なくても一応は動くから、最初はあんまり意識しなくていい
元にしたスクリプトがあったらそれを貼り付けとけばおk

255 名無しデュエリスト :2017/03/18(土) 01:28:23 ID:nfNN3lMY0
>>252
トラミッドダンサーとかで使われてるDuel.MoveToFieldをcostの段階で処理してるとかしたらできるかも。

256 201です :2017/03/18(土) 01:36:30 ID:ZbjKb5r60
なんかわかりにくいのでリバイバルゴーレムのtarget、operationのどこを変えれば墓地から蘇生・サルベージする効果になるか教えてください…

257 名無しデュエリスト :2017/03/18(土) 01:39:45 ID:eAoR0UUg0
>>255
完コピして数値をちゃんと置換しても
「Action is not allowed here.」
と出てしまいます……
CostとOperationでは記述の仕方が違うのでしょうか

258 名無しデュエリスト :2017/03/18(土) 01:43:53 ID:eAoR0UUg0
>>256
リバイバルゴーレムは元から蘇生・サルベージする効果なんだけど……?
Duel. の後に続くのが実際の処理
SendtoHandなら手札に送るしSpecialSummonなら特殊召喚

259 201です :2017/03/18(土) 01:54:01 ID:ZbjKb5r60
>>258
他のカードを指定したいんです…

260 名無しデュエリスト :2017/03/18(土) 01:56:49 ID:eAoR0UUg0
>>255
無事>>257を乗り越えて発動できましたが、残念なことにシャドーループの動きにはなりませんでした
シャドーループは
「デッキからシャドーループがフィールドに置かれ、デッキをシャッフル(亜白龍の特殊召喚のように、カードの発動や効果音もなくいきなり行われる)

シャドーループの発動(コーンという効果音とDuel.Hintの時のアレ)」
なんですが、Costの段階でDuel.MoveToFieldを処理しても
「デッキからコーンという効果音と共にカードが発動

カードがフィールドに置かれ、デッキをシャッフル

効果処理」
となってしまい、なんか違います

261 名無しデュエリスト :2017/03/18(土) 02:05:08 ID:eAoR0UUg0
>>259
Duel.SpecialSummon(e:GetHandler(),0,tp,tp,false,false,POS_FACEUP)
この()の中身で特殊召喚するカードとか、する場所とか、表示形式を決めてる
どの数値がどれを指してるかはさっきあげたWikiで探してね

ちなみにe:GetHandler()は自分自身、つまり発動しているこのカード(リバイバルゴーレム)のこと
これの代わりにtcとか適当な文字を置いて、その前の時点で
local tc=Duel.IsExistingMatchingCard(ここはさっきみたいに決められた数値を入れる)
とかでtcがどういうカードかを定義しておけばいい

まあScript漁りまくって独学で得た知識だから間違ってるかもだけど

262 201です :2017/03/18(土) 02:05:59 ID:ZbjKb5r60
>>261
ありがとうございます!

263 名無しデュエリスト :2017/03/18(土) 02:13:05 ID:rAlYLzPM0
デッキから発動ならデッキの該当カードに直接デッキ用の効果与えたら?
効果は自身の発動時の効果で

264 名無しデュエリスト :2017/03/18(土) 02:22:45 ID:eAoR0UUg0
>>263
そのデッキ用の効果ってのがちょっと上手くいかないんです
すごく短いので載せます
function c2000000005.initial_effect(c)
--Activate
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_SUMMON)
e1:SetType(EFFECT_TYPE_ACTIVATE)
e1:SetCode(EVENT_FREE_CHAIN)
e1:SetCost(c2000000005.cost)
e1:SetOperation(c2000000005.op)
c:RegisterEffect(e1)
local e2=e1:Clone()
e1:SetRange(0xf7)
c:RegisterEffect(e2)
end
function c2000000005.cost(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return e:GetHandler():IsAbleToGraveAsCost() end
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end
function c2000000005.op(e,tp,eg,ep,ev,re,r,rp,chk)
Duel.Draw(tp,2,REASON_EFFECT)
end
これで全部です
手札からもデッキからも発動はできますが、デッキからの発動がシャドーループと全然違うのですっきりしないのです

265 201です :2017/03/18(土) 02:41:25 ID:ZbjKb5r60
なんかうまくいきません…
「墓地に存在する同名カードを除く水属性モンスター」を()に指定したい場合はどうすればいいのでしょうか?

266 名無しデュエリスト :2017/03/18(土) 02:50:35 ID:eAoR0UUg0
餅カエル辺りのScript参照
ADSのデッキ編集画面で「墓地の水」って検索したら色々出てくるよ
Targetの取り方が分からないだろうとは思うけど、とりあえず餅カエルをコピペして勉強してみて

267 201です :2017/03/18(土) 03:11:20 ID:ZbjKb5r60
--special summon
local e6=Effect.CreateEffect(c)
e6:SetDescription(aux.Stringid(122446869,0))
e6:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e6:SetCode(EVENT_TO_GRAVE)
e6:SetTarget(c122446869.target)
e6:SetOperation(c122446869.operation)
c:RegisterEffect(e6)
function c122446869.grfilter(c)
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsAbleToHand and LOCATION_GRAVE
end
function c122446869.target(e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return true end
local opt=0
local c=e:GetHandler()
local b1=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
local b2=c:IsAbleToHand()
if b1 and b2 then
opt=Duel.SelectOption(tp,aux.Stringid(122446869,1),aux.Stringid(122446869,2))+1
elseif b1 then
opt=Duel.SelectOption(tp,aux.Stringid(122446869,1))+1
elseif b2 then
opt=Duel.SelectOption(tp,aux.Stringid(122446869,2))+2
end
e:SetLabel(opt)
if opt==1 then
e:SetCategory(CATEGORY_SPECIAL_SUMMON)
Duel.SetOperationInfo(0,CATEGORY_SPECIAL_SUMMON,c122446869.grfilter(),1,0,0)
elseif opt==2 then
e:SetCategory(CATEGORY_TOHAND)
Duel.SetOperationInfo(0,CATEGORY_TOHAND,c122446869.grfilter(),1,0,0)
else
e:SetCategory(0)
end
end
function c122446869.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if e:GetLabel()==1 then
if c:IsRelateToEffect(e) then
Duel.SpecialSummon(c122446869.grfilter,0,tp,tp,false,false,POS_FACEUP)
end
elseif e:GetLabel()==2 then
if c:IsRelateToEffect(e) then
Duel.SendtoHand(c122446869.grfilter,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,c)
end
end
end

量が多すぎてどこがエラー起こしてるかわからない…
誰か助けてください

268 201です :2017/03/18(土) 03:13:30 ID:ZbjKb5r60
ここを追加する前は問題なかったのでここに問題あるとは思います。

269 名無しデュエリスト :2017/03/18(土) 10:42:18 ID:eAoR0UUg0
いきなり完コピじゃなくて、少しずつ貼り付ける+削る
そうすればどこに問題があるか分かる
そしてエラーログを見よう
何行目にどんな問題があるか示してくれるから

270 201です :2017/03/18(土) 12:10:51 ID:ZbjKb5r60
エラーログがなんか同じやつがいっぱい(callcardなんたら?ってやつ)でよくわかりません…
わかった場所が
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsAbleToHand and LOCATION_GRAVE
end
のどこかくらいしか…

271 名無しデュエリスト :2017/03/18(土) 12:17:34 ID:eAoR0UUg0
return c:IsAttribute(ATTRIBUTE_WATER) and c:IsAbleToHand and LOCATION_GRAVE
end
のどこかまでわかってたら、その中身をちょっとずつ削る
エラーログはなぜかデュエル中は全部表示されない(上に同じ奴がいっぱい出る)から、サレンダーしてソリティアの画面に戻ると上の部分が見える

見た感じカードの条件(.filterあたり)だね、そしたらそれは結構いろんなカードが持ってるから、「墓地のカードを手札に戻す」効果のカードを探して
似た部分をよく比較して組み合わせるんだ

272 名無しデュエリスト :2017/03/18(土) 15:42:08 ID:rAlYLzPM0
>>264
e1:SetRange(LOCATION_DECK)
コレ入れてください

273 名無しデュエリスト :2017/03/18(土) 15:55:35 ID:rAlYLzPM0
ああ、やっと理解しました。
少し調べてきます。

274 名無しデュエリスト :2017/03/18(土) 16:06:46 ID:rAlYLzPM0
>>264
魔力の枷で使われているEFFECT_ACTIVATE_COSTでDuel.MoveToFieldをコストにするのはどうでしょう

275 名無しデュエリスト :2017/03/18(土) 17:23:58 ID:eAoR0UUg0
>>274
うおおこれぞかなり求めていたものに近いです
しかし魔力の枷の対象が「プレイヤーの行動全般」なので、これを「特定のカードの発動」にどうすれば対象を移せるのか……
そもそもFunction内にe:GetHandler()を入れるすべがわかりません
e:GetHandler()はあらゆるカードに使われまくってて、どれを調べればいいのか見当もつかないのです
あるいは.filter内にe:GetHandler()を入れる方法です

276 名無しデュエリスト :2017/03/18(土) 18:06:45 ID:f8HTCz560
なんかしばらく見てないうちにごちゃごちゃしてきたな…
ZbjKb5r60
>>267
eAoR0UUg0
・シャドーループみたいなデッキから発動のやり方
現状の質問はこんな感じ?

277 名無しデュエリスト :2017/03/18(土) 18:19:35 ID:eAoR0UUg0
です。
魔力の枷(EFFECT_ACTIVATE_COST)というすごい近いものを教えていただいたんですが、
この定数なんだか「カード」にかけられないみたいで
EFFECT_SPSUMMON_COST や EFFECT_ATTACK_COST なんかはEFFECT_TYPE_SINGLEにしてやればカード自身がそれに準じてくれるんですが
これはどうもプレイヤーを対象にして行われる効果な(しかもACTIVATE全体だから.filterもできないっぽい)のでかなり難儀しているところです
「特定のカード(召喚や発動に対してではなく、カードの種族や属性やカード名)の発動にコストを課す」効果が他にあれば……

278 名無しデュエリスト :2017/03/18(土) 18:27:41 ID:f8HTCz560
>>267
見た限りだと
・grfilter内の[c:IsAbleToHand]の後に括弧が抜けてる
・同行の[and LOCATION_GRAVE]は明らかに記述間違い
・operation内の特殊召喚、手札に加える部分の記述がおかしい
関数、引数、論理演算について基本的なことを調べる事をオススメする

279 名無しデュエリスト :2017/03/18(土) 18:39:48 ID:eAoR0UUg0
魔力の枷から効果発動にコストを課す所だけ抜き出してみました
function c2000000005.initial_effect(c)
--Activate
〜〜e1は発動なので省略〜〜
--activate cost
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_ACTIVATE_COST)
e2:SetRange(LOCATION_SZONE)
e2:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e2:SetTargetRange(1,1)
e2:SetTarget(c2000000005.actarget)
e2:SetOperation(c2000000005.costop)
c:RegisterEffect(e2)
end
function c2000000005.actarget(e,te,tp)
return te:GetHandler():IsLocation(LOCATION_HAND)
end
function c2000000005.costop(e,tp,eg,ep,ev,re,r,rp)
Duel.PayLPCost(tp,500)
end
どうやらプレイヤーを対象にしているようですが……どこをどう攻めたらいいか全くわかりません
類似効果のカードがあれば参考にもできましょうが

280 名無しデュエリスト :2017/03/18(土) 18:50:28 ID:f8HTCz560
>>279
SetRangeをLOCATION_DECKにして
actarget内の[te:GetHandler():IsLocation(LOCATION_HAND)]を
[te:GetHandler()==e:GetHandler()]にしてみたらどうかな?
駄目そうなら[e2:SetLabelObject(eXXXX)]で発動したい効果を渡して
[te==e:GetLabelObject()]

281 名無しデュエリスト :2017/03/18(土) 19:08:52 ID:eAoR0UUg0
>>280
うーむこういうことでしょうか
  local e2=Effect.CreateEffect(c)
  〜〜略〜〜 
  e2:SetRange(LOCATION_DECK)
  e2:SetLabelObject(e3)
  c:RegisterEffect(e2)
  local e3=Effect.CreateEffect(c)
  e3:SetType(EFFECT_TYPE_ACTIVATE)
  e3:SetCode(EVENT_FREE_CHAIN)
  e3:SetOperation(c2000000005.op)
  c:RegisterEffect(e3)
end
function c2000000005.actarget(e,te,tp)
  return te==e:GetLabelObject()
end
function c2000000005.costop(e,tp,eg,ep,ev,re,r,rp)
  Duel.PayLPCost(tp,500)
end
function c2000000005.op(e,tp,eg,ep,ev,re,r,rp,chk)
  Duel.Draw(tp,2,REASON_EFFECT)
end

[e1][e3]共に発動はできるのですが、コストは課せられていませんでした
[e2]のEFFECT_FLAG_PLAYER_TARGETを消してもコストはありませんでした
それともSetLabelObjectで効果の渡し方を間違えているとか……?

282 名無しデュエリスト :2017/03/18(土) 19:25:56 ID:f8HTCz560
>>281
とりあえず自分で作ってみた
e1は普通の発動時の効果とする

local e2=e1:Clone()
e2:SetRange(LOCATION_DECK)
c:RegisterEffect(e2)
local e3=Effect.CreateEffect(c)
e3:SetType(EFFECT_TYPE_FIELD)
e3:SetCode(EFFECT_ACTIVATE_COST)
e3:SetRange(LOCATION_DECK)
e3:SetProperty(EFFECT_FLAG_PLAYER_TARGET)
e3:SetTargetRange(1,1)
e3:SetTarget(c2000000005.actarget)
e3:SetOperation(c2000000005.costop)
c:RegisterEffect(e3)
e3:SetLabelObject(e2)
〜〜
function c2000000005.actarget(e,te,tp)
return te==e:GetLabelObject()
end
function c2000000005.costop(e,tp,eg,ep,ev,re,r,rp)
Duel.MoveToField(e:GetHandler(),tp,tp,LOCATION_SZONE,POS_FACEUP,true)
end

こんな感じで

283 名無しデュエリスト :2017/03/18(土) 19:41:13 ID:eAoR0UUg0
>>282
ウワアアアアアできましたできました!ありがとうございます!
わざわざ書いてくださって……本当に感謝します!まさかe:GetLabelObjectが胆だったとは

ええと、何度も申し訳ないのですが、もう一つよろしいでしょうか……
Functionを入れるべきところにe:GetHandler()、つまり発動しているカード自身を入れたくなったときはどうしたらいいのでしょうか
あるいは.filter内にe:GetHandler()を入れる方法です。連続して頼むのは恐縮ですが……どのカードのスクリプトを参考にすればいいかだけでも構わないので

284 名無しデュエリスト :2017/03/18(土) 20:05:02 ID:OV9uJmcY0
分からんけどデッキのカード全体に発動できる効果と発動する際の処理効果付与すればいいんじゃない?

285 名無しデュエリスト :2017/03/18(土) 20:12:26 ID:f8HTCz560
>>283
Functionを入れるべきところ…?
済まないが質問がよく分からん…
一応言っておくがe:GetHandler()はCard型だから関数ではないぞ

.filterとかは自分で宣言して作ってる関数だから引数は何でも入れられる
例えば
function cX.filter(c,tc)
return c:GetAttack()==tc:GetAttack()
end
〜〜
cX.filter(sc,e:GetHandler())
とか
function cX.filter(c,e)
return c:GetAttack()==e:GetHandler():GetAttack()
end
〜〜
cX.filter(sc,e)
とか
質問の答えはこれで良いのかな…?

286 名無しデュエリスト :2017/03/18(土) 20:20:30 ID:eAoR0UUg0
>>285
質問の仕方が悪かったみたいです、すみません
例えば
Duel.GetMatchingGroup(cX.filter,tp,LOCATION_HAND,0,nil,e,tp)
これの[cX.filter]の所に[e:GetHandler()]のような、「発動しているカード自身」を入れたいんです
自分Script漁って独学しただけでプログラムとかはほとんどずぶの素人なんで、言ってることがめちゃくちゃだとは思いますが、大体こういうことです

287 名無しデュエリスト :2017/03/18(土) 20:34:23 ID:f8HTCz560
>>286
理解した
結論から言うとできない
ざっくり説明すると、Duel.GetMatchingGroup()の最初に入れるモノは関数じゃないといけない
関数型→cX.filter, Card.IsFaceup 等
e:GetHandler()は関数型ではなくCard型なので入れられない

多分e:GetHandler()をどうこうしたいんじゃないかと思うんだけど
それって[e:GetHandler():IsSpecialSummonable()]とかでできないかな?

288 名無しデュエリスト :2017/03/18(土) 21:03:19 ID:eAoR0UUg0
>>287
なるほど、すると.filterの方で何とかするしかないのですね
しかし肝心のその方法がいまいち掴めず……
[e:GetHandler():IsSpecialSummonable()] これはどういった時に使うのでしょう?
localやreturn c==の直後に置くのでしょうか……?

289 名無しデュエリスト :2017/03/18(土) 21:11:26 ID:Gzo3pjw20
>>282
このスクリプトを丸々コピーして使ったところ
発動時の段階でデッキから発動はできるのですが、カードが非公開情報のままになっており
複数種類デッキ発動が可能なカードがある場合、カードの判別ができません
どのようにしたら公開情報化できるでしょうか
アドバイスお願いします

290 名無しデュエリスト :2017/03/18(土) 22:01:08 ID:f8HTCz560
>>288
普通使うのはIsCanBeSpecialSummonedだった
因みにこれはトラゴエディアとかの発動して自身をSSする効果に使われてる
取りあえずあなたは型について調べましょう

>>289
しら管
えっとマジでどうしよう…

291 名無しデュエリスト :2017/03/18(土) 22:11:00 ID:Gzo3pjw20
>>290
デッキに存在する場合の永続効果でデッキを常に参照してみる的なことに挑戦してみてるんですがさっぱりなので・・・

292 名無しデュエリスト :2017/03/18(土) 22:18:24 ID:f8HTCz560
>>291
永続効果でおとり人形と同じスクリプト使って発動はできなくはないんだけど、おとり人形の効果による発動に対してはチェーンできないんだよね…

293 名無しデュエリスト :2017/03/18(土) 22:21:20 ID:rAlYLzPM0
>>289
デッキを1回公開すれば次のシャッフルまで公開情報になります。

294 名無しデュエリスト :2017/03/18(土) 22:35:30 ID:Gzo3pjw20
>>293
窓を出さずに公開する方法はないものですかね

295 201です :2017/03/18(土) 23:35:13 ID:ZbjKb5r60
>>294
パワーツールみたいに対象のカードを見せるようにすればいいのでは?

296 名無しデュエリスト :2017/03/18(土) 23:50:41 ID:Gzo3pjw20
>>295
デッキからいきなり飛んでくるタイプなので見せるタイミングが存在してない気がします
自分の技術不足もあるでしょうが・・・

297 201です :2017/03/18(土) 23:56:08 ID:ZbjKb5r60
なんだかうまくいきません…
とりあえず餅カエルの回収効果をコピペして動作するか試してみます。

298 201です :2017/03/19(日) 00:06:31 ID:ZbjKb5r60
動作はしました。
対象に自身を含めないにはどうすればいいでしょうか?

299 名無しデュエリスト :2017/03/19(日) 00:11:06 ID:Gzo3pjw20
フィルターにnot c:IsCode(カードID)でいけるのでは?

300 201です :2017/03/19(日) 00:24:31 ID:ZbjKb5r60
>>299
できました。
あとは回収か蘇生かを選んで使えるようにするだけです。
リバイバルゴーレムではうまくいかなかったので、選択して一方を発動するスクリプトの原理(どこがどのような内容か)を誰か教えてください…

301 名無しデュエリスト :2017/03/19(日) 00:46:41 ID:Gzo3pjw20
DDリリスとかの効果を書き換えてみては?
今自分も勉強中なんで詳しくはわからないですが

302 201です :2017/03/19(日) 01:20:13 ID:ZbjKb5r60
>>301
e2=e1:Clone()
この部分ですかね?

303 名無しデュエリスト :2017/03/19(日) 02:03:38 ID:Gzo3pjw20
>>302
b1、b2とかってやつですね
elseで区切られてるところに選びたい効果当てはめるといいっぽいですよ

304 201です :2017/03/19(日) 02:34:42 ID:ZbjKb5r60
local b1=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
この行でエラー発生したんですが原因わかる方いませんか?

305 201です :2017/03/19(日) 14:06:46 ID:ZbjKb5r60
エラーの内容は
[Script error:][string"./script/c122446869.lua"]:145:attempt to index global `c`(a nil value)
でした。
原因が分かる方がいましたら教えてください…

306 名無しデュエリスト :2017/03/19(日) 14:51:01 ID:nfNN3lMY0
>>305
「145行目のcを定義してないよ」的なエラーだと思う

307 名無しデュエリスト :2017/03/19(日) 15:31:16 ID:dtHavneY0
「トラミッド」フィールド魔法カード+「トラミッド」モンスター
自分フィールド・手札の上記カードを墓地へ送った場合のみ、EXデッキから特殊召喚できる。(「融合」は必要としない。)

この条件で出せる融合モンスターを作りたいのですがどのカードどう弄ればいいのかわかりません…

308 201です :2017/03/19(日) 16:01:05 ID:ZbjKb5r60
local b1=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
ここのcの定義を水属性モンスターに変更するにはどうすればいいでしょうか?
定義のやり方だけでもいいので教えてください…

309 201です :2017/03/19(日) 16:11:30 ID:ZbjKb5r60
>>307
青眼の双爆裂龍の素材指定を変えればできそう

310 名無しデュエリスト :2017/03/19(日) 16:18:07 ID:nfNN3lMY0
ビーストアイズ・ペンデュラム・ドラゴンかなあ。
aux.AddFusionProcFun2の素材条件変更して
splimitで通常の融合召喚をできなくして
spconとspopのリリースを墓地送りにして手札でもいけるようにする感じかな
やったことないから違ったらすまん

311 名無しデュエリスト :2017/03/19(日) 16:28:23 ID:dtHavneY0
ありがとうございます
初心者なのでたぶんまた来ます

312 201です :2017/03/19(日) 16:29:57 ID:ZbjKb5r60
>>311
頑張れ!
俺も初心者だから大丈夫だよ!

313 名無しデュエリスト :2017/03/19(日) 16:59:07 ID:Gzo3pjw20
>>307
動くけどエラーが出るものができました・・・

314 名無しデュエリスト :2017/03/19(日) 17:04:43 ID:Gzo3pjw20
>>308
対象選ぶところでfilterかけれませんかね?

315 名無しデュエリスト :2017/03/19(日) 17:05:34 ID:dtHavneY0
結局ダイナスターからひっぱてやってみたんですが
素材揃っていても出せず「e2:SetCondition(c300.spcon)」を消したら素材の有無に関係なく出せてしまい素材もリリースされません
function c300.initial_effect(c)
--fusion material
c:EnableReviveLimit()
--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(c300.splimit)
c:RegisterEffect(e1)
--special summon rule
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_EXTRA)
e2:SetCondition(c300.spcon)
e2:SetOperation(c300.spop)
c:RegisterEffect(e2)
end
function c300.splimit(e,se,sp,st)
return e:GetHandler():GetLocation()~=LOCATION_EXTRA
end
function c300.spfilter1(c,tp,fc)
return c:IsFusionSetCard(0xe2) and c:IsType(TYPE_FIELD) and c:IsCanBeFusionMaterial(fc)
and Duel.CheckReleaseGroup(tp,c300.spfilter2,1,c,fc)
end
function c300.spfilter2(c,fc)
return c:IsType(TYPE_FIELD) and c:IsSetCard(0xe2) and c:IsCanBeFusionMaterial(fc)
end
function c300.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_ONFIELD+LOCATION_HAND)>-2
and Duel.CheckReleaseGroup(tp,c300.spfilter1,1,nil,tp,c)
end
function c300.spop(e,tp,eg,ep,ev,re,r,rp,c)
local g1=Duel.SelectReleaseGroup(tp,c300.spfilter1,1,1,nil,tp,c)
local g2=Duel.SelectReleaseGroup(tp,c300.spfilter2,1,1,g1:GetFirst(),c)
g1:Merge(g2)
c:SetMaterial(g1)
Duel.Release(g1,REASON_COST+REASON_FUSION+REASON_MATERIAL)
end
function c300.spfilter(c,e,tp)
return c:IsSetCard(0xe2) and c:IsType(TYPE_FIELD) and c:IsSetCard(0xe2) and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end

316 名無しデュエリスト :2017/03/19(日) 17:15:25 ID:Gzo3pjw20
自分はこんな感じに落ち着きましたがいかがでしょうか?
function c2129638.initial_effect(c)
--fusion material
c:EnableReviveLimit()
aux.AddFusionProcFunFunRep(c,c2129638.mfilter1,c2129638.mfilter2,1,true,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(c2129638.splimit)
c:RegisterEffect(e1)
--special summon rule
local e2=Effect.CreateEffect(c)
e2:SetType(EFFECT_TYPE_FIELD)
e2:SetCode(EFFECT_SPSUMMON_PROC)
e2:SetProperty(EFFECT_FLAG_UNCOPYABLE)
e2:SetRange(LOCATION_EXTRA)
e2:SetCondition(c2129638.spcon)
e2:SetOperation(c2129638.spop)
c:RegisterEffect(e2)
end
function c2129638.mfilter1(c)
return c:IsSetCard(0xe2) and c:IsType(TYPE_FIELD)
end
function c2129638.mfilter2(c)
return c:IsSetCard(0xe2) and c:IsType(TYPE_MONSTER)
end
function c2129638.splimit(e,se,sp,st)
return bit.band(st,SUMMON_TYPE_FUSION)==SUMMON_TYPE_FUSION
end
function c2129638.spfilter1(c,fc)
return c:IsSetCard(0xe2) and c:IsType(TYPE_FIELD) and c:IsCanBeFusionMaterial(fc) and c:IsAbleToGraveAsCost()
end
function c2129638.spfilter2(c,fc)
return c:IsSetCard(0xe2) and c:IsType(TYPE_MONSTER) and c:IsCanBeFusionMaterial(fc) and c:IsAbleToGraveAsCost()
end
function c2129638.spcon(e,c)
if c==nil then return true end
local tp=c:GetControler()
return Duel.GetLocationCount(tp,LOCATION_ONFIELD+LOCATION_HAND)>-2
and Duel.IsExistingMatchingCard(c2129638.spfilter1,tp,LOCATION_ONFIELD+LOCATION_HAND,0,1,nil,c)
and Duel.IsExistingMatchingCard(c2129638.spfilter2,tp,LOCATION_ONFIELD+LOCATION_HAND,0,1,nil,c)
end
function c2129638.spop(e,tp,eg,ep,ev,re,r,rp,c)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_TOGRAVE)
local g1=Duel.SelectMatchingCard(tp,c2129638.spfilter1,tp,LOCATION_ONFIELD+LOCATION_HAND,0,1,1,nil,c)
local g2=Duel.SelectMatchingCard(tp,c2129638.spfilter2,tp,LOCATION_ONFIELD+LOCATION_HAND,0,1,1,nil,c)
g1:Merge(g2)
c:SetMaterial(g1)
Duel.SendtoGrave(g1,REASON_COST)
end

317 名無しデュエリスト :2017/03/19(日) 17:24:33 ID:dtHavneY0
しっかり動きました!ありがとうございます…

318 名無しデュエリスト :2017/03/19(日) 17:27:25 ID:Gzo3pjw20
自分はまだまだつぎはぎ職人なので内容はかなり汚いかもしれないです・・・

319 名無しデュエリスト :2017/03/19(日) 17:29:09 ID:d7HIVcxE0
ADS内のC++のほうの解説してるサイトとかどっかにないでしょうか?
luaでもcdbでもないのでスクリプトスレでは若干スレチなんですけど、オープンソースは取得してありますがC++を一から覚えて読むより、既にある「スクリプト解説ブログ」のようなADSで使われる部分だけの解説のほうがとっつきやすくていい機会かなと思った次第です
もしC++のほうの自作・改変スレや解説ブログや情報交流サイトなどを知っている方がいましたら教えてくれると助かります

320 201です :2017/03/19(日) 19:38:12 ID:ZbjKb5r60
local b1=Duel.GetLocationCount(tp,LOCATION_MZONE)>0 and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
これのcってどうやって「同名カードを除く水属性モンスター」を定義するように書き換えるんですか?
元は
local c=e:GetHandler()
です。

321 名無しデュエリスト :2017/03/19(日) 20:44:46 ID:Gzo3pjw20
>>320
local c=e:GetHandler()は基本的に書き換えちゃダメな気がします(特殊な効果を除く)
ddリリスを丸コピして場所の定義を変えたりしたり、二つ目の選択肢を特殊召喚にしたりでできると思います

322 名無しデュエリスト :2017/03/19(日) 21:29:00 ID:Gzo3pjw20
選択肢を出す奴を作ってみてるのですが以下のエラーが出ます
22:Parameter 2 should be "Effect".
該当行は
function c1500.filter2(c,e,tp)
return c:IsType(TYPE_MONSTER)
and c:IsCanBeSpecialSummoned(e,0,tp,false,false)
end
の特殊召喚の下りです
そこを消したらエラーは出ないのですがいろいろと困ります
アドバイスよろしくお願いします

323 名無しデュエリスト :2017/03/19(日) 22:30:25 ID:dtHavneY0
フリーチェーンのモンスター効果で
デッキからフィールド魔法を発動する効果を作りたいのですがどうすればいいでしょうか?
終焉の地かポップルアップあたりの発動条件をなくせば行けそうですが…

324 名無しデュエリスト :2017/03/19(日) 23:04:17 ID:Gzo3pjw20
トラミッドモンスターの効果を変えたら作れると思いますよ(自分は挫折しました)

325 201です :2017/03/19(日) 23:40:21 ID:ZbjKb5r60
>>321
場所が両方とも墓地なんです…
墓地のカードを
・蘇生
・サルベージ
で選択したいのですが…

326 名無しデュエリスト :2017/03/19(日) 23:47:04 ID:Gzo3pjw20
一応仮で作りました
サーチ対象はデッキでモンスター以外の指定もなくそこそこ重大な不具合がありますが使えないことはないです
必要なところを書き換えたら使えるようになると思います
http://ux.getuploader.com/sinsiki_ads/download/1/c1500.lua

327 名無しデュエリスト :2017/03/19(日) 23:48:33 ID:Gzo3pjw20
>>326>>325です
連投失礼しました

328 201です :2017/03/20(月) 00:26:21 ID:ZbjKb5r60
>>326
ありがとうございます!
ところで、カードIDなどが合っているのに画像が表示されない(新しく追加したオリカのみ)の場合はどうすればいいでしょうか…

329 名無しデュエリスト :2017/03/20(月) 00:36:29 ID:Gzo3pjw20
>>328
拡張子が違うとかサイズが違うとかではないでしょうか?

330 201です :2017/03/20(月) 01:40:17 ID:ZbjKb5r60
ファイルサイズの問題かもしれません。
一度サイズを圧縮してみます。

331 201です :2017/03/20(月) 02:27:35 ID:ZbjKb5r60
解決しました。

332 201です :2017/03/20(月) 02:35:37 ID:ZbjKb5r60
--search
local e2=Effect.CreateEffect(c)
e2:SetDescription(aux.Stringid(122446869,0))
e2:SetCategory(CATEGORY_TOHAND+CATEGORY_SEARCH)
e2:SetType(EFFECT_TYPE_SINGLE+EFFECT_TYPE_TRIGGER_O)
e2:SetCode(EVENT_SPSUMMON_SUCCESS)
e2:SetTarget(c122446869.thtg)
e2:SetOperation(c122446869.thop)
c:RegisterEffect(e2)
--Negate
さっきなぜか他のカードの効果にチェーンして特殊召喚したところ、サーチ効果が発動しませんでした。
原因わかりますか?

333 名無しデュエリスト :2017/03/20(月) 08:20:01 ID:Gzo3pjw20
>>332
e2:SetProperty(EFFECT_FLAG_DELAY)を追加してみてはどうでしょう?

334 201です :2017/03/20(月) 12:54:33 ID:ZbjKb5r60
>>333
解決しました。
ありがとうございました。

335 名無しデュエリスト :2017/03/25(土) 21:53:31 ID:dtHavneY0

function c3006.filter(c)
return c:IsCode(78785392) and c:IsAbleToHand()
end
function c3006.target (e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c3006.filter,tp,LOCATION_DECK,0,1,nil) end
Duel.SetOperationInfo(0,CATEGORY_TOHAND,nil,1,tp,LOCATION_DECK)
end

function c3006.target (e,tp,eg,ep,ev,re,r,rp,chk)
if chk==0 then return Duel.IsExistingMatchingCard(c3006.filter,tp,LOCATION_DECK,0,1,nil) end
local sg=Duel.GetMatchingGroup(c3006.filter,tp,LOCATION_DECK,0,nil)
Duel.SetOperationInfo(0,CATEGORY_REMOVE,sg,sg:GetCount(),0,0)
end
function c3006.activate(e,tp,eg,ep,ev,re,r,rp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_ATOHAND)
local g=Duel.SelectMatchingCard(tp,c3006.filter,tp,LOCATION_DECK,0,1,1,nil)
if g:GetCount()>0 then
Duel.SendtoHand(g,nil,REASON_EFFECT)
Duel.ConfirmCards(1-tp,g)
Duel.BreakEffect()
local sg=Duel.GetMatchingGroup(c3006.filter,tp,LOCATION_DECK,0,nil)
Duel.Remove(sg,POS_FACEDOWN,REASON_EFFECT)
end
end

デッキから花合わせを手札に加えて魔法・罠カードをすべて裏側表示除外しようとしたら、
除外とサーチどっちも花合わせになってしまいます
また一部をいじっても今度はどっちも魔法・罠になってしまいますどうすればいいでしょうか?

336 名無しデュエリスト :2017/03/26(日) 20:24:12 ID:dNeEepXo0
データベースで登録した文字列を情報ウインドウで表示するのは「Duel.Hint〜」で合ってるよね?
この情報を、効果処理時じゃなくてモンスター召喚時や魔法発動時に表示するのはどうしたら良いだろう?

一応、想定としてはアニメで口上が設定されてるモンスターを召喚する時に、フィールドにカードが置かれる前に口上が表示される…って感じなんだけど…

337 名無しデュエリスト :2017/03/27(月) 00:14:43 ID:zDWnMaCE0
>>335
まず自分で何書いてるか理解しましょう

>>336
フィールドで置かれる前の全てのタイミングに対応するのは難しいんじゃないかな
一応、融合召喚やX召喚なら素材を選択する部分のスクリプトをそのカード側に書いてる事があるから、それと同じ様なの作って最後に口上を表示させる事はできる

338 名無しデュエリスト :2017/03/27(月) 00:22:29 ID:dNeEepXo0
>>337
フィールドに置かれる前はやっぱり難しいか…助言ありがとうございました

339 名無しデュエリスト :2017/03/27(月) 00:26:12 ID:zDWnMaCE0
>>336
やっぱできるかも
トーチゴーレムにSSする際の処理があるからそこに向上入れれば、SSする度に口上が出る
融合召喚限定とかのやり方は試してないからわかんね

340 名無しデュエリスト :2017/03/27(月) 15:34:37 ID:rAlYLzPM0
>>336
魔法罠の場合は発動コストで表示
モンスターの場合は召喚コスト(タイラントドラゴン)等に組み込む
チェーンブロックを作らない召喚(トーチ・ゴーレム、ゴウフウ)ならその処理に組み込む

341 名無しデュエリスト :2017/03/27(月) 23:03:13 ID:vr7pISjg0
ダイヤウルフの魔法版のオリカを作っているのですが、ダイヤウルフのスクリプトを
そのまま流用すると自身を対象に選択できてしまいます。

g2=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,g1:GetFirst())
の最後の引数をいじれば良いは分かるのですが、どういじれば良いか分かりません

function c2261.desfilter(c)
return c:IsFaceup() and c:IsSetCard(0x798)
and Duel.IsExistingTarget(aux.TRUE,0,LOCATION_ONFIELD,LOCATION_ONFIELD,1,c)
end

function c2261.destg(e,tp,eg,ep,ev,re,r,rp,chk,chkc)
if chkc then return false end
if chk==0 then return Duel.IsExistingTarget(c2261.desfilter,tp,LOCATION_ONFIELD,0,1,e:GetHandler()) end
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)
local g1=Duel.SelectTarget(tp,c2261.desfilter,tp,LOCATION_ONFIELD,0,1,1,e:GetHandler())
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_DESTROY)

local g2=Duel.SelectTarget(tp,aux.TRUE,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,g1:GetFirst())
g1:Merge(g2)
Duel.SetOperationInfo(0,CATEGORY_DESTROY,g1,g1:GetCount(),0,0)
end
function c2261.desop(e,tp,eg,ep,ev,re,r,rp)
local g=Duel.GetChainInfo(0,CHAININFO_TARGET_CARDS):Filter(Card.IsRelateToEffect,nil,e)
Duel.Destroy(g,REASON_EFFECT)
end

342 名無しデュエリスト :2017/03/28(火) 00:09:16 ID:2TEt0LwM0
>>341
SelectTargetの第8引数はCardだから2枚以上は与えられない
自身と先に選択したカードが選択されなければ良いからもう1個filter作って自身を対象外にすれば良い

343 名無しデュエリスト :2017/03/28(火) 12:12:56 ID:vr7pISjg0
>>342
g2=Duel.SelectTarget(tp,c2261.filterX,tp,LOCATION_ONFIELD,LOCATION_ONFIELD,1,1,g1:GetFirst())

見たいな感じでしょうか?
filter関数の中で、e:getHnadler()が使用できませんが、どうしたら良いでしょう?

344 名無しデュエリスト :2017/03/28(火) 21:10:36 ID:sJRj/Fwg0
>>343
filterで使う第2引数以降の引数はSelectTargetの第9以降の引数で渡す
X.filter(c,tc) なら 〜SelectTarget(〜,1,1,g1:GetFirst(),e:GetHandler())
とか

346 名無しデュエリスト :2017/03/31(金) 01:58:09 ID:8EVjueac0
デストーイマッチみたいに1体以上対象になったカードを全てを墓地へ送る効果を
作りたいのですが1体しか適応できません。どうすればいいでしょうか。

347 名無しデュエリスト :2017/03/31(金) 16:58:52 ID:Gzo3pjw20
罠カードの発動にチェーンして発動できるカードで、
自分フィールドの表側表示のカードを任意の枚数選択して、
その枚数以下のカードを相手フィールドのカードから選んで、
選んだカードすべてを素材に自身をX召喚するカードを作っているのですが、
相手のカードを選んだ段階でフリーズしてしまいます
アドバイスお願いします
https://www.axfc.net/u/3792502

348 名無しデュエリスト :2017/03/31(金) 19:16:40 ID:AtCUteXM0
>>346
マーチとリニッチが混ざってるぞ
マーチは複数体が対象になってる時はその内の1体を選ぶ処理が入ってるだろ
その部分を無くして、墓地へ送る部分を良い感じにすれば良い

>>347
フリー…ズ…?(信じられないものを見る目
魔法罠にX素材を与えるみたいな原理的におかしい事してないとフリーズはしないはずなんだが…
とにかく途中まで処理がうまく行ってるならその後に問題があるはずだからよく見なおせ

349 名無しデュエリスト :2017/03/31(金) 22:56:47 ID:8EVjueac0
>>346 select消したりしても、狡猾な落とし穴で実験して
墓地に逝くのは1体のみでした。すべての対象のモンスターを
墓地へ送らせる方法は無いでしょうか?

350 名無しデュエリスト :2017/04/02(日) 00:16:17 ID:8EVjueac0
>>346
あの後何とか成功しました、みなさんありがとうございました。

351 名無しデュエリスト :2017/04/03(月) 11:33:47 ID:EzJE9BJU0
脳開発研究所の「LPを払うコストを代替する」効果って「手札を捨てるコストを代替する」に変更することはできますか?
EFFECT_LPCOST_REPLACE でLPのコストは変えられたんですが、手札コストに干渉する定数が見当たりません

352 名無しデュエリスト :2017/04/09(日) 13:33:24 ID:YmKAqde.0
融合モンスターの記述を改造してリンク召喚を再現できないか見ているのですが、
c:IsHasEffect(6205579)
↑この記述はどんな意味を持っているのでしょうか?
融合素材の条件をチェックする関数にてこの条件に合致するモンスターが一律で条件から外されているように見えるのですが、
EFFECT系の定数にこの値が入っているものはありませんでした。
この条件に合致するモンスターが融合素材から外される理由が知りたいです。

どうぞ、宜しくお願い致します。

353 名無しデュエリスト :2017/04/14(金) 00:34:03 ID:6OiG1vXo0
内輪対戦用に三幻魔を色々といじってるんだが
現環境で三幻魔を墓地から特殊召喚するとしたらコストはどれくらいにするのが適当かな?

アニメではウリアを墓地から特殊召喚するのに手札の罠カード1枚を墓地に送るだったけど
さすがに1枚じゃ安過ぎるよね
とりあえず

・ラビエル → 自分フィールドの悪魔族モンスター2体リリース。ただし、自分フィールド上に他のモンスターもいる場合ラビエルはこのターン攻撃不可

・ハモン → 手札の魔法カード2枚を墓地に送る。ただし、自分フィールド上に他のモンスターもいる場合ハモンはこのターン攻撃不可

・ウリア→手札の罠カード2枚を墓地に送る。ただし、自分フィールド上に他のモンスターもいる場合ウリアはこのターン攻撃不可

で作ってみたんだが・・・。

354 名無しデュエリスト :2017/04/14(金) 00:38:21 ID:6OiG1vXo0
あ、言い忘れた。
OCGのエイリアスカードじゃなく別物カードで作ってるので
暗黒の召喚神や失楽園の恩恵はなしです。。。

355 名無しデュエリスト :2017/04/14(金) 16:15:03 ID:.m1Z9OFE0
>>353
闇属性は墓地送り簡単だからラビエルはちとコスト安いかも

356 名無しデュエリスト :2017/04/14(金) 18:39:03 ID:Ba44AsM20
アニメにおける三幻魔の自己蘇生能力持ちはウリアだけだったはずだが

しかし、ラビエルの蘇生コスト軽すぎなんだが
終焉の焔が実質ラビエルの蘇生カードになるんだが
幻魔トークン生きてればそれも使える

ウリアは2枚も墓地に罠送ったらダメだろw
2000も強化されてんぞ

ハモンは他にモンスターがいたらメイン2に守備表示で蘇生して壁にすればいいだけだから
攻撃不可のデメリットがあまり意味ない

357 名無しデュエリスト :2017/04/14(金) 20:42:43 ID:OV9uJmcY0
OCG的に考えると一度正規召喚しないと蘇生制限うぃ満たせず蘇生できないので別に1枚だろうとコスト重くは思えない
3アド消費して身代わり耐性と思えば決して安くは無いし

ただ、蘇生制限満たさなくても蘇生できるとなるといかに幻魔を墓地送り蘇生するかって感じになってそれ幻魔としてどうなのって思う
墓地から出すモンスターってコンセプトにしたいならそれでもいいだろうけど 

あとスレチな気がした

358 名無しデュエリスト :2017/04/14(金) 21:21:43 ID:6OiG1vXo0
>>355-357
thx
とても参考になった

現環境だと三幻魔はコストの割に弱すぎるので
制限カード仕様として耐性を強化した上でアーミタイルをもう少し出し易くするにはどういう仕様にすればいいか考えてたらとりあえずこんな感じになった次第
確かにテストプレイしててラビエルはちょっと簡単に出過ぎるなぁという印象はあった

もうちょっと練り直してみるわ
ありがと

359 名無しデュエリスト :2017/04/16(日) 00:40:36 ID:YmKAqde.0
同一チェーン内で複数回発動できない効果を作ろうとしているのですが、
同一チェーンで複数発動できてしまいます。

SetPropertyにEFFECT_FLAG_CHAIN_UNIQUEを設定しても効果が無く、
《醒めない悪夢》からそれっぽい記述を移植してみたらエラーを吐いてしまいました。
どのように記述すればこのような回数制限を実装できるのかが分かりません。
どなたかご教授をお願い致します。

local e5=Effect.CreateEffect(c)
e5:SetDescription(aux.Stringid(130000001,0))
e5:SetType(EFFECT_TYPE_QUICK_O)
e5:SetCategory(CATEGORY_SPECIAL_SUMMON+CATEGORY_FUSION_SUMMON)
e5:SetCode(EVENT_FREE_CHAIN)
e5:SetProperty(EFFECT_FLAG_CHAIN_UNIQUE)
e5:SetHintTiming(0,0x1c0)
e5:SetRange(LOCATION_EXTRA)
e5:SetCondition(c130000001.sprdon)
e5:SetOperation(c130000001.sprdop)
c:RegisterEffect(e5)
function c130000001.sprdon(e,tp,eg,ep,ev,re,r,rp)
if c==nil then return true end
local tp=c:GetControler()
local selfExist = not Duel.IsExistingMatchingCard(c130000001.sprdfilter,tp,LOCATION_ONFIELD,0,1,nil)
--醒めない悪夢からの移植記述1
local selfNotChain = e:GetHandler():GetFlagEffect(130000001)==0
return selfExist and selfNotChain
--醒めない悪夢からの移植記述2(この行でエラー発生)
e:GetHandler():RegisterFlagEffect(130000001,RESET_CHAIN,0,1)
end
function c130000001.sprdfilter(c)
return c:IsCode(130000001) and c:IsFaceup()
end
function c130000001.sprdop(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():IsRelateToEffect(e) then
if Duel.SpecialSummon(e:GetHandler(),SUMMON_TYPE_FUSION,tp,tp,true,false,POS_FACEUP_ATTACK)~=0 then
e:GetHandler():CompleteProcedure()
end
end
end

360 名無しデュエリスト :2017/04/18(火) 21:04:54 ID:8EVjueac0
EFFECT_HAND_SYNCHROで手札をS素材にできると聞いたけどどう使えばいいかわからないです。
参考になりそうなスクリプトは無いでしょうか?

361 名無しデュエリスト :2017/04/18(火) 21:59:13 ID:v/JKE9Hg0
>>359
宝玉の集結のスクリプト見てみた(醒めない悪夢以外に同一チェーン上で同じ効果のみを発動できなくする効果が無かった)
君はとりあえず他のカードのスクリプトの書き方を見てみると良い
スクリプトの記述の仕方が慣例と違うからそれが原因の可能性はある
具体的に言うと、
・フラグによる発動可能かどうかの管理はCostで行う
・特殊召喚する際の条件式はTargetに書く

>>360
たつのこ

363 名無しデュエリスト :2017/04/30(日) 22:13:45 ID:.ix/WnMc0
PカードがEXデッキに行く時誘発効果で墓地へ行く効果作ろうとしてますが上手く行きません
ゲール・ドグラやマクロコスモスの記述見ても上手く行きませんし
やはり定数EVENTに記述がないから厳しいですかね?

本体側でPカードがLOCATION_EXTRAに移動処理してるから
不可能ではないはずなんですけども

364 名無しデュエリスト :2017/05/01(月) 14:42:35 ID:0seCpY4s0
質問来てたのであげ

>>363
「PカードがEXデッキに送られる場合、EXデッキに送らずに墓地へ送る」だったら永続効果だと思うけど、
そういう「〜する場合、代わりに〜する」タイプの効果は全部EVENT定数で定義してるっぽいし、本体側を変えないと不可能なんじゃないかな

「PモンスターがEXデッキに送られる度に、そのPモンスターを墓地へ送る」誘発効果(または永続効果)なら作れる
ダイナミスト・チャージとか参考にしてみると良い

365 名無しデュエリスト :2017/05/02(火) 01:41:26 ID:RyydZCKk0
質問です。「自分フィールドのモンスターが除外された時・場合」という効果の条件を作る時に
ZS-幻影賢者(c51865604)のスクリプトを参考にしていたのですが、
「②:バトルフェイズ中に自分フィールド上のモンスターが除外された場合、
その除外されたモンスター1体を選択し〜...」
の「自分フィールド上のモンスターが除外された場合」という記述がスクリプトのどの部分にあたるのかが分りません。

SetCode(EVENT_REMOVE)でカードが除外された事が条件に指定されているという事はなんとなくわかるのですが・・・

366 名無しデュエリスト :2017/05/02(火) 21:56:16 ID:jhEIfcr20
RUM-ヌメロン・フォースのモンスター版を作ろうと思っているんだけど、参考になりそうなカードあるかな

367 名無しデュエリスト :2017/05/02(火) 22:45:35 ID:0seCpY4s0
下がるの早すぎィ!

>>365
EFFECT_TYPE_TRIGGER_O → 任意の誘発効果
EFFECT_FLAG_DELAY → タイミングを逃さない
Duel.GetCurrentPhase()〜 → バトルフェイズ
c51865604.spfilter → (特殊召喚できる)自分フィールドに居たモンスター
eg:IsExists(〜 → 除外された中に上記のカードがあるか?

>>366
どんな効果を作ろうとしてるか分からん
RUMの効果を起動効果にするだけじゃないのか

368 名無しデュエリスト :2017/05/02(火) 23:04:51 ID:.ix/WnMc0
>>364
ダイナミスト・チャージ参考になりました ありがとうございました
タイミング逃さず墓地へ送れて 最終的にこうなりました
--to GRAVE
local e4=Effect.CreateEffect(c)

e4:SetCategory(CATEGORY_TOGRAVE)

e4:SetType(EFFECT_TYPE_CONTINUOUS+EFFECT_TYPE_FIELD)

e4:SetCode(EVENT_TO_DECK)

e4:SetRange(LOCATION_EXTRA)
e4:SetCondition(c117440512.thcon)

e4:SetTarget(c117440512.ethtg)

c:RegisterEffect(e4)

function c117440512.thfilter(c,tp)

  return c:IsFaceup() and c:IsControler(tp) and c:IsLocation(LOCATION_EXTRA)
  and c:IsSetCard(0x0b)
 and c:IsPreviousLocation(LOCATION_ONFIELD)

end

function c117440512.thcon(e,tp,eg,ep,ev,re,r,rp)

  return eg:IsExists(c117440512.thfilter,1,nil,tp)

end

function c117440512.ethtg(e,tp,eg,ep,ev,re,r,rp,chk)

  if chk==0 then return true end

  local g=eg:Filter(c117440512.thfilter,nil,tp)

    Duel.SendtoGrave(e:GetHandler(),REASON_EFFECT)

end

369 名無しデュエリスト :2017/05/03(水) 01:59:34 ID:RyydZCKk0
>>367
ありがとうございます!
何度もスクリプトと睨めっこしていて挫折しかけていました
参考にさせていただきます

370 名無しデュエリスト :2017/05/03(水) 23:01:58 ID:RyydZCKk0
スクリプトの関数(?)の
「rc sc g eg tp tc bt at」などの文字はそれぞれどの様な意味があるのでしょうか

functionの後の()内の物ではなく、returnやlocal等の後に続く文字です

371 名無しデュエリスト :2017/05/03(水) 23:53:19 ID:2tCEEvQA0
場合によって異なるがローカル変数の命名規則は大凡引数のそれと同じルールつけられている
rc
reason card
使用例
《クリア・エフェクター》のS素材となった時の効果において
S召喚されたモンスターカードを示す

sc
selected card
グループからプレイヤーが選択したカード1枚を表すことが多い
使用例
《EMスカイ・マジシャン》の(2)の効果において
手札に存在する「魔術師」永続カードのうち選ばれた1枚を示す

372 名無しデュエリスト :2017/05/04(木) 00:02:28 ID:2tCEEvQA0
g
group
グループ
大体において条件を満たしたデッキ・手札・墓地・フィールド・EXデッキのカード集合を示す

eg
event group
《ドン・サウザンドの契約》の(2)の効果が一番わかりやすい例であるのでそれに基づいて説明する
ドローというイベントが起きた際にイベントに最も関連のあるカード集合は即ちドローカードである
《閃光の宝札》などで複数枚同時にドローすることもあるためec event cardという単数形の命名にはならずeg event groupという略称となっている。

373 名無しデュエリスト :2017/05/04(木) 00:14:09 ID:2tCEEvQA0
続きはまた後で

374 名無しデュエリスト :2017/05/04(木) 00:24:49 ID:RyydZCKk0
ありがとうございます!
似た様な効果のカードのスクリプトを見比べていてもそれらの文字は多様な使い方をされている事が多いので混乱していました
これらの説明していただいた内容を把握した上でもう一度読み返してしてみようと思います

375 名無しデュエリスト :2017/05/04(木) 20:22:13 ID:RyydZCKk0
>>365の者です。スクリプトの事で再び質問です
「既に自身が除外されている状態で、自身以外の自分フィールドのモンスターが除外された時、除外されている自身を手札に加える事ができる」
この効果を持ったモンスターを試しに作ってみようと思ったのですが、自身がフィールドから除外された時にも効果を発動できてしまいます。
「このカード以外の」という記述が抜けているのだと考えているのですが、どのスクリプトを参考にしてもわかりません。

以下が、私が作ろうとしているそのモンスターのスクリプトです。どの点を修正したら良いのでしょうか。すみませんが宜しくお願いします

function c1000.initial_effect(c)
local e1=Effect.CreateEffect(c)
e1:SetCategory(CATEGORY_TOHAND)
e1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_TRIGGER_O)
e1:SetRange(LOCATION_REMOVED)
e1:SetProperty(EFFECT_FLAG_DELAY)
e1:SetCode(EVENT_REMOVE)
e1:SetCondition(c9000.thcon)
e1:SetTarget(c9000.thtg)
e1:SetOperation(c9000.thop)
c:RegisterEffect(e1)
end

function c1000.thfilter(c,e,tp)
return c:IsPreviousLocation(LOCATION_MZONE) and c:GetPreviousControler()==tp
end

function c1000.thcon(e,tp,eg,ep,ev,re,r,rp)
return eg:IsExists(c1000.thfilter,1,nil,e,tp)
end

function c1000.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 c1000.thop(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
if c:IsRelateToEffect(e) then
Duel.SendtoHand(c,nil,REASON_EFFECT)
end
end

以上です

376 名無しデュエリスト :2017/05/04(木) 20:25:10 ID:RyydZCKk0
>>375間違いがあったので訂正します

>e1:SetCondition(c9000.thcon)
>e1:SetTarget(c9000.thtg)
>e1:SetOperation(c9000.thop)

これらの9000の部分は、9000ではなく1000です。失礼いたしました

377 名無しデュエリスト :2017/05/04(木) 22:10:45 ID:RyydZCKk0
>>375です。申し訳ありません、自己解決しました
thconのreturnの部分で「and not eg:IsContains(e:GetHandler())」を書き加える事で解決できました。失礼致しました

378 名無しデュエリスト :2017/05/04(木) 22:28:37 ID:2tCEEvQA0
tc
temporary card
カード1枚に対して適当に命名する際によく使われる名前

bt
battle target
戦闘の攻撃対象のカード1枚を示す
《トゥーン・ディフェンス》がわかり易い例である

at
attacker あるいはattack target
見た例において意味が異なるので要注意
《ディメンション・スフィンクス》では攻撃モンスターの意味で使用されているが、《アドバンスド・ダーク》では攻撃対象のモンスターを示す

命名規則統一しろよ!(雑感)

379 名無しデュエリスト :2017/05/04(木) 22:38:10 ID:2tCEEvQA0
Visual Studio Codeのフォルダ内検索機能が便利すぎて最高だよ!(ダイマ)
動作も軽いしLuaにも一応対応しているし、C++も開けるからygopro-coreのソースも読めるし便利だよ!

380 名無しデュエリスト :2017/05/04(木) 23:09:21 ID:OV9uJmcY0
オリカ作る時は適当な変数使っても問題ないの?

381 名無しデュエリスト :2017/05/04(木) 23:34:31 ID:2tCEEvQA0
プログラミングの作法としては適切な名前をその都度つけるべき
まあtcやtgみたいなのは使っても良いって考える人が多いね
ただatはattackerみたいにちゃんとした名前をつけるべきと考える人が他の言語では多い

382 名無しデュエリスト :2017/05/04(木) 23:42:03 ID:RyydZCKk0
>>378
重ね重ねありがとうございます!
>>371-372も含めてメモさせてもらいます

383 名無しデュエリスト :2017/05/05(金) 18:35:16 ID:y4MAu1iU0
ところで質問ですがデュアルのように効果モンスターをデッキ内で通常モンスターとして扱うにはどのようにすればよいのでしょうか?
始祖神鳥シムルグを参考に手札では通常モンスターにできるのですが
よろしくお願いします

384 名無しデュエリスト :2017/05/07(日) 17:07:05 ID:RyydZCKk0
「この効果(「このカード」では無い)を発動したターンのエンドフェイズ」に何らかの処理を加えたい場合はどうすれば良いのでしょうか
「堕天使ゼラート」と「森羅の葉心棒 マット」のスクリプトを参照したのですが、2つとも微妙な違いがありどの様に処理を可能にしているのかが分りません

「堕天使ゼラート」(このカードの①の効果を発動したターンのエンドフェイズ〜...)
function c40921744.sdescon(e,tp,eg,ep,ev,re,r,rp)
return e:GetHandler():GetFlagEffect(40921744)~=0
end

「森羅の葉心棒 マット」(同上)
function c63175639.spcon(e,tp,eg,ep,ev,re,r,rp)
if e:GetHandler():GetFlagEffect(63175639)==0 then return false end

それぞれこの部分で「ある効果を発動したかどうか」を判断しているのだと思うのですが、例えば「①の効果を発動した」という判定はどの部分で行っているのでしょうか

385 名無しデュエリスト :2017/05/07(日) 20:24:49 ID:2tCEEvQA0
C系のプログラミング言語における原則
0はfalse
非0はtrue

return x~=0
は「xが真であるならば真を返し、偽であるならば偽を返す」という意味で用いられている可能性が(そのコードを書いた人が常識知らずでなければ)非常に高い。
また、
if x==0 then return false end
は「xが偽であるならば偽を返す。真である場合は以降のコードに進む」という意味合いであろう。

あなたの挙げた2例は大体同じ意味である。
《魔導化士 マット》については①の効果を発動した上で更に"墓地の「魔導書」と名のついた魔法カードが5種類以上"という条件があるため、それを満たすかどうか判定するため、《堕天使ゼラート》と異なる書き方になっているのであろう。

この程度の関数なら正直以下のようなワンライナーの方が良いと思う
function c63175639.spcon(e,tp,eg,ep,ev,re,r,rp)

  return e:GetHandler():GetFlagEffect(63175639)~=0 and Duel.GetMatchingGroup(c63175639.cfilter,tp,LOCATION_GRAVE,0,nil)
:GetClassCount(Card.GetCode)>=5

end

386 名無しデュエリスト :2017/05/07(日) 20:28:32 ID:0seCpY4s0
>>383
シムルグの適用範囲をデッキにすればできない?

>>384
どっちも書いてる事は同じ(マットの書き方は冗長)
「Aの効果を発動した」かどうかは大体の場合は
① AのCost内でRegisterFlagEffectで自身にフラグを立てる
② GetFlagEffectでAを発動したか判断
という手順
永続罠の効果の発動なんかでも良く見られる書き方だね

387 名無しデュエリスト :2017/05/07(日) 22:46:52 ID:RyydZCKk0
>>385
間違えていました・・・ 「森羅の葉心棒 マット」ではなく「魔導化士 マット」でした。失礼致しました
ありがとうございます!マットの方がゼラートと比べて複雑でしたがandで2つ以上の条件を括っても良いという事ですね
then return false endの意味もよく分からなかったのでとても参考になります

>>386
Costにそんな使い方があったとは知りませんでした
確かにゼラートにも同じ書き方がされてあります こういう使い方をするんですね
参考になりました!ありがとうございます!

388 名無しデュエリスト :2017/05/14(日) 18:11:59 ID:6OiG1vXo0
コンマイ語に関する質問なんだが
モンスター効果の記述で、先にフィールドに出ていれば後から自身のモンスター効果を無効化されることはない
(ex.先にフィールド上に出ているスキルドレインやBloo-dには効果を無効化されるが後出しのスキルドレインやBloo-dには効果を無効化されない)
という場合はどういう記述をすればいいのかな?
「このカードの効果は無効化されない」じゃマズいよね

389 名無しデュエリスト :2017/05/22(月) 01:53:30 ID:UeFavsGo0
その例なら「このカードはほかのカードの効果を受けない」でいいんじゃない?

390 名無しデュエリスト :2017/05/22(月) 18:13:40 ID:6OiG1vXo0
>>389
ああ、申し訳ない。
ちょっと言葉が足りなかった。。。
出した例の範囲内だけなら確かにそうなるよね。

意図としては、
(a)特定の属性以外のモンスター効果を受け付けない。さらにモンスター効果の対象にもさせない。
(b)ただし、モンスター効果を無効化するモンスター効果に関しては、こちらが先にフィールド上に出ていれば相手モンスターの属性に関係なく一切受け付けない。
(c)対象を取る魔法・罠の効果は受け付けない(対象を取らない魔法・罠の効果は受ける)。
(d)ただし、モンスター効果を無効化する魔法・罠に関しては、こちらが先にフィールド上に出ていれば対象を取る取らないに関係なく一切受け付けない。
で、この場合の記述の仕方。


とりあえず、今はこれを
(1)このカードの効果は無効化されない。
(2)このカードは効果の対象にならず、○属性以外のモンスターの効果を受けない。




という記述にしてるんだが。

391 名無しデュエリスト :2017/05/22(月) 18:33:32 ID:6OiG1vXo0
(a)(b)の補足
要するに、このカードが受けるモンスター効果は、特定属性の対象を取らない、モンスター効果を無効化する効果以外の効果のみということ

392 名無しデュエリスト :2017/05/26(金) 00:54:34 ID:szSs0.260
>>390
そもそもとして「カード効果を無効化されない効果」は既存カードに存在しないからコンマイ語においては定義もされない

とりあえずそれ以外は
①:このカードはモンスターの効果の対象にならず、対象を指定しない魔法・罠カード及び○属性以外のモンスターの効果を受けない。
ぐらいじゃない?

393 名無しデュエリスト :2017/05/26(金) 17:03:33 ID:6OiG1vXo0
>>392
既存カードに存在しない効果は実装しないのが基本なのは百も承知なんだが、
なぜこの効果を思い付いたかというと
SetCode(EFFECT_CANNOT_DISABLE)にSetConditionやSetOperation定義しなかったらどういう挙動するのかテストしてて思い付いたんだけどね。

とりあえず神属性の「このカードの召喚は無効化されない。」「このカードの召喚成功時には、このカード以外の魔法・罠・モンスターの効果は発動できない。」を取っ払って
幻神・邪神・極神に実装して内輪でやってるんだが今のところなかなかいい感じでハマってる。

394 名無しデュエリスト :2017/06/04(日) 15:32:33 ID:8EVjueac0
二重魔法の対象を取らない版(Aとする)を作ってみて「RUM-幻影騎士団ラウンチ」を発動したら、
ラウンチではなくAがX素材になってしまいました。この時にラウンチを素材にさせるにはどうすればいいのでしょうか。

395 名無しデュエリスト :2017/06/04(日) 19:30:01 ID:YAdilUkk0
>>394
恐らく構造上不可能
本来のカード効果では「対象のカード自体を発動させる」効果だけど、
ADSのスクリプトでは「対象のカードの発動時の効果を《二重魔法》の効果として使用」になってる
ADSに「カードの特定の効果を発動させる」ための関数が(多分)無いので本体で更新が来ない限り不可能

396 名無しデュエリスト :2017/06/08(木) 00:00:30 ID:8EVjueac0
効果のリセットを効果解決時にしようと思っていますが、
e1:SetReset(RESET_EVENT+EVENT_CHAIN_SOLVING)ではないみたいです。
正しい表記はどうすればいいでしょうか。

397 名無しデュエリスト :2017/06/08(木) 10:13:30 ID:qAZYL9GA0
>>396
その質問には問題点が3つある
一つ、単純に読めば恐らく正しい表記である
二つ、効果を与える処理は通常は効果処理時に行うため、そもそも効果処理時にリセットする事は恐らく無い
三つ、オリジナルの効果に関する質問の場合はその効果を全て書いた方が良い

398 名無しデュエリスト :2017/06/12(月) 17:07:23 ID:Gzo3pjw20
「○○(カテゴリ)」カードが発動していないというのを発動条件にするのは可能でしょうか?

399 名無しデュエリスト :2017/06/12(月) 17:11:13 ID:HfxKNEeA0
できる
そのカテゴリ全てのカードでRegisterFlageffectしてやればいい

400 名無しデュエリスト :2017/06/13(火) 12:32:49 ID:Gzo3pjw20
>>399
発動タイミングが同じかつ任意の誘発効果なので
発動するかどうか選ぶ段階では効果が発動していないのですが
その方法でできますでしょうか?

401 名無しデュエリスト :2017/06/13(火) 22:23:50 ID:ju1YNaOI0
>>398,400
「『○○』カードが魔法&罠ゾーンに存在しない場合に発動できる」なのか
「『○○』カードの効果は1ターンに1度しか発動できない」なのか
「『○○』カードは同一チェーン上では1度しか発動できない」なのか

最後の場合なら>>399でできる

402 名無しデュエリスト :2017/06/15(木) 18:00:36 ID:ImA9y.To0
Pカードのオリカ作ってるけどあるPスケールを対象にする仕方が分からない。

効果の元はDDブラスト・オーガ
作りたい効果はスケール8が存在するときにこのカードのスケールを6にする。
このカードの元のスケールは8

--scale
local e5=Effect.CreateEffect(c)
e5:SetType(EFFECT_TYPE_SINGLE)
e5:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e5:SetCode(EFFECT_CHANGE_LSCALE)
e5:SetRange(LOCATION_PZONE)
e5:SetCondition(c13000155.sccon)
e5:SetValue(6)
c:RegisterEffect(e5)
local e6=e5:Clone()
e6:SetCode(EFFECT_CHANGE_RSCALE)
c:RegisterEffect(e6)

unction c13000155.sccon(e)
return Duel.IsExistingMatchingCard(Card.IsSetCard,e:GetHandlerPlayer(),LOCATION_PZONE,0,1,e:GetHandler(),0)
end

どこいじればいいですかね?

403 名無しデュエリスト :2017/06/16(金) 05:48:29 ID:OV9uJmcY0
LOCATION_PZONEはそもそもSetRangeでしか使えない

404 名無しデュエリスト :2017/06/16(金) 17:29:40 ID:.PfMoFLI0
>>402
ブラストオーガって誰だ
β版はどうなのか知らないが、少なくとも現日本版では>>403の言ってくれたように、LOCATION_PZONEが使えないからSequenceを使ってPゾーンのカードを取得する

405 名無しデュエリスト :2017/06/17(土) 21:36:55 ID:ImA9y.To0
>>404
ブではなくプでした。よく見てなかった・・・
使ってるのはリンク対応βv4です。
まだ他のカードのスクリプト持ってきて弄るのがほとんどなんで細かい所の理解は・・・

406 名無しデュエリスト :2017/06/21(水) 01:01:38 ID:Gzo3pjw20
スクリプトが長くなると途中にある攻守増減系の効果が効かなくなります
効果を一つ消すと有効になるのですが対処法は張りますでしょうか?

407 名無しデュエリスト :2017/06/21(水) 08:08:58 ID:LB17FcGA0
多分括弧でミスってんじゃねえかな

408 名無しデュエリスト :2017/06/24(土) 12:17:17 ID:wLqH7Nj.0
対戦相手がハノイの騎士なこと多いんだけどあれはデフォルトネームの一種なのか?
それともたまたま流行ってるとかなのかね

409 名無しデュエリスト :2017/06/24(土) 12:17:50 ID:wLqH7Nj.0
ごめんなさい一個上と間違えました

412 名無しデュエリスト :2017/07/04(火) 14:51:27 ID:NYxQqVLs0
質問失礼します。
墓地のモンスターを除外して、対象にしたフィールドのモンスターに除外したモンスターの効果と
「●このカードの効果で相手に与える効果ダメージは0になる。」
という効果を付与するカードを作っています。
「EFFECT_CHANGE_DAMAGE」を使って、そのSetValue先に

function c番号.damval(e,re,val,r,rp,rc)
if re:GetHandler()==e:GetHandler() and bit.band(r,REASON_EFFECT)~=0 then return 0 end
return val
end

と設定しているのですが、上記の効果と「ヴォルカニック・エッジ」の効果を与えたモンスターと「火炎地獄」でテストした所、
付与したモンスターの効果のみで与えるダメージを0にすることは出来ました。
ですが、「アマゾネスの剣士」や「LL-リサイト・スターリング」の効果を与えたモンスターで戦闘を行った所、
自分は戦闘ダメージを受けましたが、相手にその数値分の戦闘ダメージを与えることが出来ず、スクリプトエラーが出ました。
その時のエラーの状況は「re:GetHandler()==e:GetHandler()」の「re」に何も入っていない、という内容でした。
解決方法があれば、教えて頂きたいです。

413 名無しデュエリスト :2017/07/16(日) 19:40:20 ID:YmKAqde.0
スクリプトの質問失礼します。
「このカードはデッキからもアドバンス召喚できる。」という召喚ルール効果を作ろうと思い、
真竜の召喚ルール効果に「e1:SetRange(LOCATION_DECK)」を追加してみたのですが、
デッキから召喚する事ができず、手札からの召喚ルールとして処理されてしまいます。
憑依装着の記述を参考にSetTypeをEFFECT_TYPE_FIELDにしてもダメでした。

上記のような召喚ルール効果を実装する事は可能でしょうか?
また、実装可能な場合はどのように実装すれば宜しいでしょうか?
どうぞ、宜しくお願い致します。

414 名無しデュエリスト :2017/07/16(日) 20:28:17 ID:6.tlDY3w0
>>413
そこまでやってダメなら無理じゃないかな
そもそも(デュアルを除いて)手札以外から召喚する効果が無いからEFFECT_SUMMON_PROCが手札以外に対応して無いかもしれない

デッキで発動するチェーン不可能な召喚する効果として疑似的に再現する事はできそうな気がするから頑張れ

415 名無しデュエリスト :2017/07/16(日) 23:14:13 ID:YmKAqde.0
>>414
うーん、やっぱり無理ですか…
それでは場に出す処理は起動効果や遺言状等の方面で作ってみたいと思います。

その際に召喚権を消費させたいのですが、
「このターン通常召喚できない」制約ではなく、召喚権を1回分だけ減らす処理を実装するにはどうすれば良いかどなたかご存知でしょうか?

417 名無しデュエリスト :2017/07/17(月) 21:28:20 ID:OV9uJmcY0
普通に憑依装着の記述じゃだめなの

418 名無しデュエリスト :2017/07/20(木) 19:12:40 ID:Oa7Sd71A0
質問失礼します。
「デッキに存在する間だけ効果モンスターとして扱う」魔法カードを作りたいと思い、
「EFFECT_CHANGE_TYPE」を使用してスクリプトを書いてみましたが、
適用されず、魔法カード扱いのままになってしまいます。
(手札や墓地ではモンスター扱いにできました。)

質問したいことは
・上記のような効果は実装可能かどうか。
・実装可能ならば、どのように実装すればよいか。
の2点です。
どうぞよろしくお願いします。

スクリプトは以下になります。
local e1=Effect.CreateEffect(c)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_SINGLE_RANGE)
e1:SetRange(LOCATION_DECK)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetValue(TYPE_MONSTER+TYPE_EFFECT)
c:RegisterEffect(e1)

419 名無しデュエリスト :2017/07/20(木) 19:48:05 ID:2tCEEvQA0
デッキに存在する間だけ通常モンスターとして扱うカードを以前実装しようとしたがどうやっても無理だった
多分これも同じはず

420 名無しデュエリスト :2017/07/20(木) 19:57:40 ID:2tCEEvQA0
というか逆に効果モンスターをデッキ以外で魔法扱いさせればいいのでは?

421 名無しデュエリスト :2017/07/20(木) 20:21:14 ID:Oa7Sd71A0
>>420
なるほど、逆転の発想ですね...

通常モンスター扱いにするのもできないとなると、デッキ内には
「EFFECT_ADD_TYPE」や「EFFECT_CHANGE_TYPE」の影響は与えられない、ってことですかね。
効果モンスターをデッキ以外で魔法扱いにする方向で考えてみます。

ありがとうございました。

422 名無しデュエリスト :2017/07/22(土) 18:22:13 ID:NYxQqVLs0
すみません、スクリプトの質問失礼致します。

Card.GetEffectCount(EFFECT_TRAP_ACT_IN_SET_TURN)を使って、
あるカードを、「王家の神殿」の「セットした罠カードを発動できる」効果を使用していないターンは発動できる、
既に使用したターンは発動できない、というスクリプトを作りたいのですが、
「EFFECT_TRAP_ACT_IN_SET_TURN」って、「Card.GetEffectCount」では使えるのでしょうか?

423 名無しデュエリスト :2017/07/22(土) 18:46:53 ID:2tCEEvQA0
まずやってみてから来てね

424 名無しデュエリスト :2017/07/22(土) 19:04:33 ID:NYxQqVLs0
やってみて出来なかったので来ました。
でも私の知らないやり方で、もしかしたら出来るかも?と思ったので質問させて頂いた次第です。

425 名無しデュエリスト :2017/07/22(土) 20:47:27 ID:2tCEEvQA0
それなら《王家の神殿》のRegisterFlagEffectの数値を調べてそいつを使ってみたらどうだい?

426 名無しデュエリスト :2017/07/24(月) 17:32:14 ID:NYxQqVLs0
>>425
返信遅れてすみません。
色々やってみましたけど、無理でした…orz
やはり、特定の効果の使用をカウントするのは不可能なのでしょうか…?

427 名無しデュエリスト :2017/07/24(月) 19:19:47 ID:2tCEEvQA0
ちゃうちゃう
SetCountLimitやった
コイツ使えばいいんだよ

428 名無しデュエリスト :2017/07/24(月) 20:56:15 ID:NYxQqVLs0
>>427
そちらが言った通り、SetCountLimitを使って、色々と実験してみましたが上手く行きませんでした…
頭の悪い私にどうかご教示願えないでしょうか。

429 名無しデュエリスト :2017/07/24(月) 22:07:02 ID:2tCEEvQA0
eホニャララ:SetCountLimit(1, 29762407)ってのを適切な場所に差し込めば
「王家の神殿」の(1)の効果と制約が一緒になる

つまりその効果を発動すると「王家の神殿」の(1)の効果を使えなくなり、
「王家の神殿」の(1)の効果を発動するとその効果が使えなくなる

今作ろうとしてるカードの効果を貼ってくれれば適切な挿入場所もわかるんだがね

430 名無しデュエリスト :2017/07/24(月) 22:08:29 ID:NYxQqVLs0
>>427
すみません、お礼言うの忘れてました。
どうもありがとうございます。

431 名無しデュエリスト :2017/07/24(月) 22:15:02 ID:NYxQqVLs0
>>429
てっきり返事来てないと思ったので(見た時には返事が表示されて無かったので)、変な返しになってしまった…
お返事どうもありがとうございます!
もし、自分でやってみてそれでも出来なかったら効果文を載せます。

432 名無しデュエリスト :2017/07/24(月) 22:15:50 ID:OfGqjuWg0
頑張ってみてなー
やっぱりこの手の自分でいじれるのは楽しいからね

433 名無しデュエリスト :2017/07/25(火) 00:38:58 ID:NYxQqVLs0
>>432
遂に作りたかった効果のカードを完成させることが出来ました!
本当にありがとうございます!!

434 名無しデュエリスト :2017/07/25(火) 00:52:15 ID:2tCEEvQA0
よかったよかった

435 名無しデュエリスト :2017/07/25(火) 20:51:01 ID:NYxQqVLs0
>>434
完成したと言っておきながら、動作確認を綿密にしてみたら、不具合があることが発覚しました…(泣
すいません、また質問しても宜しいでしょうか?
どうしても完成させたいカードなので、宜しくお願いします。

436 名無しデュエリスト :2017/07/25(火) 21:19:06 ID:2tCEEvQA0
今度はなんぞ

437 名無しデュエリスト :2017/07/25(火) 22:06:50 ID:NYxQqVLs0
>>436
返信ありがとうございます!

実はこういう効果のカードを作っていまして。
「このカード名の効果は1ターンに1度しか使用できず、相手ターンでも発動できる。
①:このカードが墓地に存在する場合、手札を2枚墓地へ送り、自分の墓地の通常罠カード1枚を対象として発動できる。
そのカードを除外し、このカードを通常罠カード扱いとして自分フィールドにセットする。
この効果でセットしたこのカードは、その除外したカードの発動時と同じ効果のカードとして発動できる。」

そちらの言った通りにe1:SetCountLimit(1,29762407)で設定してみたのですが、

「王家の神殿」の(1)の効果を発動して、このモンスター以外の、そのターンにセットした罠カードを発動すると、
前のターンから魔法&罠ゾーンにセットされてある、このモンスターの発動ができなくなります。
元々セットされてあるカードなので、王家の神殿の効果を適用しても、発動できなきゃおかしいのに上手く行きません。

スクリプトを一部載せるので、どこが悪いか見て頂けないでしょうか?

if not c99999999.global_check then
c99999999.global_check=true
local ge1=Effect.CreateEffect(c)
ge1:SetType(EFFECT_TYPE_FIELD+EFFECT_TYPE_CONTINUOUS)
ge1:SetCode(EVENT_SSET)
ge1:SetOperation(c99999999.checkop)
Duel.RegisterEffect(ge1,0)
end

function c99999999.checkop(e,tp,eg,ep,ev,re,r,rp)
local g=eg:Filter(Card.IsCode,nil,99999999)
local tc=g:GetFirst()
while tc do
tc:RegisterFlagEffect(99999999,RESET_EVENT+0x1fe0000+RESET_PHASE+PHASE_END,0,1)
tc=g:GetNext()
end
end

function c99999999.operation(e,tp,eg,ep,ev,re,r,rp)
local c=e:GetHandler()
local tc=Duel.GetFirstTarget()
if c:IsRelateToEffect(e) and tc:IsRelateToEffect(e) and c:IsCanTurnSet() then
if Duel.Remove(tc,POS_FACEUP,REASON_EFFECT)~=1 then return end
Duel.MoveToField(c,tp,tp,LOCATION_SZONE,POS_FACEDOWN,true)
c:SetStatus(STATUS_SET_TURN,true)
Duel.RaiseEvent(c,EVENT_SSET,e,REASON_EFFECT,tp,tp,0)
local e1=Effect.CreateEffect(c)
e1:SetCode(EFFECT_CHANGE_TYPE)
e1:SetType(EFFECT_TYPE_SINGLE)
e1:SetProperty(EFFECT_FLAG_CANNOT_DISABLE)
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetValue(TYPE_TRAP+TYPE_NORMAL)
c:RegisterEffect(e1)
local te=tc:GetActivateEffect()
if te then
local e1=Effect.CreateEffect(c)
e1:SetDescription(te:GetDescription())
e1:SetCategory(te:GetCategory())
e1:SetProperty(te:GetProperty())
e1:SetType(EFFECT_TYPE_QUICK_O+EFFECT_TYPE_ACTIVATE)
e1:SetCode(te:GetCode())
e1:SetRange(LOCATION_SZONE)
if c:GetFlagEffect(99999999)~=0 then
e1:SetCountLimit(1,29762407)
end
e1:SetReset(RESET_EVENT+0x1fe0000)
e1:SetLabelObject(te)
e1:SetCondition(c99999999.accon)
if te:GetCost() then
e1:SetCost(te:GetCost())
end
e1:SetTarget(c99999999.actg)
e1:SetOperation(c99999999.acop)
c:RegisterEffect(e1)
end
end
end

438 名無しデュエリスト :2017/07/25(火) 22:12:18 ID:NYxQqVLs0
長くなってしまってすみません…

439 名無しデュエリスト :2017/07/25(火) 22:26:57 ID:NYxQqVLs0
後、前のターンからこのモンスターが魔法&罠ゾーンに伏せてあって、
王家の神殿が場にある状態で発動すると、そのターンにセットした
他の罠カードが発動できなくなる不具合もあります。

440 名無しデュエリスト :2017/07/25(火) 22:39:19 ID:2tCEEvQA0
local e1 = ホニャララ
が二箇所あるのはわかりにくぅい!

私の勘違いでなければ同じスコープで二重にe1を定義しているような

>元々セットされてあるカードなので、王家の神殿の効果を適用しても、発動できなきゃおかしいのに上手く行きません。
このカード名の効果は相手ターンでも発動できる。
①:このカードが墓地に存在する場合、手札を2枚墓地へ送り、自分の墓地の通常罠カード1枚を対象として発動できる。
そのカードを除外し、このカードを通常罠カード扱いとして自分フィールドにセットする。
この効果でセットしたこのカードは、その除外したカードの発動時と同じ効果を得る。
セットされたこのカードは1ターンに1度のみ発動でき、「王家の神殿」の①の効果を発動したターンには発動できない。

って感じのテキストになってるな
SetCountLimitを差し込む場所が違ったのだ

441 名無しデュエリスト :2017/07/25(火) 22:40:23 ID:2tCEEvQA0
>>439
だって今のコードだとセットされたこのカードが発動した時に「王家の神殿」の1の効果を発動できない制約が掛かるようになってるからね!

442 名無しデュエリスト :2017/07/25(火) 22:55:48 ID:NYxQqVLs0
>>441
お返事ありがとうございます。
RegisterFlagEffectの設定は削除するとして、
SetCountLimitはどの辺りに差し込めば良いのでしょうか?

443 名無しデュエリスト :2017/07/25(火) 23:18:24 ID:NYxQqVLs0
スクリプト作るのは思っていたより難しいです…
まだまだ知識不足なので、力を貸して頂けると嬉しいです。

444 名無しデュエリスト :2017/07/25(火) 23:30:31 ID:2tCEEvQA0
c99999999.initial_effectの中で
eホニャララ:SetOperation(c99999999.operation)している
eホニャララがあるよな?
それにeホニャララ:SetCountLimit(1,29762407)すればよろし

445 名無しデュエリスト :2017/07/25(火) 23:52:57 ID:NYxQqVLs0
>>444
その「initial_effect」には既にe1:SetCountLimit(1,99999999)が入っているのですが、どうすればいいのでしょうか?
「このカード名の効果は1ターンに1度しか使用できず、」という効果なので、
効果自体を変えるしか、方法は無いのでしょうか?

446 名無しデュエリスト :2017/07/25(火) 23:54:47 ID:2tCEEvQA0
>>445
そこを99999999から29762407に変えても
このカード名のこの効果および「王家の神殿」の1の効果は1ターンに1度のみ発動できるというセンテンスの意味は守られる

447 名無しデュエリスト :2017/07/25(火) 23:57:52 ID:NYxQqVLs0
>>446
なるほど…解りました。ありがとうございます。

448 名無しデュエリスト :2017/08/19(土) 21:06:26 ID:8EVjueac0
>>395
>>394 の者です
この前二重魔法のスクリプトをおとり人形で代用するとなんとうまくいきました。(「発動させた」ラウンチが素材になった)
なぜかはよく分からないですけど。

449 名無しデュエリスト :2017/08/21(月) 23:38:51 ID:B7ubqhbM0
>>1には「日本版ADSで〜」って書かれてるけど場所が無いのでβ版について相談

日版ADSだと[Duel.SendtoDeck(tc,tp,-1,REASON_RULE)]でトークンの様に完全にロストさせる事ができたんだけど、
β版だとそれができなくて困ってます
どなたかこのような処理ができる方法を知りませんか?

450 名無しデュエリスト :2017/08/27(日) 15:35:35 ID:Gzo3pjw20
マキュラのカウンター罠版みたいなのを作ろうとしてるのですが
targetにカウンター罠を入れるのってどうすればいいのでしょうか

451 名無しデュエリスト :2017/08/27(日) 23:39:48 ID:mHYEsjTQ0
ADSオリカ作成入門して2週間です。
今、昔のGBC風味の儀式(暗黒騎士ガイアをリリースしてカオス・ソルジャー特殊召喚)
みたいなものを作っているのですが、最後の詰めがうまくいきません。見て頂けないでしょうか?
したいこと:「ブラック・マジシャン」「カオス・ソルジャー」の2体をデッキ・手札・フィールドからリリースしてデッキ・手札から「マジシャン・オブ・ブラックカオス」特殊召喚
今できているところ:デッキ・手札・墓地から「ブラック・マジシャン」「カオス・ソルジャー」2種類のうち2体をリリースすることでデッキ・手札から「マジシャン・オブ・ブラックカオス」特殊召喚
惜しいのですが、これだとブラマジ2体、カオソル2体でもいけてしまうので調整したいです。
functionが鍵になってる、という所までは突き止めたのですがそこからが分かりません。
(一応、海外版の「究極竜の儀式」をモチーフにしてます)
function c76792184.activate(e,tp,eg,ep,ev,re,r,rp)
local mg=Duel.GetRitualMaterial(tp)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_SPSUMMON)
local tg=Duel.SelectMatchingCard(tp,c76792184.filter,tp,LOCATION_DECK+LOCATION_HAND,0,1,1,nil,e,tp,mg)
if tg:GetCount()>0 then
local tc=tg:GetFirst()
local mg2=Duel.GetMatchingGroup(c76792184.filter2,tp,LOCATION_DECK+LOCATION_HAND+LOCATION_MZONE,0,nil,tc)
mg:Merge(mg2)
mg:RemoveCard(tc)
Duel.Hint(HINT_SELECTMSG,tp,HINTMSG_RELEASE)
local mat=mg:FilterSelect(tp,Card.IsCode,2,2,nil,46986414,5405694)
-- and mg:FilterSelect(tp,Card.IsCode,1,1,nil,5405694)
tc:SetMaterial(mat)
local mat1=mat:Filter(Card.IsLocation,nil,LOCATION_DECK+LOCATION_HAND+LOCATION_MZONE)
mat:Sub(mat1)
Duel.ReleaseRitualMaterial(mat)
Duel.SendtoGrave(mat1,REASON_EFFECT+REASON_RELEASE+REASON_MATERIAL+REASON_RITUAL)
Duel.BreakEffect()
Duel.SpecialSummon(tc,SUMMON_TYPE_RITUAL,tp,tp,true,false,POS_FACEUP)
tc:CompleteProcedure()
end

452 名無しデュエリスト :2017/08/30(水) 23:54:03 ID:GCRZvsHs0
>>450
アトラの蟲惑魔のスクリプトを参考に

>>451
local mat=mg:FilterSelect(tp,Card.IsCode,2,2,nil,46986414,5405694)
 ↓
local mat=mg:FilterSelect(tp,Card.IsCode,1,1,nil,46986414)
local mat2=mg:FilterSelect(tp,Card.IsCode,1,1,nil,5405694)
mat:Merge(mat2)

とか

453 名無しデュエリスト :2017/09/08(金) 23:14:12 ID:mHYEsjTQ0
>>452
>>450 の者です。
返信遅れましてすみません。
アドバイス頂いたとおりやってみたら2種類でも3種類でもいけました。
ありがとうございます。

454 紫炎 :2017/09/15(金) 22:09:49 ID:PgR70ob20
スクリプト作成バグ報告スレから上げ
サクリファイス・フュージョン、銃砲撃、ジャックナイツについて

・サクリファイス・フュージョン
サクリファイスのスクリプトを確認したところ、LabalObjectで装備モンスターを指定しているため、外部からこれを与えることが不可能。
「自身の効果で装備している状態」を常にFlagEffectで表せれば作れる…と思う
永続効果で再現できるか…?

・銃砲撃
「コイントスを行う効果」ではTargetでコイントスを行う回数を記述している。
例:リボルバー・ドラゴン) Duel.SetOperationInfo(0,CATEGORY_COIN,nil,0,tp,3)
これを引っ張ってこれれば対応可能。やり方は知らぬ。

・ジャックナイツ
仮に「同じ縦列にカードが2枚存在する自分メインモンスターゾーンの取得」までは出来たとしよう。
どうやってそこに特殊召喚させんねん

どなたか書き方が分かる人または何か思いついたら詳しく教えてください…

455 名無しデュエリスト :2017/09/16(土) 11:38:36 ID:PgR70ob20
魅幽鳥でモンスターゾーンの位置によってカードにカーソル合せた時に出す効果の説明文を変える方法って何か無いかな
ご意見ください

456 名無しデュエリスト :2017/09/16(土) 13:07:12 ID:PgR70ob20
>>454
のジャックナイツ自決しました

457 名無しデュエリスト :2017/09/17(日) 09:59:45 ID:jKgqsuwc0
>>456
早まるなww

458 名無しデュエリスト :2017/09/18(月) 00:20:26 ID:MnMk1atg0
いいやつだったよ・・・

459 名無しデュエリスト :2017/09/24(日) 17:20:17 ID:YmKAqde.0
スクリプトの質問失礼致します。

エラッタ前の遺言状のスクリプトを下記のように作って動かしてみたのですが、
墓地に送ったモンスターを2〜3体以上にしてから遺言状の効果でモンスターを特殊召喚すると、
「recursive event trigger detected.」とのエラーが発生してしまい、
繰り返しモンスターを特殊召喚する事が出来なくなってしまいます。
このエラーが発生しないようにするにはどうしたら良いでしょうか?
どなたかよろしくお願い致します。

作成したスクリプト(少々長いのでアップローダーに上げています)
http://cover1sea.net/php/txtup/print2.php?no=68458&amp;dt=2017/09/24

460 名無しデュエリスト :2017/09/27(水) 18:42:22 ID:QX3X5Zv.0
>>459
質問するときはageることを勧める

単純に同じ効果をトリガーに発動したらエラーが出るってだけじゃねーの?
編集した部分が明確ならそれを一つずつ戻していけば原因は分かるだろう

461 名無しデュエリスト :2017/09/27(水) 22:15:56 ID:dNeEepXo0
カードの発動時や召喚成功時に情報ウィンドウで任意のメッセージを表示するのはできるんだけど、
召喚成功前に情報ウィンドウを表示するにはどう記述したら良いのだろうか

具体的に言うと、スターダストやダークリベリオン等の召喚口上持ちモンスターを召喚する時に、情報ウィンドウで口上を表示させたい。

462 名無しデュエリスト :2017/09/28(木) 12:18:29 ID:/sIoHh.U0
>>461
やるやる
トーチゴーレムを参考に、SS時のコストにしてしまえば良い
今ちょっと手元にPCが無いから確認できないけど、通常召喚時にも応用効いたと思う

463 名無しデュエリスト :2017/09/28(木) 20:31:22 ID:dNeEepXo0
>>462
言う通りにトーチゴーレムを参考にして作ったらできたよ! ありがとう!!

464 名無しデュエリスト :2017/09/30(土) 12:39:03 ID:YmKAqde.0
>>460
>>459ですが、助言して頂いた通り、同じ効果でのトリガーを防ぐために同様のトリガーと内容の効果をもう一つ用意し、
特殊召喚の度に切り替えるフラグを条件にして使い分けるようにしたところ上手くいくようになりました。
ありがとうございます。

465 名無しデュエリスト :2017/10/01(日) 17:24:52 ID:YmKAqde.0
デュエル開始時の初期手札を引く前の段階で効果を適用させるにはどうしたら良いかどなたかご存知でしょうか?
海外ADSのアクションフィールドのスクリプトも初期手札を引いた直後に効果を適用させるタイプなので参考にする事ができず、
自前で定数EVENT_STARTUPをSetCodeに設定しても効果の適用がされませんでした。
理想としては、某世紀末動画の混沌みたいに「効果の適用→初期手札引く」という挙動にしたいです。
どなたか宜しくお願い致します。

466 名無しデュエリスト :2017/10/02(月) 17:02:41 ID:EX1Ne1dA0
引いた後に手札を全てデッキに戻すんだ
で、効果を処理してからまた引き直す
それで擬似的にいける

467 名無しデュエリスト :2017/10/02(月) 22:26:07 ID:QX3X5Zv.0
>>465
うーむむ、部屋の初期手札の設定を0枚にして移動後に5枚までドローってすれば見た目は同じになるけど、いちいち設定するのも面倒だしなあ
というか某動画の作者に書き方聴いてみたら?

468 名無しデュエリスト :2017/10/03(火) 03:40:48 ID:OV9uJmcY0
DP前に処理するなら>>466しか無いと思う

469 465 :2017/10/04(水) 12:54:23 ID:0n8z6Uk.0
>>466,467,468
うーん、やっぱり0ターン目の処理は難しいですか・・・
某動画の作者にダメ元で聞いてみて、それで駄目なら466の方法で実装しようと思います。

470 名無しデュエリスト :2017/10/08(日) 20:34:48 ID:I/6nc6sg0
既存種族の複合種族の表示
例: strings.confに!system 2041 (戦士族+魔法使い族の)複合種族名
で行けなかったですが他も弄る必要あるみたい・・・
どこ弄ればいいかどなたかご存知ですかね?

種族が2つになるのを1つに統合したい。

471 名無しデュエリスト :2017/10/08(日) 22:48:17 ID:Gzo3pjw20
>>470
新種族の追加は本体側のプログラムもいじる必要があるのでどこかにあるソースを入手してやるとかしてください

472 名無しデュエリスト :2017/10/08(日) 23:56:34 ID:I/6nc6sg0
>>471
そっか・・・
本体いじるのは配布とかし辛くなるから諦めるか・・・


新着レスの表示


名前: E-mail(省略可)


■ したらば のおすすめアイテム ■

まおゆう魔王勇者 (1) (初回生産限定特典:朗読劇「昼の部」優先購入応募券/橙乃ままれ先生書き下ろし短編小説付き) [Blu-ray] - 高橋丈夫

魔王:「だから、もう一度云う。
   『この我のものとなれ、勇者よ』
    私が望む未だ見ぬ物を探すために
    私の瞳、私の明かり、私の剣となって欲しい」

勇者:「断る」

この欄のアイテムは掲示板管理メニューから自由に変更可能です。


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