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
James Trema

résolu Duplication coffre véhicule

Question

James Trema

Bonsoir,

 

Je suis la pour vous demandez comment je pourrais faire pour bloquez les duplication des coffre, les joueurs peut dupliquez des objet et de l'argent sale et c'est très enbêtent si quelqu'un aurait un réponse à mon problème je suis preneur merci beaucoup d'avoir lut.

 

Quelle OS utilisez vous sur votre machine ? :
Sur quel framework travaillez vous? (ESX/VRP/ES/Autre) : ESX sur un vps
Qu'avez vous essayer auparavant ? (Vider votre cache, installation du script au propre etc...):  j'ai essayez de vidé les cache serveur ensuite j'ai essayez de modifé la ressource pour évitez de dupliquez mais aucune réussite, et ya aucune erreur ou autre quand on duplique
Êtes vous sûr d'avoir la dernière version de votre framework ? : dernière version

Explication de votre problème : juste en haut tout est expliquez

Lien vers vos logs de l'erreur sur pastebin/hastebin client+serveur : x

 

Cordialement 

Partager ce message


Lien à poster
Partager sur d’autres sites

16 réponses à cette question

Messages recommandés

  • 0
Tony Stark

Je dis peut-être une connerie, mais si tu mets un wait entre l'appui sur la touche, et l'exécution du retrait de l'item, le deuxième appui sur la touche devrait être effectif quand le 1er retrait serait effectué, le deuxième appui sur la touche devrait donc dire que l'item a déjà été retiré...

 

Du genre :

 

if IsControlJustReleased(0, Keys['E']) then
	Citizen.Wait(1000)
	print(Ton retrait d argent)
else 
	print(Plus d argent)
end

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
JagerBom
il y a une heure, James Trema a dit :

pour vous demandez comment je pourrais faire pour bloquez les duplicatio

si tu pouvais respecter mise en forme de ta question comme demandée pour qu'on sache mieux t'aider:

 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
James Trema
il y a 14 minutes, JagerBom a dit :

si tu pouvais respecter mise en forme de ta question comme demandée pour qu'on sache mieux t'aider:

 

J'ai remis mon poste dans les règle voilà

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
James Trema
il y a 37 minutes, Tony Stark a dit :

Je dis peut-être une connerie, mais si tu mets un wait entre l'appui sur la touche, et l'exécution du retrait de l'item, le deuxième appui sur la touche devrait être effectif quand le 1er retrait serait effectué, le deuxième appui sur la touche devrait donc dire que l'item a déjà été retiré...

 

Du genre :

 

if IsControlJustReleased(0, Keys['E']) then
	Citizen.Wait(1000)
	print(Ton retrait d argent)
else 
	print(Plus d argent)
end

 

D'accord j'ai bien compris donc c'est la touche ENTRE pour moi à bloquez mais cette partie de ce code je le mais dans mon script coffre voiture donc? s'il vous plait

Partager ce message


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

Ici c'est un exemple, montre ton client pour qu'on te disent quelle partie modifier

Modifié par Tony Stark

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
James Trema

voici la partie client j'aimerais trouve un bon moyen pour bloquez ceci voilà je vous les envoyez

main.lua

Et sinon cette ligne peut être la coze je pense ? 

 

Citizen.CreateThread(function()
  while true do

    Wait(0)
    if IsControlPressed(0, Keys["L"]) and GetLastInputMethod( 0 ) and (GetGameTimer() - GUI.Time) > 1000 then
        if count == 0 then
            openmenuvehicle()
            count = count +1
        else
            Wait(2000)
            count = 0
        end
    elseif lastOpen and IsControlPressed(0, Keys["BACKSPACE"]) and GetLastInputMethod( 0 ) and (GetGameTimer() - GUI.Time) > 150 then
      CloseToVehicle = false
      lastOpen = false
      if lastVehicle > 0 then
          SetVehicleDoorShut(lastVehicle, 5, false)
        local lastvehicleplatetext = GetVehicleNumberPlateText(lastVehicle)
        TriggerServerEvent('esx_truck_inventory:RemoveVehicleList', lastvehicleplatetext)
          lastVehicle = 0
      end
      GUI.Time  = GetGameTimer()
    end
  end
end)

Modifié par James Trema

Partager ce message


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

Alors non, ajouter un wait ne corrigera pas ce problème, il ne fera que le "déplacer" de la durée de ton wait

 

Il faut autorisé une seule personne à accéder au coffre au même moment, pour ce faire il suffit de créer un tableau et d'enregistrer la plaque du véhicule + le steamid qui a ouvert le coffre, et avec un callback vérifier si le coffre de la voiture sous la plaque XXX est ouverte

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
James Trema
Il y a 2 heures, Kanda Sorata a dit :

Alors non, ajouter un wait ne corrigera pas ce problème, il ne fera que le "déplacer" de la durée de ton wait

 

Il faut autorisé une seule personne à accéder au coffre au même moment, pour ce faire il suffit de créer un tableau et d'enregistrer la plaque du véhicule + le steamid qui a ouvert le coffre, et avec un callback vérifier si le coffre de la voiture sous la plaque XXX est ouverte

Salut à toi et merci d'avoir répondu à ma question

 

Ce que tu vien de m'expliquez je n'est pas compris, après le problème n'est pas là je vais te ré-expliquez, tout d'abord le soucis quand on ouvre le coffre tout se passe bien ensuite on sélectionne un objet et ensuite on mais la quatité et ensuite la ça deviens plus apportent quand on appuis sur en ENVOYEZ (si on spam le CLIQUE GAUCHE ou la TOUCHE ENTRE ou si on fait les deux ça duplique) parce-que quand on appuis sur ENVOYEZ il y à 3 seconde de latence donc pour ça qu'il duplique.

Cordialement

dupli.PNG

Modifié par James Trema
Ajout photo pour montré

Partager ce message


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

Oui, on m'avait déjà parlé y a qq jours de ce problème, pour ça que je savais de quoi tu parlais, pour ça que je proposais le wait. 

 

Pour ce que Kanda dit, il me semble que c'est corrigé, ça dit "quelqu'un regarde déjà dans le coffre", il me semble

Partager ce message


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

tu utilises quel script ? 

 

car moi j'ai pas de souci quand j'utilise le script de base seul 

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
James Trema
il y a une heure, JagerBom a dit :

tu utilises quel script ? 

 

car moi j'ai pas de souci quand j'utilise le script de base seul 

Bonsoir, merci de m'avoir répondu je utilise se script là je te le mais si dessous : 
Ensuite je aimerais savoir comment tu fait pour parer la dupli voilà ça va faire 2 jours que je cherche et je n'arrive pas

__resource.lua

config.lua

esx_truck_inventory.sql

README.md

main.lua

config.lua

main.lua

Modifié par James Trema

Partager ce message


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

Aaaaah, je comprends mieux, je pensais que la duplication survenait par ce que deux personnes utilisait le coffre à la fois, alors là effectivement c'est un problème un peu plus complexe.

je pense qu'il faut voir pour utiliser un Callback avec un identifiants à chaque fois que le joueur ouvre le coffre et renvoyer un booléen à la première action qui va changé en false une fois appuyer sur validé et si ça essai de validé une deuxième fois ça refuse, c'est assez complexe à faire si on peut dire ça, sinon il y a @Poro qui m'a dit que c'était possible de le fix différent en modifiant esx_menu_dialog en ajoutant à cette ligne, dans ce fichier ce bout de code :

document.off("keyup");

Il m'a très rapidement expliqué ça, je ne saurais te ré-expliquer correctement, mais je pense que c'est quelque chose à essayé

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
James Trema
Le 12/04/2019 à 01:18, Kanda Sorata a dit :

Aaaaah, je comprends mieux, je pensais que la duplication survenait par ce que deux personnes utilisait le coffre à la fois, alors là effectivement c'est un problème un peu plus complexe.

je pense qu'il faut voir pour utiliser un Callback avec un identifiants à chaque fois que le joueur ouvre le coffre et renvoyer un booléen à la première action qui va changé en false une fois appuyer sur validé et si ça essai de validé une deuxième fois ça refuse, c'est assez complexe à faire si on peut dire ça, sinon il y a @Poro qui m'a dit que c'était possible de le fix différent en modifiant esx_menu_dialog en ajoutant à cette ligne, dans ce fichier ce bout de code :

document.off("keyup");

Il m'a très rapidement expliqué ça, je ne saurais te ré-expliquer correctement, mais je pense que c'est quelque chose à essayé

Bonsoir, Merci de votre réponse mais ça ne marche pas hélas.

Partager ce message


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

Je viens effectivement d'essayer de mon côté pour reproduire le problème, et le problème était différent de ce que je pensais, ou en tout cas m'imaginais, il te suffit de te rendre à la ligne 329 du client.lua et d'ajouter sur la prochaine ligne ceci :
 

ESX.UI.Menu.CloseAll()

 

Ce qui donne :

 

	TriggerServerEvent('esx_truck_inventory:addInventoryItem', GetVehicleClass(closecar), GetDisplayNameFromVehicleModel(GetEntityModel(closecar)), GetVehicleNumberPlateText(vehFront), data3.current.value, quantity, data3.current.name, data3.current.type, ownedV)
								ESX.ShowNotification('Poid du coffre : ~g~'.. Kgweight .. ' Kg / '..MaxVh..' Kg')
								ESX.UI.Menu.CloseAll()
				Citizen.Wait(500)
				TriggerServerEvent("esx_truck_inventory:getInventory", GetVehicleNumberPlateText(vehFront))

 

Partager ce message


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

Bonjour, des nouvelles ? @James Trema

Partager ce message


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

Sujet clos pour inactivité.

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.