• Playermodel not changing
    2 replies, posted
I've created a SWEP that turns the player into a watermelon on deployment, and explodes on primary fire, but apparently, whenever it is deployed, I just show up as two errors. I predict one error is the viewmodel, and one is the worldmodel. How would one go about properly changing his model? Here's my code in the shared file: [code] //Show debug info? local debug = true //---------------------------------------------------- //Author Info //---------------------------------------------------- SWEP.Author = "Toastermach10" SWEP.Contact = "branmanballer34@aol.com" SWEP.Purpose = "To confuse and explode curious people" SWEP.Instructions = "Equip to become a watermelon. Primary fire to explode." //---------------------------------------------------- SWEP.Spawnable = true SWEP.AdminSpawnable = true // First person Model SWEP.ViewModel = "v_bugbait" // Third Person Model SWEP.WorldModel = "w_bugbait" // Weapon Details SWEP.Primary.Clipsize = -1 SWEP.Primary.DefaultClip = -1 SWEP.Primary.Automatic = false SWEP.Primary.Ammo = "none" SWEP.Secondary.Clipsize = -1 SWEP.Secondary.DefaultClip = -1 SWEP.Secondary.Automatic = false SWEP.Secondary.Ammo = "none" // Sound local ShootSound = Sound ("Metal.SawbladeStick") //-------------------------------------------------- // When it reloads | Nothing //-------------------------------------------------- function SWEP:Reload() if debug then print("Reload") end end //-------------------------------------------------- // Each frame when the Swep is active | Nothing //-------------------------------------------------- function SWEP:Think() end //-------------------------------------------------- // When Swep is taken out | Turns player to melon //------------------------------------------------- function SWEP:Deploy() self.Owner.oldmodel = self.Owner:GetModel() self.Owner:SetModel("props_junk\watermelon01.mdl") end //-------------------------------------------------- // When Swep is put up | Changes to original model // ------------------------------------------------- function SWEP:Holster() if self.Owner.oldmodel then self.Owner:SetModel(self.Owner.oldmodel) self.Owner.oldmodel = nil end end //-------------------------------------------------- // When the player shoots | Explodes player //-------------------------------------------------- function SWEP:PrimaryAttack() if debug then print("Primary Attack") end standingpoint = self.Owner:GetPos() local explode = ents.Create( "env_explosion" ) explode:SetPos( standingpoint ) explode:SetOwner( self.Owner ) explode:Spawn() explode:SetKeyValue( "iMagnitude", "220" ) explode:Fire( "Explode", 0, 0 ) explode:EmitSound( "weapon_AWP.Single", 400, 400 ) end //-------------------------------------------------- // When the player uses secondary attack | Nothing //-------------------------------------------------- function SWEP:SecondaryAttack() if debug then print("Secondary Attack") end self.Weapon:EmitSound(ShootSound) end //------------------------------------------------- // When player takes damage | Eliminates damage //------------------------------------------------- function self.Owner.GM:EntityTakeDamage( ent, inflictor, attacker, amount, dmginfo ) if ent:IsPlayer() then dmginfo:ScaleDamage( 0 ) end end [/code]
Commonly, lua interprets a backslash as something called "backslash escaping" What this means, is that the letter directly after the backslash isn't parsed as a string, and that is why it's useful for using escape characters such as \n or \0. Here's a quick fix. self.Owner:SetModel("props_junk\\watermelon01.mdl") or self.Owner:SetModel("props_junk/watermelon01.mdl") And for the view model/world model, you must include the full path to the model, as well as the .mdl on the end.
Thanks
Sorry, you need to Log In to post a reply to this thread.