
[Combat]Basic Side View Battle System Script pour RPG Maker VXACE Ecrit par Tata Monos
Basic Side View Battle System
Réalisé par Fomar0153.
Source
Un script qui place un simple système de combat en vue de coté.
Pour représentr le battler de votre personnage, ajoutez un graphismes qui le même nom que votre héros + _battler.png dans la dossier Battler de votre jeu.
Exemple si votre héros se nomme Eric, le battler devras avoir comme nom :
Eric_battler.png
Ligne 46
1
2
3
| def screen_y
return 120 + self.index * 40
end |
Vous pouvez remplacer le chiffre 120 par un autre chiffre. Cela représente la position Y du 1er héros.
Ligne 40 représente la positin X.
Les 4 1er personnage :
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
| =begin
Basic Side View Battle Script
by Fomar0153
Version 1.0
----------------------
Notes
----------------------
No requirements
Displays battlers for the player's party.
----------------------
Instructions
----------------------
You will need to import battlers for the party to use
they should be named like this:
name_battler
e.g.
Ralph_battler
----------------------
Known bugs
----------------------
None
=end
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● New Method battler_name
#--------------------------------------------------------------------------
def battler_name
return actor.name + "_battler"
end
#--------------------------------------------------------------------------
# ● Rewrites use_sprite?
#--------------------------------------------------------------------------
def use_sprite?
return true
end
#--------------------------------------------------------------------------
# ● New Method screen_x
#--------------------------------------------------------------------------
def screen_x
return 450
end
#--------------------------------------------------------------------------
# ● New Method screen_y
#--------------------------------------------------------------------------
def screen_y
return 120 + self.index * 40
end
#--------------------------------------------------------------------------
# ● New Method screen_z
#--------------------------------------------------------------------------
def screen_z
return 100
end
end
class Spriteset_Battle
#--------------------------------------------------------------------------
# ● Rewrites create_actors
#--------------------------------------------------------------------------
def create_actors
@actor_sprites = $game_party.battle_members.reverse.collect do |actor|
Sprite_Battler.new(@viewport1, actor)
end
end
end |
|
|
Joueur1 - posté le 25/12/2011 à 22:43:03. (762 messages postés)
|

Hum ? | C'est bien ça, je n'ai jamais aimé le système de combat où l'on ne voit que l'ennemi. |
"Il y avait bien une lumière au bout du tunnel... et c'était un lance-flammes" (Terry Pratchett) |
|
Tata Monos - posté le 25/12/2011 à 23:35:51. (48894 messages postés)
- 
|

| Pour le moment c'est très simple, pas de mouvement du joueur. Ce n'est pas encore ce que je veux vraiment.
(Aimerez bien que quand le personnage choisis une action il avant un peu, et idem quand il agis \o/)
Et idem avec des status, changement de battler suivant les statuts.
Avec l'utilisation d'un tag dans les notes.
Par exemple si dans statut mort j'ai ce tag. [mort]
quand le perso sera sous l'effet du statut mort , il prendra le graphismes. Nom_mort.png
\o/
Zeus/Mack/autre scripteur si vous passez par la. |
Offgame | Le comptoire des clikeurs | Rpg Maker Vxace |
|
Mack - posté le 26/12/2011 à 09:42:50. (668 messages postés)
|

| J'y jetterais un oeil, moi aussi j'serais intéressé par un système du genre ^^ |
|
|

Feignasse expérimentée | Monos, jette donc un coup d'oeil cette version de Fomar ainsi que celle de Jet (que Fomar semble préférer au sien, dit-il.).
Je pense que ça correspond plus aux attentes du public! |
|
Tata Monos - posté le 26/12/2011 à 17:48:44. (48894 messages postés)
- 
|

| Je viens de voir. Ba ce n'est pas vraiment ce que je recherche personnellement et au vu comment ça se configure...
L'histoire des tag me va mieux \o/ |
Offgame | Le comptoire des clikeurs | Rpg Maker Vxace |
|
Jess 007 - posté le 28/12/2011 à 15:37:52. (708 messages postés)
|

Ralf, déterminé. | J'aime bien celui de Jet perso.
Puis le ATB de Fomar est bien aussi pour ceux qui en veulent. |
SITE de Kipatord - Kipatord - Le Mal s'emballe (demo) |
|
|

Petit clin d'oeil à VX | Comme seule la position change et que ce n'est pas animé, j'ai pensé à un petit add-on pour mettre les facesets dans l'interface de combat
Copiez ce script après celui de cetta page :
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
| #==============================================================================
# ■ VXAce-RGSS3-10 Add-on, Facesets dans le combat by SuperGregMaker
#------------------------------------------------------------------------------
# ・#############################
# ・#############################
#==============================================================================
#==============================================================================
# ■ Window_BattleStatus
#==============================================================================
class Window_BattleStatus < Window_Selectable
#--------------------------------------------------------------------------
# ● HP/MP/TPの行の高さ取得
#--------------------------------------------------------------------------
def gauge_line_height
return 16
end
#--------------------------------------------------------------------------
# ● 桁数の取得
#--------------------------------------------------------------------------
def col_max
return [item_max, 4].max
end
#--------------------------------------------------------------------------
# ● 横に項目が並ぶときの空白の幅を取得
#--------------------------------------------------------------------------
def spacing
return 0
end
#--------------------------------------------------------------------------
# ● 項目を描画する矩形の取得
#--------------------------------------------------------------------------
def item_rect(index)
rect = Rect.new
rect.width = item_width
rect.height = contents_height
rect.x = index % col_max * (item_width + spacing)
rect.y = index / col_max * contents_height
rect
end
#--------------------------------------------------------------------------
# ● 基本エリアの矩形を取得
#--------------------------------------------------------------------------
def basic_area_rect(index)
rect = item_rect_for_text(index)
rect.height -= gauge_area_height
rect
end
#--------------------------------------------------------------------------
# ● ゲージエリアの矩形を取得
#--------------------------------------------------------------------------
def gauge_area_rect(index)
rect = item_rect_for_text(index)
rect.y += contents_height - gauge_area_height - 8
rect.height = gauge_area_height
rect
end
#--------------------------------------------------------------------------
# ● ゲージエリアの高さを取得
#--------------------------------------------------------------------------
def gauge_area_height
return (gauge_line_height * ($data_system.opt_display_tp ? 3 : 2))
end
#--------------------------------------------------------------------------
# ● 基本エリアの描画
#--------------------------------------------------------------------------
def draw_basic_area(rect, actor)
# draw_actor_name(actor, rect.x, rect.y, 100)
draw_actor_face(actor, rect.x, rect.y, !actor.dead?)
draw_actor_icons(actor, rect.x, rect.y, rect.width+8)
end
#--------------------------------------------------------------------------
# ● ゲージエリアの描画(TP あり)
#--------------------------------------------------------------------------
def draw_gauge_area_with_tp(rect, actor)
draw_actor_hp(actor, rect.x, rect.y + gauge_line_height * 0, rect.width)
draw_actor_mp(actor, rect.x, rect.y + gauge_line_height * 1, rect.width)
draw_actor_tp(actor, rect.x, rect.y + gauge_line_height * 2, rect.width)
end
#--------------------------------------------------------------------------
# ● ゲージエリアの描画(TP なし)
#--------------------------------------------------------------------------
def draw_gauge_area_without_tp(rect, actor)
draw_actor_hp(actor, rect.x, rect.y + gauge_line_height * 1, rect.width)
draw_actor_mp(actor, rect.x, rect.y + gauge_line_height * 2, rect.width)
end
end
#==============================================================================
# ■ Window_BattleEnemy
#==============================================================================
class Window_BattleEnemy < Window_Selectable
#--------------------------------------------------------------------------
# ● 項目の描画
#--------------------------------------------------------------------------
alias draw_item_fv draw_item
def draw_item(index)
draw_hp(index)
draw_item_fv(index)
end
#--------------------------------------------------------------------------
# ● HPの描画
#--------------------------------------------------------------------------
def draw_hp(index)
rect = item_rect_for_text(index)
w = rect.width - 60
x = rect.x + 30
hp = $game_troop.alive_members[index].hp_rate
draw_gauge(x, rect.y, w, hp, hp_gauge_color1, hp_gauge_color2)
end
end |
Un petit screen ?
Pour l'instant j'ai pas trouvé de problème d'incompatibilité entre mon add-on et le script, je vous en ferai part si j'en trouve et essayerai de les corriger  |
Que Dieu vous garde, j'ai plus de place chez moi ... | Green Day forever ! Awesome as F**k ! 22/03 ! | WWE&TNA ♥ | 
|