Accueil du SiteAccueil du Site  AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  ConnexionConnexion  S'enregistrerS'enregistrer  



-29%
Le deal à ne pas rater :
DYSON V8 Origin – Aspirateur balai sans fil
269.99 € 379.99 €
Voir le deal

Partagez
 

 [Rpg Maker VX] Monstres Amicaux

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Invité
Invité
Anonymous


[Rpg Maker VX] Monstres Amicaux Empty
MessageSujet: [Rpg Maker VX] Monstres Amicaux   [Rpg Maker VX] Monstres Amicaux EmptyJeu 10 Nov 2011 - 22:40

Shanghai Simple Script - Friendly Monsters

Auteur: Shanghai

Introduction

Les monstres amicaux n'attaquent pas les alliés mais uniquement les ennemis.
Les ennemis attaquent les monstres amicaux en priorité avant de s'attaquer aux alliés.
Si vous tuez les ennemis en laissant en vie les monstres amicaux, vous pouvez obtenir de l'expérience en bonus, de l'argent, objet etc ...

Script

Code:

#===============================================================================
#
# Shanghai Simple Script - Friendly Monsters
# Last Date Updated: 2010.06.17
# Level: Normal
#
# This script sets certain monsters to be designated as friendly monsters. These
# monsters will attack other monsters while those monsters will attack them in
# return (almost always so long as they're alive). If the friendly monsters are
# alive when all other monsters are killed, the player gets extra rewards.
#===============================================================================
# Instructions
# -----------------------------------------------------------------------------
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ▼ Materials but above ▼ Main. Remember to save.
#
# <friendly>
# Place this tag into the enemy's notebox to designate that monster type as a
# friendly monster.
#
# <friendly exp: x>
# Placez ce tag dans notebox de l'ennemi
# Si l'ennemi est laissé vivant quand le combat est fini, vous gagnez ce beaucoup d'exp de cet ennemi.
#
# <friendly gold: x>
# Placez ce tag dans notebox de l'ennemi
# Si l'ennemi est laissé vivant quand le combat est fini, vous gagnez ce beaucoup d'argent de cet ennemi.
#
# <friendly i: x>
# <friendly w: x>
# <friendly a: x>
# Placez ce tag dans notebox de l'ennemi
# Si l'ennemi est laissé vivant quand le combat est fini, vous gagnez un objet, arme etc ....
# Mettre "i" pour un objet. "w" pour une arme. "a" une armure.
#===============================================================================
 
$imported = {} if $imported == nil
$imported["FriendlyMonsters"] = true
 
#==============================================================================
# RPG::Enemy
#==============================================================================
 
class RPG::Enemy
  #--------------------------------------------------------------------------
  # * Friendly Monster
  #--------------------------------------------------------------------------
  def friendly_monster
    return @friendly_monster if @friendly_monster != nil
    @friendly_monster = false
    self.note.split(/[\r\n]+/).each { |line|
      case line
      when /<(?:FRIENDLY|friendly monster)>/i
        @friendly_monster = true
      end
    }
    return @friendly_monster
  end
  #--------------------------------------------------------------------------
  # * Friendly EXP
  #--------------------------------------------------------------------------
  def friendly_exp
    return @friendly_exp if @friendly_exp != nil
    @friendly_exp = @exp * 2
    self.note.split(/[\r\n]+/).each { |line|
      case line
      when /<(?:FRIENDLY_EXP|friendly exp):[ ](\d+)>/i
        @friendly_exp = $1.to_i
      end
    }
    return @friendly_exp
  end
  #--------------------------------------------------------------------------
  # * Friendly Drops
  #--------------------------------------------------------------------------
  def friendly_drops
    return @friendly_drops if @friendly_drops != nil
    @friendly_drops = []
    self.note.split(/[\r\n]+/).each { |line|
      case line
      when /<(?:FRIENDLY_ITEM|friendly item|friendly i):[ ]*(\d+)>/i
        @friendly_drops.push($data_items[$1.to_i])
      when /<(?:FRIENDLY_WEP|friendly wep|friendly w):[ ]*(\d+)>/i
        @friendly_drops.push($data_weapons[$1.to_i])
      when /<(?:FRIENDLY_ARM|friendly arm|friendly a):[ ]*(\d+)>/i
        @friendly_drops.push($data_armors[$1.to_i])
      end
    }
    return @friendly_drops.compact
  end
end
 
#==============================================================================
# ** Game_Temp
#==============================================================================
 
class Game_Temp
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :friendly_monster
end
 
#==============================================================================
# ** Game_Enemy
#==============================================================================
 
class Game_Enemy < Game_Battler
  #--------------------------------------------------------------------------
  # * states
  #--------------------------------------------------------------------------
  def friendly?
    return enemy.friendly_monster
  end
  #--------------------------------------------------------------------------
  # * Create Battle Action
  #--------------------------------------------------------------------------
  alias make_action_sss_friendly_monsters make_action unless $@
  def make_action
    $game_temp.friendly_monster = true
    make_action_sss_friendly_monsters
    $game_temp.friendly_monster = false
  end
end
 
#==============================================================================
# ** Game_BattleAction
#==============================================================================
 
class Game_BattleAction
  #--------------------------------------------------------------------------
  # * Get Allied Units
  #--------------------------------------------------------------------------
  alias friends_unit_sss_friendly_monsters friends_unit unless $@
  def friends_unit
    if !battler.actor? and battler.friendly?
      return $game_party
    else
      return friends_unit_sss_friendly_monsters
    end
  end
  #--------------------------------------------------------------------------
  # * Get Enemy Units
  #--------------------------------------------------------------------------
  alias opponents_unit_sss_friendly_monsters opponents_unit unless $@
  def opponents_unit
    if !battler.actor? and battler.friendly?
      return $game_troop
    else
      return opponents_unit_sss_friendly_monsters
    end
  end
  #--------------------------------------------------------------------------
  # * Create Normal Attack Targets
  #--------------------------------------------------------------------------
  alias make_attack_targets_sss_friendly_monsters make_attack_targets unless $@
  def make_attack_targets
    $game_temp.friendly_monster = true if !battler.actor?
    result = make_attack_targets_sss_friendly_monsters
    $game_temp.friendly_monster = false
    return result
  end
  #--------------------------------------------------------------------------
  # * Create Normal Attack Targets
  #--------------------------------------------------------------------------
  alias make_obj_targets_sss_friendly_monsters make_obj_targets unless $@
  def make_obj_targets(obj)
    $game_temp.friendly_monster = true if !battler.actor?
    result = make_obj_targets_sss_friendly_monsters(obj)
    $game_temp.friendly_monster = false
    return result
  end
end
 
#==============================================================================
# ** Game_Troop
#==============================================================================
 
class Game_Troop < Game_Unit
  #--------------------------------------------------------------------------
  # * Members
  #--------------------------------------------------------------------------
  alias members_troop_sss_friendly_monsters members unless $@
  def members
    result = members_troop_sss_friendly_monsters
    result -= $game_troop.friendlies if $game_temp.friendly_monster
    return result
  end
  #--------------------------------------------------------------------------
  # * Friendlies
  #--------------------------------------------------------------------------
  def friendlies
    result = []
    for member in members_troop_sss_friendly_monsters
      result.push(member) if member.friendly?
    end
    return result.compact
  end
  #--------------------------------------------------------------------------
  # * Friendlies Alive?
  #--------------------------------------------------------------------------
  def friendlies_alive?
    for member in friendlies
      return true unless member.dead?
    end
    return false
  end
  #--------------------------------------------------------------------------
  # * Determine Everyone is Dead
  #--------------------------------------------------------------------------
  def all_dead?
    n = existing_members
    n -= $game_troop.friendlies
    return n.empty?
  end
  #--------------------------------------------------------------------------
  # * Calculate Total Experience
  #--------------------------------------------------------------------------
  alias exp_total_sss_friendly_monsters exp_total unless $@
  def exp_total
    n = exp_total_sss_friendly_monsters
    for member in $game_troop.friendlies
      next if member.dead?
      n += member.enemy.friendly_exp
    end
    return n
  end
  #--------------------------------------------------------------------------
  # * Create Array of Dropped Items
  #--------------------------------------------------------------------------
  alias make_drop_items_sss_friendly_monsters make_drop_items unless $@
  def make_drop_items
    n = make_drop_items_sss_friendly_monsters
    for member in $game_troop.friendlies
      next if member.dead?
      n += member.enemy.friendly_drops
    end
    return n
  end
end
 
#==============================================================================
# ** Game_Party
#==============================================================================
 
class Game_Party < Game_Unit
  #--------------------------------------------------------------------------
  # * Members
  #--------------------------------------------------------------------------
  alias members_party_sss_friendly_monsters members unless $@
  def members
    result = members_party_sss_friendly_monsters
    if $game_temp.friendly_monster and $game_troop.friendlies_alive?
      return $game_troop.friendlies
    end
    return result
  end
end
 
#===============================================================================
#
# END OF FILE
#
#===============================================================================
Revenir en haut Aller en bas
elm6
Ninja (niveau 1)
Ninja (niveau 1)
elm6

Masculin
Messages postés : 144
Date d'inscription : 10/02/2010
Jauge LPC :
[Rpg Maker VX] Monstres Amicaux 89152714005 / 1005 / 100[Rpg Maker VX] Monstres Amicaux 8915271400

[Rpg Maker VX] Monstres Amicaux Projet-termine_imagesia-com_1pep_large


[Rpg Maker VX] Monstres Amicaux Empty
MessageSujet: Re: [Rpg Maker VX] Monstres Amicaux   [Rpg Maker VX] Monstres Amicaux EmptyVen 11 Nov 2011 - 11:19

Celui-là je l'utiliserai pas, mais le concept est plutôt bien.
Il me fait un peu penser au gameplay combat de Blue Dragon, avec les gros monstres qui bouffent les plus petits. Bon s't'un peu différent, mais les mobs interagissent entre eux quoi.
Revenir en haut Aller en bas
http://newwaverpgmaker.forumactif.com/
Invité
Invité
Anonymous


[Rpg Maker VX] Monstres Amicaux Empty
MessageSujet: Re: [Rpg Maker VX] Monstres Amicaux   [Rpg Maker VX] Monstres Amicaux EmptyVen 11 Nov 2011 - 13:21

Je ne connais pas Blue dragon, mais il me semble en avoir entendu parler (si c'est bien un jeu sur Xbox).
Sinon ce script est vraiment pas mal en fait x), je l'ai adapté à mon projet et le rendu est plutôt bon et les possibilités assez grandes.

Spoiler:
Revenir en haut Aller en bas
Contenu sponsorisé




[Rpg Maker VX] Monstres Amicaux Empty
MessageSujet: Re: [Rpg Maker VX] Monstres Amicaux   [Rpg Maker VX] Monstres Amicaux Empty

Revenir en haut Aller en bas
 
[Rpg Maker VX] Monstres Amicaux
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
»  petit tuto : jouer a un jeu rpg maker sans rpg maker !!!
» Edition Jeux RPG Maker 2000 via RPG Maker VX Ace
» [Battlers 2.5] Monstres
» [xp] Barre de vie des monstres
» Battlers monstres by Choco

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ PARTAGE ~ :: Scripts et plugins :: RPG Maker VX :: Combat-
Sauter vers: