mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-17 21:53:46 +03:00
Upload
This commit is contained in:
87
lua/weapons/gmod_tool/stools/test_tool_d2k.lua
Normal file
87
lua/weapons/gmod_tool/stools/test_tool_d2k.lua
Normal file
@@ -0,0 +1,87 @@
|
||||
--[[
|
||||
| This file was obtained through the combined efforts
|
||||
| of Madbluntz & Plymouth Antiquarian Society.
|
||||
|
|
||||
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
||||
| Maloy, DrPepper10 @ RIP, Atle!
|
||||
|
|
||||
| Visit for more: https://plymouth.thetwilightzone.ru/
|
||||
--]]
|
||||
|
||||
if game.SinglePlayer || !game.SinglePlayer() then TOOL.AddToMenu = false return end //Example file, don't run it
|
||||
|
||||
//Generic entity spawning script used for testing whether they work or not
|
||||
|
||||
TOOL.AddToMenu = false //We're not testing anything right now
|
||||
|
||||
TOOL.Category = "Effects"
|
||||
TOOL.Name = "TESTING"
|
||||
TOOL.Command = nil
|
||||
TOOL.ConfigName = ""
|
||||
|
||||
//Add language descriptions
|
||||
if (CLIENT) then
|
||||
language.Add("Tool.test.name", "Testing Tool")
|
||||
language.Add("Tool.test.desc", "Creates random stuff")
|
||||
language.Add("Tool.test.0", "Left-Click: Make something")
|
||||
language.Add("Cleanup_test", "Test Entities")
|
||||
language.Add("Cleaned_test", "Cleaned up all Test Entities")
|
||||
language.Add("Undone_test", "Test Entity undone")
|
||||
end
|
||||
|
||||
//Sandbox-related stuff
|
||||
cleanup.Register("test")
|
||||
|
||||
|
||||
//Make a test entity
|
||||
function TOOL:LeftClick(trace)
|
||||
|
||||
//Clients don't need to know about any of this
|
||||
if (CLIENT) then return true end
|
||||
|
||||
//Create entity and assign settings
|
||||
local entity = ents.Create("env_smoketrail")
|
||||
if !entity || !entity:IsValid() then return false end
|
||||
entity:SetPos(trace.HitPos)
|
||||
entity:SetKeyValue("angles", tostring(trace.HitNormal:Angle()))
|
||||
entity:SetKeyValue("opacity", "0.52") //Float
|
||||
entity:SetKeyValue("spawnrate", "16") //Float
|
||||
entity:SetKeyValue("lifetime", "2") //Float
|
||||
entity:SetKeyValue("startcolor", "255 255 255")
|
||||
entity:SetKeyValue("endcolor", "255 255 255")
|
||||
entity:SetKeyValue("emittime", "16384") //Float
|
||||
entity:SetKeyValue("minspeed", "4") //Float
|
||||
entity:SetKeyValue("maxspeed", "16") //Float
|
||||
entity:SetKeyValue("mindirectedspeed", "16") //Float
|
||||
entity:SetKeyValue("maxdirectedspeed", "64") //Float
|
||||
entity:SetKeyValue("startsize", "32") //Float
|
||||
entity:SetKeyValue("endsize", "100") //Float
|
||||
entity:SetKeyValue("spawnradius", "16") //Float
|
||||
entity:SetKeyValue("firesprite", "effects/muzzleflash2")
|
||||
entity:SetKeyValue("smokesprite", "particle/smokesprites_0001.vmt")
|
||||
|
||||
//Spawn it
|
||||
entity:Spawn()
|
||||
entity:Activate()
|
||||
//entity:Fire("Start","",0)
|
||||
//entity:Fire("TurnOn","",0)
|
||||
|
||||
//Parent if needed
|
||||
if trace && trace.Entity && trace.Entity:IsValid() && trace.Entity:GetPhysicsObject():IsValid() && !trace.Entity:IsPlayer() && !trace.Entity:IsWorld() then entity:SetParent(trace.Entity) end
|
||||
|
||||
//Make sure we can undo
|
||||
undo.Create("Test")
|
||||
undo.AddEntity(entity)
|
||||
undo.SetPlayer(self:GetOwner())
|
||||
undo.Finish()
|
||||
cleanup.Add(self:GetOwner(), "Test", entity)
|
||||
|
||||
return true
|
||||
|
||||
end
|
||||
|
||||
|
||||
//Build Tool Menu
|
||||
function TOOL.BuildCPanel(panel)
|
||||
panel:AddControl( "Header", { Text = "#Tool.test.name", Description = "#Tool.test.desc" } )
|
||||
end
|
||||
Reference in New Issue
Block a user