Hello to whom ever reads.
I just got around to testing out some things with the screenshot-basic API and a few different server host solutions, so I thought I’d make a general guide of how to setup what worked for me.
Now, I had a need to run my image server/host inside a docker container, so this example will be using docker, if you do not have any idea what docker is, go google how to install and or use it first.
I also did not want to use imgur or other sites.
So with that in mind, I stumbled across:
https://github.com/hauxir/imgpush
Imgpush acts as both an image host to view the image online, but also as host to send images too.
So, with that I simply ran it as per it’s readme.md.
Please review its configuration settings prior to starting
Please replace the obvious within the below.
docker run -v <PATH TO STORE IMAGES>:/images -p 5000:5000 hauxir/imgpush:latest
My run command was as follows.
docker run --restart always -e NAME_STRATEGY="uuidv4" -s -v /home/fivem/screenshots:/images -p 5000:5000 hauxir/imgpush:latest
Presto, I tested it with a curl from my local machine and it responded with the filename it generated and appeared in the location I specified. Also appeared in chrome when i used it’s http://IP:PORT/Filename.png
. Great!
So onto screenshot basic…
To test, I used a command and a simple event trigger.
Please replace the obvious within the below.
RegisterNetEvent("Test")
AddEventHandler("Test", function()
local server = 'http://THE.IPADDRESS.OFYOUR.IMAGESERVER:5000'
exports['screenshot-basic']:requestScreenshotUpload(server, 'file', {encoding = 'png', quality = 0.88}, function(data)
print(data)
local t = json.decode(data) -- returns a table
local link = format.string('%s/%s',server,t.filename)
TriggerEvent('chat:addMessage', { template = '<img src="{0}" style="width: 50%; height: 43%;" />', args = {link} })
end)
end)
---
RegisterCommand('Screenshot', function() TriggerEvent('Test') end, false)
RegisterKeyMapping('Screenshot', 'Testing', 'keyboard', '/') -- Keybind Default(Menu/Settings/Keybinds/FiveM)....
Please excuse errors, I’m on my phone
It should pop the screenshot up into your chat window. Cool right?
Now you have an image in your chat window.
But really the image is on your server, you recieved the name of the file on the server and used the image host to link and embed it into the chat via a html img.
Have fun with the screenshots!
https://github.com/Twiitchter/FiveM-ImageHost