Aller au contenu

Pour les développeurs

Pour les développeurs de scripts. Tous les exports d’ox_target fonctionnent comme avant, et un export est ajouté pour lire le curseur.

Tous les exports, options et événements de l’ox_target officiel fonctionnent de la même façon : addBoxZone, addGlobalVehicle, addLocalEntity et les autres, ainsi que les champs d’option comme onSelect, event, serverEvent, canInteract, groups, items ou openMenu. Réfère-toi à la documentation officielle.

  • icon prend une classe Font Awesome, comme avant, par exemple fa-solid fa-car.
  • iconColor remplit la tuile placée derrière l’icône.
  • Les couleurs blanc, gris, noir et transparent donnent à la place une tuile givrée, pour qu’une icône blanche reste lisible aussi sur les thèmes clairs.
  • Sans iconColor, la tuile prend la couleur d’accent du thème.
client.lua
exports.ox_target:addGlobalVehicle({
{
name = 'my_script:repair',
icon = 'fa-solid fa-wrench',
iconColor = '#ff9f0a',
label = 'Repair',
onSelect = function(data)
-- data.entity is the vehicle
end,
},
})

exports.ox_target:getCursor() est un export client ajouté par ox_target Redesigned.

Tant qu’un joueur cible en mode curseur, il renvoie { x, y, menu } : la position du pointeur de 0 à 1, et si les options sont ouvertes. Le reste du temps, il renvoie nil.

En mode curseur, la page de ciblage capte la souris : IsNuiFocused() est donc vrai pendant toute la durée du maintien. Un script avec son propre menu contextuel peut lire le pointeur ici et continuer à utiliser le clic droit.

client.lua
local cursor = exports.ox_target:getCursor()
if cursor and not cursor.menu then
-- The player aims with the mouse, at cursor.x and cursor.y (0 to 1).
end

Pour habiller ta propre interface comme ox_target et ox_lib Redesigned, lis le thème d’ox_lib Redesigned 1.1.0 ou plus récent : exports.ox_lib:getThemeTokens() renvoie ses variables CSS, et l’événement client ox_lib:themeChanged se déclenche quand elles changent.