Partagez
Aller en bas
kurosaki-sama-01
kurosaki-sama-01
Membre

Nombre de messages : 12
Age : 16
Distinction : aucune
Date d'inscription : 05/12/2017

probleme "Script'Sprite_battler'line80: TypeError occured no implicit conversion from nil to integer Empty probleme "Script'Sprite_battler'line80: TypeError occured no implicit conversion from nil to integer

le Sam 9 Déc 2017 - 21:14
Bonjour j'ais ce probleme alors que je n'avais aucun probleme avant s\'il vous plaît aidez moi PS je n'est pas toucher au script de base


Script 'Sprite_battler' line80: TypeError occured no implicit conversion from nil to integer

Voici le script
#==============================================================================
# ** Sprite_Battler
#------------------------------------------------------------------------------
# This sprite is used to display battlers. It observes an instance of the
# Game_Battler class and automatically changes sprite states.
#==============================================================================

class Sprite_Battler < Sprite_Base
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :battler
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(viewport, battler = nil)
super(viewport)
@battler = battler
@battler_visible = false
@effect_type = nil
@effect_duration = 0
end
#--------------------------------------------------------------------------
# * Free
#--------------------------------------------------------------------------
def dispose
bitmap.dispose if bitmap
super
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
if @battler
@use_sprite = @battler.use_sprite?
if @use_sprite
update_bitmap
update_origin
update_position
end
setup_new_effect
setup_new_animation
update_effect
else
self.bitmap = nil
@effect_type = nil
end
end
#--------------------------------------------------------------------------
# * Update Transfer Origin Bitmap
#--------------------------------------------------------------------------
def update_bitmap
new_bitmap = Cache.battler(@battler.battler_name, @battler.battler_hue)
if bitmap != new_bitmap
self.bitmap = new_bitmap
init_visibility
end
end
#--------------------------------------------------------------------------
# * Initialize Visibility
#--------------------------------------------------------------------------
def init_visibility
@battler_visible = @battler.alive?
self.opacity = 0 unless @battler_visible
end
#--------------------------------------------------------------------------
# * Update Origin
#--------------------------------------------------------------------------
def update_origin
if bitmap
self.ox = bitmap.width / 2
self.oy = bitmap.height
end
end
#--------------------------------------------------------------------------
# * Update Position
#--------------------------------------------------------------------------
def update_position
self.x = @battler.screen_x
self.y = @battler.screen_y
self.z = @battler.screen_z
end
#--------------------------------------------------------------------------
# * Set New Effect
#--------------------------------------------------------------------------
def setup_new_effect
if !@battler_visible && @battler.alive?
start_effect(:appear)
elsif @battler_visible && @battler.hidden?
start_effect(:disappear)
end
if @battler_visible && @battler.sprite_effect_type
start_effect(@battler.sprite_effect_type)
@battler.sprite_effect_type = nil
end
end
#--------------------------------------------------------------------------
# * Start Effect
#--------------------------------------------------------------------------
def start_effect(effect_type)
@effect_type = effect_type
case @effect_type
when :appear
@effect_duration = 16
@battler_visible = true
when :disappear
@effect_duration = 32
@battler_visible = false
when :whiten
@effect_duration = 16
@battler_visible = true
when :blink
@effect_duration = 20
@battler_visible = true
when :collapse
@effect_duration = 48
@battler_visible = false
when :boss_collapse
@effect_duration = bitmap.height
@battler_visible = false
when :instant_collapse
@effect_duration = 16
@battler_visible = false
end
revert_to_normal
end
#--------------------------------------------------------------------------
# * Revert to Normal Settings
#--------------------------------------------------------------------------
def revert_to_normal
self.blend_type = 0
self.color.set(0, 0, 0, 0)
self.opacity = 255
self.ox = bitmap.width / 2 if bitmap
self.src_rect.y = 0
end
#--------------------------------------------------------------------------
# * Set New Animation
#--------------------------------------------------------------------------
def setup_new_animation
if @battler.animation_id > 0
animation = $data_animations[@battler.animation_id]
mirror = @battler.animation_mirror
start_animation(animation, mirror)
@battler.animation_id = 0
end
end
#--------------------------------------------------------------------------
# * Determine if Effect Is Executing
#--------------------------------------------------------------------------
def effect?
@effect_type != nil
end
#--------------------------------------------------------------------------
# * Update Effect
#--------------------------------------------------------------------------
def update_effect
if @effect_duration > 0
@effect_duration -= 1
case @effect_type
when :whiten
update_whiten
when :blink
update_blink
when :appear
update_appear
when :disappear
update_disappear
when :collapse
update_collapse
when :boss_collapse
update_boss_collapse
when :instant_collapse
update_instant_collapse
end
@effect_type = nil if @effect_duration == 0
end
end
#--------------------------------------------------------------------------
# * Update White Flash Effect
#--------------------------------------------------------------------------
def update_whiten
self.color.set(255, 255, 255, 0)
self.color.alpha = 128 - (16 - @effect_duration) * 10
end
#--------------------------------------------------------------------------
# * Update Blink Effect
#--------------------------------------------------------------------------
def update_blink
self.opacity = (@effect_duration % 10 < 5) ? 255 : 0
end
#--------------------------------------------------------------------------
# * Update Appearance Effect
#--------------------------------------------------------------------------
def update_appear
self.opacity = (16 - @effect_duration) * 16
end
#--------------------------------------------------------------------------
# * Updated Disappear Effect
#--------------------------------------------------------------------------
def update_disappear
self.opacity = 256 - (32 - @effect_duration) * 10
end
#--------------------------------------------------------------------------
# * Update Collapse Effect
#--------------------------------------------------------------------------
def update_collapse
self.blend_type = 1
self.color.set(255, 128, 128, 128)
self.opacity = 256 - (48 - @effect_duration) * 6
end
#--------------------------------------------------------------------------
# * Update Boss Collapse Effect
#--------------------------------------------------------------------------
def update_boss_collapse
alpha = @effect_duration * 120 / bitmap.height
self.ox = bitmap.width / 2 + @effect_duration % 2 * 4 - 2
self.blend_type = 1
self.color.set(255, 255, 255, 255 - alpha)
self.opacity = alpha
self.src_rect.y -= 1
Sound.play_boss_collapse2 if @effect_duration % 20 == 19
end
#--------------------------------------------------------------------------
# * Update Instant Collapse Effect
#--------------------------------------------------------------------------
def update_instant_collapse
self.opacity = 0
end
end


Dernière édition par kurosaki-sama-01 le Sam 9 Déc 2017 - 21:39, édité 1 fois
Kingdommangas
Kingdommangas
Membre

Nombre de messages : 1218
Localisation : Ma tête
Distinction : Débrouillarde notoire é_è [Mist']
Ou celle qui partageait plus vite que son ombre [Gel']
Poisson 2017 [Amal]
Grâce à elle, tout le forum appelle Yamashi "Mamashi" [Yama]
Entraide d'Or
Règne dans l'ombre de la commu'
Youtubeuse beauté reconvertie dans le gaming [Amal']
Date d'inscription : 05/05/2015
https://www.youtube.com/channel/UCqGFuGrzm7jim1o5QJ4lKvg

probleme "Script'Sprite_battler'line80: TypeError occured no implicit conversion from nil to integer Empty Re: probleme "Script'Sprite_battler'line80: TypeError occured no implicit conversion from nil to integer

le Sam 9 Déc 2017 - 21:36
je ne code pas donc je ne pourrai pas aider mais lorsqu'on demande de l'aide sur un script, il est coutume de mettre le script dans la demande ou au moins un lien vers le script qui pose problème.

Car même si les codeurs ont le super pouvoir de manipuler RPG Maker à leurs guise, ils ne peuvent pas encore corriger un code qu'on leurs donne pas, c'est comme corriger une copie blanche, plutot compliquer ^^.
Cantarelle
Cantarelle
Membre

Nombre de messages : 27
Age : 31
Distinction : aucune
Date d'inscription : 11/11/2017

probleme "Script'Sprite_battler'line80: TypeError occured no implicit conversion from nil to integer Empty Re: probleme "Script'Sprite_battler'line80: TypeError occured no implicit conversion from nil to integer

le Sam 9 Déc 2017 - 23:25
Bon, ça ne règle pas le soucis, mais ça permet déjà de le comprendre.

La ligne 80 est celle-ci :

Code:
self.x = @battler.screen_x

Or, l'erreur dit qu'il ne peut pas convertir un nil par un entier. Nil = null = vide.
Donc, par logique, ça veut dire que @battler est vide. Il n'a aucune référence.

D'autant plus que, à l'initialisation, tu as :

Code:
def initialize(viewport, battler = nil)
battler = nil. C'est parfois vu en PHP où, pour éviter des erreurs, on met des données initialisées en paramètres.
Indirectement, cette ligne dit : si le paramètre battler n'est pas renseigné, alors met nil.

Dit plus haut : nil = null = vide.

Ce qui dit que, lorsqu'il rentre dans le initialize, il est nil.


Comme c'est un script de base (je viens de vérifier, même si je ne make pas avec VX.ace), il n'y a pas d'erreur d'incompatibilité avec les autres.

Si on s'en tient à ce que tu as dit, c'est-à-dire que tu n'as pas touché aux scripts (en en ajoutant ou en retirant)... on n'arrive qu'à une conclusion.
Le seul truc à demander est : qu'est-ce que tu as touché avant que ça plante ? Ça peut être un simple event ou une mauvaise configuration d'un skill ou autre.
kurosaki-sama-01
kurosaki-sama-01
Membre

Nombre de messages : 12
Age : 16
Distinction : aucune
Date d'inscription : 05/12/2017

probleme "Script'Sprite_battler'line80: TypeError occured no implicit conversion from nil to integer Empty Re: probleme "Script'Sprite_battler'line80: TypeError occured no implicit conversion from nil to integer

le Dim 10 Déc 2017 - 2:30
@Cantarelle a écrit:Bon, ça ne règle pas le soucis, mais ça permet déjà de le comprendre.

La ligne 80 est celle-ci :

Code:
self.x = @battler.screen_x

Or, l'erreur dit qu'il ne peut pas convertir un nil par un entier. Nil = null = vide.
Donc, par logique, ça veut dire que @battler est vide. Il n'a aucune référence.

D'autant plus que, à l'initialisation, tu as :

Code:
def initialize(viewport, battler = nil)
battler = nil. C'est parfois vu en PHP où, pour éviter des erreurs, on met des données initialisées en paramètres.
Indirectement, cette ligne dit : si le paramètre battler n'est pas renseigné, alors met nil.

Dit plus haut : nil = null = vide.

Ce qui dit que, lorsqu'il rentre dans le initialize, il est nil.


Comme c'est un script de base (je viens de vérifier, même si je ne make pas avec VX.ace), il n'y a pas d'erreur d'incompatibilité avec les autres.

Si on s'en tient à ce que tu as dit, c'est-à-dire que tu n'as pas touché aux scripts (en en ajoutant ou en retirant)... on n'arrive qu'à une conclusion.
Le seul truc à demander est : qu'est-ce que tu as touché avant que ça plante ? Ça peut être un simple event ou une mauvaise configuration d'un skill ou autre.


j'ai modifié la taille de certain boss
et j'ai mit des script qui n'ont pas fonctionné que g donc retiré
Cantarelle
Cantarelle
Membre

Nombre de messages : 27
Age : 31
Distinction : aucune
Date d'inscription : 11/11/2017

probleme "Script'Sprite_battler'line80: TypeError occured no implicit conversion from nil to integer Empty Re: probleme "Script'Sprite_battler'line80: TypeError occured no implicit conversion from nil to integer

le Dim 10 Déc 2017 - 16:08
et j'ai mit des script qui n'ont pas fonctionné que g donc retiré
Bon, alors déjà, ça change, parce que tu as quand même touché aux scripts, même indirectement.

Ensuite, autre question (que je n'ai pas pensé à poser hier) : Comment ça plante (ou comment as-tu cette erreur) ? Est-ce en commençant un combat ? Est-ce sur la map ? Est-ce que c'est au chargement d'une ancienne save ? En commençant une nouvelle partie ?

Une autre question : est-ce que tu as testé en remettant la taille par défaut des boss que tu as touché ?

Dernière question : J'espère que tu n'as pas du tout changer l'ordre des scripts de base... C'est le cas ?
kurosaki-sama-01
kurosaki-sama-01
Membre

Nombre de messages : 12
Age : 16
Distinction : aucune
Date d'inscription : 05/12/2017

probleme "Script'Sprite_battler'line80: TypeError occured no implicit conversion from nil to integer Empty Re: probleme "Script'Sprite_battler'line80: TypeError occured no implicit conversion from nil to integer

le Dim 10 Déc 2017 - 18:21
j'ai effacer les ancien boss et sa plante quand le combat commmence et quand je charge une save et en new game et nn les script de base je ny est pas toucher
Contenu sponsorisé

probleme "Script'Sprite_battler'line80: TypeError occured no implicit conversion from nil to integer Empty Re: probleme "Script'Sprite_battler'line80: TypeError occured no implicit conversion from nil to integer

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum