![🖌️ Graffiti - Spray your ideas [ESX/QB/ANY] main image](https://forum-cfx-re.akamaized.net/optimized/4X/4/a/e/4aeccdb1922c1928485fae96490ba5de2990ebe6_2_646x500.jpeg)
Price
$24.99A script by wjuton
Price
$24.99Price: 24.99€ (+ tax)
Click here to buy!
Update/Changelog - 1.5.3
Images are now uploaded to a web based server to reduce network latency
Bumped default Width and Height to 400
Fixed bunch of misspellings of the word “graffiti”
Some minor fixes here and there…
Update/Changelog - 1.5.2
Fixed an issue where after cleaning/removing an graffiti it wont remove itself
Added more options to config (animation clip & dict)
Update/Changelog - 1.5.1 // hotfix
Fixed a bug where the texture loads twice
Fixed the server-side loaded graffiti counter for mixed-arrays
Update/Changelog - 1.5
Added opacity clamp to config
Exposed more functions for integration
Fixed few client-side bugs
Fixed a bug regardingQB
implementation
--- Returns the runtime list of existing graffitis
---@return Grafitti[]
function GetGraffitiList() end
function UpdateGrafittiDiskData() end
Update/Changelog - 1.4
Added rotation on the Z axis (by pressing SHIFT and arrows when placing)
Graffitis are now saved at an interval and only when needed
Exposed more functions (client-side)
Optimized client-side a bit
AddedConfig.CleanMaxRayDistance
Update/Changelog - 1.3 & 1.3.1
Added scale clamp to configuration
Added possiblity to change the output opacity
Added more configuration options (toggle animation & its duration, max raycast distance)
(EXPERIMENTAL)
Tweaked a bit result position so its more convienient for the player
Update/Changelog - 1.2
Lazy load only new graffitis (HOTFIX)
Addedgraffiti
parameter to all already exposed APIs that can support it
Update/Changelog - 1.1
Added ability to remove graffitis (external item)
Exposed some internal functions
Config = {
Canvas = {
Width = 200,
Height = 200,
},
CullingDistance = 150.0,
ScaleClamp = {
Min = 0.25,
Max = 1.5,
Step = 0.025
},
OpacityClamp = {
Min = 0,
Max = 100,
Step = 30
},
-- how far from the wall you can be to draw
DrawMaxRayDistance = 10.0,
-- shaking & spraying animation options
DrawAnimation = {
Enabled = true,
ShakeSprayDuration = 2500,
SprayingDuration = 5000,
},
CleanMaxRayDistance = 3.0,
-- cleaning animation options
CleanAnimation = {
Enabled = true,
Duration = 5000,
},
Integration = {
Item = "spraycan",
CleanItem = "acetone",
-- for how long the grafitti should stay (in seconds)
-- default: 3 days
DisappearTime = 86400 * 3,
-- this option is by default set to true but in some cases you would want to set it to false (anticheat-wise?)
NetworkedAnimation = true,
-- max distance a player can be from a graffiti to remove it.
MaxCleanDistance = 10.0
},
Localization = {
CleanGraffiti = "Cleaning graffiti",
CleanGraffitiText = "Hover over a graffiti and press **ENTER** to clean it. **BACKSPACE** to cancel",
BrushSize = "Size",
BrushColor = "Color",
SavedCanvases = "Saved Canvases",
Accept = "Accept",
Cancel = "Cancel",
EditText = "Use your **ARROW** keys to adjust the grafitti, **SCROLL** to scale and **PGUP/PGDOWN** to change opacity",
SaveCanvas = "Save Canvas",
CanvasName = "Canvas Name",
PasteImage = "Paste Image",
NoSavedCanvases = "No saved canvases",
SaveCanvasItem = "Press RMB to save this canvas",
ShakeSpray = "Shaking the spraycan",
Spraying = "Spraying"
}
}
-- How fast (per seconds) should each grafitti sent over the network, by default it's using the maximal canvas size
Config.BytesPerSeconds = (Config.Canvas.Width * Config.Canvas.Height) * 0.25
If you need any support, have an idea/feature request please reach out and contact me via informations in my bio
Code is accessible | Partly (server side framework integration & configuration) |
Subscription-based | No, you pay only ONCE |
Lines (approximately) | 700 |
Requirements | ox_lib |
Support | Yes |
No approved reviews found for this script yet.