FiveM Snippets - Creative Network
Esta extensão adiciona alguns snippets feitos especialmente para bases Creative v4 e Creative v5, para facilitar o desenvolvimento de scripts.
Qualquer erro ou até sugestões de novos atalhos podem ser enviados diretamente à mim, através do Discord @heyyczer
.
Snippets disponíveis
Atualmente contamos com 41 snippets.
defaultClient1
Cria o header de um arquivo client, sem o tunnel server -> client
---@diagnostic disable-next-line: deprecated
Tunnel = module("vrp", "lib/Tunnel")
---@diagnostic disable-next-line: deprecated
Proxy = module("vrp","lib/Proxy")
---@diagnostic disable-next-line: undefined-field
vRP = Proxy.getInterface("vRP")
---@diagnostic disable-next-line: undefined-field
vSERVER = Tunnel.getInterface(GetCurrentResourceName())
defaultClient2
Cria o header de um arquivo client, com tunnel server -> client
---@diagnostic disable-next-line: deprecated
Tunnel = module("vrp", "lib/Tunnel")
---@diagnostic disable-next-line: deprecated
Proxy = module("vrp", "lib/Proxy")
---@diagnostic disable-next-line: undefined-field
vRP = Proxy.getInterface("vRP")
src = {}
---@diagnostic disable-next-line: undefined-field
Tunnel.bindInterface(GetCurrentResourceName(), src)
---@diagnostic disable-next-line: undefined-field
vSERVER = Tunnel.getInterface(GetCurrentResourceName())
defaultServer2
Cria o header de um arquivo server, com um tunnel server -> client
---@diagnostic disable-next-line: deprecated
Tunnel = module("vrp","lib/Tunnel")
---@diagnostic disable-next-line: deprecated
Proxy = module("vrp", "lib/Proxy")
---@diagnostic disable-next-line: undefined-field
vRP = Proxy.getInterface("vRP")
---@diagnostic disable-next-line: undefined-field
vRPclient = Tunnel.getInterface("vRP")
src = {}
---@diagnostic disable-next-line: undefined-field
Tunnel.bindInterface(GetCurrentResourceName(), src)
---@diagnostic disable-next-line: undefined-field
vCLIENT = Tunnel.getInterface(GetCurrentResourceName())
defaultServer1
Cria o header de um arquivo server, sem o tunnel server -> client
---@diagnostic disable-next-line: deprecated
Tunnel = module("vrp","lib/Tunnel")
---@diagnostic disable-next-line: deprecated
Proxy = module("vrp", "lib/Proxy")
---@diagnostic disable-next-line: undefined-field
vRP = Proxy.getInterface("vRP")
---@diagnostic disable-next-line: undefined-field
vRPclient = Tunnel.getInterface("vRP")
src = {}
---@diagnostic disable-next-line: undefined-field
Tunnel.bindInterface(GetCurrentResourceName(), src)
defaultManifest
Cria o modelo padrão de um manifest, sem interface.
fx_version "cerulean"
game "gta5"
lua54 "yes"
author "${1:author}"
version "${2:1.0.0}"
description "${3:description}"
shared_script {
"@vrp/lib/Utils.lua",
"config/*",
"src/shared.lua",
}
client_scripts {
"src/client.lua",
}
server_scripts {
"src/server.lua",
}
defaultManifestNUI
Cria um modelo padrão de manifest, com NUI.
fx_version "cerulean"
game "gta5"
lua54 "yes"
author "${1:author}"
version "${2:1.0.0}"
description "${3:description}"
files {
"src/ui/**"
}
ui_page "src/ui/index.html"
shared_script {
"@vrp/lib/Utils.lua",
"config/*",
"src/shared.lua",
}
client_scripts {
"src/client.lua",
}
server_scripts {
"src/server.lua",
}
sendWebhook, sendWebhookB, sendWebhookBlue
Padrão básico para envio de webhooks
PerformHttpRequest("${1:url}", function() end, 'POST', json.encode({
embeds = {
{
title = "${2:title}",
fields = {
{
name = "${3:name}",
value = "${4:value}"
},
},
thumbnail = {
url = "${5:imageUrl}"
},
footer = {
text = os.date('%d/%m/%Y | %H:%M:%S')
},
-- Escolher uma cor: https://coolors.co/palettes/trending (0x[HEX])
color = 0x00b4d8 -- BLUE
}
}
}), {["Content-Type"] = "application/json"})
sendWebhookR, sendWebhookRed
Padrão básico para envio de webhooks
PerformHttpRequest("${1:url}", function() end, 'POST', json.encode({
embeds = {
{
title = "${2:title}",
fields = {
{
name = "${3:name}",
value = "${4:value}"
},
},
thumbnail = {
url = "${5:imageUrl}"
},
footer = {
text = os.date('%d/%m/%Y | %H:%M:%S')
},
-- Escolher uma cor: https://coolors.co/palettes/trending (0x[HEX])
color = 0xe63946 -- RED
}
}
}), {["Content-Type"] = "application/json"})
sendWebhookG, sendWebhookGreen
Padrão básico para envio de webhooks
PerformHttpRequest("${1:url}", function() end, 'POST', json.encode({
embeds = {
{
title = "${2:title}",
fields = {
{
name = "${3:name}",
value = "${4:value}"
},
},
thumbnail = {
url = "${5:imageUrl}"
},
footer = {
text = os.date('%d/%m/%Y | %H:%M:%S')
},
-- Escolher uma cor: https://coolors.co/palettes/trending (0x[HEX])
color = 0x52b788 -- GREEN
}
}
}), {["Content-Type"] = "application/json"})
NotifyS, NotifyServer, SendNotifyServer
Envia uma notificação via server-side
TriggerClientEvent("Notify", ${1:target}, "${2:type}", "${3:message}")
NotifyC, NotifyClient, SendNotifyClient
Envia uma notificação via client-side
TriggerEvent("Notify", "${1:type}", "${2:message}")
defaultCommand, defaultCommandC
Cria um modelo básico de comando
RegisterCommand("${1:commandName}", function(source, args, rawCommand)
${2:content}
end, false)
webhookField
Campo de webhook
{
name = "{name}",
value = {value}
},
Valor de campo de webhook com format
(```ini\n${1:content}\n```):format(${2:variables})
webhookValue
Campo de webhook formatado
```ini\n${1:content}\n```
oxmysql_query, oxquery, queryAsync
Cria uma query utilizando o export do oxmysql
local ${1:result} = exports.oxmysql:query_async("${2:query}", { ${3:data} })
oxmysql_scalar, oxscalar, scalarAsync
Cria uma query que retorna a primeira coluna do primeiro resultado
local ${1:result} = exports.oxmysql:scalar_async("${2:query}", { ${3:data} })
insertAsync, oxinsert, oxmysql_insert
Cria uma query utilizando o export do oxmysql
local ${1:insert_id} = exports.oxmysql:insert_async("${2:query}", { ${3:data} })
getUserId
Retorna o ID do jogador pela source
local ${1:user_id} = vRP.getUserId(${2:source})
Source, getUserSource, userSource
Retorna a source do jogador pelo ID
local ${1:player} = vRP.userSource(${2:user_id})
Identity, getUserIdentity, userIdentity
Retorna a identidade do jogador pelo ID
local ${1:identity} = vRP.userIdentity(${2:user_id})
local ${3:playerName} = ${1:identity}.name .. " " .. ${1:identity}.name2
-- local ${4:playerNameWithId} = ("[%s] %s"):format(${2:user_id}, ${3:playerName})
addPermission, addUserGroup, setPermission
Dar uma permissão para um jogador pelo ID
vRP.setPermission(${1:user_id}, ${2:group})
remPermission, removePermission, removeUserGroup
Remover uma permissão pelo ID
vRP.remPermission(${1:user_id}, ${2:group})
GetPlayerCoordsServer, PlayerCoordsServer, getPositionServer
Retorna a coordenada do jogador via server-side
local ${1:coords} = GetEntityCoords(GetPlayerPed(${2:source}))
prepare
Padrão para realizar um prepare
vRP.prepare(${1:name}, ${2:sqlQuery})
execute
Padrão para realizar uma query execute
local ${1:result} = vRP.execute(${2:name}, ${3:data})
query
Padrão para realizar uma query
local ${1:result} = vRP.query(${2:name}, ${3:data})
getUData, getUserData, userData
Pegar um dado por chave-valor
local ${1:data} = vRP.userData(${2:user_id})
setUData, setUserData
Um atalho para a query de setar dados chave-valor
vRP.execute("playerdata/getUserdata", { user_id = ${1:user_id}, key = ${2:key} })
ClosestPeds, getClosestPeds, getNearestPlayers, nearestPlayers
Retorna todos os jogadores próximos de um jogador em um raio
local ${1:players} = vRP.nearestPlayer(${2:radius})
ClosestPed, getClosestPed, getNearestPlayer, nearestPlayer
Retorna o jogador mais próximo de um jogador em um raio
local ${1:player} = vRP.nearestPlayer(${2:radius})
createObjects
vRP.createObjects(${1:dict}, ${2:anim}, ${3:prop}, ${4:flag}, ${5:bone}, ${6:posX}, ${7:posY}, ${8:posZ}, ${9:offsetX}, ${10:offsetY}, ${11:offsetZ})
removeObjects
Cancela uma animação com objeto
vRP.removeObjects()
createObjectsS, createObjectsServer
Realiza uma animação com objeto via server-side
vRPC.createObjects(${1:source}, ${2:dict}, ${3:anim}, ${4:prop}, ${5:flag}, ${6:bone}, ${7:posX}, ${8:posY}, ${9:posZ}, ${10:offsetX}, ${11:offsetY}, ${12:offsetZ})
removeObjectsS, removeObjectsServer
Cancela uma animação com objeto
vRPC.removeObjects(${1:source})
playAnim, playAnimC, playAnimClient
Realiza uma animação via client-side
vRP.playAnim(${1:animUpper}, { ${2:animDict}, ${3:animName} }, ${4:animLoop})
playAnimS, playAnimServer
Realiza uma animação via server-side
vRPC.playAnim(${1:source}, ${2:animUpper}, { ${3:animDict}, ${4:animName} }, ${5:animLoop})
stopAnim, stopAnimC, stopAnimClient
Cancela uma animação via client-side
vRP.stopAnim()
stopAnimS, stopAnimServer
Cancela uma animação via server-side
vRPC.stopAnim(${1:source})
playAnim, playAnimC, playAnimClient
Faz o jogador executar uma animação via client-side
vRP.playAnim(${1:animUpper}, { ${2:animDict}, ${3:animName} }, ${4:animLoop})
stopAnim, stopAnimC, stopAnimClient
Cancela uma animação do jogador via client-side
vRP.stopAnim()