[Autres]La peche...

La section pour les scripts de RPG Maker XP !

[Autres]La peche...

Message par Benjamin » 17 Mai 2007, 20:14

Auteur : ??

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
Avatar de l’utilisateur
Benjamin
Membre d'honneur
Membre d'honneur
 
Message(s) : 667
Inscription : 22 Déc 2006, 15:02
Localisation : Belgique

Message par Martial » 17 Mai 2007, 20:52

Oula, tu nous fais de l'ajout en masse, c'est excellent :D

Par contre, bien que l'idée soit bonne, le script ne marche pas. Je soupçonne la balise [quote] d'y être pour quelque chose... Vivement que je répare la balise code...
L'important n'est pas de connaître mais de savoir trouver !
La gentillesse ou la franchise ? Que choisir ?
Vive les otakus !!
Retourner sur le site
Avatar de l’utilisateur
Martial
Administrateur
Administrateur
 
Message(s) : 2520
Inscription : 10 Nov 2006, 23:41
Localisation : Rambouillet
Meilleurs scores: 12

Message par Benjamin » 17 Mai 2007, 21:07

je me suis souvenus que tu a dit y a pas longtemsp, qu'on devait essayer de ramener le plus de ressources, ect. Alors je l'ai fait et comme sa sa augmente le nombre de script ^^
Et puis pour les nouveau dans le RPG maker, à par le Ring Menu, il n'y avait pas de script vraiment interessant ^^
Dernière édition par Benjamin le 18 Mai 2007, 10:28, édité 1 fois.
Avatar de l’utilisateur
Benjamin
Membre d'honneur
Membre d'honneur
 
Message(s) : 667
Inscription : 22 Déc 2006, 15:02
Localisation : Belgique

Message par Martial » 17 Mai 2007, 23:44

Nan, c'est une excellente chose ! Je suis tout à fait d'accord avec ce que j'ai dit avant, il faut prendre le maximum de ressources pour faire une immense banque de donnée !

Mais le problème, c'est cette foutu balise [code], si elle marchait, on pourrait prendre tout le code qu'il y a entre les balise en un clic, et la fenêtre ferait 2-3 lignes pour un code qui en fait 2000 !

Je songe de plus en plus sérieusement à modifier le forum pour l'améliorer, mais cette fois-ci, ce ne serais pas un petit ajout, je changerais carrément le tout (j'aimerais passé à la version 3 de phpBB) ! Ainsi, le forum sera propre, fonctionnelle, est on pourrai mettre toutes les ressources que l'on a trouvé de notre côté (là, la balise code marcherai !).

Malheureusement, cette version de phpBB n'est sortie qu'en beta 5 (c'est la dernière beta avant la vrai version ! :D ) et uniquement en Anglais, c'est pourquoi il va falloir attendre. J'en reparlerais le moment venu (il faut quand même que vous soyez d'accord !).
L'important n'est pas de connaître mais de savoir trouver !
La gentillesse ou la franchise ? Que choisir ?
Vive les otakus !!
Retourner sur le site
Avatar de l’utilisateur
Martial
Administrateur
Administrateur
 
Message(s) : 2520
Inscription : 10 Nov 2006, 23:41
Localisation : Rambouillet
Meilleurs scores: 12

Message par Benjamin » 18 Mai 2007, 10:26

Moi je suis d'accord mais, si c'est en Anglais et en Beta en plus, je préfere attendre une version stable et en Français.
Avatar de l’utilisateur
Benjamin
Membre d'honneur
Membre d'honneur
 
Message(s) : 667
Inscription : 22 Déc 2006, 15:02
Localisation : Belgique

Message par Martial » 18 Mai 2007, 21:34

C'est exactement ce que je pensais, mais j'espère vraiment que je pourrais inclure les messages de ce forum sur le nouveau, mais je crains que ce ne soit pas le cas...
L'important n'est pas de connaître mais de savoir trouver !
La gentillesse ou la franchise ? Que choisir ?
Vive les otakus !!
Retourner sur le site
Avatar de l’utilisateur
Martial
Administrateur
Administrateur
 
Message(s) : 2520
Inscription : 10 Nov 2006, 23:41
Localisation : Rambouillet
Meilleurs scores: 12

Message par Benjamin » 18 Mai 2007, 22:19

Arg, tu veux dire que les message seront effacés ?
Avatar de l’utilisateur
Benjamin
Membre d'honneur
Membre d'honneur
 
Message(s) : 667
Inscription : 22 Déc 2006, 15:02
Localisation : Belgique

Message par Shaolan » 18 Mai 2007, 22:41

aussi non on insère les codes dans un fichier .txt
Avatar de l’utilisateur
Shaolan
Maitre
Maitre
 
Message(s) : 1710
Inscription : 25 Déc 2006, 21:37

Message par Martial » 18 Mai 2007, 23:11

Benjamin --> c'est à peu près ce que je veux dire, mais je pense que je trouverais une solution, tout se fait dans la base de donnée, il suffit que j'inclus toutes les données des messages, et le tour est joué. Mais rien me dit que je pourrais le faire...

Shaolan--> C'est un très bonne idée ! En attendant le nouveau forum, comme ça, il sera beaucoup plus facile de les remettre, et en plus ça marchera très bien !

Merci pour cette super idée !
L'important n'est pas de connaître mais de savoir trouver !
La gentillesse ou la franchise ? Que choisir ?
Vive les otakus !!
Retourner sur le site
Avatar de l’utilisateur
Martial
Administrateur
Administrateur
 
Message(s) : 2520
Inscription : 10 Nov 2006, 23:41
Localisation : Rambouillet
Meilleurs scores: 12


Retour vers Scripts (RGSS)

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron