- Initiateur de la discussion
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:
Et le code des entitées (toutes les mêmes sauf le skin) :
Merci beaucoup de votre aide
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