Remarques :
Fonctions : permet de pécher à côtéd'un point d'eau
Screen :
Installation :
créez un nouveau script au dessus de "Main" et nommez le "Fishing" collez le script ci dessous dedans
- Code : Tout sélectionner
#==============================================================================
# ¦ fishing
#------------------------------------------------------------------------------
# ??????????????????
#==============================================================================
class Fishing
#----------------------------------------------------------------------------
# Start
#----------------------------------------------------------------------------
def initialize
@fw = Window_Fish.new
$fm = "Vous êtes entrain de pêcher..."
@fw.refresh
delay(50)
fish
end
#----------------------------------------------------------------------------
# Fishing!
#----------------------------------------------------------------------------
def fish
delay(40)
@fr = rand(7)#this number inside the brackets indicate how many things there are. and remeber it starts from 0 so if you have 5 things you have to have 4
case @fr
when 0
$game_player.animation_id = 98
$fm = "Hey! un poisson de 10 livres!"
@fw.refresh
$game_party.gain_item(33, 1)#the item number of the fish is here
delay(10)
when 1
$fm = "Pas de poisson!"
@fw.refresh
delay(10)
when 2
$fm = "Trouvé une chaussure"
@fw.refresh
delay(30)
when 3
$game_player.animation_id = 98
$fm = "Hey! un poisson de 10 livres!"
@fw.refresh
$game_party.gain_item(34, 1)
delay(20)
when 4
$fm = " Yark! des algues!"
@fw.refresh
delay(30)
when 5
$game_player.animation_id = 98
$fm = "Hey! un poisson de 20 livres!"
@fw.refresh
$game_party.gain_item(34, 1)
delay(20)
when 6
$fm = "Zut! pas de poisson!"
@fw.refresh
delay(10)
when 7
$fm = "Hey! un poisson de 30 livres!"
@fw.refresh
delay(60)
end
@fw.dispose
end
#----------------------------------------------------------------------------
# Delay
#----------------------------------------------------------------------------
def delay(wait)
count = Graphics.frame_count
while wait + count >= Graphics.frame_count
Graphics.update
end
end
end
Remplacer le script "Scene_Map" par celui ci :
- Code : Tout sélectionner
class Scene_Map
# ---------------------------
SHOW_PARTY_HELP_SPRITE = false
# ---------------------------
def main
@spriteset = Spriteset_Map.new
@change_sprite = Sprite.new
@change_sprite.bitmap = Bitmap.new(100, 32)
@change_sprite.x = 540
@change_sprite.y = 450
@change_sprite.bitmap.clear
@message_window = Window_Message.new
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@spriteset.dispose
@message_window.dispose
@change_sprite.dispose
if $scene.is_a?(Scene_Title)
Graphics.transition
Graphics.freeze
end
end
# ---------------------------
def update
# ループ
loop do
# マップã€?インタプリタã€?プレイヤーã?®é †ã?«æ›´æ–°
# (ã?“ã?®æ›´æ–°é †åº?ã?¯ã€?イベントを実行ã?™ã‚‹æ?¡ä»¶ã?Œæº€ã?Ÿã?•ã‚Œã?¦ã?„ã‚‹ã?¨ã??ã?«
# プレイヤー�一瞬移動�る機会を与�������由���)
$game_map.update
$game_system.map_interpreter.update
$game_player.update
# システム(タイマー)�画�を更新
$game_system.update
$game_screen.update
# プレイヤーã?®å ´æ‰€ç§»å‹•ä¸*ã?§ã?ªã?‘ã‚Œã?°ãƒ«ãƒ¼ãƒ—ã‚’ä¸*æ–*
unless $game_temp.player_transferring
break
end
# å ´æ‰€ç§»å‹•ã‚’å®Ÿè¡Œ
transfer_player
# トランジション処ç?†ä¸*ã?®å ´å?ˆã€?ループをä¸*æ–*
if $game_temp.transition_processing
break
end
end
# スプライトセットを更新
@spriteset.update
# メッセージウィンドウを更新
@message_window.update
# ゲームオーãƒ?ーã?®å ´å?ˆ
if $game_temp.gameover
# ゲームオー�ー画��切り替�
$scene = Scene_Gameover.new
return
end
# タイトル画é?¢ã?«æˆ»ã?™å ´å?ˆ
if $game_temp.to_title
# タイトル画��切り替�
$scene = Scene_Title.new
return
end
# トランジション処ç?†ä¸*ã?®å ´å?ˆ
if $game_temp.transition_processing
# トランジション処ç?†ä¸*フラグをクリア
$game_temp.transition_processing = false
# トランジション実行
if $game_temp.transition_name == ""
Graphics.transition(20)
else
Graphics.transition(40, "Graphics/Transitions/" +
$game_temp.transition_name)
end
end
# メッセージウィンドウ表示ä¸*ã?®å ´å?ˆ
if $game_temp.message_window_showing
return
end
# エンカウント カウントã?Œ 0 ã?§ã€?エンカウントリストã?Œç©ºã?§ã?¯ã?ªã?„å ´å?ˆ
if $game_player.encounter_count == 0 and $game_map.encounter_list != []
# イベント実行ä¸*ã?‹ã‚¨ãƒ³ã‚«ã‚¦ãƒ³ãƒˆç¦?æ*¢ä¸*ã?§ã?ªã?‘ã‚Œã?°
unless $game_system.map_interpreter.running? or
$game_system.encounter_disabled
# トループを決定
n = rand($game_map.encounter_list.size)
troop_id = $game_map.encounter_list[n]
# トループ�有効�ら
if $data_troops[troop_id] != nil
# �トル呼�出�フラグをセット
$game_temp.battle_calling = true
$game_temp.battle_troop_id = troop_id
$game_temp.battle_can_escape = true
$game_temp.battle_can_lose = false
$game_temp.battle_proc = nil
end
end
end
# B ボタンã?ŒæŠ¼ã?•ã‚Œã?Ÿå ´å?ˆ
if Input.trigger?(Input::B)
# イベント実行ä¸*ã?‹ãƒ¡ãƒ‹ãƒ¥ãƒ¼ç¦?æ*¢ä¸*ã?§ã?ªã?‘ã‚Œã?°
unless $game_system.map_interpreter.running? or
$game_system.menu_disabled
# メニュー呼�出�フラグ� SE 演�フラグをセット
$game_temp.menu_calling = true
$game_temp.menu_beep = true
end
end
# FISHING
# if z pushed call fishing
if Input.trigger?(Input::A)
fishing
end
# FISHING
# デãƒ?ッグモードã?Œ ON ã?‹ã?¤ F9 ã‚*ーã?ŒæŠ¼ã?•ã‚Œã?¦ã?„ã‚‹å ´å?ˆ
if $DEBUG and Input.press?(Input::F9)
# デ�ッグ呼�出�フラグをセット
$game_temp.debug_calling = true
end
# プレイヤーã?®ç§»å‹•ä¸*ã?§ã?¯ã?ªã?„å ´å?ˆ
unless $game_player.moving?
# �種画��呼�出�を実行
if $game_temp.battle_calling
call_battle
elsif $game_temp.shop_calling
call_shop
elsif $game_temp.name_calling
call_name
elsif $game_temp.menu_calling
call_menu
elsif $game_temp.save_calling
call_save
elsif $game_temp.debug_calling
call_debug
end
end
end
#--------------------------------------------------------------------------
# � �トル�呼�出�
#--------------------------------------------------------------------------
def call_battle
# �トル呼�出�フラグをクリア
$game_temp.battle_calling = false
# メニュー呼�出�フラグをクリア
$game_temp.menu_calling = false
$game_temp.menu_beep = false
# エンカウント カウントを作�
$game_player.make_encounter_count
# マップ BGM を記憶ã?—ã€?BGM ã‚’å?œæ*¢
$game_temp.map_bgm = $game_system.playing_bgm
$game_system.bgm_stop
# �トル開始 SE を演�
$game_system.se_play($data_system.battle_start_se)
# �トル BGM を演�
$game_system.bgm_play($game_system.battle_bgm)
# プレイヤーã?®å§¿å‹¢ã‚’矯æ*£
$game_player.straighten
# �トル画��切り替�
$scene = Scene_Battle.new
end
#--------------------------------------------------------------------------
# � ショップ�呼�出�
#--------------------------------------------------------------------------
def call_shop
# ショップ呼�出�フラグをクリア
$game_temp.shop_calling = false
# プレイヤーã?®å§¿å‹¢ã‚’矯æ*£
$game_player.straighten
# ショップ画��切り替�
$scene = Scene_Shop.new
end
#--------------------------------------------------------------------------
# â—? å??å‰?入力ã?®å‘¼ã?³å‡ºã?—
#--------------------------------------------------------------------------
def call_name
# å??å‰?入力呼ã?³å‡ºã?—フラグをクリア
$game_temp.name_calling = false
# プレイヤーã?®å§¿å‹¢ã‚’矯æ*£
$game_player.straighten
# å??å‰?入力画é?¢ã?«åˆ‡ã‚Šæ›¿ã?ˆ
$scene = Scene_Name.new
end
#--------------------------------------------------------------------------
# � メニュー�呼�出�
#--------------------------------------------------------------------------
def call_menu
# メニュー呼�出�フラグをクリア
$game_temp.menu_calling = false
# メニュー SE æ¼”å¥?フラグã?Œã‚»ãƒƒãƒˆã?•ã‚Œã?¦ã?„ã‚‹å ´å?ˆ
if $game_temp.menu_beep
# 決定 SE を演�
$game_system.se_play($data_system.decision_se)
# メニュー SE 演�フラグをクリア
$game_temp.menu_beep = false
end
# プレイヤーã?®å§¿å‹¢ã‚’矯æ*£
$game_player.straighten
# メニュー画��切り替�
$scene = Scene_Menu.new
end
#--------------------------------------------------------------------------
# � セーブ�呼�出�
#--------------------------------------------------------------------------
def call_save
# プレイヤーã?®å§¿å‹¢ã‚’矯æ*£
$game_player.straighten
# セーブ画��切り替�
$scene = Scene_Save.new
end
#--------------------------------------------------------------------------
# � デ�ッグ�呼�出�
#--------------------------------------------------------------------------
def call_debug
# デ�ッグ呼�出�フラグをクリア
$game_temp.debug_calling = false
# 決定 SE を演�
$game_system.se_play($data_system.decision_se)
# プレイヤーã?®å§¿å‹¢ã‚’矯æ*£
$game_player.straighten
# デ�ッグ画��切り替�
$scene = Scene_Debug.new
end
#--------------------------------------------------------------------------
# â—? Fishing
#--------------------------------------------------------------------------
def fishing
character = $game_player
case character.direction
when 2
lx = character.x
ly = character.y + 1
when 4
lx = character.x - 1
ly = character.y
when 6
lx = character.x + 1
ly = character.y
when 8
lx = character.x
ly = character.y - 1
end
if $game_map.terrain_tag(lx,ly) == 1
Fishing.new
else
Audio.se_play("Audio/SE/057-Wrong01")
end
end
#--------------------------------------------------------------------------
# â—? プレイヤーã?®å ´æ‰€ç§»å‹•
#--------------------------------------------------------------------------
def transfer_player
# ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼å ´æ‰€ç§»å‹•ãƒ•ãƒ©ã‚°ã‚’ã‚¯ãƒªã‚¢
$game_temp.player_transferring = false
# 移動先ã?Œç?¾åœ¨ã?®ãƒžãƒƒãƒ—ã?¨ç•°ã?ªã‚‹å ´å?ˆ
if $game_map.map_id != $game_temp.player_new_map_id
# 新��マップをセットアップ
$game_map.setup($game_temp.player_new_map_id)
end
# プレイヤーã?®ä½?置をè¨*定
$game_player.moveto($game_temp.player_new_x, $game_temp.player_new_y)
# プレイヤーã?®å?‘ã??ã‚’è¨*定
case $game_temp.player_new_direction
when 2 # 下
$game_player.turn_down
when 4 # å·¦
$game_player.turn_left
when 6 # å?³
$game_player.turn_right
when 8 # 上
$game_player.turn_up
end
# プレイヤーã?®å§¿å‹¢ã‚’矯æ*£
$game_player.straighten
# マップを更新 (並列イベント実行)
$game_map.update
# スプライトセットを�作�
@spriteset = Spriteset_Map.new
# トランジション処ç?†ä¸*ã?®å ´å?ˆ
if $game_temp.transition_processing
# トランジション処ç?†ä¸*フラグをクリア
$game_temp.transition_processing = false
# トランジション実行
Graphics.transition(20)
end
# マップã?«è¨*定ã?•ã‚Œã?¦ã?„ã‚‹ BGM ã?¨ BGS ã?®è‡ªå‹•åˆ‡ã‚Šæ›¿ã?ˆã‚’実行
$game_map.autoplay
# フレームリセット
Graphics.frame_reset
# å…¥åŠ›æƒ…å ±ã‚’æ›´æ–°
Input.update
end
end
Créez un nouveau script au dessus de main et nommez le "Window_Fish" puis collez le script ci-dessous:
- Code : Tout sélectionner
#==============================================================================
# ¦ Window_Fish
#------------------------------------------------------------------------------
# Fishy!
#==============================================================================
class Window_Fish < Window_Base
#--------------------------------------------------------------------------
# ? Start
#--------------------------------------------------------------------------
def initialize
super(0, 406, 640, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
self.opacity = 0
$fm = " "
refresh
end
#--------------------------------------------------------------------------
# ? Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.font.color = normal_color
self.contents.draw_text(4, 0, 640, 32, $fm)
end
end
Manuel : Dans Gestion des chipsets dans la base de données, Mettez l'eau en terrain type 1.
Pour pêcher avec la touche (Z) de votre clavier,
changer la ligne 118 Scene_Map
if Input.trigger?(Input::A)
EDIT : J'ai modifié avec la balise code.
En espérant que cela marchera
Amathlog