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
Seishin

résolu Erreur transfert New_banking

Question

Seishin

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)? : https://github.com/Tazi0/new_banking
Qu'avez vous-essayé auparavant ? (Vider votre cache, installation du script au propre etc...): J'ai voulus transférer 200 $ à un autre joueur
Êtes vous sûr d'avoir la dernière version de votre framework ? : Oui

Explication de votre problème : Bonjour, j'ai voulus transférer de la 'argent a un autre joueur via le compte bancaire 

Error running call reference function for resource new_banking: citizen:/scripting/lua/scheduler.lua:405: @new_banking/server.lua:55: attempt to index a nil value (local 'user')
stack traceback:
        @new_banking/server.lua:55: in upvalue 'ref'
        citizen:/scripting/lua/scheduler.lua:391: in function <citizen:/scripting/lua/scheduler.lua:390>
        [C]: in function 'xpcall'
        citizen:/scripting/lua/scheduler.lua:390: in function <citizen:/scripting/lua/scheduler.lua:389>
stack traceback:
        [C]: in function 'error'
        citizen:/scripting/lua/scheduler.lua:405: in function <citizen:/scripting/lua/scheduler.lua:374>
        [C]: in function 'coroutine.resume'
        citizen:/scripting/lua/scheduler.lua:34: in field 'CreateThreadNow'
        citizen:/scripting/lua/scheduler.lua:218: in function <citizen:/scripting/lua/scheduler.lua:182>
Error running system event handling function for resource essentialmode: citizen:/scripting/lua/scheduler.lua:41: Failed to execute thread: citizen:/scripting/lua/MessagePack.lua:830: missing bytes
stack traceback:
        [C]: in function 'error'
        citizen:/scripting/lua/MessagePack.lua:830: in method 'underflow'
        citizen:/scripting/lua/MessagePack.lua:465: in field 'any'
        citizen:/scripting/lua/MessagePack.lua:860: in field 'unpack'
        citizen:/scripting/lua/scheduler.lua:628: in local 'cb'
        @essentialmode/server/player/login.lua:134: in upvalue 'handler'
        citizen:/scripting/lua/scheduler.lua:219: in function <citizen:/scripting/lua/scheduler.lua:218>
stack traceback:
        [C]: in function 'error'
        citizen:/scripting/lua/scheduler.lua:41: in field 'CreateThreadNow'
        citizen:/scripting/lua/scheduler.lua:218: in function <citizen:/scripting/lua/scheduler.lua:182>

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

 server.lua https://pastebin.com/an66xjRd

Partager ce message


Lien à poster
Partager sur d’autres sites

14 réponses à cette question

Messages recommandés

  • 0
JagerBom

prend cette fonction ci, celle la marche a 100%

RegisterServerEvent('bank:transfer')
AddEventHandler('bank:transfer', function(to, amountt)
	local _source = source
	local xPlayer = ESX.GetPlayerFromId(_source)
	local zPlayer = ESX.GetPlayerFromId(to)
	local balance = 0

	if(zPlayer == nil or zPlayer == -1) then
		TriggerClientEvent('bank:result', _source, "error", "Destinataire introuvable.")
	else
		balance = xPlayer.getAccount('bank').money
		zbalance = zPlayer.getAccount('bank').money
		
		if tonumber(_source) == tonumber(to) then
			TriggerClientEvent('bank:result', _source, "error", "Vous ne pouvez pas faire de transfert à vous même.")
		else
			if balance <= 0 or balance < tonumber(amountt) or tonumber(amountt) <= 0 then
				TriggerClientEvent('bank:result', _source, "error", "Vous n'avez pas assez d'argent en banque.")
			else
				xPlayer.removeAccountMoney('bank', tonumber(amountt))
				zPlayer.addAccountMoney('bank', tonumber(amountt))
				TriggerClientEvent('bank:result', _source, "success", "Transfert effectué.")
			end
		end
	end
end)

 

Partager ce message


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

Tu tapes l'ID ou le nom du joueur ? Je doute très fortement sur le fait que le dernier commit fonctionne, soit sur que le joueur est bien connecté aussi

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Seishin
il y a 58 minutes, Kanda Sorata a dit :

Tu tapes l'ID ou le nom du joueur ? Je doute très fortement sur le fait que le dernier commit fonctionne, soit sur que le joueur est bien connecté aussi

je tape l'id du joueur et le joueur est bien connecté

Partager ce message


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

Est-ce que tu as bien l'argent sur toi de ce que tu veux transférer ?

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Seishin
à l’instant, Kanda Sorata a dit :

Est-ce que tu as bien l'argent sur toi de ce que tu veux transférer ?

Oui en banque et sur moi

Partager ce message


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

Dans la fonction ici :

 

RegisterServerEvent('bank:transfer')
AddEventHandler('bank:transfer', function(to, amountt)
	local _source = source
	local xPlayer = ESX.GetPlayerFromId(_source)
	local zPlayer = ESX.GetPlayerFromId(to)
	
	--Thanks to (LuCampbell)
	TriggerEvent('es:getPlayerFromId', xPlayer, function(user)
		if (tonumber(user.money) >= tonumber(amountt)) then
			local player = user.identifier
			user:removeMoney((amountt))	
		
			TriggerEvent('es:getPlayerFromId', zPlayer, function(user2)
				local player2 = user2.identifier
				user2:addMoney((amountt))
				TriggerClientEvent("chatMessage", zPlayer , "You received money ", { 52, 201, 36 }, "You received the sum of "..amountt.." dollars")
				TriggerClientEvent("chatMessage", xPlayer, "Payment receipt ", { 255, 0, 0 }, "Your payment of "..amountt.." dollars is done")
			end)	
		else
			if (tonumber(user.money) < tonumber(amountt)) then
			
				TriggerClientEvent("chatMessage", player, "", { 255, 0, 0 }, "You do not have enough money")
			end
		end
	end) 
end)

Et dans cette fonction tu as notamment ceci : tonumber(user.money)  que tu pourrais changer par tonumber(xPlayer.getMoney)

 

Ou alors : user:removeMoney((amountt)) que tu peux remplacer par  xPlayer.removeMoney(amountt)

Partager ce message


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

j'ai cette erreur dans la console au start du serveur Error parsing script @new_banking/server.lua in resource new_banking: @new_banking/server.lua:55: ')' expected near '<\239>'

Modifié par Seishin

Partager ce message


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

Tu n'as pas besoin de copier le bloc, c'est la fonction que tu as déjà, ça arrive lorsque ton fichier n'est pas en UTF8

Partager ce message


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

Tu n'as pas besoin de copier le bloc, c'est la fonction que tu as déjà, ça arrive lorsque ton fichier n'est pas en UTF8

J'ai fais ça

 

--================================================================================================
--==                                VARIABLES - DO NOT EDIT                                     ==
--================================================================================================
ESX = nil

TriggerEvent('esx:getSharedObject', function(obj) ESX = obj end)

RegisterServerEvent('bank:deposit')
AddEventHandler('bank:deposit', function(amount)
	local _source = source
	
	local xPlayer = ESX.GetPlayerFromId(_source)
	if amount == nil or amount <= 0 or amount > xPlayer.getMoney() then
		TriggerClientEvent('chatMessage', _source, "Montant invalide")
	else
		xPlayer.removeMoney(amount)
		xPlayer.addAccountMoney('bank', tonumber(amount))
	end
end)


RegisterServerEvent('bank:withdraw')
AddEventHandler('bank:withdraw', function(amount)
	local _source = source
	local xPlayer = ESX.GetPlayerFromId(_source)
	local base = 0
	amount = tonumber(amount)
	base = xPlayer.getAccount('bank').money
	if amount == nil or amount <= 0 or amount > base then
		TriggerClientEvent('chatMessage', _source, "Montant invalide")
	else
		xPlayer.removeAccountMoney('bank', amount)
		xPlayer.addMoney(amount)
	end
end)

RegisterServerEvent('bank:balance')
AddEventHandler('bank:balance', function()
	local _source = source
	local xPlayer = ESX.GetPlayerFromId(_source)
	balance = xPlayer.getAccount('bank').money
	TriggerClientEvent('currentbalance1', _source, balance)
	
end)


RegisterServerEvent('bank:transfer')
AddEventHandler('bank:transfer', function(to, amountt)
	local _source = source
	local xPlayer = ESX.GetPlayerFromId(_source)
	local zPlayer = ESX.GetPlayerFromId(to)
	
	--Thanks to (LuCampbell)
	TriggerEvent('es:getPlayerFromId', xPlayer, function(user)
		if (tonumber(xPlayer.getMoney) >= tonumber(amountt)) then
			local player = user.identifier
			 xPlayer.removeMoney(amountt)	
		
			TriggerEvent('es:getPlayerFromId', zPlayer, function(user2)
				local player2 = user2.identifier
				user2:addMoney((amountt))
				TriggerClientEvent("chatMessage", zPlayer , "Vous avez reçu de l'argent ", { 52, 201, 36 }, "Vous avez reçu la somme de "..amountt.." $")
				TriggerClientEvent("chatMessage", xPlayer, "Payement Reçu ", { 255, 0, 0 }, "Votre paiement de "..amountt.." $ est fait")
			end)	
		else
			if (tonumber(xPlayer.getMoney) < tonumber(amountt)) then
			
				TriggerClientEvent("chatMessage", player, "", { 255, 0, 0 }, "Vous n'avez pas assez d'argent")
			end
		end
	end) 
end)

mais j'ai jour cette erreur au start du serveur : Error parsing script @new_banking/server.lua in resource new_banking: @new_banking/server.lua:57: syntax error near '<\239>' et je ne comprend pas pourquoi j'ai re dl le script et l'ai fait manuellement

Modifié par Seishin

Partager ce message


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

nickel ça marche

Partager ce message


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

est ce résolu? je peux lock le post?

Partager ce message


Lien à poster
Partager sur d’autres sites
  • 0
Seishin
Le 20/06/2019 à 17:16, JagerBom a dit :

est ce résolu? je peux lock le post?

Oui c'est bon encore désolé de mon absence

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.