Les entitées passent à travers mon pnj

  • 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
Salut,

J'ai un problème avec un PNJ que j'ai crée, en gros il doit changer une valeur quand une certaine entitée le touche sauf que les entitées passent à travers :/
Pourtant j'ai pris le code d'un de mes addons qui marchent pour les entitées et le PNJ je l'ai refait mais sans succès :/

Code du PNJ:
Code:
AddCSLuaFile("cl_init.lua")
AddCSLuaFile("shared.lua")
include("shared.lua")
function ENT:Initialize() self:SetModel("models/player/hazmat/hazmat1980_npc.mdl") self:SetHullType( HULL_HUMAN ) self:SetHullSizeNormal() self:SetNPCState( NPC_STATE_SCRIPT ) self:SetSolid( SOLID_BBOX ) bit.bor( CAP_ANIMATEDFACE , CAP_TURN_HEAD) self:SetUseType( SIMPLE_USE ) self:DropToFloor() self:SetMaxYawSpeed( 90 ) local phys = self:GetPhysicsObject() if phys:IsValid() then phys:Wake() end self.npctogive = 0 self.pricejante = 25 -- models/lastlight/koleso_1.mdl self.priceportiere = 40 -- models/lastlight/jiguli_door.mdl self.pricetele = 50 -- models/lastlight/televisor.mdl self.priceroue = 50 -- models/lastlight/koleso_2.mdl self.priceradio = 90 -- models/lastlight/radio.mdl self.amountjante = 0 self.amountportiere = 0 self.amounttele = 0 self.amountroue = 0 self.amountradio = 0 self.moneytogive = 0
end
function ENT:StartTouch(ent)
print("etst") if ent:GetClass() == "deadman_collect_jante" then ent:Remove() self.amountjante = self.amountjante + 1 self.npctogive = 1 elseif ent:GetClass() == "deadman_collect_portiere" then ent:Remove() self.amountportiere = self.amountportiere + 1 self.npctogive = 1 elseif ent:GetClass() == "deadman_collect_tele" then ent:Remove() self.amounttele = self.amounttele + 1 self.npctogive = 1 elseif ent:GetClass() == "deadman_collect_roue" then ent:Remove() self.amountroue = self.amountroue + 1 self.npctogive = 1 elseif ent:GetClass() == "deadman_collect_radio" then ent:Remove() self.amountradio = self.amountradio + 1 self.npctogive = 1 end
end
function ENT:AcceptInput( Name, Activator, Caller ) if Name == "Use" and Caller:IsPlayer() then if Activator ~= Caller then return false end self.moneytogive = (self.amountjante * self.pricejante + self.amountportiere * self.priceportiere + self.amounttele * self.pricetele + self.amountroue * self.priceroue + self.amountradio * self.priceradio) if self.npctogive == 0 then DarkRP.notify(Caller, 1, 5, "Vous ne m'avez rien rapporter !") else DarkRP.notify(Caller, 0, 5, "Vous avez gagner "..self.moneytogive.." B avec les ressources que vous avez rapporter !") end Caller:addMoney(self.moneytogive) self.npctogive = 0 self.moneytogive = 0 self.amountjante = 0 self.amountportiere = 0 self.amounttele = 0 self.amountroue = 0 self.amountradio = 0 end
end

Et le code des entitées (toutes les mêmes sauf le skin) :
Code:
AddCSLuaFile("cl_init.lua")
AddCSLuaFile("shared.lua")
include("shared.lua")
function ENT:Initialize() self:SetModel("models/lastlight/jiguli_door.mdl") self:PhysicsInit(SOLID_VPHYSICS) self:SetMoveType(MOVETYPE_VPHYSICS) self:SetSolid(SOLID_VPHYSICS) self:SetTrigger( true ) local phys = self:GetPhysicsObject() if phys:IsValid() then phys:Wake() end
end


Merci beaucoup de votre aide :)
 
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
Up
 
G-F-CD TheFrench

G-F-CD TheFrench

namespace Arthur;
Messages
451
Score réaction
38
Points
140
Essayer d'ajouter
Code:
 self:PhysicsInit(SOLID_VPHYSICS)
 
  • Initiateur de la discussion
Deadman69330

Deadman69330

Psychopathe
Messages
2 289
Score réaction
309
Points
290
G-F-CD TheFrench à dit:
Essayer d'ajouter
Code:
 self:PhysicsInit(SOLID_VPHYSICS)
ça passe toujours àtravers
 
Discord d'entraide
Rejoignz-nous sur Discord