RageUI et les ESX.TriggerServerCallBack

Bonjour, bonsoir

● Machine locale, VPS, dédié ? local et VPS
● Framework utilisé (ES/ESX/…) ESX
● Nom de la ressource RageUI

● Quand est-ce que l’erreur apparaît ? A la création d’un menu avec RageUI avec un server callback de esx
● Screen du bugimage

Je sollicite donc votre aide pour ce problème qui commence à être récurent pour ma part. Dès que je souhaite créer un menu en RageUI qui intègre un ESX.TriggerServerCallback j’obtiens un menu comme sur l’image, clignotant sans trop savoir si il doit afficher les boutons ou non.

Y a-t-il un moyen de régler ce soucis ou je vais devoir chercher un autre moyen ?

Merci d’avance :slight_smile:

Je me permet de faire un petit up car j’ai toujours pas trouver de solution et j’en ai vraiment besoin, ne serais-ce qu’un indice

Bonjour,

C’est, je pense tard pour vous @Dragonir44 mais j’ai résolu ce problème en faisant ça:

local weaponStored = {}
...
Citizen.CreateThread(function()
	while true do
		    Citizen.Wait(0)
                    if RageUI.Visible(RMenu.Get('armory', 'getWeapons')) then
                           ESX.TriggerServerCallback('esx_policejob:getArmoryWeapons', function(weapons)
                                    for i = 1, #weapons, 1 do
                                        if weapons[i].count > 0 then
                                            weaponStored = weapons
                                        end
                                    end
                           end)
                           OpenGetWeaponMenu()
                    end
        end
end)

Visiblement c’est mieux d’assigner la valeur à une variable plutôt que de table.insert, la boucle qu’effectue le callback dans un table.insert va cumuler les valeurs alors que l’assignation va systématiquement écraser les précédentes. Je n’ai pas vérifié toutefois il est sûrement préférable de s’assurer de bien vider la variable lorsqu’on ferme le menu comme suit:

RMenu.Add('armory', 'getWeapons', RageUI.CreateSubMenu(RMenu.Get('rageui', 'armory'), 'Prendre une arme'))
RMenu.Get('armory', 'getWeapons').Closed = function() 
    weaponStored = {}
end

j’espère que ça aidera :grin: