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