SALON DES MAKERS
Création de jeux vidéo amateurs
S'inscrire - Se connecter
Accueil - Forums - Articles et tutoriels - Ressources - Les jeux - Rechercher - Aide
Script RMVX - Choisir son battleback selon la map ou la zone

 
Poster un nouveau sujet   Répondre au sujet    Salon des makers Index du Forum -> DÉVELOPPEMENT D'UN JEU VIDÉO -> Étape 5 : Programmation -> Rpg Maker
Auteur Message
ASHKA
Membre
Membre

Hors ligne

Inscrit le: 10 Mar 2008
Messages: 75
Sexe: Masculin
Localisation: - !! Je suis le " LOGOS " donc je suis omnipresent !!

MessagePosté le: Sam 22 Mar - 19:05 (2008)    Sujet du message: Script RMVX - Choisir son battleback selon la map ou la zone Répondre en citant

Nom du Script : Changer de battleback selon la map et la zone !!
Auteur du script : ASHKA
Nombre de Script : 1
Info : A placer dans un nouveau script crée à l'endroit specialement prevu.
Tout est expliqué dedans.
En cas de probleme, remarque, demande de modification : voir avec l'auteur.

Code:

#            Changer de battleback selon la map et la zone


# La partie ci-dessous supprime le fond d'origine.
# J'ai neutralisé l'effet d'ondulation.
# Si vous voulez le garder, supprimez les # devant les trois dernieres lignes ( 26 à 28 )
# J'ai aussi gardé le " sol ", si vous voulez le supprimer, neutraliser le " sol "
# placez un # au tout debut des lignes 15, 104 et 172 du script " Spriteset_battle " d'origine.
# ( Dans les methodes " initialize ", " update " et " dispose ", la ligne avec " battlefloor " )
# --------------------------------------------------------------------------
class Spriteset_Battle
  def create_battleback
    @battleback_sprite = Sprite.new(@viewport1)
    @battleback_sprite.bitmap = Cache.system($battleback_name)
    @battleback_sprite.ox = 320
    @battleback_sprite.oy = 240
    @battleback_sprite.x = 272
    @battleback_sprite.y = 176
#    @battleback_sprite.wave_amp = 8
#    @battleback_sprite.wave_length = 240
#    @battleback_sprite.wave_speed = 120
  end
end
# --------------------------------------------------------------------------
# La partie ci-dessous associe une map à un battleback.
# Les premieres lignes sont des tableaux stockant des ID des maps.
# Les conditions en dessous associent un tableau ( par le biais des ID des maps qu'il contient ) à un battleback.
# Rajouter les ID des maps dans le tableau de votre choix !!
# Et supprimez le # devant les lignes dont le tableau est utilisé.
# Tout vos battlebacks doivent etre importés dans le repertoire " system " du gestionnaire.
# Il suffit ensuite de remplacer "name" par le nom d'un de vos battlebacks ( entre " " ).
# Si vous utilisez plus que neuf battleback ( evidement ), il suffit de créer un nouveau tableau à la suite des autres.
# L'endroit est indiqué.

#    back_10 = [ID, ID, ID, ID, ID]

# Et d'inserer une nouvelle condition juste au dessus du " end " ( le dernier de cette partie ).
# L'endroit est indiqué.

#    elsif back_10.include?($game_map.map_id)
#    $battleback_name = "name"

# --------------------------------------------------------------------------
class Scene_Map < Scene_Base
  def update
    super
    back_1 = [ID, ID, ID] # Placer ici toutes les ID des maps associé au back 1
#    back_2 = [ID, ID] # Placer ici toutes les ID des maps associé au back 2
#    back_3 = [ID, ID] # Placer ici toutes les ID des maps associé au back 3
#    back_4 = [ID, ID] # Placer ici toutes les ID des maps associé au back 4
#    back_5 = [ID, ID] # Placer ici toutes les ID des maps associé au back 5
#    back_6 = [ID, ID] # Placer ici toutes les ID des maps associé au back 6
#    back_7 = [ID, ID] # Placer ici toutes les ID des maps associé au back 7
#    back_8 = [ID, ID] # Placer ici toutes les ID des maps associé au back 8
#    back_9 = [ID, ID] # Placer ici toutes les ID des maps associé au back 9

# Ajouter ci-dessus les tableaux de vos autres battlebacks
   if back_1.include?($game_map.map_id)
      $battleback_name = "name" # Nom du battleback 1 lié au tableau back_1
    elsif back_2.include?($game_map.map_id)
      $battleback_name = "name" # Nom du battleback 2 lié au tableau back_2
    elsif back_3.include?($game_map.map_id)
      $battleback_name = "name" # Nom du battleback 3 lié au tableau back_3
    elsif back_4.include?($game_map.map_id)
      $battleback_name = "name" # Nom du battleback 4 lié au tableau back_4
    elsif back_5.include?($game_map.map_id)
      $battleback_name = "name" # Nom du battleback 5 lié au tableau back_5
    elsif back_6.include?($game_map.map_id)
      $battleback_name = "name" # Nom du battleback 6 lié au tableau back_6
    elsif back_7.include?($game_map.map_id)
      $battleback_name = "name" # Nom du battleback 7 lié au tableau back_7
    elsif back_8.include?($game_map.map_id)
      $battleback_name = "name" # Nom du battleback 8 lié au tableau back_8
    elsif back_9.include?($game_map.map_id)
      $battleback_name = "name" # Nom du battleback 9 lié au tableau back_9

# Ajouter ci-dessus les conditions pour vos autres battleback   
    end
    # si le joueur est dans une area incluant [A], le battleback est different
    for area in $data_areas.values
      if $game_player.in_area?(area) and area.name.include?("[A]")
        choose_bback(area)
      end
    end
    $game_map.interpreter.update      # Update interpreter
    $game_map.update                  # Update map
    $game_player.update               # Update player
    $game_system.update               # Update timer
    @spriteset.update                 # Update sprite set
    @message_window.update            # Update message window
    unless $game_message.visible      # Unless displaying a message
      update_transfer_player
      update_encounter
      update_call_menu
      update_call_debug
      update_scene_change
    end
  end
# --------------------------------------------------------------------------
# Choix du battleback des areas
# La partie ci-dessous attribue un battleback selon la zone où le héros est.
# Sur une map, vous avez le back principal, celui lié au tableau où est l'ID de la map ( l'etape 2 ci-dessus ).
# Vous pouvez aussi avoir des zones aves des backs differents.
# Il suffit de créer une area ( avec ou sans ennemi supplementaire, à vous de voir !! ).
# Si vous voulez que l'area dispose d'un back different de celui du reste de la map, il faut inclure ces trois caracteres dans le nom de l'area : [A]
# Il suffit ensuite de preciser quels back en rajoutant un [1], [2] ou [3], ...
# Configurer la methode ci dessous pour savoir à quoi correspond chacun d'eux.

# Vous avez donc un battleback pour chaque maps et la possibilité d'avoir plusieurs battlebacks par map grace aux areas !!
# L'area appellé "[A][5]je_sais_pas_quoi " aura donc un battleback different que celui de la map, celui correspondant au [5].
# L'area " je_sais_pas_quoi " utilise le même battleback que la map.
# -------------------------------------------------------------------------
  def choose_bback(area)
    if area.name.include?("[1]") # Area incluant [1]
      $battleback_name = "name" # Nom du battleback voulu
    elsif area.name.include?("[2]") # Area incluant [2]
      $battleback_name = "name" # Nom du battleback voulu
    elsif area.name.include?("[3]") # Area incluant [3]
      $battleback_name = "name" # Nom du battleback voulu
    elsif area.name.include?("[4]") # Area incluant [4]
      $battleback_name = "name" # Nom du battleback voulu
    elsif area.name.include?("[5]") # Area incluant [5]
      $battleback_name = "name" # Nom du battleback voulu
    elsif area.name.include?("[6]") # Area incluant [6]
      $battleback_name = "name" # Nom du battleback voulu
    elsif area.name.include?("[7]") # Area incluant [7]
      $battleback_name = "name" # Nom du battleback voulu
    elsif area.name.include?("[8]") # Area incluant [8]
      $battleback_name = "name" # Nom du battleback voulu
    elsif area.name.include?("[9]") # Area incluant [9]
      $battleback_name = "name" # Nom du battleback voulu
    end
  end
end # class




ASHKA
no sms
Publicité






MessagePosté le: Sam 22 Mar - 19:05 (2008)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
no sms
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Salon des makers Index du Forum -> DÉVELOPPEMENT D'UN JEU VIDÉO -> Étape 5 : Programmation -> Rpg Maker
Page 1 sur 1

 
Sauter vers:  

Topherysation L'annuaire des sites web de qualité Partenaires