Partagez
Aller en bas
Skillo
Skillo
Staffeux retraité

Nombre de messages : 526
Age : 30
Localisation : Rennes
Distinction : J'aime ce gars :P
(by Coco')
Scripteur apprenti, futur Berka !
(par Tretian)
Membre anonyme de la communauté, caché derrière son PC
(???)
super prof de script
[Dudu']
Résident permanent de la Chat Box
[Autoproclamé]
Adepte du XDDD [Yak' Very Happy]
Fanatique hystérique de Raymond le français [Un connu]
Date d'inscription : 19/01/2008

[Script] Combats aériens Empty [Script] Combats aériens

le Mer 9 Juin 2010 - 3:17
Bonjours voici un nouveau script.
Ce script vous permettra de:
_Activer les combats aériens
_Créer des groupes d'ennemis qui apparaîtront uniquement en l'air
_Remplacer l'équipe par le vaisseau en cas de combat et ainsi pouvoir faire des combats de vaisseaux.

script Battle_Ship compatible avec le SBS et le SBS+ATB à placer avnt votre system de combat pour plus de sûreté.
Spoiler:
Code:

#==============================================================================
# **Battle_Ship fait par Skillo
#------------------------------------------------------------------------------
#  Ce script vous permet d'activer les combats en l'air, de definir les enemy que vous ne croiserez
# qu'en étant dans votre vaisseau, de definir si c'est votre equipe ou votre navire qui se bat afin
# de faire eventuelement des combatss de vaisseaux
#==============================================================================
module AirShip
 
  # ici sera définie si les combats en vaisseau seront activer par default en début de jeu
  # Airship_Battle = true/false
  # Pour  activer ou desactiver les combats aériens en cours de jeu, faites un appel de script et mettez y:
  # $game_system.airship_battle = true/false
  Airship_Battle = true
 
  # ici sera définiela liste des groupe de combats que vous croiserez uniquement en vaisseau
  # Ennemy = [id de l'ennemi 1, id de l'ennemi 2, id de l'ennemi 3, etc...]
  Ennemy = [2,3]
 
  # ici sera définie si le vaiseau prendra, par default, la place de l'equipe pendant  les combats en vaisseau.
  # Battle_Ship = true/false
  # Pour  activer ou desactiver le changement en cours de jeu, faites un appel de script et mettez y:
  # $game_system.airship_actor_battle = true/false
  Battle_Ship = true
 
  # ici sera defini le numero du Héros jouant le role de vaisseau (à definir dans la BDD)
  # Battle_Ship_actor = id de l'actor
  Battle_Ship_actor = 9
 
end

#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
#  This class handles system-related data. Also manages vehicles and BGM, etc.
# The instance of this class is referenced by $game_system.
#==============================================================================

class Game_System
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :airship_battle       
  attr_accessor :airship_actor_battle 
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  alias skillo_initialize initialize
  def initialize
    skillo_initialize
    @airship_battle = AirShip::Airship_Battle
    @airship_actor_battle = AirShip::Battle_Ship
  end
end
 

#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
#  This class handles maps. It includes event starting determinants and map
# scrolling functions. The instance of this class is referenced by $game_map.
#==============================================================================

class Game_Player < Game_Character
#--------------------------------------------------------------------------
  # * Update Encounter
  #--------------------------------------------------------------------------
  def update_encounter
    return if $TEST and Input.press?(Input::CTRL)  # During test play?
    if $game_system.airship_battle
      return if in_vehicle? and !in_airship?                        # Riding in vehicle?
    else
      return if in_vehicle?
    end
    if $game_map.bush?(@x, @y)                      # If in bush
      @encounter_count -= 2                        # Reduce encounters by 2
    else                                            # If not in bush
      @encounter_count -= 1                        # Reduce encounters by 1
    end
  end
 
  #--------------------------------------------------------------------------
  # * Create Group ID for Troop Encountered
  #--------------------------------------------------------------------------
  def make_encounter_troop_id
    encounter_list = $game_map.encounter_list.clone
    list = []
    for area in $data_areas.values
      encounter_list += area.encounter_list if in_area?(area)
    end
    for i in 0...encounter_list.size
      if in_airship?
        list.push(encounter_list[i]) if AirShip::Ennemy.include?(encounter_list[i])
      else
        list.push(encounter_list[i]) if !AirShip::Ennemy.include?(encounter_list[i])
      end
    end
    if $game_system.airship_battle
      battle_list = list.empty?
    else
      battle_list = false
    end   
    if encounter_list.empty? or  battle_list
      make_encounter_count
      return 0
    end 
    if $game_system.airship_battle
      return list[rand(list.size)]
    else
      return encounter_list[rand(encounter_list.size)]
    end
  end 
end


 
 
#==============================================================================
# ** Game_Party
#------------------------------------------------------------------------------
#  This class handles the party. It includes information on amount of gold
# and items. The instance of this class is referenced by $game_party.
#==============================================================================
class Game_Party < Game_Unit

  attr_accessor :actors
  attr_accessor :last_actors
 
  alias skillo_initialize initialize
  def initialize
    skillo_initialize
    @last_actors = []
  end
end

#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
#  This class performs the map screen processing.
#==============================================================================
class Scene_Map < Scene_Base
 
  #--------------------------------------------------------------------------
  # * Encounter Processing
  #--------------------------------------------------------------------------
  def update_encounter
    return if $game_player.encounter_count > 0        # Check steps
    return if $game_map.interpreter.running?          # Event being executed?
    return if $game_system.encounter_disabled        # Encounters forbidden?
    troop_id = $game_player.make_encounter_troop_id  # Determine troop
    return if $data_troops[troop_id] == nil          # Troop is invalid?
    if $game_system.airship_battle and $game_system.airship_actor_battle
      if $game_player.in_airship?
        $game_party.last_actors = $game_party.actors
        $game_party.actors = [AirShip::Battle_Ship_actor]
      end
    end
    $game_troop.setup(troop_id)
    $game_troop.can_escape = true
    $game_temp.battle_proc = nil
    $game_temp.next_scene = "battle"
    preemptive_or_surprise
  end
end
#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
#  This class performs battle screen processing.
#==============================================================================

class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # * Terminate Processing
  #--------------------------------------------------------------------------
  alias skillo_terminate terminate
  def terminate
    if $game_system.airship_battle and $game_system.airship_actor_battle
      $game_party.actors = $game_party.last_actors if $game_player.in_airship?
    end
    skillo_terminate
  end
end

Screen: pas vraiment besoin de screen

Demo:
http://www.mediafire.com/?ngeynzyzmw0
giratina1
giratina1
Membre

Nombre de messages : 242
Age : 26
Localisation : Ardèche
Distinction : aucune
Date d'inscription : 01/03/2010

[Script] Combats aériens Empty Re: [Script] Combats aériens

le Mer 9 Juin 2010 - 8:13
Script tout simplement géant !
Nathän
Nathän
Membre

Nombre de messages : 165
Age : 27
Localisation : euh c'est une bonne question , c'est ou nul part ?
Distinction : aucune
Date d'inscription : 03/09/2008

[Script] Combats aériens Empty Re: [Script] Combats aériens

le Mer 9 Juin 2010 - 13:52
Tient ça me rappelle une idée que j'avais donné sur la cb ça ^^
Patci
Patci
Membre

Nombre de messages : 42
Age : 29
Localisation : ALBI
Distinction : aucune
Date d'inscription : 20/05/2010

[Script] Combats aériens Empty Re: [Script] Combats aériens

le Mer 9 Juin 2010 - 14:23
Vraiment sympa, ce script...
Skillo
Skillo
Staffeux retraité

Nombre de messages : 526
Age : 30
Localisation : Rennes
Distinction : J'aime ce gars :P
(by Coco')
Scripteur apprenti, futur Berka !
(par Tretian)
Membre anonyme de la communauté, caché derrière son PC
(???)
super prof de script
[Dudu']
Résident permanent de la Chat Box
[Autoproclamé]
Adepte du XDDD [Yak' Very Happy]
Fanatique hystérique de Raymond le français [Un connu]
Date d'inscription : 19/01/2008

[Script] Combats aériens Empty Re: [Script] Combats aériens

le Jeu 10 Juin 2010 - 0:51
Merci si vous avez des idées pour l'amélioré, n'hésitez pas.
Gore33
Gore33
Membre

Nombre de messages : 189
Age : 20
Localisation : Dans un monde virtuel
Distinction : aucune
Date d'inscription : 27/10/2009

[Script] Combats aériens Empty Re: [Script] Combats aériens

le Mar 20 Juil 2010 - 0:13
Pas mal !^^
J'imagine avec le mode 7, sa doit être super !^^
Mais jolie script sinon !^^
Darky Face
Darky Face
Membre

Nombre de messages : 741
Age : 23
Localisation : Dans un tigre.
Distinction : Champion mondial paralympique au 100 m. roulettes
Grosse CMB (Grosse Contusion des Membres, Ballot)
Adepte de Chatroulette.
Adjuvant-chef du club masochiste de la commu'.
Date d'inscription : 22/07/2008

[Script] Combats aériens Empty Re: [Script] Combats aériens

le Mar 20 Juil 2010 - 17:11
Hum... Ce script fonctionne uniquement pour le vaisseau (dut "airship"), ou également pour le bateau et le "radeau" ?
Gore33
Gore33
Membre

Nombre de messages : 189
Age : 20
Localisation : Dans un monde virtuel
Distinction : aucune
Date d'inscription : 27/10/2009

[Script] Combats aériens Empty Re: [Script] Combats aériens

le Mar 20 Juil 2010 - 19:14
Dark' a écrit:Hum... Ce script fonctionne uniquement pour le vaisseau (dut "airship"), ou également pour le bateau et le "radeau" ?
Que pour le vaisseau, mais une p'tite modif et on peux faire pour les trois !^^Bon making !
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum