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.