<eof> error (lua error HELP)

Recently while working on custom jobs for my DarkRP Server, I encountered a slight error involving the ‘end’ function. I have tried many ways to fix this error and can not find any resolving methods. I have also scrolled across the internet to find a solution but nothing has done so. I will provide all information needed, I am not the best programmer but if someone can find my error I will be extremely grateful!

**[ERROR] Lua is unable to understand file “darkrp_customthings/jobs.lua” because its author made a mistake around line number 189.
The best help I can give you is this:

Right before the ‘end’, Lua expected to read a ‘end of the file’, but it didn’t.**

[lua]
TEAM_UNEMPLOYED = DarkRP.createJob(“Unemployed”, {
color = Color(20, 150, 20, 255),
model = {
“models/humans/group02/player/tale_01.mdl”,
“models/humans/group02/player/tale_03.mdl”,
“models/humans/group02/player/tale_04.mdl”,
“models/humans/group02/player/tale_05.mdl”,
“models/humans/group02/player/tale_06.mdl”,
“models/humans/group02/player/tale_07.mdl”,
“models/humans/group02/player/tale_08.mdl”,
“models/humans/group02/player/temale_01.mdl”,
“models/humans/group02/player/temale_02.mdl”,
“models/humans/group02/player/temale_07.mdl”},
description = [[You are an average citizen with no job.]],
weapons = {},
command = “citizen”,
max = 0,
salary = GAMEMODE.Config.normalsalary,
admin = 0,
vote = false,
hasLicense = false,
candemote = false,
category = “Citizens”,
})

TEAM_CADET = DarkRP.createJob(“EvoCity Police Cadet”, {
color = Color(25, 25, 170, 255),
model = {“models/ecpd/male_01_npc.mdl”,
“models/ecpd/male_02_npc.mdl”,
“models/ecpd/male_03_npc.mdl”,
“models/ecpd/male_04_npc.mdl”,
“models/ecpd/male_05_npc.mdl”,
“models/ecpd/male_06_npc.mdl”,
“models/ecpd/male_07_npc.mdl”,
“models/ecpd/male_08_npc.mdl”,
“models/ecpd/male_09_npc.mdl”},
description = [[Police cadet can refer either to a trainee police officer or to a member of a youth organisation in which young people learn about and/or participate in law enforcement and police work.
(YOU ARE REQUIRED TO GET TRAINED BEFORE BECOMING A POLICE OFFICER!)]],
weapons = {},
command = “cadet”,
max = 5,
salary = GAMEMODE.Config.normalsalary,
admin = 0,
vote = false,
hasLicense = false,
candemote = false,
category = “Police Department”,
})

TEAM_OFFICER = DarkRP.createJob(“EvoCity Police Officer”, {
color = Color(25, 25, 170, 255),
model = {“models/ecpd/male_01_npc.mdl”,
“models/ecpd/male_02_npc.mdl”,
“models/ecpd/male_03_npc.mdl”,
“models/ecpd/male_04_npc.mdl”,
“models/ecpd/male_05_npc.mdl”,
“models/ecpd/male_06_npc.mdl”,
“models/ecpd/male_07_npc.mdl”,
“models/ecpd/male_08_npc.mdl”,
“models/ecpd/male_09_npc.mdl”},
description = [[You are an average Police Officer in the city of EvoCity. You must do patrols around the city and respond to distressed Civilians. Keep the city safe and secure.
(YOU MUST TRAIN POLICE CADETS WHENEVER THERE IS NO SUPERVISORS ONLINE!)]],
weapons = {“fas2_glock20”, “stunstick”, “door_ram”, “weaponchecker”},
command = “officer”,
max = 5,
salary = GAMEMODE.Config.normalsalary * 1.25,
admin = 0,
vote = false,
hasLicense = true,
candemote = false,
category = “Police Department”,
customCheck = function(ply) return ply:CheckGroup(“Police Officer”) or ply:IsAdmin() end, – The extra check function. Enter nil or nothing to not have a restriction
CustomCheckFailMsg = “This is for Police Officers only!” – Allows you to tell the user what went wrong when attempting to switch jobs
})

TEAM_SUPERVISOR = DarkRP.createJob(“EvoCity Police Supervisor”, {
color = Color(25, 25, 170, 255),
model = {“models/ecpd/male_01_npc.mdl”,
“models/ecpd/male_02_npc.mdl”,
“models/ecpd/male_03_npc.mdl”,
“models/ecpd/male_04_npc.mdl”,
“models/ecpd/male_05_npc.mdl”,
“models/ecpd/male_06_npc.mdl”,
“models/ecpd/male_07_npc.mdl”,
“models/ecpd/male_08_npc.mdl”,
“models/ecpd/male_09_npc.mdl”},
description = [[You are a Police Supervisor! You control the average Police Task Force and make sure they are doing their job. Keep the city safe and secure.
(YOU ARE REQUIRED TO TRAIN CADETS WHENEVER THERE ARE SOME ONLINE! FAILURE TO DO SO WILL RESULT IN DEMOTION!)]],
weapons = {“fas2_glock20”, “stunstick”, “fas2_m4a1”, “door_ram”, “weaponchecker”},
command = “supervisor”,
max = 10,
salary = GAMEMODE.Config.normalsalary * 1.50,
admin = 0,
vote = false,
hasLicense = true,
candemote = true,
category = “Police Department”,
customCheck = function(ply) return ply:CheckGroup(“Police Supervisor”) or ply:IsAdmin() end, – The extra check function. Enter nil or nothing to not have a restriction
CustomCheckFailMsg = “This is for Police Supervisors only!” – Allows you to tell the user what went wrong when attempting to switch jobs
})

TEAM_COMMISSIONER = DarkRP.createJob(“EvoCity Police Commissioner”, {
color = Color(25, 25, 170, 255),
model = {“models/ecpd/male_01_npc.mdl”,
“models/ecpd/male_02_npc.mdl”,
“models/ecpd/male_03_npc.mdl”,
“models/ecpd/male_04_npc.mdl”,
“models/ecpd/male_05_npc.mdl”,
“models/ecpd/male_06_npc.mdl”,
“models/ecpd/male_07_npc.mdl”,
“models/ecpd/male_08_npc.mdl”,
“models/ecpd/male_09_npc.mdl”},
description = [[You are the Police Commissioner, the commander of the Police Task Force. You control who gets promoted and demoted within the task force and make sure everyone is doing their job. Keep the city safe and secure.
(YOU ARE REQUIRED TO TRAIN CADETS WHENEVER THERE ARE SOME ONLINE! FAILURE TO DO SO WILL RESULT IN DEMOTION!)]],
weapons = {“fas2_glock20”, “fas2_m3s90”, “fas2_m4a1”, “stunstick”, “door_ram”, “weaponchecker”},
command = “commissioner”,
max = 10,
salary = GAMEMODE.Config.normalsalary * 1.80,
admin = 0,
vote = false,
hasLicense = true,
candemote = true,
chief = true,
category = “Police Department”,
customCheck = function(ply) return ply:CheckGroup(“Police Commissioner”) or ply:IsAdmin() end, – The extra check function. Enter nil or nothing to not have a restriction
CustomCheckFailMsg = “This is for Police Commissioners only!” – Allows you to tell the user what went wrong when attempting to switch jobs
})

TEAM_MEDICAL = DarkRP.createJob(“EvoCity Medical Officer”, {
color = Color(0, 255, 255, 255),
model = {“models/redninja/pmedic01.mdl”,
“models/redninja/pmedic02.mdl”,
“models/redninja/pmedic01f.mdl”,
“models/redninja/pmedic02f.mdl”},
description = [[You are the average Medical Officer in the city of Evo City! You must save the civilians lives as soon as possible!]],
weapons = {“weapon_medkit”},
command = “ems”,
max = 4,
salary = GAMEMODE.Config.normalsalary * 1.25,
admin = 0,
vote = true,
hasLicense = false,
candemote = false,
category = “Emergency Medical Services”,
CustomCheckFailMsg = “The Hospital is full! You must wait for an opening.” – Allows you to tell the user what went wrong when attempting to switch jobs
})

TEAM_FIRE = DarkRP.createJob(“EvoCity Firefighter”, {
color = Color(224, 36, 36, 255),
model = {“models/fearless/fireman2.mdl”},
description = [[You are the average Firefighter in the Fire Department of Evo City! Protect the city from fires and save lives!]],
weapons = {“weapon_extinguisher”, “weapon_medkit”, “door_ram”},
command = “firefighter”,
max = 6,
salary = GAMEMODE.Config.normalsalary * 1.50,
admin = 0,
vote = true,
hasLicense = false,
candemote = false,
category = “Fire Department”,
CustomCheckFailMsg = “The Fire Station is full! You must wait for an opening.” – Allows you to tell the user what went wrong when attempting to switch jobs
})

end
[/lua]

Please do not leave any hate on my jobs, I am still working on them. :cry: And yes, I have added multiple ‘end’ functions to the end, it would add more errors.

have you tried removing the “end”

Yep, remove the end. (Last line)

Wow thanks. I kinda feel a bit stupid now, thank you for the help gentlemen.