Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Bienvenue Guest!

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
Sign in to follow this  
Zuldis

non résolu Coffre des véhicules

Question

Zuldis

Quel OS utilisez vous sur votre machine ? : Local (Windows) Machine (Linux)

Chez quel hébergeur êtes-vous ? : Microserum
Sur quel framework travaillez vous? (ESX/VRP/ES/Autre) : ESX

Quel est le script que vous utilisez (+version)? : dernière
Qu'avez vous-essayé auparavant ? (Vider votre cache, installation du script au propre etc...): Coffre de véhicule 
Êtes vous sûr d'avoir la dernière version de votre framework ? : Oui

 

Explication de votre problème :

 

Bonjours je vous contacte car j'ai commencé à développer il n'a pas si longtemps que çà et là je suis tombé sur un problème que je n'arrive pas à résoudre c'est tout simplement que j'aimerais que chaque véhicule ait sa propre contenance maximum car par exemple la Sultan qui est dans la catégorie sport ne peut contenir que  5 kilos.donc même si c'est long j'aimerais fait moi-même le poids de chaque véhicule mais je ne trouve pas :/ je vous mets le script que j'utilise.

 

Config.VehicleLimit = {
    [0] = 25000, --Compact
    [1] = 20000, --Sedan
    [2] = 75000, --SUV
    [3] = 20000, --Coupes
    [4] = 30000, --Muscle
    [5] = 10000, --Sports Classics
    [6] = 5000, --Sports
    [7] = 5000, --Super
    [8] = 5000, --Motorcycles
    [9] = 75000, --Off-road
    [10] = 200000, --Industrial
    [11] = 10000, --Utility
    [12] = 150000, --Vans
    [13] = 0, --Cycles
    [14] = 10000, --Boats
    [15] = 0, --Helicopters
    [16] = 0, --Planes
    [17] = 30000, --Service
    [18] = 30000, --Emergency
    [19] = 0, --Military
    [20] = 300000, --Commercial
    [21] = 0, --Trains
}

Share this post


Link to post
Share on other sites

Recommended Posts

  • 0
Kanda Sorata

Bonsoir, quel script utilises tu exactement ?

Share this post


Link to post
Share on other sites
  • 0
Zuldis
il y a 21 minutes, Kanda Sorata a dit :

Bonsoir, quel script utilises tu exactement ?

Salut merci de ta réponse j'utilise esx_truck-master

 

Share this post


Link to post
Share on other sites
  • 0
Kanda Sorata

Il suffit de modifier l'appel du coffre par ceci à la ligne 88 :

 

OpenCoffreInventoryMenu(GetVehicleNumberPlateText(vehFront),Config.VehicleLimit[vehFront])

et de modifier ton tableau comme ceci :

 

Config.VehicleLimit = {
    car1 = 5000,
    car2 = 500,
    car3 = 6000,
}

 

Share this post


Link to post
Share on other sites
  • 0
Zuldis
Posted (edited)

Juste pour être sur sa ce formulera comme sa ?

 

VehicleLimit = {

 

blista = 5000,

t20 = 1000,

Edited by Zuldis

Share this post


Link to post
Share on other sites
  • 0
Kanda Sorata

C'est ça

 

Config.VehicleLimit = {
    blista = 5000,
    t20 = 500,
    sultanrs = 6000
}

 

Je te conseil cependant de faire une condition avant d'ouvrir ton menu, du type suivant pour éviter une erreur lorsque tu ouvres ton coffre :

 

if VehicleLimit[vehFront] ~= nil then
	OpenCoffreInventoryMenu(GetVehicleNumberPlateText(vehFront),Config.VehicleLimit[vehFront])
else 
	ESX.ShowNotification('Vous essayez d\'ouvrir le véhicule '..vehFront..' mais ne possède pas de coffre')
	print("### MISSING VEHICLE IN CONFIG : "..vehFront)
end

De la sorte au lieu d'avoir une erreur qui bloquera ton script il t'enverra une notification et va te print le véhicule inexistant dans la config et le script n'arrêtera pas de fonctionner

Share this post


Link to post
Share on other sites
  • 0
Zuldis
Posted (edited)
il y a 12 minutes, Kanda Sorata a dit :

C'est ça

 

Config.VehicleLimit = {
    blista = 5000,
    t20 = 500,
    sultanrs = 6000
}

 

Je te conseil cependant de faire une condition avant d'ouvrir ton menu, du type suivant pour éviter une erreur lorsque tu ouvres ton coffre :

 

if VehicleLimit[vehFront] ~= nil then
	OpenCoffreInventoryMenu(GetVehicleNumberPlateText(vehFront),Config.VehicleLimit[vehFront])
else 
	ESX.ShowNotification('Vous essayez d\'ouvrir le véhicule '..vehFront..' mais ne possède pas de coffre')
	print("### MISSING VEHICLE IN CONFIG : "..vehFront)
end

De la sorte au lieu d'avoir une erreur qui bloquera ton script il t'enverra une notification et va te print le véhicule inexistant dans la config et le script n'arrêtera pas de fonctionner

Donc je viens pour un petit rapport je ne sais pas ou mettre la fonction que vous m'avez envoyez et j'ai cette error qui s'affiche :

 

Pour l'error c'est bon juste moi qui avait oublier de mettre mon Sql à jours mais donc je ne sais tj pas ou mettre cette fonction

Edited by Zuldis

Share this post


Link to post
Share on other sites
  • 0
Kanda Sorata

La condition que je t'ai donné ce met à la ligne 88 là ou tu appel le menu, et ton erreur signifie que ton véhicule avec la plaque donnée est déjà existant dans ta base de donnée :)

Share this post


Link to post
Share on other sites
  • 0
Zuldis
il y a 6 minutes, Kanda Sorata a dit :

La condition que je t'ai donné ce met à la ligne 88 là ou tu appel le menu, et ton erreur signifie que ton véhicule avec la plaque donnée est déjà existant dans ta base de donnée :)

J'ai bien mis le script correctement les voiture correcte mais sa ne fonctionne pas 😢

 

image.png.a391487088449785906b3d0cfd95624e.png

 

 

 

image.thumb.png.4d879665b920401753d592cd747c7110.png

Share this post


Link to post
Share on other sites
  • 0
Kanda Sorata

Qu'elle est l'erreur ? De souvenir, il n'y a pas de majuscule sur le nom des véhicules

Share this post


Link to post
Share on other sites
  • 0
Zuldis
il y a 11 minutes, Kanda Sorata a dit :

Qu'elle est l'erreur ? De souvenir, il n'y a pas de majuscule sur le nom des véhicules

Je ne voie aucune erreur mais impossible d'ouvrir un coffre

 

Share this post


Link to post
Share on other sites
  • 0
Kanda Sorata

Regarde dans ta console client au moment d'ouvrir un coffre, et assure toi que les noms des véhicules sont en minuscule dans ton tableau

Share this post


Link to post
Share on other sites
  • 0
Zuldis
il y a 3 minutes, Kanda Sorata a dit :

Regarde dans ta console client au moment d'ouvrir un coffre, et assure toi que les noms des véhicules sont en minuscule dans ton tableau

image.png.6655ffce397700df2b13fc5de57a7b5e.png

 

c'est bien en minuscule je vais essaye de redémarre les server est on va voir si qqlc change ^^  et nah il à bien aucune errer

Share this post


Link to post
Share on other sites
  • 0
Kanda Sorata

Je te parle des noms dans ton tableau dans ton fichier config, as tu au minimum les notifications ?

J'ai trouvé l'erreur, j'ai oublier d'ajouter le 'Config.' dans la condition, voici le code corrigé :

 

if Config.VehicleLimit[vehFront] ~= nil then
	OpenCoffreInventoryMenu(GetVehicleNumberPlateText(vehFront),Config.VehicleLimit[vehFront])
else 
	ESX.ShowNotification('Vous essayez d\'ouvrir le véhicule '..vehFront..' mais ne possède pas de coffre')
	print("### MISSING VEHICLE IN CONFIG : "..vehFront)
end

 

Share this post


Link to post
Share on other sites
  • 0
Zuldis
il y a 5 minutes, Kanda Sorata a dit :

Je te parle des noms dans ton tableau dans ton fichier config, as tu au minimum les notifications ?

J'ai trouvé l'erreur, j'ai oublier d'ajouter le 'Config.' dans la condition, voici le code corrigé :

 

if Config.VehicleLimit[vehFront] ~= nil then
	OpenCoffreInventoryMenu(GetVehicleNumberPlateText(vehFront),Config.VehicleLimit[vehFront])
else 
	ESX.ShowNotification('Vous essayez d\'ouvrir le véhicule '..vehFront..' mais ne possède pas de coffre')
	print("### MISSING VEHICLE IN CONFIG : "..vehFront)
end

 

Non je n'est même pas les notifications et j'ai bien corriger le script du cout mais toujours rien et mon tableau j'ai bien remis en minuscule les nom rien mais rien ne change toujours rien comme si le script étais pas la image.thumb.png.a72c19d5a3054696c9fd2a878146bce1.png

Share this post


Link to post
Share on other sites
  • 0
Kanda Sorata

Colle toute la fonction entière pour vérifier (utilises le bloc code) image.png

Share this post


Link to post
Share on other sites
  • 0
Zuldis
function openmenuvehicle()
	local playerPed = GetPlayerPed(-1)
	local coords    = GetEntityCoords(playerPed)
	local vehicle   =VehicleInFront()
	globalplate  = GetVehicleNumberPlateText(vehicle)

  if globalplate ~= nil or globalplate ~= "" or globalplate ~= " " then
		CloseToVehicle = true
		local vehFront = VehicleInFront()
		local x,y,z = table.unpack(GetEntityCoords(GetPlayerPed(-1),true))
		local closecar = GetClosestVehicle(x, y, z, 4.0, 0, 71)

    if vehFront > 0 and closecar ~= nil and GetPedInVehicleSeat(closecar, -1) ~= GetPlayerPed(-1) then
    	lastVehicle = vehFront
			local model = GetDisplayNameFromVehicleModel(GetEntityModel(closecar))
			local locked = GetVehicleDoorLockStatus(closecar)
			local class = GetVehicleClass(vehFront)
			ESX.UI.Menu.CloseAll()

			if ESX.UI.Menu.IsOpen('default', GetCurrentResourceName(), 'inventory') then
			  SetVehicleDoorShut(vehFront, 5, false)
			else

			  if locked == 1 or class == 15 or class == 16 or class == 14 then
				  SetVehicleDoorOpen(vehFront, 5, false, false)
				  ESX.UI.Menu.CloseAll()

          if globalplate ~= nil or globalplate ~= "" or globalplate ~= " " then
            CloseToVehicle = true
          
		  if Config.VehicleLimit[vehFront] ~= nil then
	          OpenCoffreInventoryMenu(GetVehicleNumberPlateText(vehFront),Config.VehicleLimit[vehFront])
          else 
	      ESX.ShowNotification('Vous essayez d\'ouvrir le véhicule '..vehFront..' mais ne possède pas de coffre')
	      print("### MISSING VEHICLE IN CONFIG : "..vehFront)
          end
				  

				else
				   esx.ShowNotification('Ce coffre est ~r~fermé')
			  end
			end
		else
			esx.ShowNotification('Pas de ~r~véhicule~w~ à proximité')
		end
		lastOpen = true
		GUI.Time  = GetGameTimer()
	end

end
local count = 0
-- Key controls
Citizen.CreateThread(function()
  while true do
    Wait(0)
    if IsControlPressed(0, Keys["L"]) and (GetGameTimer() - GUI.Time) > 1000  then
      openmenuvehicle()
    elseif lastOpen and IsControlPressed(0, Keys["BACKSPACE"]) and (GetGameTimer() - GUI.Time) > 150 then
	    CloseToVehicle = false
      lastOpen = false
      if lastVehicle > 0 then
        SetVehicleDoorShut(lastVehicle, 5, false)
        lastVehicle = 0
      end
      GUI.Time  = GetGameTimer()
    end
  end
end)

Citizen.CreateThread(function()
  while true do
  Wait(0)
	local pos = GetEntityCoords(GetPlayerPed(-1))
	if CloseToVehicle then
		local vehicle = GetClosestVehicle(pos['x'], pos['y'], pos['z'], 2.0, 0, 70)
		if DoesEntityExist(vehicle) then
			CloseToVehicle = true
		else
			CloseToVehicle = false
			lastOpen = false
			ESX.UI.Menu.CloseAll()
			SetVehicleDoorShut(lastVehicle, 5, false)
		end
	end
  end
end)

 

Share this post


Link to post
Share on other sites
  • 0
Kanda Sorata

Il te manque un end dans la fonction openmenuvehicle()

 

Voici le code corrigé :

 

function openmenuvehicle()
	local playerPed = GetPlayerPed(-1)
	local coords    = GetEntityCoords(playerPed)
	local vehicle   =VehicleInFront()
	globalplate  = GetVehicleNumberPlateText(vehicle)

	if globalplate ~= nil or globalplate ~= "" or globalplate ~= " " then
		CloseToVehicle = true
		local vehFront = VehicleInFront()
		local x,y,z = table.unpack(GetEntityCoords(GetPlayerPed(-1),true))
		local closecar = GetClosestVehicle(x, y, z, 4.0, 0, 71)

		if vehFront > 0 and closecar ~= nil and GetPedInVehicleSeat(closecar, -1) ~= GetPlayerPed(-1) then
			lastVehicle = vehFront
				local model = GetDisplayNameFromVehicleModel(GetEntityModel(closecar))
				local locked = GetVehicleDoorLockStatus(closecar)
				local class = GetVehicleClass(vehFront)
				ESX.UI.Menu.CloseAll()

				if ESX.UI.Menu.IsOpen('default', GetCurrentResourceName(), 'inventory') then
					SetVehicleDoorShut(vehFront, 5, false)
				else

					if locked == 1 or class == 15 or class == 16 or class == 14 then
						SetVehicleDoorOpen(vehFront, 5, false, false)
						ESX.UI.Menu.CloseAll()

						if globalplate ~= nil or globalplate ~= "" or globalplate ~= " " then
						CloseToVehicle = true
						
							if Config.VehicleLimit[vehFront] ~= nil then
								OpenCoffreInventoryMenu(GetVehicleNumberPlateText(vehFront),Config.VehicleLimit[vehFront])
							else 
								ESX.ShowNotification('Vous essayez d\'ouvrir le véhicule '..vehFront..' mais ne possède pas de coffre')
								print("### MISSING VEHICLE IN CONFIG : "..vehFront)
							end
						end
						
					else
						esx.ShowNotification('Ce coffre est ~r~fermé')
					end
				end
		else
			esx.ShowNotification('Pas de ~r~véhicule~w~ à proximité')
		end
			lastOpen = true
			GUI.Time  = GetGameTimer()
	end
end

 

Share this post


Link to post
Share on other sites
  • 0
Zuldis
Posted (edited)

Du cout bas je viens de placer tout la fonction je te remercie de l'avoir corriger mais toujours rien ^^' et aucune errer et il à aucune notification.

Edited by Zuldis

Share this post


Link to post
Share on other sites
  • 0
Kanda Sorata

Relance le jeu et ton serveur et connecte toi dessus et essai d'ouvrir un coffre, et colle moi ton fichier log client sur hastebin et envoi le ici

C'est expliqué ici pour trouver les logs :

 

Share this post


Link to post
Share on other sites
  • 0
Zuldis
Posted (edited)

Cadeau :)

CitizenFX.log

Edited by Zuldis

Share this post


Link to post
Share on other sites
  • 0
Kanda Sorata

Tu as bel et bien une erreur :

Citation

[     83156] Error parsing script @esx_truck/client/main.lua in resource esx_truck: @esx_truck/client/main.lua:101: 'end' expected (to close 'if' at line 78) near 'else'
[     83156] Failed to load script client/main.lua.

 

Tu as bien repris mon code et modifié ton script ? Vide ton cache client également pour être sur, car cette erreur vient du code précédent que tu m'as envoyé

Share this post


Link to post
Share on other sites
  • 0
Zuldis
Posted (edited)

Alors j'ai bien vérifier j'ai bien copier ton code et mon script et bien modifier et j'ai vidé mon cache client  mais toujours rien je te remet le logclient. je viens de voir il à

 

Error parsing script @esx_truck/client/main.lua in resource esx_truck: @esx_truck/client/main.lua:59: syntax error near 'openmenuvehicle'

CitizenFX.log

Edited by Zuldis

Share this post


Link to post
Share on other sites
  • 0
Zuldis
Posted (edited)

Rebonsoir après recherche j'ai trouver mes errer mais mtn je ne sais pas pour quoi sa me mets sa en jeux alors que c'est la blista et bien dans la config.

image.png.4660e11ea0f742ab02ceff19754b02ea.png

Edited by Zuldis

Share this post


Link to post
Share on other sites
  • 0
Kanda Sorata

Hello, à priori tu ne récupères pas le véhicule mais plutôt une entité derrière ou autour de toi, ce que tu peux faire c'est modifié la fonction VehicleInFront() par la suivante :

 

function VehicleInFront()
    local pos = GetEntityCoords(GetPlayerPed(-1))
    local entityWorld = GetOffsetFromEntityInWorldCoords(GetPlayerPed(-1), 0.0, 4.0, 0.0)
    local rayHandle = CastRayPointToPoint(pos.x, pos.y, pos.z, entityWorld.x, entityWorld.y, entityWorld.z, 10, GetPlayerPed(-1), 0)
	local a, b, c, d, result = GetRaycastResult(rayHandle)
	local getit = IsEntityAVehicle(result)
	if getit then
		return result
	else
		ESX.ShowNotification('Ce n\'est pas un véhicule')
	end
end

 

Share this post


Link to post
Share on other sites
  • 0
Zuldis

Bonjours :) alors j'ai changer le code mais toujours pareil il ne trouve pas les véhicules.

image.png.b63e04cdfc7841799222298054ea9fdd.png

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

×
×
  • Create New...

Important Information

En utilisant ce site, vous acceptez les présents règlements Terms of Use, Privacy Policy,Guidelines.