• Check PlayerModel
    4 replies, posted
How to set check of model of the player? It is necessary to make the reduced damage on a certain model. [CODE]models/player/group01/female_02.mdl[/CODE]
You can use [URL="http://wiki.garrysmod.com/page/Entity/GetModel"]Entity:GetModel()[/URL] [CODE] if ply:GetModel() == "models/player/group01/female_02.mdl" then -- Code end [/CODE]
Help me to add it to this script. I something won't understand :c [CODE]AddCSLuaFile( "cl_init.lua" ) AddCSLuaFile( "shared.lua" ) include('shared.lua') local Entity = {} GetModel = PlayerModel local Damage = {} Damage.Radius = ENT.BaseScale*2 Damage.BaseDamage = 100 Damage.DamageType = 0 Damage.Delay = 0.2 Damage.RadInt = 0.2 Damage.RadInc = 1 Damage.NextRad = 0 local Warning = {} Warning.Sound = {"player/geiger1.wav","player/geiger2.wav","player/geiger3.wav"} Warning.NextTick = 0 Warning.TickDelay = 0.1 Warning.Radius = ENT.BaseScale*3 function ENT:Initialize() self.model = "models/Gibs/HGIBS_spine.mdl" self.Entity:SetModel( self.model ) //self.Entity:PhysicsInit( SOLID_NONE ) self.Entity:SetMoveType( MOVETYPE_NONE ) self.Entity:SetSolid( SOLID_NONE ) local phys = self.Entity:GetPhysicsObject() if (phys:IsValid()) then phys:Wake() phys:SetMass(10000) end self.Entity:DrawShadow(false) self:CreatePointHurt() self:CreateSprite("220 0 0",0.5,200) end function ENT:CreateSprite(color,size,alpha) local pos = self.Entity:GetPos() local sprite = ents.Create("env_sprite") sprite:SetPos(pos) local kv = { model="", scale=size, rendermode=5, renderamt=alpha, rendercolor=color, } sprite:KeyValueTable(kv); sprite:Spawn() sprite:Activate() sprite:SetParent(self.Entity) end local eMeta = FindMetaTable("Entity") function eMeta:KeyValueTable(tbl) for k,v in pairs(tbl) do self:SetKeyValue(k,v) end end function ENT:CreatePointHurt() local hurt = ents.Create("point_hurt") hurt:SetPos(self.Entity:GetPos()) local kvs = { DamageRadius = Damage.Radius, DamageDelay = Damage.Delay, DamageType = Damage.DamageType, Damage = Damage.BaseDamage } hurt:KeyValueTable(kvs) hurt:Spawn() hurt:SetParent(self.Entity) hurt:Fire("turnon","",0) end function ENT:Think() local all = player.GetAll() local ePos = self.Entity:GetPos() for k,user in pairs(all) do local uPos = user:GetPos() local dist = (ePos-uPos):Length() if dist < Warning.Radius then if CurTime() > Warning.NextTick then local ran = math.random(1,table.getn(Warning.Sound)) user:EmitSound(Warning.Sound[ran]) Warning.NextTick = CurTime()+Warning.TickDelay end end end if CurTime() > Damage.NextRad then Damage.NextRad = CurTime()+Damage.RadInt for k,user in pairs(all) do local uPos = user:GetPos() local dist = (ePos-uPos):Length() end end end function ENT:KeyValue(key,value) self[key] = tonumber(value) or value end function ENT:SpawnFunction( ply, tr ) if ( !tr.Hit ) then return end local SpawnPos = tr.HitPos + tr.HitNormal * 16 local ent = ents.Create( self.ClassName ) ent:SetPos( SpawnPos ) ent:Spawn() ent:Activate() return ent end[/CODE]
Is that from GibMod / Dismemberment Mod? Either way I think you've got the wrong file-have you got any that have hooks in them, such as TakeDamage?
This is STALKER Anomaly Addon: [url]http://steamcommunity.com/sharedfiles/filedetails/?id=251251473[/url] Path to file: D:\Servers\steamapps\common\GarrysModDS\garrysmod\addons\anomalies\lua\entities\anom_damage\init.lua This function take a damage [CODE]function ENT:CreatePointHurt() local hurt = ents.Create("point_hurt") hurt:SetPos(self.Entity:GetPos()) local kvs = { DamageRadius = Damage.Radius, DamageDelay = Damage.Delay, DamageType = Damage.DamageType, Damage = Damage.BaseDamage } hurt:KeyValueTable(kvs) hurt:Spawn() hurt:SetParent(self.Entity) hurt:Fire("turnon","",0) end[/CODE] Settings of a damage [CODE]local Damage = {} Damage.Radius = ENT.BaseScale*2 Damage.BaseDamage = 100 Damage.DamageType = 0 Damage.Delay = 0.2 Damage.RadInt = 0.2 Damage.RadInc = 1 Damage.NextRad = 0[/CODE]
Sorry, you need to Log In to post a reply to this thread.