Supprimer une entitée qui spawn par dessus une autre entitée

  • Initiateur de la discussion Deadman69330
  • Date de début
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
Bonsoir,

Pour l'addon cooking que je vais release, j'ai besoin de faire spawn une entitée par dessus. Ce que je fait en utilisant le code de @thepsyca qui est le suivant:
Code:
 timer.Simple(0.5, function() local fromage_cooking = ents.Create("deadman_food_fromage") fromage_cooking:SetPos(self:GetPos() + self:GetAngles():Up()*20 + self:GetAngles():Forward()*-6 + self:GetAngles():Right()*-2) fromage_cooking:SetAngles(self:GetAngles()) fromage_cooking:Spawn() fromage_cooking:Activate() fromage_cooking:SetParent(self) fromage_cooking:SetLocalAngles( Angle( 0, 260, 0 ) ) fromage_cooking.JailWall = true end)
Mais le problème c'est que je n'arrive pas à le faire despawn en utilisant "fromage_cooking:Remove()"

J'ai essayer de cette façon:

Code:
local fromage_cooking_remove = false
function ENT:Touch(ent) timer.Simple(0.5, function() local fromage_cooking = ents.Create("deadman_food_fromage") fromage_cooking:SetPos(self:GetPos() + self:GetAngles():Up()*20 + self:GetAngles():Forward()*-6 + self:GetAngles():Right()*-2) fromage_cooking:SetAngles(self:GetAngles()) fromage_cooking:Spawn() fromage_cooking:Activate() fromage_cooking:SetParent(self) fromage_cooking:SetLocalAngles( Angle( 0, 260, 0 ) ) fromage_cooking.JailWall = true end) if fromage_cooking_remove then fromage_cooking:Remove() end
end if self.fromage_stored >= 2 and self.pain_stored >= 2 and self.pepperoni_stored >= 2 and not istransforming then -- Créer la pizza qui sera mangée istransforming = false self.fromage_stored = 0 self.pain_stored = 0 self.pepperoni_stored = 0 fromage_cooking_remove = true -- Supprime le fromage du four timer.Simple(deadman_config_food_timer_pizza,function() local pizza = ents.Create(deadmancook_config_ent_spawn_pizza) pizza:SetPos(self:GetPos() + Vector(0,0,30)) pizza:Spawn() end) end
Merci de votre aide


PS: J'obtient également une belle erreur: "addons/deadman_enhanced_foodmod/lua/entities/deadman_food_stove/init.lua:95: attempt to index global 'fromage_cooking' (a nil value)" à la ligne 95 qui est :

fromage_cooking:Remove()
 
M

Membre supprimé 130063

Anonyme
Deadman69330 à dit:
Bonsoir,

Pour l'addon cooking que je vais release, j'ai besoin de faire spawn une entitée par dessus. Ce que je fait en utilisant le code de @thepsyca qui est le suivant:
Code:
 timer.Simple(0.5, function() local fromage_cooking = ents.Create("deadman_food_fromage") fromage_cooking:SetPos(self:GetPos() + self:GetAngles():Up()*20 + self:GetAngles():Forward()*-6 + self:GetAngles():Right()*-2) fromage_cooking:SetAngles(self:GetAngles()) fromage_cooking:Spawn() fromage_cooking:Activate() fromage_cooking:SetParent(self) fromage_cooking:SetLocalAngles( Angle( 0, 260, 0 ) ) fromage_cooking.JailWall = true end)
Mais le problème c'est que je n'arrive pas à le faire despawn en utilisant "fromage_cooking:Remove()"

J'ai essayer de cette façon:

Code:
local fromage_cooking_remove = false
function ENT:Touch(ent) timer.Simple(0.5, function() local fromage_cooking = ents.Create("deadman_food_fromage") fromage_cooking:SetPos(self:GetPos() + self:GetAngles():Up()*20 + self:GetAngles():Forward()*-6 + self:GetAngles():Right()*-2) fromage_cooking:SetAngles(self:GetAngles()) fromage_cooking:Spawn() fromage_cooking:Activate() fromage_cooking:SetParent(self) fromage_cooking:SetLocalAngles( Angle( 0, 260, 0 ) ) fromage_cooking.JailWall = true end) if fromage_cooking_remove then fromage_cooking:Remove() end
end if self.fromage_stored >= 2 and self.pain_stored >= 2 and self.pepperoni_stored >= 2 and not istransforming then -- Créer la pizza qui sera mangée istransforming = false self.fromage_stored = 0 self.pain_stored = 0 self.pepperoni_stored = 0 fromage_cooking_remove = true -- Supprime le fromage du four timer.Simple(deadman_config_food_timer_pizza,function() local pizza = ents.Create(deadmancook_config_ent_spawn_pizza) pizza:SetPos(self:GetPos() + Vector(0,0,30)) pizza:Spawn() end) end
Merci de votre aide


PS: J'obtient également une belle erreur: "addons/deadman_enhanced_foodmod/lua/entities/deadman_food_stove/init.lua:95: attempt to index global 'fromage_cooking' (a nil value)" à la ligne 95 qui est :

fromage_cooking:Remove()
Essaye de mettre
Deadman69330 à dit:
fromage_cooking_remove = false
sur true ?
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Code:
local fromage_cooking_remove = false
function ENT:Touch(ent) local fromage_cooking timer.Simple(0.5, function() fromage_cooking = ents.Create("deadman_food_fromage") fromage_cooking:SetPos(self:GetPos() + self:GetAngles():Up() * 20 + self:GetAngles():Forward() * -6 + self:GetAngles():Right() * -2) fromage_cooking:SetAngles(self:GetAngles()) fromage_cooking:Spawn() fromage_cooking:Activate() fromage_cooking:SetParent(self) fromage_cooking:SetLocalAngles(Angle(0, 260, 0)) fromage_cooking.JailWall = true end) if fromage_cooking_remove then fromage_cooking:Remove() end -- Créer la pizza qui sera mangée if self.fromage_stored >= 2 and self.pain_stored >= 2 and self.pepperoni_stored >= 2 and not istransforming then istransforming = false self.fromage_stored = 0 self.pain_stored = 0 self.pepperoni_stored = 0 fromage_cooking_remove = true -- Supprime le fromage du four timer.Simple(deadman_config_food_timer_pizza, function() local pizza = ents.Create(deadmancook_config_ent_spawn_pizza) pizza:SetPos(self:GetPos() + Vector(0, 0, 30)) pizza:Spawn() end) end
end
 
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
thepsyca à dit:
Code:
local fromage_cooking_remove = false
function ENT:Touch(ent) local fromage_cooking timer.Simple(0.5, function() fromage_cooking = ents.Create("deadman_food_fromage") fromage_cooking:SetPos(self:GetPos() + self:GetAngles():Up() * 20 + self:GetAngles():Forward() * -6 + self:GetAngles():Right() * -2) fromage_cooking:SetAngles(self:GetAngles()) fromage_cooking:Spawn() fromage_cooking:Activate() fromage_cooking:SetParent(self) fromage_cooking:SetLocalAngles(Angle(0, 260, 0)) fromage_cooking.JailWall = true end) if fromage_cooking_remove then fromage_cooking:Remove() end -- Créer la pizza qui sera mangée if self.fromage_stored >= 2 and self.pain_stored >= 2 and self.pepperoni_stored >= 2 and not istransforming then istransforming = false self.fromage_stored = 0 self.pain_stored = 0 self.pepperoni_stored = 0 fromage_cooking_remove = true -- Supprime le fromage du four timer.Simple(deadman_config_food_timer_pizza, function() local pizza = ents.Create(deadmancook_config_ent_spawn_pizza) pizza:SetPos(self:GetPos() + Vector(0, 0, 30)) pizza:Spawn() end) end
end
Je vient de tester, ça ne fonctionne pas :/ (Aucune erreur mais le fromage ne disparait pas)
 
thepsyca

thepsyca

Psychopathe
Messages
2 164
Score réaction
648
Points
365
Pq tu met pas : fromage_cooking:Remove() directement au même endroit que fromage_cooking_remove = true ?
 
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
thepsyca à dit:
Pq tu met pas : fromage_cooking:Remove() directement au même endroit que fromage_cooking_remove = true ?
Pcq ça me créer une erreur:
[ERROR] addons/deadman_enhanced_foodmod/lua/entities/deadman_food_stove/init.lua:231: attempt to index local 'fromage_cooking' (a nil value)
1. unknown - addons/deadman_enhanced_foodmod/lua/entities/deadman_food_stove/init.lua:231
 
MathiouGaming

MathiouGaming

Geek suprême
Messages
376
Score réaction
99
Points
150
Pourquoi
tu met local fromage_cooking
?

Fais plutôt
local fromage_cooking = ents.Create("deadman_food_fromage")

et retire l'autre du dessus
 
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
MathiouGaming à dit:
Pourquoi
tu met local fromage_cooking
?

Fais plutôt
local fromage_cooking = ents.Create("deadman_food_fromage")

et retire l'autre du dessus
J'avais fait une petite erreur, la variable devait être "local fromage_cooking_remove" mais voilà le code qui concerne le fromage pour que tu puisse mieux comprendre:

Code:
function ENT:Touch(ent) local fromage_cooking_remove elseif ent:GetClass() == "deadman_food_fromage" and not istransforming then ent:Remove() self.fromage_stored = self.fromage_stored + self.number_add net.Start("added_food") net.Send(player.GetAll()) timer.Simple(0.5, function() local fromage_cooking = ents.Create("deadman_food_fromage") fromage_cooking:SetPos(self:GetPos() + self:GetAngles():Up()*20 + self:GetAngles():Forward()*-6 + self:GetAngles():Right()*-2) fromage_cooking:SetAngles(self:GetAngles()) fromage_cooking:Spawn() fromage_cooking:Activate() fromage_cooking:SetParent(self) fromage_cooking:SetLocalAngles( Angle( 0, 260, 0 ) ) fromage_cooking.JailWall = true end) if fromage_cooking_remove then fromage_cooking:Remove() end elseif self.fromage_stored >= 2 and self.pain_stored >= 2 and self.pepperoni_stored >= 2 and not istransforming then -- Créer la pizza istransforming = true self.fromage_stored = 0 self.pain_stored = 0 self.pepperoni_stored = 0 fromage_cooking_remove = true net.Start("istransforming") net.Send(player.GetAll()) timer.Simple(deadman_config_food_timer_pizza,function() istransforming = false local pizza = ents.Create(deadmancook_config_ent_spawn_pizza) pizza:SetPos(self:GetPos() + Vector(0,0,30)) pizza:Spawn() end)
end -- Fin de la fonction Touch
 
  • Banni
SIGEMT

SIGEMT

Geek suprême
Messages
591
Score réaction
523
Points
180
C'est quand même fou, généralement quand y'en à qui galèrent, au bout d'un moment ils finissent par progresser, bah là non.
 
  • J'aime
Réactions: Lap3che
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
Personne ne sait ?
 
Discord d'entraide
Rejoignz-nous sur Discord