SRC総合支援センター

ヘルプh| 連絡先

GSCトップ掲示板巨大データ掲示板


巨大データ掲示板

注意事項


当掲示板に掲載されているテストシナリオは、
SRC総合支援センターの登録式画像パック、非登録式画像パック、丸投げ画像パック、
SRCオリジナルサポートセンターのオリサポパックを利用しています。

【6501】00Vインクルード

名前
 アルパカ
投稿日時
 - 2019年01月09日(水) 22時31分 -
設定
引用なし
パスワード
#### 以下の戦闘アニメラベルは、勇者王ガオガイガーフォルダから流用したものです ####
## 他との混同を防ぐため、識別子を変更しています。

戦闘アニメ_00_二丁ビームライフル準備:

Local ARY Pict PictSz PrSE

For i = 1 To ArgNum
 Array ARY Args(i) "="
 Switch ARY[1]
 Case 画像ファイル
  Set Pict[A] ARY[2]
  Set Pict[B] ARY[3]
 Case 画像サイズ
  Set PictSz[A] ARY[2]
  Set PictSz[B] ARY[3]
 Case 色
  Skip
 Case Else
  If InStr(ARY[1], ".wav") > 0 Then
   Set PrSE ARY[1]
  EndIf
 EndSw
Next

Call 戦闘アニメ_00_左右別武器共通準備 _GetName("Weapon\EFFECT_BeamRifle01.bmp",Pict[A]) _GetName(32,PictSz[A]) _
              _GetName("Weapon\EFFECT_BeamRifle01.bmp",Pict[B]) _GetName(32,PictSz[B]) PrSE

UnSet ARY Pict PictSz PrSE
Return Keep


戦闘アニメ_00_左右別武器共通準備:

Local i T_X T_Y ANG DRCT W_P W_S H_C S_E S-I C-S LN
Local UID = _GetName(対象ユニットID,_GetIDFromArgs())
_CenteringCheck UID

Set T_X (WX(UID) + 16)
Set T_Y (WY(UID) + 16)
# +16してユニット画像の中心座標を得ておく。
Set ANG Call(_GetAngle)
Set DRCT _FlipVertical(ANG)
# 目標までの角度と上下反転するかどうかの取得。汎用戦闘アニメ流用。

Set W_P[1] Args(1)
Set W_S[1] Args(2)
Set W_P[2] Args(3)
Set W_S[2] Args(4)
Set S_E _GetName(Reload.wav,Args(5))

Set H_C[1] (W_S[1] / 2)
Set H_C[2] (W_S[2] / 2)
#Set S-I[A] (Sin(3.141592 * (ANG + 90) / 180) * 16)
#Set C-S[A] (Cos(3.141592 * (ANG + 90) / 180) * 16)
Set S-I[A] (Sin(3.141592 * (ANG + 90) / 180) * 8)
Set C-S[A] (Cos(3.141592 * (ANG + 90) / 180) * 8)

# 画像表示用・修正値の計算など

# ↓ここから画像の表示

Wait Start
PlaySound S_E
For i = 1 To 3
 ClearPicture
 Switch i
 Case 1
  Set LN -4
 Case 2
  Set LN 2
 Case 3
  Set LN 0
 EndSw
 PaintPicture W_P[1] (T_X - H_C[1] - C-S[A] - LN) (T_Y - H_C[1] - S-I[A] - LN) W_S[1] W_S[1] 透過 DRCT 右回転 ANG _ColorTime()
 PaintPicture W_P[2] (T_X - H_C[2] + C-S[A] - LN) (T_Y - H_C[2] + S-I[A] - LN) W_S[2] W_S[2] 透過 DRCT 右回転 ANG _ColorTime()
 Refresh
 Wait Until (0.6 * i)
Next
Wait Until 7

UnSet i T_X T_Y ANG W_P W_S B_C H_C S-I C-S LN
Return Keep
# ローカル変数を削除してリターン

#─────────────────────────────────────────────
戦闘アニメ_00_二丁ビームライフル攻撃:

Local i m T_X T_Y ANG DRCT W_P W_S B_C B_S H_C S-I C-S LN ARY
Local UID = _GetName(対象ユニットID,_GetIDFromArgs())
_CenteringCheck UID

Set T_X (WX(UID) + 16)
Set T_Y (WY(UID) + 16)
Set ANG Call(_GetAngle)
Set DRCT _FlipVertical(ANG)
Set B_S Call(_GetSizeFromArgs)

For i = 1 To ArgNum
 Array ARY Args(i) "="
 Switch ARY[1]
 Case 画像ファイル
  Set W_P[A] ARY[2]
  Set W_P[B] ARY[3]
 Case 画像サイズ
  Set W_S[A] ARY[2]
  Set W_S[B] ARY[3]
 Case 色
  Set B_C[A] ARY[2]
  Set B_C[B] ARY[3]
 Case Else
  Skip
 EndSw
Next

Set W_P[1] _GetName("Weapon\EFFECT_BeamRifle01.bmp",W_P[A])
Set W_S[1] _GetName(32,W_S[A])
Set W_P[2] _GetName("Weapon\EFFECT_BeamRifle01.bmp",W_P[B])
Set W_S[2] _GetName(32,W_S[B])

If B_S = "小" Then
 Set B_C[1] ("Beam\EFFECT_Beam" & _GetName("(Pink)",_G_BC_FA(B_C[A])) & "0")
 Set B_C[2] ("Beam\EFFECT_Beam" & _GetName("(Pink)",_G_BC_FA(B_C[B])) & "0")
ElseIf B_S = "中" Then
 Set B_C[1] ("Beam\EFFECT_MBeam" & _GetName("(Pink)",_G_BC_FA(B_C[A])) & "0")
 Set B_C[2] ("Beam\EFFECT_MBeam" & _GetName("(Pink)",_G_BC_FA(B_C[B])) & "0")
EndIf

Set H_C[1] (W_S[1] / 2)
Set H_C[2] (W_S[2] / 2)
# 修正値の計算……画像サイズの半分=画像回転時の半径

#Set S-I[A] (Sin(3.141592 * (ANG + 90) / 180) * 16)
#Set C-S[A] (Cos(3.141592 * (ANG + 90) / 180) * 16)
Set S-I[A] (Sin(3.141592 * (ANG + 90) / 180) * 8)
Set C-S[A] (Cos(3.141592 * (ANG + 90) / 180) * 8)
# 武器画像の表示位置修正値
# ユニット画像を半径16の円と仮定し、それぞれサインとコサインを求めます。
#
# 武器の画像は、対象ユニット〜相手ユニット間の直線に対して垂直の位置に表示されます。
# したがって、すでに求めた角度ANGに90を足して計算。

Set S-I[1] (Sin(3.141592 * ANG / 180) * H_C[1])
Set S-I[2] (Sin(3.141592 * ANG / 180) * H_C[2])
Set C-S[1] (Cos(3.141592 * ANG / 180) * H_C[1])
Set C-S[2] (Cos(3.141592 * ANG / 180) * H_C[2])
# 画像の半径にそれぞれの角度のサイン・コサインをかける
#        =画像回転時の砲口の位置を知るための修正値

Set LN[X] _GetCircumference(ANG,X)
Set LN[Y] _GetCircumference(ANG,Y)
# ビーム発射時の”反動”=ビーム発射方向の逆ベクトルを求める。汎用戦闘アニメ流用。

_UnSetBattleAnimeValue

# ↓ここから画像の表示

Wait Start
PlaySound Charge.wav
For i = 1 To 5
 ClearPicture
 Switch i
 Case 3
  _SelectSound Beam.wav _GetWavFromArgs()
  If B_S = "小" Then
   Set m -2
  ElseIf B_S = "中" Then
   Set m -4
  EndIf
 Case 4
  If B_S = "小" Then
   Set m -1
  ElseIf B_S = "中" Then
   Set m -2
  EndIf
 Case Else
  Set m 0
 EndSw
 PaintPicture W_P[1] (T_X - H_C[1] - C-S[A] + (LN[X] * m)) (T_Y - H_C[1] - S-I[A] + (LN[Y] * m)) W_S[1] W_S[1] 透過 DRCT 右回転 ANG _ColorTime()
 PaintPicture W_P[2] (T_X - H_C[2] + C-S[A] + (LN[X] * m)) (T_Y - H_C[2] + S-I[A] + (LN[Y] * m)) W_S[2] W_S[2] 透過 DRCT 右回転 ANG _ColorTime()
 PaintPicture (B_C[1] & i & ".bmp") (T_X - 32 - C-S[A] - C-S[1]) (T_Y - 32 - S-I[A] - S-I[1]) 64 64 透過 右回転 ANG _ColorTime(1)
 PaintPicture (B_C[2] & i & ".bmp") (T_X - 32 + C-S[A] - C-S[2]) (T_Y - 32 + S-I[A] - S-I[2]) 64 64 透過 右回転 ANG _ColorTime(1)
 Refresh
 Wait Until (0.8 * i)
Next

UnSet i m T_X T_Y ANG W_P W_S B_C B_S H_C S-I C-S S_E LN ARY PrSE
Return

#─────────────────────────────────────────────
戦闘アニメ_00_二丁ビームライフル命中:

Local i m E_X E_Y ANG B_C B_CA B_CB X_F Y_F ARY B_S P_S
Local UID = _GetName(相手ユニットID,_GetIDFromArgs())
_CenteringCheck UID

Set E_X (WX(UID) - 16)
Set E_Y (WY(UID) - 16)
Set ANG Call(_GetAngle)
Set B_S Call(_GetSizeFromArgs)

For i = 1 To ArgNum
 Array ARY Args(i) "="
 Switch ARY[1]
 Case 画像ファイル 画像サイズ
  Skip
 Case 色
  Set B_C[A] ARY[2]
  Set B_C[B] ARY[3]
 Case Else
  Skip
 EndSw
Next

Set B_CA[1] ("Beam\EFFECT_BeamDroplet" & _GetName("(Pink)",_G_BC_FA(B_C[A])) & "0")
Set B_CA[2] ("Beam\EFFECT_BeamDroplet" & _GetName("(Pink)",_G_BC_FA(B_C[B])) & "0")

If B_S = "小" Then
 Set B_CB[1] ("Beam\EFFECT_BeamHit" & _GetName("(Pink)",_G_BC_FA(B_C[A])) & "0")
 Set B_CB[2] ("Beam\EFFECT_BeamHit" & _GetName("(Pink)",_G_BC_FA(B_C[B])) & "0")
 Set m 1
 Set P_S[1] 26
 Set P_S[2] 24
ElseIf B_S = "中" Then
 Set B_CB[1] ("Beam\EFFECT_MBeamHit" & _GetName("(Pink)",_G_BC_FA(B_C[A])) & "0")
 Set B_CB[2] ("Beam\EFFECT_MBeamHit" & _GetName("(Pink)",_G_BC_FA(B_C[B])) & "0")
 Set m 2
 Set P_S[1] 20
 Set P_S[2] 16
EndIf

Set X_F _GetCircumference((ANG + 90),X)
Set Y_F _GetCircumference((ANG + 90),Y)

Wait Start
For i = 1 To 6
 ClearPicture
 If (i = 2) Then
  _SelectSound Explode.wav _GetWavFromArgs()
 EndIf
 Switch i
 Case 2
  PaintPicture (B_CA[1] & 1 & ".bmp") (E_X + P_S[1] + (X_F * 8)) (E_Y + P_S[1] + (Y_F * 8)) (12 * m) (12 * m) 右回転 ANG 透過 _ColorTime(1)
  PaintPicture (B_CA[2] & 1 & ".bmp") (E_X + P_S[1] + (X_F * -8)) (E_Y + P_S[1] + (Y_F * -8)) (12 * m) (12 * m) 右回転 ANG 透過 _ColorTime(1)
 Case 3 4
  PaintPicture (B_CA[1] & 1 & ".bmp") (E_X + P_S[2] + (X_F * 8)) (E_Y + P_S[2] + (Y_F * 8)) (16 * m) (16 * m) 右回転 ANG 透過 _ColorTime(1)
  PaintPicture (B_CA[2] & 1 & ".bmp") (E_X + P_S[2] + (X_F * -8)) (E_Y + P_S[2] + (Y_F * -8)) (16 * m) (16 * m) 右回転 ANG 透過 _ColorTime(1)
 EndSw
 PaintPicture (B_CB[1] & i & ".bmp") (E_X + (X_F * 8)) (E_Y + (Y_F * 8)) 64 64 透過 右回転 ANG _ColorTime(1)
 PaintPicture (B_CB[2] & i & ".bmp") (E_X + (X_F * -8)) (E_Y + (Y_F * -8)) 64 64 透過 右回転 ANG _ColorTime(1)
 Refresh
 Wait Until (0.7 * i)
Next

UnSet i m E_X E_Y ANG B_C B_CA B_CB X_F Y_F ARY B_S P_S
Return
# ローカル変数を削除してリターン


戦闘アニメ_00_左右別武器突撃攻撃:

Local i C_X C_Y W_X W_Y ANG DRCT DRCT2 W_P W_S H_C S-I C-S LN
Local UID = _GetName(対象ユニットID,_GetIDFromArgs())
_CenteringCheck UID

Set C_X WX(UID)
Set C_Y WY(UID)
Set ANG Call(_GetAngle)

 If (X(UID) >= _Get_X(相手ユニットID)) Then
  Set DRCT ""
 Else
  Set DRCT 左右反転
 EndIf
Set DRCT2 _FlipVertical(ANG)

For i = 1 To ArgNum
 Array ARY Args(i) "="
 Switch ARY[1]
 Case 画像ファイル
  Set W_P[1] ARY[2]
  Set W_P[2] ARY[3]
 Case 画像サイズ
  Set W_S[1] ARY[2]
  Set W_S[2] ARY[3]
 Case Else
  Skip
 EndSw
Next

Set H_C[1] (W_S[1] / 2)
Set H_C[2] (W_S[2] / 2)
Set S-I[A] (Sin(3.141592 * (ANG + 90) / 180) * 16)
Set C-S[A] (Cos(3.141592 * (ANG + 90) / 180) * 16)
# 画像表示用・修正値の計算など

Local X_F = _GetCircumference(ANG,X)
Local Y_F = _GetCircumference(ANG,Y)
Local BMP_FILE = _GetBMPName(UID)
Local BMP_FILE2 = _GetTileName(UID)

_UnSetBattleAnimeValue

Set W_X[1] ((C_X + 16) - H_C[1] - C-S[A])
Set W_Y[1] ((C_Y + 16) - H_C[1] - S-I[A])
Set W_X[2] ((C_X + 16) - H_C[2] + C-S[A])
Set W_Y[2] ((C_Y + 16) - H_C[2] + S-I[A])

# ↓ここから画像の表示

Wait Start
_SelectSound Whiz.wav _GetWavFromArgs()

ChangeUnitBitmap UID 非表示

For i = 1 To 4
 ClearPicture
 _PaintTile BMP_FILE2 C_X C_Y
 Switch i
 Case 1 3
  Set LN -16
 Case 2
  Set LN -24
 Case 4
  Set LN 0
 Case 5
 EndSw

 PaintPicture BMP_FILE (C_X + (X_F * LN)) (C_Y + (Y_F * LN)) 32 32 透過 DRCT _ColorTime()
 PaintPicture W_P[1] (W_X[1] + (X_F * LN)) (W_Y[1] + (Y_F * LN)) W_S[1] W_S[1] 透過 DRCT2 右回転 ANG _ColorTime()
 PaintPicture W_P[2] (W_X[2] + (X_F * LN)) (W_Y[2] + (Y_F * LN)) W_S[2] W_S[2] 透過 DRCT2 右回転 ANG _ColorTime()

 Refresh
 Wait Until (i * 0.7)
Next

_SetAnimeData_UnitPoint (X_F * LN) (Y_F * LN) 0 DRCT "" "" UID

ChangeUnitBitmap UID 非表示解除

UnSet i C_X C_Y W_X W_Y ANG DRCT DRCT2 W_P W_S H_C S-I C-S X_F Y_F LN
Return "Keep"


######    以下の戦闘アニメは冬星さんから提供していただきました。     ######
###### 流用許可も頂いているので必要なら他のデータやシナリオに流用もOKです。 ######

# 一応、小ビームにも対応させてますが、おそらく、あんまり意味はありません。
# 当然ながら、ビーム色の変更はできます。

#─────────────────────────────────────────────
戦闘アニメ_GNホルスタービット攻撃:

Local i m T_X T_Y ANG DRCT W_P W_S B_F B_S B_C H_C S-I C-S X_F Y_F ARY
Local UID = _GetName(対象ユニットID,_GetIDFromArgs())
_CenteringCheck UID

Set T_X (WX(UID) + 16)
Set T_Y (WY(UID) + 16)
Set ANG Call(_GetAngle)
Set DRCT _FlipVertical(ANG)
Set B_S Call(_GetSizeFromArgs)
Set B_C _GetName("(Pink)",_GetBeamColorFromArgs())
Set W_P _GetName(Weapon\EFFECT_BeamRifle01.bmp,_GetBMPFromArgs())
Set W_S _GetName(32,_GetNumberFromArgs())

If B_S = "小" Then
 Set B_F ("Beam\EFFECT_Beam" & B_C & "0")
ElseIf B_S = "中" Then
 Set B_F ("Beam\EFFECT_MBeam" & B_C & "0")
EndIf

Set H_C (W_S / 2)
# 修正値の計算……画像サイズの半分=画像回転時の半径

Set S-I[A] (Sin(3.141592 * ANG / 180) * 20)
Set C-S[A] (Cos(3.141592 * ANG / 180) * 20)
# ビームの発射位置修正値
#
# EFFECT_G00_GNHolsterBits(F).bmpを開いたところ、穴と穴の間隔は20前後だったので半径20の円と仮定。
# それぞれサインとコサインを求めています。
# 二丁ビームライフルと違い、砲口が一直線上に並んでいるため、角度(ANG)に修正値を足す必要がありません。
# あとは、ここで得た値をプラスにするかマイナスにするか(真ん中の砲口では何もしない)だけです。

Set X_F _GetCircumference(ANG,X)
Set Y_F _GetCircumference(ANG,Y)
# ビーム発射時の”反動”=ビーム発射方向の逆ベクトルを求める。

_UnSetBattleAnimeValue

# ↓ここから画像の表示

Wait Start
PlaySound Charge.wav
For i = 1 To 5
 ClearPicture
 Switch i
 Case 3
  _SelectSound Beam.wav _GetWavFromArgs()
  If B_S = "小" Then
   Set m -2
  ElseIf B_S = "中" Then
   Set m -4
  EndIf
 Case 4
  If B_S = "小" Then
   Set m -1
  ElseIf B_S = "中" Then
   Set m -2
  EndIf
 Case Else
  Set m 0
 EndSw
 PaintPicture W_P (T_X - H_C + (X_F * m)) (T_Y - H_C + (Y_F * m)) W_S W_S 透過 DRCT 右回転 ANG _ColorTime()
 PaintPicture (B_F & i & ".bmp") (T_X - 32 - C-S[A]) (T_Y - 32 - S-I[A]) 64 64 透過 右回転 ANG _ColorTime(1)
 PaintPicture (B_F & i & ".bmp") (T_X - 32) (T_Y - 32) 64 64 透過 右回転 ANG _ColorTime(1)
 PaintPicture (B_F & i & ".bmp") (T_X - 32 + C-S[A]) (T_Y - 32 + S-I[A]) 64 64 透過 右回転 ANG _ColorTime(1)
 Refresh
 Wait Until (0.8 * i)
Next

Set 戦闘アニメ変数[色] B_C

Return

#─────────────────────────────────────────────
戦闘アニメ_GNホルスタービット命中:

Local i m E_X E_Y ANG B_C B_CA B_F ARY P_S
Local UID = _GetName(相手ユニットID,_GetIDFromArgs())
_CenteringCheck UID

Set E_X (WX(UID) - 16)
Set E_Y (WY(UID) - 16)
Set ANG Call(_GetAngle)
Set B_S Call(_GetSizeFromArgs)

Set B_CA ("Beam\EFFECT_BeamDroplet" & _GetName("(Pink)",_GetBeamColorFromArgs()) & "0")

If B_S = "小" Then
 Set B_F ("Beam\EFFECT_BeamHit" & _GetName("(Pink)",_GetBeamColorFromArgs()) & "0")
 Set m 1
 Set P_S[1] 26
 Set P_S[2] 24
ElseIf B_S = "中" Then
 Set B_F ("Beam\EFFECT_MBeamHit" & _GetName("(Pink)",_GetBeamColorFromArgs()) & "0")
 Set m 2
 Set P_S[1] 20
 Set P_S[2] 16
EndIf

Set S-I[A] (Sin(3.141592 * ANG / 180) * 20)
Set C-S[A] (Cos(3.141592 * ANG / 180) * 20)

Wait Start
For i = 1 To 6
 ClearPicture
 If (i = 2) Then
  _SelectSound Explode.wav _GetWavFromArgs()
 EndIf
 Switch i
 Case 2
  PaintPicture (B_CA & 1 & ".bmp") (E_X + P_S[1] - C-S[A]) (E_Y + P_S[1] - S-I[A]) (12 * m) (12 * m) 右回転 ANG 透過 _ColorTime(1)
  PaintPicture (B_CA & 1 & ".bmp") (E_X + P_S[1]) (E_Y + P_S[1]) (12 * m) (12 * m) 右回転 ANG 透過 _ColorTime(1)
  PaintPicture (B_CA & 1 & ".bmp") (E_X + P_S[1] + C-S[A]) (E_Y + P_S[1] + S-I[A]) (12 * m) (12 * m) 右回転 ANG 透過 _ColorTime(1)
 Case 3 4
  PaintPicture (B_CA & 1 & ".bmp") (E_X + P_S[2] - C-S[A]) (E_Y + P_S[2] - S-I[A]) (16 * m) (16 * m) 右回転 ANG 透過 _ColorTime(1)
  PaintPicture (B_CA & 1 & ".bmp") (E_X + P_S[2]) (E_Y + P_S[2]) (16 * m) (16 * m) 右回転 ANG 透過 _ColorTime(1)
  PaintPicture (B_CA & 1 & ".bmp") (E_X + P_S[2] + C-S[A]) (E_Y + P_S[2] + S-I[A]) (16 * m) (16 * m) 右回転 ANG 透過 _ColorTime(1)
 EndSw
 PaintPicture (B_F & i & ".bmp") (E_X - C-S[A]) (E_Y - S-I[A]) 64 64 透過 右回転 ANG _ColorTime(1)
 PaintPicture (B_F & i & ".bmp") E_X E_Y 64 64 透過 右回転 ANG _ColorTime(1)
 PaintPicture (B_F & i & ".bmp") (E_X + C-S[A]) (E_Y + S-I[A]) 64 64 透過 右回転 ANG _ColorTime(1)
 Refresh
 Wait Until (0.7 * i)

Next

Return

454 hits



248 / 6687 ←次へ前へ→

ページ:

記事番号:

537,279

(SS)C-BOARD v3.8 is Free

ページトップへt


SRC総合支援センター