Registering Papers
Types
PaperContext
| Field | Type | Description |
|---|---|---|
| id | string | Unique id of the paper |
| label | string | Label of the paper |
| price | number? | Price of the paper |
| icon | string? | Fontawesome icon to use in menus. |
| canPublish | function(source: number): boolean | Function that determines is player allowed to publish article from this paper. |
| canDelete | function(source: number): boolean | Function that determines is player allowed to delete article from this paper. |
| onPurchased | function(source: number)? | Function that executes when someone purchased a newspaper from this paper. |
How to Register Paper?
You can register paper using API.RegisterPaper. You can find default WeazelNews paper in
no-newspaper/newspapers/sh_weazelnews.lua You can copy this file and edit variables to create a new paper or you can register paper from another resource using API. API examples can be found in no-newspaper/api/server/examples.lua
Examples
local API = exports["no-newspaper"]
local WeazelNews = API:RegisterPaper({
id = "weazelnews",
label = "Weazel News",
canPublish = function(source)
local player = ESX.GetPlayerFromId(source)
return player and player.job.name == "weazelnews"
end,
canDelete = function(source)
local player = ESX.GetPlayerFromId(source)
return player and player.job.name == "weazelnews"
end
})
local function PrintArticles(articles)
for _, article in pairs(articles) do
print(article.id)
print(article.header)
print(article.author)
print(article.content)
print(article.image)
print(article.date)
end
end
local function PrintAllArticles()
local articles = WeazelNews:GetAllArticles()
PrintArticles(articles)
end
local function PrintArticlesByDate(date)
local articles = WeazelNews:GetArticles(date)
PrintArticles(articles)
end
RegisterNetEvent("jail:player", function(source, months)
local player = ESX.GetPlayerFromId(source)
if not player then return end
local fullname = player.get("firstname") .. " " .. player.get("lastname")
WeazelNews:Publish({
header = "Jail Sentence",
author = "Bolingbroke Penitentiary",
content = fullname .. " sentenced for " .. months .. " months in jail!"
})
end)