• The Scavenger Cannon
    291 replies, posted
Also Can you tell me where I can find the Metroid.mdl? [editline]15th April 2012[/editline] Is this project done? :tinfoil:
The Scav Turret REALLY needs a Medigun firemode so you can have shit like the Meet The Medic Medigun. You should add one. This thing needs an use. [IMG]http://puu.sh/uoqY[/IMG]
normally, I'm happy to lurk, but can anyone explain to me what this SVN error means? (happened on using "SVN Update") ---- Error Working Copy Error '...\garrysmod\garrymod\addons\scavengercannon' Error locked. Error '...\garrysmod\garrysmod\addons\scavengercannon' Error is already locked. -----
Use tortoiseSVN. that error doesn't even make any sense.
[QUOTE=Sgt. Lulz;35945320]Use tortoiseSVN. that error doesn't even make any sense.[/QUOTE] I am using tortoise. not sure exactly whats going on but it sounds like my SVN got locked out of the folder its supposed to import the files to (thats a first). closer look revealed that it didn't even download half the stuff. on deleting the it and then redownloading, I found an error message I didn't notice last time. ---- Error REPORT of '/svn/!svn/vcc/default': Could not read chunk size: connection was Error closed by server ([url]http://scav.awesomeunderscore.com[/url]) ---- it then loops back to the previous error message. this can't be file size, because I have SVN'd bigger things. any suggestions short of importing every little file individually to find whats messing it up?
[QUOTE=greatsharku;35947666]I am using tortoise. not sure exactly whats going on but it sounds like my SVN got locked out of the folder its supposed to import the files to (thats a first). closer look revealed that it didn't even download half the stuff. on deleting the it and then redownloading, I found an error message I didn't notice last time. [/QUOTE] Usually preforming the checkout on a new folder will resolve the issue. If this is not the case, you can attempt to release any locks within the TortoiseSVN context menu.
[QUOTE=TheAdam;35949169]Usually preforming the checkout on a new folder will resolve the issue. If this is not the case, you can attempt to release any locks within the TortoiseSVN context menu.[/QUOTE] ... "There's nothing to unlock. No file has a lock in this working copy." directly afterward getting that message I tried to use updater to get the rest of the files. queue the 'locked' error message from before. deleted /addons/scavengercannon and created /addons/fritterfry if it ends up being the file name that was causing this, I'll be understandably upset. not sure what happened, but somehow, checking out to a new filename seems to have worked. I now received the message completed message. glad it worked out, and thanks for telling me about the Unlocking, Adam. while its not necessary, I'm still curious as to what the fuck actually happened here.
[QUOTE=greatsharku;35950418]thanks for telling me about the Unlocking, Adam. while its not necessary, I'm still curious as to what the fuck actually happened here.[/QUOTE] As am I, but computers these days just seem to be self-aware with these type of things. It's the only reasonable explanation.
[QUOTE=TheAdam;35953954]As am I, but computers these days just seem to be self-aware with these type of things. It's the only reasonable explanation.[/QUOTE] you know what... I'll take that answer. I'll take it and label it... 'decent'. EDIT >> since I've finally gotten it working, and there is a gamemode... are there any servers running it?
Hello there. I think I'm bumping this thread, but I have a question about ScavData.lua . I want to add more usable entity to ScavData.OKClasses table, but when I edit this file, I get this error. [addons\scavenger cannon\lua\autorun\scavdata.lua:1] unexpected symbol near ' ' I don't even touch first line, but I keep getting this error. This is the LUA I am attempting to use. [code] if SERVER then AddCSLuaFile("ScavData.lua") AddCSLuaFile("client/sdm_votemenu.lua") AddCSLuaFile("skins/sg_skin1.lua") else include("skins/sg_skin1.lua") end local refangle = Angle(0,0,0) local ENTITY = FindMetaTable("Entity") local PLAYER = FindMetaTable("Player") _E.SHORT_MAX = 32767 //CreateClientConVar("scav_col_r","100",true,true) //CreateClientConVar("scav_col_g","100",true,true) //CreateClientConVar("scav_col_b","150",true,true) CreateClientConVar("cl_scav_high",0,true,false) //CreateClientConVar("scav_gcolor","���",true,true) ScavData = {} --this table holds pretty much everything for the scavgun, it's much cleaner than using _G local ScavData = ScavData ScavData.Debug = {} ScavData.models = {} local modelnameformattable = {} function ScavData.FormatModelname(modelname) --this function will take a modelname from entity:GetModel() and format it so the scavgun can use it if !modelnameformattable[modelname] then modelnameformattable[modelname] = string.gsub(string.lower(string.gsub(modelname,"%./","")),"\\","/") end return modelnameformattable[modelname] end ScavData.mounted = {} for k,v in pairs(GetMountedContent()) do ScavData.mounted[v] = true end function ScavData.StringToRGB(col) return string.byte(col,1,3) end if CLIENT then function ScavData.GetTracerShootPos(pl,defaultpos) if !ValidEntity(pl) then return defaultpos end if CLIENT && (pl == GetViewEntity()) then local vm = pl:GetViewModel() return vm:GetAttachment(vm:LookupAttachment("muzzle")).Pos else local wep = pl:GetActiveWeapon() return wep:GetAttachment(wep:LookupAttachment("muzzle")).Pos end end end --to keep the old guns happy ScavData.OKClasses = { scav_cartridge=true, prop_combine_ball=true, prop_physics=true, prop_physics_respawnable=true, prop_physics_multiplayer=true, prop_physics_override=true, prop_ragdoll=true, helicopter_chunk=true, gib=true, scav_projectile_rocket=true, rpg_missile=true, phys_magnet=true, prop_ragdoll_attached=true, gmod_wire_hoverdrivecontroler=true, //func_physbox=true, scav_projectile_comball=true, scav_projectile_arrow=true, scav_projectile_cannonball = true, scav_c4=true, scav_tripmine = true, scav_proximity_mine = true, physics_cannister = true, apc_missile = true, baseprojectile = true, garg_stomp = true, gib = true, grenade = true, grenade_ar2 = true, grenade_beam_chaser = true, grenade_beam = true, grenade_hand = true, grenade_helicopter = true, grenade_homer = true, grenade_mp5 = true, grenade_spit = true, hunter_flechette = true, physics_prop = true, physics_prop_ragdoll = true, simple_physics_prop = true, } function ScavData.GetFiremode(modelname) return ScavData.models[modelname] end function ScavData.RegisterFiremode(tab,model) ScavData.models[ScavData.FormatModelname(model)] = tab end local teams = {} teams["unassigned"] = 1001 teams["spectator"] = 1002 teams["red"] = 1003 teams["blue"] = 1004 teams["green"] = 1005 teams["yellow"] = 1006 teams["orange"] = 1007 teams["purple"] = 1008 teams["brown"] = 1009 teams["teal"] = 1010 function ScavData.ColorNameToTeam(colorname) if !colorname then error("Bad argument #1 to 'ColorNameToTeam'",2) end colorname = string.lower(colorname) local teamid = teams[colorname] if !teamid then teamid = TEAM_UNASSIGNED print("Warning! Bad team name "..tostring(colorname)..". Using \"unassigned\" instead") end return teamid end if SERVER then ScavData.CollectFuncs = {} local angoffset0_0_0 = Angle(0,0,0) local angoffset90_0_0 = Angle(90,0,0) //local angoffset180_0_0 = Angle(180,0,0) //local angoffset270_0_0 = Angle(270,0,0) //local angoffset0_90_0 = Angle(0,90,0) //local angoffset0_270_0 = Angle(0,270,0) local bd_tracetab = {} bd_tracetab.mask = MASK_SHOT local bd_opvec = Vector(0,0,0) bd_tracetab.endpos = bd_opvec local bd_vecs = {Vector(1,0,0),Vector(-1,0,0),Vector(0,1,0),Vector(0,-1,0),Vector(0,0,1),Vector(0,0,-1)} function ScavData.BlastDecals(decal,pos,radius) --creates decals in 6 directions. Kind of nasty but it does the job for medium-small explosions. bd_tracetab.start = pos for k,v in pairs(bd_vecs) do bd_opvec.x = pos.x+v.x*radius bd_opvec.y = pos.y+v.y*radius bd_opvec.z = pos.z+v.z*radius //print(bd_tracetab.Start,bd_tracetab.EndPos) local tr = util.TraceLine(bd_tracetab) if tr.Hit then util.Decal(decal,pos,tr.HitPos-tr.HitNormal) end //if tr.Hit then ErrorNoHalt("HIT!") end end end function ScavData.GetEntityFiringAngleOffset(ent) --entity must not have modified angles! also this is a shitty function why don't I know the real way to do this local mins = ent:OBBMins() local maxs = ent:OBBMaxs() local x = maxs.x-mins.x local y = maxs.y-mins.y local z = maxs.z-mins.z if (z > y) && (z > x) then --if the OBB is taller than it is wide //ErrorNoHalt("tall") return angoffset90_0_0 //elseif (y > x) then // return angoffset0_90_0 --actually we don't care about this just don't make it tall because that looks strange end return angoffset0_0_0 end function ScavData.DoBlastCalculation(position,radius,attacker,inflictor,callback) --callback should have: ent, position, radius, attacker, inflictor, fraction for k,v in ipairs(ents.FindInSphere(position,radius)) do callback(v,position,radius,attacker,inflictor,1-(v:GetPos():Distance(position)/radius)) end end function ScavData.GetNewInfoParticleSystem(particlesystemname,pos,parent) local ent = ents.Create("info_particle_system") ent:SetPos(pos) if parent then ent:SetParent(parent) end ent:SetKeyValue("effect_name",particlesystemname) ent:SetKeyValue("start_active","true") ent:Spawn() ent:Activate() ent:Fire("Start",nil,0) return ent end else usermessage.Hook("scv_elc",function(um) local pos = um:ReadVector() local radius = um:ReadFloat() WorldSound("ambient/explosions/explode_7.wav",pos) local dlight = DynamicLight(0) if dlight then dlight.Pos = pos dlight.r = 100 dlight.g = 100 dlight.b = 255 dlight.Brightness = 10 dlight.Size = radius dlight.Decay = radius dlight.DieTime = CurTime()+1 end end) local ITEMFILE = "ScavData/knownitems.txt" knownmodels = glon.decode(file.Read(ITEMFILE))||{} hook.Add("InitPostEntity","Scav_LoadKnownFiremodes",function() local PlayerID = util.CRC(LocalPlayer():SteamID()) if !file.Exists(ITEMFILE) then knownmodels.ID = PlayerID end if knownmodels.ID != PlayerID then print("Invalid firemode memory table, deleting file.") file.Delete(ITEMFILE) knownmodels = {["ID"] = PlayerID} end end) function ScavData.ProcessLocalPlayerItemKnowledge(modelname) --modelname = ScavData.FormatModelname(modelname) if !knownmodels[modelname] && ScavData.models[modelname] then knownmodels[modelname] = true writestring = glon.encode(knownmodels) file.Write(ITEMFILE,writestring) end end function ScavData.LocalPlayerKnowsItem(modelname) return knownmodels[modelname] end end /*=======================================================================*/ -- New Player methods /*=================================
[QUOTE=NKMs;36144851]Hello there. I think I'm bumping this thread, but I have a question about ScavData.lua . I want to add more usable entity to ScavData.OKClasses table, but when I edit this file, I get this error. [addons\scavenger cannon\lua\autorun\scavdata.lua:1] unexpected symbol near ' ' I don't even touch first line, but I keep getting this error. This is the LUA I am attempting to use. [code] ... [/code][/QUOTE] Yikes, sorry about getting a reply to you so late! The error you're getting is because of the unicode characters in the file. Make sure you're saving it with the correct encoding. I also anticipate that this addon will no longer be functional in the next version of Garry's Mod. I've got my hands full for the foreseeable future, but when I get the chance I'll try to get a working version of this addon up on the Steam Workshop, maybe recoded to be a bit more organized and lightweight.
Cool and Ghor what are you working on?
Awesome...
[QUOTE=Ghor;36607932]Yikes, sorry about getting a reply to you so late! The error you're getting is because of the unicode characters in the file. Make sure you're saving it with the correct encoding. [/QUOTE] Well, I've just forgot about scavdata.lua and edited scav_gun/init.lua. [code] return ent.CanScav||(ent:GetMoveType() == MOVETYPE_VPHYSICS) && !ent.NoScav [/code] Using this works well, except for func_physbox in singleplayer campaign. It throws trigger brushes, random cubes and even fading glasses, man. No need some fix for that, it does not cause a problem except for large brushes kill citizens and incorrect brushes could crash game. Anyways, thanks for reply. [QUOTE=Ghor;36607932]I also anticipate that this addon will no longer be functional in the next version of Garry's Mod. I've got my hands full for the foreseeable future, but when I get the chance I'll try to get a working version of this addon up on the Steam Workshop, maybe recoded to be a bit more organized and lightweight. [/QUOTE] Agh, I already saw that it's fully incompatible on gmod13, but even if it no longer works, I could get this weapon working in my dreams. Hell, imagine yourself using this weapon in real life. Can store any object inside itself, can throw at any time, can customize some of object to have different functionalities than throwing, instant heal and even easy cleanup. The whole world would hunt you down for it. I just wonder 'what happens if I scavenge inside some water'
Sorry, you need to Log In to post a reply to this thread.