Functions
All editable axr_hudv1 functions
Functions are made for a basic Dunko vRP base. If your functions are not matching please edit vRP. functions from config/functions.lua
Config.NotifyFunction = function(msg, type, source) -- global function
if source then
-- for server side
vRPclient.notify(source, { msg, type })
else
-- for client side
vRP.notify({ msg, type })
end
end
Config.getOwnedVehicle = function() -- from client side
--##### EDIT FUNCTION FOR YOUR OWN GAMEMODE BASE (default vRP dunko) #####--
local ok, vtype, vname, plate, entity = vRP.getNearestOwnedVehicle({ 5 })
return ok, vname, entity;
end
Config.getNearestPlayer = function(user_id, src) -- from server side
if user_id and src then
local target = promise.new();
vRPclient.getNearestPlayer(src, { 3 }, function(nplayer)
if nplayer then
local target_id = vRP.getUserId { nplayer };
if target_id then
target:resolve(target_id);
end
target:resolve(nil);
else
target:resolve(nil);
end
end)
Citizen.Await(target);
return target.value;
end
end
Config.getNearestPlayers = function() -- from client side
local players = vRP.getNearestPlayers({ 3 });
return players;
end
Config.getPlayerRoleplayName = function(user_id, source) -- for server side
local find, fullname = promise.new(), nil; -- dont edit
vRP.getUserIdentity({ user_id, function(identity) -- edit your identity function for your own server
if identity then
fullname = identity.firstname .. " " .. identity.name; -- edit table keys for your own function
find:resolve() -- dont edit
end
end })
-- dont edit below
Citizen.Await(find)
return fullname
end
Config.getPlayerCashMoney = function(user_id, source) -- for server side
if user_id then
return vRP.getMoney { user_id }
end
return 0;
end
Config.canUseFastSlots = function() -- for client side
if not vRP.isInComa() and not vRP.isHandcuffed() then
return true;
end
end
Config.weaponAcces = function(weapon) -- from client side
if vRP.isInComa {} or vRP.isHandcuffed {} then
return false;
end
return true;
end
Config.getTrunkItems = function(user_id, vehicle) -- from server side
local vehData = exports[Config.Sql]:executeSync(
'SELECT trunk FROM vrp_user_vehicles WHERE user_id = @user_id AND vehicle = @vehicle',
{ user_id = user_id, vehicle = vehicle })
if vehData and #vehData == 1 then
return json.decode(vehData[1].trunk);
end
end
Config.getGloveboxItems = function(user_id, vehicle) -- from server side
local vehData = exports[Config.Sql]:executeSync(
'SELECT glovebox FROM vrp_user_vehicles WHERE user_id = @user_id AND vehicle = @vehicle',
{ user_id = user_id, vehicle = vehicle })
if vehData and #vehData == 1 then
return json.decode(vehData[1].glovebox);
end
end
Config.request = function(user_id, src, message) -- from server side
if not user_id then return 0 end;
local find, answer = promise.new(), nil;
vRP.request({ src, message, 20,
function(player, ok)
answer = ok or false
find:resolve()
end })
Citizen.Await(find);
return answer;
end
Config.hasChestPermission = function(user_id, chestData)
if user_id and chestData then
if chestData.faction then
return vRP.isUserInFaction { user_id, chestData.faction };
end
if chestData.group then
return vRP.hasGroup { user_id, chestData.group };
end
if chestData.permission then
return vRP.hasPermission { user_id, chestData.permission };
end
return true;
end
end
Config.progressBar = function(text, time) -- from client side (time in miliseconds | seconds * 1000)
exports["rprogress"]:Start(text, time);
end
Config.showTextUI = function(message)
exports['axr_hudv1']:showTextUI('E','Chest',message)
end
Config.HideStaticNotify = function(msg)
exports['axr_hudv1']:hideTextUI();
end
Config.drawMarker = function(marker, coords, r, g, b)
DrawMarker(marker, coords - vector3(0, 0, 0.95), 0, 0, 0,
0, 0, -100, 1.2001, 1.2001, 1.2001, r, g, b, 100,
0, 1, 0, 0)
end
-- onUse item functions
Config.drinkWater = function(user_id, source, item, varyThirst) -- from server side
if user_id and source then
if Items[item] then
vRP.varyHunger({ user_id, varyThirst })
local seq = {
{ "mp_player_intdrink", "intro_bottle", 1 },
{ "mp_player_intdrink", "loop_bottle", 1 },
{ "mp_player_intdrink", "outro_bottle", 1 }
}
vRPclient.notify(source, { "Bei " .. Items[item].name .. ".", 'info' })
vRPclient.playAnim(source, { true, seq, false })
exports.axr_inventory:removePlayerItem(user_id, item, 1, true, 'Drinking')
end
end
end
Config.eatFood = function(user_id, source, item, varyHunger) -- from server side
if user_id and source then
if Items[item] then
vRP.varyHunger({ user_id, varyHunger })
local seq = {
{ "mp_player_intdrink", "intro_bottle", 1 },
{ "mp_player_intdrink", "loop_bottle", 1 },
{ "mp_player_intdrink", "outro_bottle", 1 }
}
vRPclient.notify(source, { "Mananci " .. Items[item].name .. ".", 'info' })
vRPclient.playAnim(source, { true, seq, false })
exports.axr_inventory:removePlayerItem(user_id, item, 1, true, 'Eating')
end
end
endLast updated