Oniromancie: Scripts - Monstres Amicaux


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Forstale
Par Ødd Clock

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Lije
Par Gaetz

LoveMaster
Par Cuddlefox

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

Alex d'Or 2017-18: règlement / News: MegaMaker : créez votre propre (...) / News: Test de Tinker Quarry / Sorties: Leave the Room / Jeux: Leave the Room /

Chat  (13 connectés)

Bienvenue
visiteur !






publicité RPG Maker!

Statistiques

Liste des
membres


Contact

72 connectés actuellement

9170552 visiteurs
depuis l'ouverture

804 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires




TOP
GAMEMAKING


Les 5 plus
visités

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Pixelandgame

Tashiroworld

HeyMakeGames

Au hasard

Kerox Production

Make & Graph'

RPG Land

Les deux derniers

Lunae, le baz'arts d'Emz0

Le studio du chat vert

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs





Monstres Amicaux
Script pour RPG Maker VX
Ecrit par cari974

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:

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
 
#===============================================================================
#
# 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
#
#===============================================================================
 




titou122 - posté le 18/10/2014 à 15:58:04. (10 messages postés)

Bonjour, j'ai une question : serai t'il possible de le faire pour rpg maker xp svp

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe

Plan du site:

Activité: Accueil | News | Forum | Flash-news | Chat | Commentaires | Galerie | Screen de la semaine | Sorties | Articles perso | Livre d'or | Recherche
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Rubriques: Le Wiki | Collection Oniro | Tutoriaux | Scripts | Guides | Gaming-Live | Tests | Making-of | Interviews | Articles perso | OST | L'Annuaire | Divers | Palmarès
Hébergés: Aëdemphia | Fighting Robots Quest | Forstale | Geex | Inexistence | La Légende d'Ibabou | Lije | LoveMaster | Sarcia | Super Mario RPG - Lost Souls
Ressources: Jeux | Programmes | Packs de ressources | Midis | Eléments séparés | Sprites
RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis