Welcome to Revival Servers!

Welcome to Revival. The forums is an important aspect of joining the Community. This is where you can meet other community members, apply for staff, provide suggestions and participate in many other activities.

Damocles - Developer Application - 3/3/2019

Status
Not open for further replies.

Hector

Developer on the HaloRP
Joined
Feb 18, 2019
Messages
9
Points
3
Age
23
Name (Steam Name):
[RS] Merlin

Tell us about yourself:
I am a very chill guy that is very easy to get along with, who loves to do everything he can to support the servers in any way possible. I'm currently the General Manager of the Star Wars RP, and a Teamspeak Staff.

What role are you taking? (Programmer, Server Configurator, Mapper etc.):
Server Configurator

Please describe your experience in the field relevant to the role you're applying for:
I have owned my own communities and managed them by myself with no help from any sort of a developer other than myself. I am extremely experienced in FAdmin, DarkRP Configuration, ULX, and more. I can also make jobs extremely easily and fluently.

Why do you want to become a developer for Revival? (One Paragraph Min.):
I am applying to be a developer because I want to be able to help Revival with its development process. As I said in the previous experience question, I have owned a multitude of communities, even some that were extremely successful. With these, I was the sole developer. I take a lot of enjoyment out of server configuration, and being able to expand my horizons with trial and error. I'm very interested in being able to work with a development team this time around and be able to help out with any and all problems with the servers.

What can you bring to the development team?:

I can bring all of my previous experience of being a developer into the development team, and the fact that I can easily work with a development team. I can easily create jobs, categories, and more. I also know a thing or two with ULX.

Any extra information please add it here:
Code:
TEAM_212THTRP = DarkRP.createJob("212th Trooper",
   color = Color(255, 107, 4, 255),
   model = {"models/player/venator/starwars/clonetrooper_212nd.mdl"},
   description = [[You are a Trooper of the 212th Attack Battalion! Serve the Republic well, soldier.]],
   weapons = {"weapon_752_dc15sa", "weapon_752_dc15s"},
   command = "212thtrp",
   max = 0,
   salary = 150,
   admin = 0,
   vote = false,
   hasLicense = false,
   candemote = false,
   category = "212th Attack Battalion",
   ammo = {
       ["pistol"] = 9999,
       ["buckshot"] =  9999,
       ["ar2"] =  9999,
       ["pulse"] =  9999
   },
   PlayerSpawn = function(ply)
       ply:SetMaxHealth(250)
       ply:SetHealth(250)
       ply:SetArmor(150)
   end,
   customCheck = function(ply) return
       table.HasValue({"212th", "212thofficer", "212thco"}, ply:GetNWString("usergroup"))
   end,
   CustomCheckFailMsg = "You are not whitelisted for this job!",
})
// Category
DarkRP.createCategory{
   name = "212th Attack Battallion",
   categorises = "jobs",
   startExpanded = true,
   color = Color(255, 135, 0, 255),
   canSee = function(ply) return table.HasValue({"212th", "212thofficer", "212thco"}, ply:GetNWString("usergroup")) end,
   sortOrder = 4
}

// Custom Group Chat

DarkRP.createGroupChat(TEAM_212THTRP, TEAM_212THOFF, TEAM_212THCO, TEAM_212THHVY, TEAM_212THSHRP, TEAM_212THMED)

// Custom Spawnable Entity

DarkRP.createEntity("Jetpack", {
   ent = "jetpack",
   model = "models/jetpack.mdl",
   price = 0,
   max = 5,
   cmd = "jetpack",
   category = "Republic Acquisitions",
   allowed = {TEAM_212THAB, TEAM_212THABOFF, TEAM_212THABCO, TEAM_ARC, TEAM_ARCOFF, TEAM_ARCCO, TEAM_187THTRP, TEAM_187THOFF, TEAM_187THCO, TEAM_187THSHRP, TEAM_187THHVY, TEAM_187THMED}
})

// Server Configuration File

// Base Configuration
hostname "Example Sandbox Community"
sv_password ""
rcon_password "NoOneCanGuessThisPassword"

// Network Configuration
sv_loadingurl "https://mydomainexample.test/loadingurl"
sv_downloadurl "https://mydomainexample.test/downloadurl"
sv_allowdownload 0
sv_allowupload 0
net_maxfilesize 64

// Logging Configuration
log on
sv_logbans 1
sv_logecho 1
sv_logfile 1
sv_log_onefile 0

// Sandbox Configuration
sbox_noclip 1
sbox_godmode 0
sbox_playershurtplayers 1
sbox_maxprops 500
sbox_maxragdolls 20
sbox_maxnpcs 10
sbox_maxballoons 10
sbox_maxeffects 10
sbox_maxdynamite 10
sbox_maxlamps 10
sbox_maxthrusters 10
sbox_maxwheels 10
sbox_maxhoverballs 10
sbox_maxvehicles 10
sbox_maxbuttons 10
sbox_maxemitters 10

// Exec Bans
exec banned_user.cfg
exec banned_ip.cfg

// Custom Buyable Ammotype
DarkRP.createAmmoType("ar2", {
   name = "Standard Rifle Ammunition",
   model = "models/items/BoxMRounds.mdl",
   price = 0,
   amountGiven = 1000,
   category = "Republic Acquisitions"
})

// Weapon Configuration (I cannot take full credit for, as I used a base weapon and modified values to fit actual lore weapon values)

if ( SERVER ) then

    AddCSLuaFile( "shared.lua" )
 
end

if ( CLIENT ) then

    SWEP.PrintName          = "Standard-Issue DC-15A"       
    SWEP.Author             = "Damocles"
    SWEP.ViewModelFOV       = 50
    SWEP.Slot               = 3
    SWEP.SlotPos            = 0
    SWEP.WepSelectIcon      = surface.GetTextureID("HUD/killicons/DC15A")
 
    killicon.Add( "npc_sw_weapon_752_dc15a", "HUD/killicons/DC15A", Color( 255, 80, 0, 255 ) )

end

SWEP.HoldType               = "ar2"
SWEP.Base                   = "weapon_tfa_base"

SWEP.Category = "Republic Arsenal"

SWEP.Spawnable              = false
SWEP.AdminSpawnable         = false

SWEP.ViewModel              = ""
SWEP.WorldModel             = "models/weapons/w_DC15A.mdl"

SWEP.Weight                 = 5
SWEP.AutoSwitchTo           = false
SWEP.AutoSwitchFrom         = false

local FireSound             = Sound ("weapons/DC15A_fire.wav");
local ReloadSound           = Sound ("weapons/DC15A_reload.wav");

SWEP.Primary.Recoil         = 0.5
SWEP.Primary.Damage         = 50
SWEP.Primary.NumShots       = 1
SWEP.Primary.Cone           = 0 --0.0125
SWEP.Primary.ClipSize       = 50
SWEP.Primary.Delay          = 0.175
SWEP.Primary.DefaultClip    = 500
SWEP.Primary.Automatic      = true
SWEP.Primary.Ammo           = "ar2"
SWEP.Primary.Tracer         = "effect_sw_laser_blue"

SWEP.Secondary.Automatic    = false
SWEP.Secondary.Ammo         = "none"

function SWEP:PrimaryAttack()

    if self:Clip1() <= 0 then self:NpcReload()
    return end

    self.Weapon:SetNextSecondaryFire( CurTime() + self.Primary.Delay )
    self.Weapon:SetNextPrimaryFire( CurTime() + self.Primary.Delay )
    if ( !self:CanPrimaryAttack() ) then return end
 
    // Play shoot sound
    self.Weapon:EmitSound( FireSound )
 
    // Shoot the bullet
    self:CSShootBullet( self.Primary.Damage, self.Primary.Recoil, self.Primary.NumShots, self.Primary.Cone )
 
    // Remove 1 bullet from our clip
    self:TakePrimaryAmmo( 1 )
 
    if ( self.Owner:IsNPC() ) then return end
 
    // Punch the player's view
    self.Owner:ViewPunch( Angle( math.Rand(-0.2,-0.1) * self.Primary.Recoil, math.Rand(-0.1,0.1) *self.Primary.Recoil, 0 ) )
 
    // In singleplayer this functpion doesn't get called on the client, so we use a networked float
    // to send the last shoot time. In multiplayer this is predicted clientside so we don't need to
    // send the float.
    if ( (game.SinglePlayer() && SERVER) || CLIENT ) then
        self.Weapon:SetNetworkedFloat( "LastShootTime", CurTime() )
    end
 
end

function SWEP:CSShootBullet( dmg, recoil, numbul, cone )

    numbul  = numbul    or 1
    cone    = cone      or 0.01

    local bullet = {}
    bullet.Num      = numbul
    bullet.Src      = self.Owner:GetShootPos()          // Source
    bullet.Dir      = self.Owner:GetAimVector()         // Dir of bullet
    bullet.Spread   = Vector( cone, cone, 0 )           // Aim Cone
    bullet.Tracer   = 1                             // Show a tracer on every x bullets
    bullet.TracerName   = self.Primary.Tracer
    bullet.Force    = 5                                 // Amount of force to give to phys objects
    bullet.Damage   = dmg
 
    self.Owner:FireBullets( bullet )
    self.Weapon:SendWeaponAnim( ACT_VM_PRIMARYATTACK )      // View model animation
    self.Owner:MuzzleFlash()                                // Crappy muzzle light
    self.Owner:SetAnimation( PLAYER_ATTACK1 )               // 3rd Person Animation
 
    if ( self.Owner:IsNPC() ) then return end
 
    // CUSTOM RECOIL !
    if ((game.SinglePlayer() && SERVER) || (!game.SinglePlayer() && CLIENT && IsFirstTimePredicted())) then
 
        local eyeang = self.Owner:EyeAngles()
        eyeang.pitch = eyeang.pitch - recoil
        self.Owner:SetEyeAngles( eyeang )
 
    end

end

function SWEP:Reload()

end

function SWEP:SecondaryAttack()

    if ( self.NextSecondaryAttack > CurTime() ) then return end
 
    if (Zoom == 0) then
        if (SERVER) then
            self.Owner:SetFOV( 40, 0.3 )
        end
        Zoom = 1
        self.NextSecondaryAttack = CurTime() + 0.3
        return
    end
    if (Zoom == 1) then
        if (SERVER) then
            self.Owner:SetFOV( 0, 0.3 )
        end
        Zoom = 0
        self.NextSecondaryAttack = CurTime() + 0.3
        return
    end
end

function SWEP:Holster()
    if (SERVER) then
        self.Owner:SetFOV( 0, 0.3 )
    end
    Zoom = 0
    return true
end
 
Last edited:

e241

Former Development Director
Developer
TeamSpeak Administrator
Years of Service
Joined
Mar 4, 2018
Messages
115
Points
28
Age
22
Location
United States of America
I would like to see some work before I make a judgement.


- Head General
 

Buggles

Certified Shit Poster
Joined
Jan 25, 2017
Messages
164
Points
28
+1 Trustworthy and can most likely do his job (I mean why would he be applying right?)
 

Kraken

Lead Developer
Joined
May 19, 2018
Messages
88
Points
8
Age
26
Location
Somewhere...?
+0 Neutral
(My Vote could go either way, take what you will from this)

You have a grasp of Configuration and understand of what you will be working with. It's also nice to see NW functions being used. However I have higher standards when it comes to Development so I can't judge this fairly.

All I can say is our servers do not use FAdmin once it is fully set up. Usually it gets disabled, so I would get more familiar with ULX in the meantime. As long as your are fluent with making jobs and etc. That is fine, I would also learn how edit configuration files for weapons properly too.

Regards, Kraken
 

Cadet

Is a staff forum
Forums Moderator
Halo RP
Senior Admin
TeamSpeak Administrator
Forums Advisor (Halo)
Years of Service
Joined
Feb 17, 2018
Messages
156
Points
43
Age
20
Location
Scotland
+1
Added weapon configuration evidence

Some internal commentary (It’s a pet peeve of mine) as Employers like William Might or might not understand code and it is up to coders like us to give them a way to understand our code it also makes our job easier as instead of trying to explain to William what it does we can put internal commentary so William or an employer can read what it is meant to do and see if it actually works in testing. (I do coding my self such as VB, A little Lua and Java script and a tiny tiny bit of C++ and I always leave internal commentary it makes everything so much easier from a business standpoint)

Other than that this application looks good and if you can add some internal commentary that would be great.
 
Last edited:

Hector

Developer on the HaloRP
Joined
Feb 18, 2019
Messages
9
Points
3
Age
23
+0 Neutral
(My Vote could go either way, take what you will from this)

You have a grasp of Configuration and understand of what you will be working with. It's also nice to see NW functions being used. However I have higher standards when it comes to Development so I can't judge this fairly.

All I can say is our servers do not use FAdmin once it is fully set up. Usually it gets disabled, so I would get more familiar with ULX in the meantime. As long as your are fluent with making jobs and etc. That is fine, I would also learn how edit configuration files for weapons properly too.

Regards, Kraken
0
Your code looks good but some weapon configuration evidence would be good.

Some internal commentary (It’s a pet peeve of mine) as Employers like William Might or might not understand code and it is up to coders like us to give them a way to understand our code it also makes our job easier as instead of trying to explain to William what it does we can put internal commentary so William or an employer can read what it is meant to do and see if it actually works in testing. (I do coding my self such as VB, A little Lua and Java script and a tiny tiny bit of C++ and I always leave internal commentary it makes everything so much easier from a business standpoint)

Other than that this application looks good and if you can change it to what my vote specifies I can give a +1.

I will be adding the weapon configuration code later today when I return to my main PC. Thank you both for the friendly advice, and I hope that when I do add the code, it will be to your liking!

EDIT:

I have added a weapon configuration code that I have edited to fit actual lore standards based on a Fandom Wikia page, gave a damage buff, changed slot, changed the name, etc. The only things that remain the same from what I used as a base are essential sound files and other stuff. I hope you find it up to your standards! I will probably be adding more tomorrow, but currently, I have to get off for the night.
 

William

President
President
Years of Service
Joined
Jan 17, 2017
Messages
439
Points
93
This application has been on the waitlist for quite a bit. Congratulations Damocles

Accepted

Now, considering you are SWRP manager, I would like to assign you there, BUT I will respect your decision if you would like to be somewhere else.
 
Status
Not open for further replies.
Top