Aller au contenu
Rechercher dans
  • Plus d’options…
Rechercher les résultats qui contiennent…
Rechercher les résultats dans…
Bienvenue Invité!

Rejoignez la communauté pour avoir accès à l'entièreté du site! Une fois que vous serez enregistré, vous pourrez créer, aider, partager et discuter avec les membres de la communauté et également participer à l'amélioration du site. Alors, qu'attendez vous ? Enregistrez-vous !

  • 0
Tony Stark

résolu Problème avec les natives des alarmes

Question

Tony Stark

Quelle OS utilisez vous sur votre machine ? : Linux sur VPS, Windows en local

Sur quel framework travaillez vous? (ESX/VRP/ES/Autre) : ESX

Êtes vous sûr d'avoir la dernière version de votre framework ? : Oui

Explication de votre problème :

 

Bonjour à tous, j'ai un petit souci avec les alarmes des véhicules, lorsque je rentre dans le véhicule, aucune alarme, elle ne se déclenche qu'une fois sorti du véhicule, là je suis un peu perdu 🤔

Citizen.CreateThread(function()
	while true do
		Citizen.Wait(10)
		local playerPed = PlayerPedId()
		local vehicle = GetVehiclePedIsIn(playerPed, false)
		if (GetPedInVehicleSeat(vehicle, -1) == playerPed) then
			if PlayerData.job ~= nil and PlayerData.job.name ~= 'XXXX' and PlayerData.job.name ~= 'YYYY' then
				SetVehicleAlarm(vehicle, true)
				StartVehicleAlarm(vehicle)
			end
		end
	end
end)

SetVehicleAlarm : https://runtime.fivem.net/doc/natives/#_0xCDE5E70C1DDB954C

StartVehicleAlarm : https://runtime.fivem.net/doc/natives/#_0xB8FF7AB45305C345

Modifié par Tony Stark

Partager ce message


Lien à poster
Partager sur d’autres sites

5 réponses à cette question

Messages recommandés

  • 1
Anthony

Alors c'est très bizarre, quand je rentre dans le véhicule, l'alarme sonne directement 🤔 

 

Petite modification dans le code qui peut changer quelque chose, je te laisse essayer de ton côté, pour moi l'alarme fonctionne bien dès l'entrée dans le véhicule

 

Citizen.CreateThread(function()
    while true do
        Citizen.Wait(1)

        local myPed = GetPlayerPed(-1)


        if(IsPedInAnyVehicle(myPed, false))then
            local myVehicle = GetVehiclePedIsIn(myPed, false)
            if(not IsVehicleAlarmActivated(myVehicle)) then
                SetVehicleAlarm(myVehicle, 1)
            end
		StartVehicleAlarm(myVehicle)
        end


    end

end)

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Anthony

Bonjour, après plusieurs test voici les résultats:

 

1 - Pour commencer la native SetVehicleAlarm() ne fait strictement rien.

2 - T'es conditions sont pas bonne, il est inutile de voir si le joueur qui rentre dans le véhicule c'est bien toi.

3 - Pour le problème de l'alarme qui s'actionne seulement a la sortie du véhicule, ce code te permet de l'activé dès l'entrée.

 

Citizen.CreateThread(function()
    while true do
        Citizen.Wait(1)
        local myPed = GetPlayerPed(-1)
      
        if(IsPedInAnyVehicle(myPed, false))then
            local myVehicle = GetVehiclePedIsIn(myPed, false)
		StartVehicleAlarm(myVehicle)
        end
      
    end
end)

En espérant t'avoir aidé.

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Tony Stark

Coucou Anthony, merci d'avoir prit le temps de me répondre, pour la native SetVehicleAlarm je m'en doutais un peu, mais sans cette native, StartVehicleAlarm  ne fonctionne pas, j'ai d'ailleurs été conforté dans cette idée, quand j'ai vu que les 2 natives étaient utilisées aussi dans le job mécano https://github.com/ESX-Org/esx_mechanicjob/blob/master/client/main.lua#L681

 

Il y a 8 heures, Anthony a dit :
Citizen.CreateThread(function()
    while true do
        Citizen.Wait(1)
        local myPed = GetPlayerPed(-1)
      
        if(IsPedInAnyVehicle(myPed, false))then
            local myVehicle = GetVehiclePedIsIn(myPed, false)
		StartVehicleAlarm(myVehicle)
        end
      
    end
end)

 

 

Ton code fonctionne comme le mien, je suis obligé d'ajouter la native SetVehicleAlarm(myVehicle, true), sinon la native StartVehicleAlarm(myVehicle) ne fait rien...

Donc obligé d'avoir 

 

Citizen.CreateThread(function()
    while true do
        Citizen.Wait(1)
        local myPed = GetPlayerPed(-1)
      
        if(IsPedInAnyVehicle(myPed, false))then
            local myVehicle = GetVehiclePedIsIn(myPed, false)
		SetVehicleAlarm(myVehicle, true)
		StartVehicleAlarm(myVehicle)
        end
      
    end
end)

Dans ce cas-ci, l'alarme se met en fonction, mais encore une fois, à la sortie du véhicule... 😐

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Tony Stark

Yep, là c'est parfait, un grand merci Anthony :)

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Kanda Sorata

Problème réglé je verrouille le sujet ;)

Partager ce message


Lien à poster
Partager sur d’autres sites
Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

En utilisant ce site, vous acceptez les présents règlements Conditions d’utilisation, Politique de confidentialité,Règles.