• [TTT] Custom Ideas [Request]
    5 replies, posted
Hello guys, I would like some custom things for my server, I will be paying of course. -Poison Dart for Traitors -Ability to disguise as Innocent Players as Traitor -Revive other Traitors as Traitor -Revive other players as Detective -Custom Menu which includes custom guns. -Special saving "Karma" and "Points" system that saves when you exit the server. -Some more things, which you can buy with your "Points" such as Full Heal, Speed Boost, Faster Reload, etc. Points are earned for innocents killing traitors, as well as traitors killing innocents. Traitor weapons, such as knives, will cost a certain number of "Points" also. Of course, I will be paying for these. Please message me on my Skype at: darkshadow120 or [URL="http://steamcommunity.com/id/Darkshadow120/"]Steam[/URL] if you are interested. Thank you for reading my thread, and If I have any more ideas, I will let you know.
None of those are original. Also, what do you mean by "Ability to disguise as Innocent Players as Traitor"? Like, change the name on hover? Not going to work with microphones and chat would just cause confusion and more. For the poison dart, a simple google search would have helped you: [LUA]if SERVER then AddCSLuaFile( "shared.lua" ) end SWEP.HoldType = "pistol" if CLIENT then SWEP.PrintName = "Poison Dart" SWEP.Author = "TTT" SWEP.Slot = 6 SWEP.SlotPos = 0 SWEP.EquipMenuData = { type="Weapon", --model="models/weapons/w_pist_usp.mdl", desc="Shoot someone to poison him." }; SWEP.Icon = "VGUI/ttt/icon_poisondart" end SWEP.Base = "weapon_tttbase" SWEP.Primary.Recoil = 1 SWEP.Primary.Damage = 1 SWEP.Primary.Delay = 120 SWEP.Primary.Cone = 0.0 SWEP.Primary.ClipSize = 1 SWEP.Primary.Automatic = true SWEP.Primary.DefaultClip = 1 SWEP.Primary.ClipMax = 1 SWEP.Primary.Ammo = "" --"Pistol" SWEP.Kind = WEAPON_EQUIP SWEP.CanBuy = {ROLE_TRAITOR} -- only traitors can buy --SWEP.WeaponID = AMMO_SIPISTOL SWEP.AmmoEnt = "" --"item_ammo_pistol_ttt" SWEP.IsSilent = true SWEP.LimitedStock = true SWEP.ViewModel = "models/weapons/v_pist_usp.mdl" SWEP.WorldModel = "models/weapons/w_pist_usp.mdl" SWEP.Primary.Sound = Sound( "Weapon_USP.SilencedShot" ) SWEP.IronSightsPos = Vector( 4.48, -4.34, 2.75) SWEP.IronSightsAng = Vector(-0.5, 0, 0) SWEP.PrimaryAnim = ACT_VM_PRIMARYATTACK_SILENCED SWEP.ReloadAnim = ACT_VM_RELOAD_SILENCED function SWEP:Deploy() self.Weapon:SendWeaponAnim(ACT_VM_DRAW_SILENCED) return true end --[[-- We were bought as special equipment, and we have an extra to give function SWEP:WasBought(buyer) if IsValid(buyer) then -- probably already self.Owner buyer:GiveAmmo( 16, "Pistol" ) end end]] function SWEP:PrimaryAttack(worldsnd) self.Weapon:SetNextSecondaryFire( CurTime() + self.Primary.Delay ) self.Weapon:SetNextPrimaryFire( CurTime() + self.Primary.Delay ) if not self:CanPrimaryAttack() then return end if not worldsnd then self.Weapon:EmitSound( self.Primary.Sound ) else WorldSound(self.Primary.Sound, self:GetPos()) end self:ShootBullet( self.Primary.Damage, self.Primary.Recoil, self.Primary.NumShots, self.Primary.Cone, self.Doors, self.Force, self.TracerName ) if SERVER then if self.Owner:GetEyeTrace().HitNonWorld and self.Owner:GetEyeTrace().Entity:IsPlayer() then local en = self.Owner:GetEyeTrace().Entity local uni = en:UniqueID() en:EmitSound("ambient/voices/citizen_beaten" .. math.random(1,5) .. ".wav",500,100) timer.Create(en:UniqueID() .. "poisondart", 1, 0, function() if ValidEntity(en) and en:IsTerror() then if ValidEntity(self.Owner) then en:TakeDamage(1,self.Weapon,self.Owner) else en:TakeDamage(1,self.Weapon,self.Weapon) end else timer.Destroy(uni .. "poisondart") end end) end end self:TakePrimaryAmmo( 1 ) if not ValidEntity(self.Owner) or self.Owner:IsNPC() or (not self.Owner.ViewPunch) then return end self.Owner:ViewPunch( Angle( math.Rand(-0.2,-0.1) * self.Primary.Recoil, math.Rand(-0.1,0.1) *self.Primary.Recoil, 0 ) ) if ( (SinglePlayer() and SERVER) or CLIENT ) then self.Weapon:SetNetworkedFloat( "LastShootTime", CurTime() ) end end[/LUA] Alternative version: [LUA]if SERVER then AddCSLuaFile( "shared.lua" ) end SWEP.HoldType = "pistol" if CLIENT then SWEP.PrintName = "Poison dart gun" SWEP.Author = "PrawkC" SWEP.Slot = 6 SWEP.SlotPos = 0 SWEP.EquipMenuData = { type="Weapon", model="models/weapons/w_pist_usp.mdl", desc="Poison dart gun, uses normal pistol\nammo.\n\nVictims will die after 15 seconds of being shot" }; SWEP.Icon = "VGUI/ttt/icon_silenced" end SWEP.Base = "weapon_tttbase" SWEP.Primary.Recoil = 1.7 SWEP.Primary.Damage = 0 SWEP.Primary.Delay = 0.32 SWEP.Primary.Cone = 0.014 SWEP.Primary.ClipSize = 1 SWEP.Primary.Automatic = false SWEP.Primary.DefaultClip = 1 SWEP.Primary.ClipMax = 1 SWEP.Primary.Ammo = "AMMO_SIPISTOL" SWEP.Kind = WEAPON_EQUIP SWEP.CanBuy = {ROLE_TRAITOR} -- only traitors can buy SWEP.WeaponID = AMMO_SIPISTOL SWEP.IsSilent = true SWEP.ViewModel = "models/weapons/v_pist_usp.mdl" SWEP.WorldModel = "models/weapons/w_pist_usp.mdl" SWEP.Primary.Sound = Sound( "Weapon_USP.SilencedShot" ) SWEP.IronSightsPos = Vector( 4.48, -4.34, 2.75) SWEP.IronSightsAng = Vector(-0.5, 0, 0) SWEP.PrimaryAnim = ACT_VM_PRIMARYATTACK_SILENCED SWEP.ReloadAnim = ACT_VM_RELOAD_SILENCED seconds = 5 function SWEP:Deploy() self.Weapon:SendWeaponAnim(ACT_VM_DRAW_SILENCED) return true end -- We were bought as special equipment, and we have an extra to give function SWEP:WasBought(buyer) if IsValid(buyer) then -- probably already self.Owner buyer:GiveAmmo( 1, "AMMO_SIPISTOL" ) makeMenus() end end function makeMenus() DFrame1 = vgui.Create('DFrame') DFrame1:SetSize(166, 71) DFrame1:SetPos(216, 159) DFrame1:SetTitle('Poison Dart Death Timer') DFrame1:SetDeleteOnClose(false) DFrame1:ShowCloseButton(false) DNumSlider1 = vgui.Create('DNumSlider') DNumSlider1:SetParent(DFrame1) DNumSlider1:SetSize(154, 40) DNumSlider1:SetPos(222, 184) DNumSlider1:SetDecimals(0) DNumSlider1:SetFloatValue(0) DNumSlider1:SetFraction(0) DNumSlider1.OnMouseReleased = function() end DNumSlider1.OnValueChanged = function() end DNumSlider1:SetText('Seconds to take') DNumSlider1:SetValue(5) DNumSlider1:SetMinMax( 5, 120) end function SWEP:Think() while self.Owner:KeyDown(IN_RELOAD) do DFrame1:MakePopup() DNumSliders1.MakePopup() seconds = DNumSlider1:GetValue() end end function SWEP:PrimaryAttack() //when +attack1 happens // Make sure we can shoot first if ( !self:CanPrimaryAttack() ) then return end local traceRes = self.Owner:GetEyeTrace() local bullet = {} //creates a table for the properties of the bullet bullet.Src = self.Owner:GetShootPos() // Source, where you are standing bullet.Dir = self.Owner:GetAimVector() // direction of bullet, where you are looking bullet.Damage = self.Damage //how much damage it does to people bullet.AmmoType = self.Primary.Ammo //what type of ammo you are using bullet.TracerName = "Tracer" self.Owner:FireBullets( bullet ) //actually shoots the bullet. self.Weapon:EmitSound ( "Weapon_USP.SilencedShot", 100, 100 ) function playerDamage() traceRes.Entity:TakeDamage(100,self.Owner) end // this makes the sound, which I specified earlier in the code bullet.Callback = function ( attacker, tr, dmginfo ) if traceRes.Entity:IsPlayer() then timer.Simple( seconds , playerDamage) end end self:TakePrimaryAmmo(2) //removes 2 ammo from our clip bullet.Callback() end //end our function[/LUA] Slightly glitchy on occasions but works. Reviving people is just dumb, it ruins the idea behind TTT. If you really need to revive people, do it with admin commands incase someone gets RDMed right at the beginning or so.
Thanks bro, by "Ability to disguise as Innocent Players as Traitor" I mean, instead of the normal disguise, it would make your name as another player that is an innocent.
[QUOTE=darkshadow121;36144385]Thanks bro, by "Ability to disguise as Innocent Players as Traitor" I mean, instead of the normal disguise, it would make your name as another player that is an innocent.[/QUOTE] Yeah, that's really bad. No thanks. Just more RDM, RDM everywhere. Forgot to mention that Poison Dart is also so overpowered that it makes no sense. The karma thing is already available in TTT config, "karma persists".
[QUOTE=Juze;36144483]Yeah, that's really bad. No thanks. Just more RDM, RDM everywhere. Forgot to mention that Poison Dart is also so overpowered that it makes no sense. The karma thing is already available in TTT config, "karma persists".[/QUOTE] I dont really see how it could be anymore overpowered than the knife.
[QUOTE=darkshadow121;36144729]I dont really see how it could be anymore overpowered than the knife.[/QUOTE] Knife is regularly 50 hp, it requires two stabs/throws most of the time and with good reaction and aims, it's possible to kill the guy with the knife. If you really need to, change it to 35 hp to balance it more. Poison Dart can kill you as you spawn next round under some cases because of bugs and bad coding.
Sorry, you need to Log In to post a reply to this thread.