SRC質問掲示板Mk2

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

■23014 / 親記事)  IsEquipedのIf文が無視されてしまいます。
  
□投稿者/ 永藤 雪 -(2018/07/27(Fri) 20:45:08) [ID:uHGPnxr5]
    以下のようにIF文を作ったのですが、IsEquipedのところに1という数字は入っているはずなのですが、そのIf文のところに行きません。どうしたらいいですか?
    それから、説得2回目が終わるとすぐに説得3回目に飛んでいきます。3回目の会話をしていないのにです。何が原因でしょうか。


    Set ブラン説得 0
    会話 キャラ ブラン:
    If Party(ブラン) = 味方 Then
    //ブランが味方になっていたらの処理

    ElseIf Party(ブラン) = 敵 Then
    If ブラン説得 = 0 And IsEqiped(キャラ,ブランお手製回復薬) = 0 And IsEqiped(キャラ,ブランお手製強壮薬) = 0 Then
    Set ブラン説得 1
    Talk キャラ
    //IsEquiped(キャラ,ブランお手製回復薬、強壮薬)が1でもここの処理に飛びます。0の時にはブランが否定するっていう処理です。

    ElseIf ブラン説得 = 0 And IsEqiped(キャラ,ブランお手製回復薬) = 1 And IsEqiped(キャラ,ブランお手製強壮薬) = 1 Then
    //もしもブランお手製回復薬、強壮薬を持っていたらここの処理に飛ぶというのをやりたいのですが、ここには飛びません。

    Talk システム
    ブランが仲間になった!!
    End
    ChangeParty ブラン 味方

    ElseIf ブラン説得 = 1 Then
    Set ブラン説得 (ブラン説得 + 1)
    //ここからの処理は順調です。説得2回目が始まります。

    If ブラン説得 = 2 Then
    //説得3回目がはじまります。説得2回目から会話前にすぐにこの処理が始まりました。
    Talk システム
    ブランが仲間になった!!
    End
    ChangeParty ブラン 味方
    EndIf
    EndIf
    EndIf
引用返信/返信 削除キー/
■23015 / ResNo.1)  Re[1]: (修正版)IsEquipedのIf文が無視されてしまいます。
□投稿者/ d -(2018/07/28(Sat) 19:11:54) [ID:A3lMZBbl]
    2018/07/29(Sun) 16:10:18 編集(投稿者)
    >>以下のようにIF文を作ったのですが、IsEquipedのところに1という数字は入っているはずなのですが、そのIf文のところに行きません。どうしたらいいですか?
    
    関数名を間違えています。
    ×IsEqiped
    ○IsEquiped
    
    ElseIf ブラン説得 = 0 And IsEqiped(キャラ,ブランお手製回復薬) = 1 And IsEqiped(キャラ,ブランお手製強壮薬) = 1 Then
    ↓
    ElseIf ブラン説得 = 0 And IsEquiped(キャラ,ブランお手製回復薬) = 1 And IsEquiped(キャラ,ブランお手製強壮薬) = 1 Then
    
    
    >>説得2回目が終わるとすぐに説得3回目に飛んでいきます。3回目の会話をしていないのにです。
    
    原文を見やすくすると@の感じです。
    見る限り「 If ブラン説得 = 2 Then 」が「 ElseIf ブラン説得 = 1 Then 」内で処理されているのが原因です。
    手直しするとAかBの様な感じでしょうか。
    
    // @
    //////////////////////////////////////////////////
    会話 キャラ ブラン:
    If Party(ブラン) = 味方 Then
    	//ブランが味方になっていたらの処理
    
    ElseIf Party(ブラン) = 敵 Then
    	If ブラン説得 = 0 And IsEqiped(キャラ,ブランお手製回復薬) = 0 And IsEqiped(キャラ,ブランお手製強壮薬) = 0 Then
    		Set ブラン説得 1
    			//IsEquiped(キャラ,ブランお手製回復薬、強壮薬)が1でもここの処理に飛びます。0の時にはブランが否定するっていう処理です。
    
    	ElseIf ブラン説得 = 0 And IsEqiped(キャラ,ブランお手製回復薬) = 1 And IsEqiped(キャラ,ブランお手製強壮薬) = 1 Then
    		//もしもブランお手製回復薬、強壮薬を持っていたらここの処理に飛ぶというのをやりたいのですが、ここには飛びません。
    
    		Talk システム
    		ブランが仲間になった!!
    		End
    		ChangeParty ブラン 味方
    
    	ElseIf ブラン説得 = 1 Then
    		Set ブラン説得 (ブラン説得 + 1)
    		//ここからの処理は順調です。説得2回目が始まります。
    
    		If ブラン説得 = 2 Then
    			//説得3回目がはじまります。説得2回目から会話前にすぐにこの処理が始まりました。
    			Talk システム
    			ブランが仲間になった!!
    			End
    			ChangeParty ブラン 味方
    		EndIf
    	EndIf
    EndIf
    
    // A
    //////////////////////////////////////////////////
    (中略)
    	ElseIf ブラン説得 = 1 Then
    		Set ブラン説得 (ブラン説得 + 1)
    
    	ElseIf ブラン説得 = 2 Then
    		Talk システム
    		ブランが仲間になった!!
    		End
    		ChangeParty ブラン 味方
    	EndIf
    EndIf
    
    // B
    //////////////////////////////////////////////////
    (中略)
    	ElseIf ブラン説得 = 1 Then
    		Set ブラン説得 (ブラン説得 + 1)
    	Else
    		If ブラン説得 = 2 Then
    			Talk システム
    			ブランが仲間になった!!
    			End
    			ChangeParty ブラン 味方
    		EndIf
    	EndIf
    EndIf

引用返信/返信 削除キー/
■23016 / ResNo.2)  背景とターン数について
□投稿者/ 永藤 雪 -(2018/08/03(Fri) 20:47:33) [ID:uHGPnxr5]
    わかりやすく教えてくれてありがとうございます。IsEquipedは間違えやすいのでこれからは気をつけなければいけませんね。エラーも出なかったですし。おかげで直りました。

    質問が2つあります。

    @PaintPictureで背景というか画像を表示させたいのですが、どうすればいいですか。640×480の画像です。

    A現在のターンから10ターン目、20ターン目にイベントを起こしたいのですが、どうすればいいですか?

    進入 18 4:
    //イベント

    ターン 10 味方:
    //味方が助けに来てくれるのですが、進入していなくてもこのイベントが起こります。
    End
    Exit
    Exit

引用返信/返信 削除キー/
■23017 / ResNo.3)  Re[3]: 背景とターン数について
□投稿者/ マヤ -(2018/08/04(Sat) 04:33:24) [ID:i7st77Ky]
    >@PaintPictureで背景というか画像を表示させたいのですが、どうすればいいですか。640×480の画像です。

    PaintPicture (画像の名前).(画像の拡張子) (横位置の表示開始地点) (縦位置の表示開始地点) (横の表示領域) (縦の表示領域) (使用画像の表示したい横開始地点) (使用画像の表示したい縦開始地点) (使用画像の表示したい横終わり位置) (使用画像の表示したい横終わり地点) (オプション色々)
    Refresh もしくはRedraw もしくはFadein

    一例)
    PaintPicture ちず.png - - 480 480 - - - - セピア
    Refresh

    画像の大きさですが、480×480までしか表示ができないので、余った箇所は表示されない感じになります。表示させたい場合は、640 480 ではなく、480 480とする事で、圧縮された感じになりますが表示は可能です。
    上記の例は、480×480の「ちず」という名前のpng画像を、画面いっぱいにセピア調で瞬間表示させる場合です。ゆっくり表示させたい時はRefreshではなく、fadein 20 や30等を使用するとやわらかな雰囲気が作れます。ClearPictureで表示した画像は消すことが出来ます。
    後ろの4つの表示方法はシンプルな時には余り使われないので、下のように省いても大丈夫です。

    PaintPicture ちず.png - - 480 480 セピア
    Refresh

    背景の方にも触れておきます。地形効果は元のマップチップと変わりませんが、マップチップ扱いの背景にする場合は

    PaintPicture ちず.png - - 360 240 背景
    Redraw

    とするとうまくいくでしょう。但し、背景オプションを使用した場合、画像の書き込み座標はその時の画面位置になるので注意が必要です。マップの広さにもよりますが、全体を背景画像で埋めたい場合などは

    Center 1 1
    PaintPicture せんとうようちず.png - - 1600 1600 背景
    Redraw

    とすることで、50×50の最大サイズの一枚マップでも全てに背景画像が引き伸ばされた状態で表示されます。色々といじってみると新しい発見があるかもしれません。画面外の黒枠は残念ながら背景で埋めたりは出来ません。コチラの方はマップチェンジやモノクロや夕方など、光の量を変えることで対処しているようです。



    >A現在のターンから10ターン目、20ターン目にイベントを起こしたいのですが、どうすればいいですか?

    地点侵入の際にIncrで値をSetし、ターン毎に増やしていくことで、疑似タイマー的なものが作れます。これを活用します。


    ターン 全 味方:
    If いべんとはじまり = 1 Exit
    If 援軍呼んだよ = 1 Then
    Incr 援軍 1
    EndIf

    If 援軍 = 9 GoTo あと少し
    If 援軍 = 10 GoTo 第一援軍
    If 援軍 = 19 GoTo あと少し2
    If 援軍 = 20 GoTo イベント
    Exit

    進入 味方 18 4:
    Talk 味方指揮官(ザコ)
    よし、ここは抑えた。
    これで後陣を呼び込める。後は耐えきるだけだ!
    end
    Set 援軍呼んだよ
    Exit

    あと少し;
    Talk 味方快速隊員(ザコ)
    司令殿!これを!!
    Talk 味方指揮官(ザコ)
    お、援軍の手のものか!!助かる!
    よーし全員気張れ!! 全員健在で出迎えてやらねばな!!
    end
    Exit

    第一援軍;
    Talk 味方援軍指揮官(汎用)
    へーえ……流石ダンナじゃん。なかなか粘ってるね!
    Talk 味方指揮官(ザコ)
    よ、よりによってお前が来たのか!?
    Talk 味方援軍指揮官(汎用)
    へへっ!そのとーり!まぁ見ててくれよ!
    end
    Exit

    あと少し2;
    Talk 味方指揮官(ザコ)
    む…風向きが変わったか?
    Talk 味方援軍指揮官(汎用)
    守り通せばいいさね。ここは様子見が良いと思う
    end
    Exit

    イベント;

    Set いべんとはじまり

    end
    Exit


    #incrで毎ターン毎に増える値を決めてあげると、それがターンタイマーの役割を果たせるので、あれこれ活用できます。
    #増やす値、setの名前は一時的とはいえわかり易い名前が良いですが、よく使う単語にすると混同する可能性もあるので、set用はset用で管理しておくと良いでしょう。

引用返信/返信 削除キー/
■23018 / ResNo.4)  Re[4]: 背景とターン数について
□投稿者/ 永藤 雪 -(2018/08/04(Sat) 14:15:30) [ID:uHGPnxr5]
    2018/08/04(Sat) 16:42:40 編集(投稿者)

    わかりにくい質問ですみません。

    プロローグにある画像を表示させたいのですが、どうすればいいですか?
    マップにではありません。

    あと、ある地点に進入して、20ターン目にやっとこさ援軍がくるというのはこのやり方しかありませんか?
    やってみましたが、イベントは起こりませんでした。
引用返信/返信 削除キー/
■23021 / ResNo.5)  Re[5]: 背景とターン数について
□投稿者/ マヤ -(2018/08/04(Sat) 17:15:32) [ID:i7st77Ky]
    >プロローグにある画像を表示させたいのですが、どうすればいいですか?
    SRCではマップがない場所では画像が表示されないのです。例としてインターミッション中も画像は出せません。ですので、何らかの方法で何でも良いのでmapを出しておくと良いでしょう。

    例)
    プロローグ:

    changemap 背景用A.map 非同期
    show
    paintpicture 見せたい画像.jpg - - 480 480
    Fadein 20

    >あと、ある地点に進入して、20ターン目にやっとこさ援軍がくるというのはこのやり方しかありませんか?
    >やってみましたが、イベントは起こりませんでした。

    すみません、例として作った第一援軍; や、あと少し2; の;←
    本来:の箇所を;と打ち間違えていました!お手数ですが:に打ち直してみて下さい!
引用返信/返信 削除キー/
■23022 / ResNo.6)  ザコパイロットを一体ずつ撤退させるには
□投稿者/ 永藤 雪 -(2018/08/10(Fri) 17:20:25) [ID:uHGPnxr5]
    解決しました。ありがとうございます。
    アドバイス通りと、援軍呼んだよに1を代入したらうごくようになりました。


    以下のようにプログラムを組んだのですが、最初の1体しか撤退してくれません。
    一体ずつ撤退させるにはどうしたらいいですか?

    損傷率 使い魔(ザコ) 10:
    #使い魔の損傷率が10%以上になると使い魔が撤退
    Talk ブランの使い魔(ザコ)
    //撤退時のセリフ
    End
    Escape 使い魔(ザコ)
    Exit


    損傷率 使い魔(汎用) 10:
    #強い使い魔の損傷率が10%以上になると強い使い魔が撤退
    Talk ブランの使い魔(汎用)
    //撤退時のセリフ
    End
    Escape 使い魔(汎用)
    Exit
引用返信/返信 削除キー/
■23023 / ResNo.7)  Re[7]: ザコパイロットを一体ずつ撤退させるには
□投稿者/ d -(2018/08/10(Fri) 20:40:12) [ID:fSgUuh6z]
    2018/08/11(Sat) 14:04:46 編集(投稿者)

    >>一体ずつ撤退させるにはどうしたらいいですか?

    損傷イベントなら、下記の何れかで機能するはずです。
    ちなみに、ザコ、汎用パイロットは名称指定だと最初に作成された対象を参照します。(これはユニットの名称指定でも同じ)
    そのため、下記のような指定でIDを判別する必要があります。

    Escape 対象パイロット
    Escape 対象ユニットID
    Escape PilotID()
    Escape UnitID()
引用返信/返信 削除キー/
■23024 / ResNo.8)  Re[8]: ザコパイロットを一体ずつ撤退させるには
□投稿者/ 永藤 雪 -(2018/08/19(Sun) 20:05:50) [ID:uHGPnxr5]
    今のところすべて解決しました。ありがとうございます。




    マヤさんへ
    もしこのゲームが全てできて、ネットにUPしたとき、マヤさんの名前を入れてもいいですか?
解決済み!
引用返信/返信 削除キー/
■23025 / ResNo.9)  Re[9]: ザコパイロットを一体ずつ撤退させるには
□投稿者/ マヤ -(2018/08/21(Tue) 22:41:48) [ID:i7st77Ky]
    わあ、ありがとうございます〜
    自分の経験が何かしらの形で還元できたのはとても嬉しいです。はい、お名前ご使用どうぞですー!
引用返信/返信 削除キー/



スレッド内ページ移動 / << 0 >>

このスレッドに書きこむ

Pass/

HOME HELP 新規作成 新着記事 ツリー表示 スレッド表示 トピック表示 検索 掲示板新着情報RSS配信新着情報 過去ログ

- Child Tree -
- Antispam Version -