Aller à la 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
Reprise du message précédent:
Gari -
posté le 13/09/2022 à 15:20:16 (5901 messages postés)
- | | Il te manque un # devant ta première ligne de ==================, déjà. Mais il est sans doute présent dans ton script d'origine.
Et il te manque un true/false sur tes switches, là on sait pas trop ce qu'ils font.
1
| if $game_switches[x] = true |
| Suite du sujet:
pepette -
posté le 13/09/2022 à 15:22:34 (61 messages postés)
| | Gari a dit: Il te manque un # devant ta première ligne de ==================, déjà. |
c'est juste une erreur de copier coller, le # est bien dans le script (j'ai enlevé toute la partie blabla explicatif pour poster ici)
|
Gari -
posté le 13/09/2022 à 15:27:47 (5901 messages postés)
- | | Je t'ai mis une autre piste au-dessus. Il y a aussi ce topic (en anglais) qui peut peut-être t'aider, si tu sais ce que sont des modules et des instances : https://steamcommunity.com/app/220700/discussions/0/492378265877661244/.
(Rien à voir, mais ce serait pas plus simple de relier tous ces langages à une variable ?)
|
pepette -
posté le 13/09/2022 à 15:47:15 (61 messages postés)
| | j'ai bien pensé à faire une variable avec une valeur pour chaque langue, mais j'ai opté pour l'inter parce que j'ai des écritures (des tags sur les murs) qui s'affichent sur les MAPs en fonction d'autres variables.
Pour simplifier l'affichage, j'ai passé toutes ces écritures dans des sprites "character"
L'affichage des Event n'acceptant qu'une variable en condition, et j'affiche la bonne langue en fonction de l'inter activé
Si je comprend bien ton lien, le soucis est que j'agis dans un module, et que les modules sont lus au lancement du jeu avant la création des variables (et donc des switchs)
Si je comprends bien, il faudrait donc que je crée une surchage après le chargement des variables... (bien que je ne sache pas si on peux surcharger un module).
ça dépasse réellement mes compétences RUBY actuelles, mais au moins ça me donne la réponse à mon problème de crash.
Merci beaucoup pour tes réponses
|
Gari -
posté le 13/09/2022 à 16:27:49 (5901 messages postés)
- | | Le bout de code que je t'ai donné pour reconnaître les interrupteurs ne fonctionne pas ? Sinon l'histoire de modules/instance ça peut être ça, mais j'ai pas de connaissances là-dessus. Quelqu'un qui connaît un peu le RGSS pourrait facilement t'aider par contre (Roi of the Suisse connait bien, Mack connait pas tant que ça mais il connait le ruby).
|
pepette -
posté le 13/09/2022 à 17:08:04 (61 messages postés)
| | Gari a dit: Le bout de code que je t'ai donné pour reconnaître les interrupteurs ne fonctionne pas ? |
J'ai essayé, mais ça crash toujours avec le même message d'erreur.
En fait, si j'ai bien compris, le "= true " est optionnel
En tout cas, j'ai utilisé la même série de if/else dans d'autres script (mais dans des DEF, pas dans des modules) et ça fonctionne parfaitement sans "= true "
|
| Chanter l'hyperchleuasme | Si en faisant $game_switches[36] tu obtiens l'erreur "undefined method '[]' for nil:NilClass", ça veut dire que ton tableau $game_switches est nul. Es tu sûr du nom de la variable ? Es tu sûr que ta variable est accessible depuis cet endroit ?
Gari a dit: Et il te manque un true/false sur tes switches, là on sait pas trop ce qu'ils font.
1
| if $game_switches[x] = true |
|
Pas besoin d'écrire "== true" après un booléen, s'il vaut true on rentre dans le if, s'il vaut false on ne rentre pas dans le if. Le "== true" après un booléen, c'est un pléonasme.
Ça alourdit le code pour rien, et c'est considéré comme une mauvaise pratique car on risque d'écrire des bêtises. Chaque caractère de code écrit représente un risque de commettre une faute de frappe, donc il faut être le plus concis possible.
Et ne surtout pas confondre = avec ==, car = est une affectation de la variable, donc le contenu de la variable sera écrasé, et le if se comportera selon ce qu'on vient d'affecter, et pas selon le contenu antérieur de la variable. Deux catastrophes en une
|
Es-tu une star ? | Kujira no Hara | Muma|Rope | Polaris 03 | La 7e porte |
pepette -
posté le 13/09/2022 à 17:37:48 (61 messages postés)
| | Roi of the Suisse a dit: Si en faisant $game_switches[36] tu obtiens l'erreur "undefined method '[]' for nil:NilClass", ça veut dire que ton tableau $game_switches est nul. Es tu sûr du nom de la variable ? Es tu sûr que ta variable est accessible depuis cet endroit ?
|
A priori, c'est justement ça le problème.
Dans le lien qu'à donné Gari, ils expliquent que les modules sont chargés avant la définition des variables. Donc en effet, à ce moment là les switches n'existent pas encore.
|
| Chanter l'hyperchleuasme | Dans ce cas, une astuce est de passer le tableau $game_switches en paramètre des fonctions de ton module.
Ceux qui appellent ce module et ses fonctions ont accès au tableau $game_switches et donc peuvent lui passer.
|
Es-tu une star ? | Kujira no Hara | Muma|Rope | Polaris 03 | La 7e porte |
pepette -
posté le 13/09/2022 à 18:46:42 (61 messages postés)
| | Roi of the Suisse a dit: Dans ce cas, une astuce est de passer le tableau $game_switches en paramètre des fonctions de ton module.
Ceux qui appellent ce module et ses fonctions ont accès au tableau $game_switches et donc peuvent lui passer. |
autant je comprends le principe, autant je ne sais pas le faire en RUBY
|
| Chanter l'hyperchleuasme | Euh, mais il y a un truc qui me choque dans ton module
Le "if" qui se balade en dehors d'une fonction.
Je n’utilise pas trop les modules, mais tu es sûr qu'on a le droit de faire ça ???
Généralement, si tu veux écrire un if, tu le mets dans une fonction, et tu appelles ta fonction lorsque tu en as besoin.
Enfin, si tu mets du code (if/else) en dehors d'une fonction, le code sera peut-être exécuté au chargement de la classe par Ruby, et donc oui forcément la variable machin n'est pas disponible à ce moment là.
Si tu as besoin de la variable, tu dois mettre ton code (tes if/else) dans une méthode que tu appelles "init" et appeler la méthode init depuis le cycle de vie de RM.
|
Es-tu une star ? | Kujira no Hara | Muma|Rope | Polaris 03 | La 7e porte |
pepette -
posté le 13/09/2022 à 21:50:10 (61 messages postés)
| | Roi of the Suisse a dit: Euh, mais il y a un truc qui me choque dans ton module
Le "if" qui se balade en dehors d'une fonction.
Je n’utilise pas trop les modules, mais tu es sûr qu'on a le droit de faire ça ??? |
Comme j'ai dit, je suis novice en Ruby...
je ne fais que modifier un module existant (dans lequel il n'y avait pas de if, soit) mais je connais pas de règle qui empêche de mettre un if en dehors d'une fonction.
Je veux dire, de base, c'est à cet endroit que les noms étaient définis. Je ne fais que rajouter des variantes de noms. Pourquoi ce serait interdit à cet endroit.
Dans les cours de Ruby que j'ai vu sur le net, il n'est écrit nulle part qu'il y aurait des endroits où les if seraient interdit.
Citation: si tu mets du code (if/else) en dehors d'une fonction, le code sera peut-être exécuté au chargement de la classe par Ruby, et donc oui forcément la variable machin n'est pas disponible à ce moment là.
Si tu as besoin de la variable, tu dois mettre ton code (tes if/else) dans une méthode que tu appelles "init" et appeler la méthode init depuis le cycle de vie de RM. |
Grace à vous, j'ai compris le problème (c'est pas le if le soucis, c'est que les variables sont pas encore initialisées).
Je vais essayer de le faire maintenant (même si je sais que je vais galérer un peu : je suis peu habituée à la prog objet, mais je m'y met peu à peu et j'apprends à force de faire crasher mon jeu )
|
| Chanter l'hyperchleuasme | J'ai pas trop le temps de regarder, mais je serais toi, j'envelopperais tous le bloc de code avec les if dans une fonction
1
2
3
| def init(game_switches)
...
end |
Comme ça on peut utiliser le tableau d'interrupteurs "game_switches" dans le if.
Et j'appellerais AudioVol.init($game_switches) dans la classe Game_Temp dans la fonction initialize, ou un endroit comme ça...
|
Es-tu une star ? | Kujira no Hara | Muma|Rope | Polaris 03 | La 7e porte |
pepette -
posté le 14/09/2022 à 09:44:16 (61 messages postés)
| | Roi of the Suisse a dit: J'ai pas trop le temps de regarder, mais je serais toi, j'envelopperais tous le bloc de code avec les if dans une fonction
1
2
3
| def init(game_switches)
...
end |
Comme ça on peut utiliser le tableau d'interrupteurs "game_switches" dans le if.
Et j'appellerais AudioVol.init($game_switches) dans la classe Game_Temp dans la fonction initialize, ou un endroit comme ça... |
Cool !
Merci beaucoup pour ton aide !
|
Troma -
posté le 20/09/2022 à 15:10:43 (6392 messages postés)
| Je procrastine | Bonjour, cette fois je cherche a faire trembler l'ecran non pas en horizontal mais en vertical, sauriez vous me dire ou je dois changer un truc svo, merci.
Toujours sur xp, pouvoir utiliser l'effet de tremblement de base mais en vertical.
|
ꀎꀎꀎꀎꀎꀎꀎ |
Ephy -
posté le 30/09/2022 à 09:30:45 (30100 messages postés)
- | [BIG SHOT] | Support : RMVXAce
Question :
Est-ce qu'il est possible de désactiver les ombres auto de VXAce (les rectangles noirs semi-transparent ajoutés automatiquement quand on mappe) en changeant un réglage dans les scripts de base?
Je pourrais les virer demi-tile par demi-tile à la main mais c'est très relou et trop source d'oublier une ombre quelque part donc autant éviter
|
Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14 |
Gari -
posté le 30/09/2022 à 15:48:37 (5901 messages postés)
- | | Réponse : oui
Monos faisait ça comme ça pour vx : http://rm.vx.love.free.fr/rmvx/autoombre.php (par événement)
https://www.rpg-maker.fr/scripts-236-ultimate-shadow-remover.html (par script direct)
pour Ace :
Tu as ceci qui est sans doute le script le plus court jamais eu : https://rpgmaker.net/scripts/620/code/
|
| Chanter l'hyperchleuasme | Bah bravo les admins qui montrent le bon exemple
|
Es-tu une star ? | Kujira no Hara | Muma|Rope | Polaris 03 | La 7e porte |
Ephy -
posté le 30/09/2022 à 17:39:43 (30100 messages postés)
- | [BIG SHOT] | Ca marche pas. Le script VX ne fait rien sur Ace et le script "Ace" c'est certainement pour MV/MZ parce que c'est même pas du ruby. Mais merci quand même
|
Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14 |
Gari -
posté le 30/09/2022 à 17:43:38 (5901 messages postés)
- | | RIP
Yanfly en avait fait un, mais depuis son passage au mercantilisme, j'ai peur qu'il ne reste plus rien.
|
cortez -
posté le 30/09/2022 à 18:38:42 (524 messages postés)
| | Ephy a dit: Support : RMVXAce
Question :
Est-ce qu'il est possible de désactiver les ombres auto de VXAce (les rectangles noirs semi-transparent ajoutés automatiquement quand on mappe) en changeant un réglage dans les scripts de base?
Je pourrais les virer demi-tile par demi-tile à la main mais c'est très relou et trop source d'oublier une ombre quelque part donc autant éviter
|
J'ai ce que tu cherche mais ya un hic, cela supprime la couche 2 qui est composée des ombres automatiques et aussi des éléments situés dans le cadre que j'ai sélectionné.
Donc ça marche mais il faut se passer de ces 8 autotiles. (j'ai pas compté le marécage et la sorte d'escalier juste en dessous)
Le script est de Nelderson (il ne demande pas de crédit pour le script mais on sait jamais)
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
| ## Use the script call: (switch_autoshadow) to enable/disable autoshadows.
#Credits for Abt Plouton
$autoshadow_switch = true #Default autoshadow - true means regular autoshadow
class Game_Map
attr_writer :autoshadows
def autoshadows
# Set autoshadows to false if it is not yet defined
@autoshadows = @autoshadows == nil ? false : @autoshadows
return @autoshadows
end
alias ma_remove_auto_shadows_on_setup setup
def setup(map_id)
ma_remove_auto_shadows_on_setup(map_id)
# Rather than repeatedly call a method, set a local variable to have it's data
if $autoshadow_switch == false
ma_data = data
return if autoshadows
# For all squares on the map
for x in 0...ma_data.xsize
for y in 0...ma_data.ysize
# If there is an autoshadow on this tile
if ma_data[x,y,2] == 0
# Delete auto Shadow
ma_data[x,y,2] = ma_data[x,y,0]
ma_data[x,y,0] = 0
end
end
end
end
end
end
class Game_Interpreter
def switch_autoshadow
if $autoshadow_switch == true
$autoshadow_switch = false
else
$autoshadow_switch = true
end
$game_map.setup($game_map.map_id)
$game_map.refresh
end
end |
|
Ephy -
posté le 30/09/2022 à 19:57:08 (30100 messages postés)
- | [BIG SHOT] | Merci mais justement, je me sers beaucoup de ces tiles-là
C'est quand même fou de pas trouver à quel moment ces ombres sont générées dans les scripts de base pour pouvoir les faire sauter.
|
Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14 |
cortez -
posté le 30/09/2022 à 21:49:52 (524 messages postés)
| | Ephy a dit: Merci mais justement, je me sers beaucoup de ces tiles-là
C'est quand même fou de pas trouver à quel moment ces ombres sont générées dans les scripts de base pour pouvoir les faire sauter.
|
C'est bon j'ai trouvé, c'est un script gratuit (pour un jeu gratuit) mais il faudra payer Zeus81 si le projet est commercialisé. Merci a Zeus81, le script ne fait pas que supprimer les ombres auto, mais il ajoute la gestion de lumières et ombres des personnages si besoin.
Le script :
https://pastebin.com/raw/VpHHBuaW
Les consignes (anglais):
https://pastebin.com/raw/9bnzSHCw
|
Ephy -
posté le 30/09/2022 à 22:24:01 (30100 messages postés)
- | [BIG SHOT] | Ca fonctionne merci. C'est légèrement overkill pour ce que je veux faire mais c'est bien. Ca fera le taf en attendant le jour où peut-être je trouverais la foi pour les retirer manuellement
Si un jeu sort de tout ça, ce sera gratuit dans tous les cas donc Zues n'aura pas mes 30€ et ne pourra jamais s'acheter Laxius Force avec mon arjen
|
Power Level: 1 148 355,38|Mystic Slayer (Value!+)|Le monde d'Adélaïde|Reikon no Yume|★ H-Project|Toho Danmaku Arena|Loli versus Ponies|Mes vidéos|Ma galerie|Débuter sur VX:10, 11|Tuto: Importation de ressources|Mapper avec les RTP VX|Touhou|Fan de Omenides|Fan de Estheone|Eph'ille: 14 |
Troma -
posté le 02/10/2022 à 17:31:05 (6392 messages postés)
| Je procrastine | Bonjour, quelqu'un saurait me dire ce qu'il faut toucher dans ce script pour rapprocher les picture de personnages affiché et.ou que le 4em soient plus a gauche, merci et si possible afficher une image en fond plutot que le windiwskin.
Spoiler (cliquez pour afficher) Citation: # Advanced CMS Menu by Prexus
# Created on Monday July 4th 2005
# All Rights Reserved
# Made Specially for Naramura Sensei's Battlers
class Scene_Menu
def initialize(menu_index = 0)
@menu_index = menu_index
end
def main
s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "Statut"
s5 = "Sauvegarder"
s6 = "Quitter"
@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
@command_window.index = @menu_index
if $game_party.actors.size == 0
@command_window.disable_item(0)
@command_window.disable_item(1)
@command_window.disable_item(2)
@command_window.disable_item(3)
end
if $game_system.save_disabled
@command_window.disable_item(4)
end
@command_window.x = 32
@command_window.y = 32
@command_window.z = 3005
@command_window.back_opacity = 128
@playtime_window = Window_PlayTime.new
@playtime_window.x = 32
@playtime_window.y = 480-32-@playtime_window.height
@playtime_window.back_opacity = 128
@playtime_window.z = 3005
@gold_window = Window_Gold.new
@gold_window.x = 640-32-@gold_window.width
@gold_window.y = 480-32-@gold_window.height
@gold_window.back_opacity = 128
@gold_window.z = 3005
@chr_status = Window_CharacterStatus.new
@chr_status.visible = false
@status_window = Window_MenuStatus.new
@status_window.chr_status = @chr_status
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose
@chr_status.dispose
@status_window.dispose
@gold_window.dispose
@playtime_window.dispose
end
def update
if @status_window.active and (@command_window.x != -128 or @playtime_window.x != 32-@playtime_window.width)
if @command_window.x != -128
@command_window.z = 3001
@command_window.x -= 5
end
if @playtime_window.x != 32-@playtime_window.width
@playtime_window.x -= 5
end
return
end
if @command_window.active and (@command_window.x != 32 or @playtime_window.x != 32)
if @command_window.x != 32
@command_window.z = 3005
@command_window.x += 5
end
if @playtime_window.x != 32
@playtime_window.x += 5
end
return
end
@command_window.update
@status_window.update
@gold_window.update
@playtime_window.update
@chr_status.update
if @command_window.active
update_command
@chr_status.visible = false
return
end
if @status_window.active
update_status
@chr_status.visible = true
return
end
end
def update_command
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
if $game_party.actors.size == 0 and @command_window.index < 4
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
when 0
$game_system.se_play($data_system.decision_se)
$scene = Scene_Item.new
when 1
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 2
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 3
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.index = 0
when 4
if $game_system.save_disabled
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Save.new
when 5
$game_system.se_play($data_system.decision_se)
$scene = Scene_End.new
end
return
end
end
def update_status
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@status_window.active = false
@status_window.index = -1
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 1
if $game_party.actors[@status_window.index].restriction >= 2
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Skill.new(@status_window.index)
when 2
$game_system.se_play($data_system.decision_se)
$scene = Scene_Equip.new(@status_window.index)
when 3
$game_system.se_play($data_system.decision_se)
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end
class Window_CharacterStatus < Window_Base
def initialize
super(480-32, 0, 192, 128)
self.contents = Bitmap.new(width-32, height-32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
self.back_opacity = 0
self.z = 3006
end
def refresh(index)
self.contents.clear
if index >= 0
actor = $game_party.actors[index]
draw_actor_name(actor, 0, 0)
draw_actor_level(actor, 0, 24)
draw_actor_hp(actor, 0, 48)
draw_actor_sp(actor, 0, 72)
end
end
end
class Window_MenuStatus < Window_Base
attr_reader :index
attr_reader :chr_status
def initialize
@viewport = Viewport.new(0, 0, 640, 480)
@viewport.z = 3001
super(-16, -16, 640+32, 480+32)
self.contents = Bitmap.new(width-32, height-32)
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
self.active = false
self.z = 3000
@index = -1
@column_max = 1
@sprites = []
refresh
end
def index=(index)
@index = index
if self.active and @chr_status != nil
update_chr_status
end
update_cursor_rect
refresh
end
def refresh
self.contents.clear
for i in 0...@sprites.size
@sprites.dispose
end
@sprites = []
@item_max = $game_party.actors.size
for i in 0...@item_max
actor = $game_party.actors[@item_max-i-1]
@sprites[@item_max-i-1] = Sprite.new(@viewport)
@sprites[@item_max-i-1].bitmap = RPG::Cache.picture(actor.image_name)
@sprites[@item_max-i-1].x = 560-((i+1)*120)
@sprites[@item_max-i-1].y = 480-@sprites[@item_max-i-1].bitmap.height
@sprites[@item_max-i-1].opacity = 255
@sprites[@item_max-i-1].z = 3004-i
end
end
def update_cursor_rect
if @index < 0
for i in 0...@sprites.size
@sprites.opacity = 255
end
else
for i in 0...@sprites.size
if i == @index
@sprites.opacity = 255
@sprites.z += 4
else
@sprites.opacity = 200
@sprites.z = 3001+i
end
end
end
end
def dispose
super
for i in 0...@sprites.size
@sprites.dispose
end
end
def chr_status=(chr_status)
@chr_status = chr_status
if self.active and @chr_status != nil
update_chr_status
end
end
def update
super
if self.active and @item_max > 0 and @index >= 0
if Input.repeat?(Input::RIGHT)
if Input.trigger?(Input::RIGHT) or @index < @item_max - @column_max
$game_system.se_play($data_system.cursor_se)
@index = (@index + @column_max) % @item_max
end
end
if Input.repeat?(Input::LEFT)
if Input.trigger?(Input::LEFT) or @index >= @column_max
$game_system.se_play($data_system.cursor_se)
@index = (@index - @column_max + @item_max) % @item_max
end
end
end
if self.active and @chr_status != nil
update_chr_status
elsif @chr_status != nil
@chr_status.refresh(-1)
end
update_cursor_rect
end
def update_chr_status
@chr_status.refresh(@index)
end
end
class Window_Base
def shadow_color
return Color.new(0, 0, 0, 255)
end
def draw_actor_name(actor, x, y)
self.contents.font.color = shadow_color
self.contents.draw_text(x+1, y+1, 120, 32, actor.name)
self.contents.font.color = normal_color
self.contents.draw_text(x, y, 120, 32, actor.name)
end
def draw_actor_level(actor, x, y)
self.contents.font.color = shadow_color
self.contents.draw_text(x+1, y+1, 32, 32, "Lv")
self.contents.draw_text(x + 33, y + 1, 24, 32, actor.level.to_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, "Lv")
self.contents.font.color = normal_color
self.contents.draw_text(x + 32, y, 24, 32, actor.level.to_s, 2)
end
def draw_actor_hp(actor, x, y, width = 144)
self.contents.font.color = shadow_color
self.contents.draw_text(x+1, y+1, 32, 32, $data_system.words.hp)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, $data_system.words.hp)
if width - 32 >= 108
hp_x = x + width - 108
flag = true
elsif width - 32 >= 48
hp_x = x + width - 48
flag = false
end
self.contents.font.color = shadow_color
self.contents.draw_text(hp_x+1, y+1, 48, 32, actor.hp.to_s, 2)
self.contents.font.color = actor.hp == 0 ? knockout_color :
actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color
self.contents.draw_text(hp_x, y, 48, 32, actor.hp.to_s, 2)
if flag
self.contents.font.color = shadow_color
self.contents.draw_text(hp_x + 49, y+1, 12, 32, "/", 1)
self.contents.draw_text(hp_x + 61, y+1, 48, 32, actor.maxhp.to_s)
self.contents.font.color = normal_color
self.contents.draw_text(hp_x + 48, y, 12, 32, "/", 1)
self.contents.draw_text(hp_x + 60, y, 48, 32, actor.maxhp.to_s)
end
end
def draw_actor_sp(actor, x, y, width = 144)
self.contents.font.color = shadow_color
self.contents.draw_text(x+1, y+1, 32, 32, $data_system.words.sp)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 32, 32, $data_system.words.sp)
if width - 32 >= 108
sp_x = x + width - 108
flag = true
elsif width - 32 >= 48
sp_x = x + width - 48
flag = false
end
self.contents.font.color = shadow_color
self.contents.draw_text(sp_x+1, y+1, 48, 32, actor.sp.to_s, 2)
self.contents.font.color = actor.sp == 0 ? knockout_color :
actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color
self.contents.draw_text(sp_x, y, 48, 32, actor.sp.to_s, 2)
if flag
self.contents.font.color = shadow_color
self.contents.draw_text(sp_x + 49, y+1, 12, 32, "/", 1)
self.contents.draw_text(sp_x + 61, y+1, 48, 32, actor.maxsp.to_s)
self.contents.font.color = normal_color
self.contents.draw_text(sp_x + 48, y, 12, 32, "/", 1)
self.contents.draw_text(sp_x + 60, y, 48, 32, actor.maxsp.to_s)
end
end
end
class Game_Actor < Game_Battler
attr_reader :image_name
def initialize(actor_id)
super()
setup(actor_id)
@image_name = @name
end
end |
|
ꀎꀎꀎꀎꀎꀎꀎ | Aller à la 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 73Index du forum > Entraide > [Scripts] Petites questions connes sur les SCRIPTS!!
|