投稿記事

2015年 12月の記事 (6)

カイワレダイコン 2015/12/31 23:57

4方向専用なめらか移動

斜め移動用の歩行グラフィックが無く、8方向移動すると違和感があったので作成。
このスクリプトは移動出来なかった時に「通行可能な方向に一歩移動する」という物なので
ちょっと特殊かもしれません。
カウンター属性とイベントには反応しません。

このスクリプトはひきも記は閉鎖しましたさんの
RGSS2_壁衝突音
http://hikimoki.sakura.ne.jp/

ArtificialProvidenceさんの
RGSS3 移動失敗時SE演奏&歩行アニメ、8方向移動スクリプトを参考にさせて頂きました。
http://artificialprovidence.web.fc2.com/



#============================================================================== # なめらか4 # 作成:みづき # ブログ:カイワレダイコン(http://b.dlsite.net/RG30248/) #-------------------------------------------------------------------------- =begin 入れるだけで動作します。設定項目はありません。 このスクリプトは移動出来なかった時に 「通行可能な方向に一歩移動する」という物です。予めご了承下さい。 尚、バグ修正は不可能な可能性が高いと思われます。合わせてご了承下さい。 ■がチェックするマスです。 ■■■ ■↓■ ■↑■ ■■■ ■■ ■■ ■← →■ ■■ ■■ 木 ↑ こんな感じで正面のみ移動不可の場合は左右ランダムです。 このスクリプトはひきも記は閉鎖しましたさんの RGSS2_壁衝突音 http://hikimoki.sakura.ne.jp/ と ArtificialProvidenceさんの RGSS3 移動失敗時SE演奏&歩行アニメ、8方向移動スクリプトを参考にさせて頂きました。 http://artificialprovidence.web.fc2.com/ =end #============================================================================== class Game_Player < Game_Character #-------------------------------------------------------------------------- # ● まっすぐに移動 #-------------------------------------------------------------------------- alias nameraka_four_move_straight move_straight def move_straight(d, turn_ok = true) nameraka_four_move_straight(d, turn_ok) return if !movable? || $game_map.interpreter.running? f_x = $game_map.round_x_with_direction(@x, @direction) # 前方チェック f_y = $game_map.round_y_with_direction(@y, @direction) return false if $game_map.counter?(f_x, f_y) # カウンターはスルー # 移動失敗 && # 正面にイベントが無い if !@move_succeed && $game_map.events_xy(f_x, f_y).empty? case Input.dir4 when 2 if passable?(x-1, y, d) && diagonal_passable?(x, y, 4, 2) && # 左/左下 passable?(x+1, y, d) && diagonal_passable?(x, y, 6, 2) # 右/右下 case rand(2) when 0 ; move_straight(4) # 左 when 1 ; move_straight(6) # 右 end elsif passable?(x-1, y, d) && diagonal_passable?(x, y, 4, 2) # 左/左下 move_straight(4) # 左 elsif passable?(x+1, y, d) && diagonal_passable?(x, y, 6, 2) # 右/右下 move_straight(6) # 右 else ; return end when 4 if passable?(x, y+1, d) && diagonal_passable?(x, y, 4, 2) && # 下/左下 passable?(x, y-1, d) && diagonal_passable?(x, y, 4, 8) # 上/左上 case rand(2) when 0 ; move_straight(2) # 下 when 1 ; move_straight(8) # 上 end elsif passable?(x, y+1, d) && diagonal_passable?(x, y, 4, 2) # 下/左下 move_straight(2) # 下 elsif passable?(x, y-1, d) && diagonal_passable?(x, y, 4, 8) # 上/左上 move_straight(8) # 上 else ; return end when 6 if passable?(x, y+1, d) && diagonal_passable?(x, y, 6, 2) && # 下/右下 passable?(x, y-1, d) && diagonal_passable?(x, y, 6, 8) # 上/右上 case rand(2) when 0 ; move_straight(2) # 下 when 1 ; move_straight(8) # 上 end elsif passable?(x, y+1, d) && diagonal_passable?(x, y, 6, 2) # 下/右下 move_straight(2) # 下 elsif passable?(x, y-1, d) && diagonal_passable?(x, y, 6, 8) # 上/右上 move_straight(8) # 上 else ; return end when 8 if passable?(x-1, y, d) && diagonal_passable?(x, y, 4, 8) && # 左/左上 passable?(x+1, y, d) && diagonal_passable?(x, y, 6, 8) # 右/右上 case rand(2) when 0 ; move_straight(4) # 左 when 1 ; move_straight(6) # 右 end elsif passable?(x-1, y, d) && diagonal_passable?(x, y, 4, 8) # 左/左上 move_straight(4) # 左 elsif passable?(x+1, y, d) && diagonal_passable?(x, y, 6, 8) # 右/右上 move_straight(6) # 右 else ; return end end # case Input end # if !@move_succeed && $g end # def end # class

カイワレダイコン 2015/12/31 23:46

文字サイズ滑らか変更

文章の表示で¥{ ¥} の文字サイズ変更がデフォのままだと急なきがしたのでちょっと滑らかに。


#============================================================================== # 文字サイズ滑らか変更 # 作成:みづき # ブログ:カイワレダイコン(http://b.dlsite.net/RG30248/) #------------------------------------------------------------------------------ # \{、\}、の文字サイズ変更をちょっと滑らかに。元値8→4に #============================================================================== #============================================================================== # ■ Window_Base #------------------------------------------------------------------------------ # ゲーム中の全てのウィンドウのスーパークラスです。 #============================================================================== class Window_Base < Window #-------------------------------------------------------------------------- # ● フォントを大きくする #-------------------------------------------------------------------------- def make_font_bigger contents.font.size += 4 if contents.font.size = 16 end end

カイワレダイコン 2015/12/31 23:40

移動速度をやや早く

アクターとイベントの自律移動の基本速度を変更します。
他のスクリプトで移動速度を変更するものがあると爆速になってしまうかもしれません。

#============================================================================== # 移動速度をやや早く # 作成:みづき # ブログ:カイワレダイコン(http://b.dlsite.net/RG30248/) #------------------------------------------------------------------------------ # アクター及びイベントの自律移動の基本速度を変更します。 #============================================================================== class Game_CharacterBase #-------------------------------------------------------------------------- # ● 移動速度の取得(ダッシュを考慮) #-------------------------------------------------------------------------- def real_move_speed move_speed + (dash? ? 0.3 : 0) # 元値 1 → 0.3 end #-------------------------------------------------------------------------- # ● 1 フレームあたりの移動距離を計算 #-------------------------------------------------------------------------- def distance_per_frame 2.5 ** real_move_speed / 256.0 # 元値 2 → 2.5 end end

カイワレダイコン 2015/12/31 23:31

イベント用小物スクリプト

イベント用の小物スクリプトです。
使用する場合イベントのスクリプトに記入して下さい。
リージョンIDの取得の例




#============================================================================== # イベント用小物スクリプト # 作成:みづき # ブログ:カイワレダイコン(http://b.dlsite.net/RG30248/) #------------------------------------------------------------------------------ # イベントのスクリプトに記入して下さい #============================================================================== if false #▼フキダシ表示(イベントID, balloon_id, 終りまでウェイトありtrue なしfalseかnil) # イベントIDが-1ならアクター。0なら「このイベント」 balloon(0, 18, true) #▼このイベント、ウェイト無しの決め打ちアニメーション表示 kime_anime #▼リージョンIDの取得 get_reid #▼地形タグIDの取得 get_tagid #▼タイルIDの取得(レイヤー 0 or 1 or 2を指定。TileAが0~1、TileB~Eが2) get_tileid(2) end #============================================================================== # 設定 module INT # ▼決め打ちアニメーションのID ANIME_ID = 122 end #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # ● フキダシアイコンの表示 #-------------------------------------------------------------------------- def balloon(ev_id, ball_no, wait_on_off) character = get_character(ev_id) if character character.balloon_id = ball_no Fiber.yield while character.balloon_id > 0 if wait_on_off end end #-------------------------------------------------------------------------- # ● 決め打ちアニメーション表示 #-------------------------------------------------------------------------- def kime_anime get_character(0).animation_id = INT::ANIME_ID end #-------------------------------------------------------------------------- # ● リージョンIDの取得 #-------------------------------------------------------------------------- def get_reid x = $game_player.x y = $game_player.y $game_map.region_id(x, y) end #-------------------------------------------------------------------------- # ● 地形タグIDの取得 #-------------------------------------------------------------------------- def get_tagid x = $game_player.x y = $game_player.y $game_map.terrain_tag(x, y) end #-------------------------------------------------------------------------- # ● タイルIDの取得 0,1,2 #-------------------------------------------------------------------------- def get_tileid(layer) x = $game_player.x y = $game_player.y $game_map.tile_id(x, y, layer) end end

カイワレダイコン 2015/12/31 23:19

床ダメージ変更 Ver1.02

設定した変数にダメージの最大値を代入すると1~最大値の床ダメージになります。
ダメージの最大値が未設定の場合は、1ダメージ固定になります。
フラッシュの強度を変えたくない場合は画像の部分、class Game_Screen~endを削除して下さい。



#============================================================================== # 床ダメージ変更 # 作成:みづき # ブログ:カイワレダイコン(http://b.dlsite.net/RG30248/) #------------------------------------------------------------------------------ # 設定した変数にダメージの最大値を代入して下さい。 # 1~最大値の床ダメージになります。 # ダメージの最大値が未設定の場合は、1ダメージ固定になります。 # フラッシュの強度を変えたくない場合はclass Game_Screen~endを削除して下さい。 #============================================================================== # 設定 module DICE DAMAGE = 100 # ランダムダメージを代入する変数 end #============================================================================== #============================================================================== # ■ Game_Screen #------------------------------------------------------------------------------ # 色調変更やフラッシュなど、画面全体に関係する処理のデータを保持するクラスで # す。このクラスは Game_Map クラス、Game_Troop クラスの内部で使用されます。 #============================================================================== class Game_Screen #-------------------------------------------------------------------------- # ● フラッシュの開始(毒・ダメージ床用) #-------------------------------------------------------------------------- def start_flash_for_damage start_flash(Color.new(255,0,0,60), 8) # 元値(255,0,0,128), 8) end end #============================================================================== # ■ Game_Actor #------------------------------------------------------------------------------ # アクターを扱うクラスです。このクラスは Game_Actors クラス($game_actors) # の内部で使用され、Game_Party クラス($game_party)からも参照されます。 #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● 床ダメージの基本値を取得 #-------------------------------------------------------------------------- def basic_floor_damage if $game_variables[DICE::DAMAGE] < 1 d_dam = 1 else d_dam = rand($game_variables[DICE::DAMAGE]) + 1 end p "ダメージ = " + d_dam.to_s return d_dam # 元値10 end end

床ダメージ変更 Ver1.02
ダメージ床の上にTileB~の通行可能なマップチップを置いてもダメージを受けるので
スイッチで管理するようにしました。
#============================================================================== # 床ダメージ変更 Ver1.02 # 作成:みづき # ブログ:カイワレダイコン(http://b.dlsite.net/RG30248/) #------------------------------------------------------------------------------ # 設定した変数にダメージの最大値を代入して下さい。 # 1~最大値の床ダメージになります。 # ダメージの最大値が2未満の場合は、1ダメージ固定になります。 # フラッシュの強度を変えたくない場合は元値にして下さい。 # 床ダメージとフラッシュを無効化するスイッチを追加しました。 # TileAで毒沼、TileBの毒沼上の橋では無効化したい。そんな時にスイッチON。 #============================================================================== # 設定 module DICE DAMAGE = 13 # ランダムダメージを代入する変数 DAME_MUSI_SW = 84 # 床ダメージとフラッシュを無効化するスイッチ end #============================================================================== #============================================================================== # ■ Game_Screen #------------------------------------------------------------------------------ # 色調変更やフラッシュなど、画面全体に関係する処理のデータを保持するクラスで # す。このクラスは Game_Map クラス、Game_Troop クラスの内部で使用されます。 #============================================================================== class Game_Screen #-------------------------------------------------------------------------- # ● フラッシュの開始(毒・ダメージ床用) #-------------------------------------------------------------------------- def start_flash_for_damage return if $game_switches[DICE::DAME_MUSI_SW] start_flash(Color.new(255,0,0,60), 8) # 元値(255,0,0,128), 8) end end #============================================================================== # ■ Game_Actor #------------------------------------------------------------------------------ # アクターを扱うクラスです。このクラスは Game_Actors クラス($game_actors) # の内部で使用され、Game_Party クラス($game_party)からも参照されます。 #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # ● 床ダメージの処理 #-------------------------------------------------------------------------- alias aaaa_execute_floor_damage execute_floor_damage def execute_floor_damage return if $game_switches[DICE::DAME_MUSI_SW] aaaa_execute_floor_damage end #-------------------------------------------------------------------------- # ● 床ダメージの基本値を取得 #-------------------------------------------------------------------------- def basic_floor_damage return if $game_switches[DICE::DAME_MUSI_SW] if $game_variables[DICE::DAMAGE] < 2 d_dam = 1 else d_dam = rand($game_variables[DICE::DAMAGE]) + 1 end p "ダメージ = " + d_dam.to_s return d_dam # 元値10 end end

« 1 2

月別アーカイブ

限定特典から探す

記事を検索