print("Load item")
-- Player Interface (peripheral++)
local pi=peripheral.find("playerInterfacePPP")
-- config coffre
pi.setOutputSide("WEST")
local joueur='Adsl_Houba' -- Adsl_Houba
local moi=pi.getPlayerInv(joueur)

local items={}

items=textutils.unserialize(ahb.fichier.charge("clean/items"))


-- attente reponse joueur
function attente()
	while true do
		local event, player, arg = os.pullEvent("command") -- \
		if player==joueur then
			if arg[1]=='o' or  arg[1]=='n' or arg[1]=='q' then
				return arg[1]
			end
		end
	end
end
function viderItem(iName)
	for iv=0, 39 do
		local info=moi.getStackInSlot(iv)
		if type(info)=='table' then
			if iName==info.name then 
				moi.retrieveFromSlot(iv,info.amount)
			end
		end
	end
end



function vide(args,player)
	if not(verifPlayer(player)) then return end
	particule.couleur(255,0,150);
	local listeQuestion={}
	local texteQuestion=''
	for iv=0, 39 do
		local info=moi.getStackInSlot(iv)
		if type(info)=='table' then
			if type(items[info.name])=='nil' then
				if type(listeQuestion[info.name])=='nil' then
					listeQuestion[info.name]=info.displayName
					if texteQuestion=='' then 
						texteQuestion=info.displayName
					else 
						texteQuestion=texteQuestion..', '..info.displayName
					end
				end
			elseif items[info.name]==false then
				moi.retrieveFromSlot(iv,info.amount)
			end
		end
	end
	if texteQuestion~='' then
		chatbox.tell(joueur,'Doit je vous laisser : '..texteQuestion.. ' ? \\o => oui, tous \\n => non, tous \\q => Question')
		texte=attente()
		if texte=='o' then
			table.foreach(listeQuestion, function(iName,data)
				items[iName]=true				
			end)				
			ahb.fichier.sauvegarde("clean/items",textutils.serialize(items))
		elseif texte=='n' then
			table.foreach(listeQuestion, function(iName,data)
				items[iName]=false
				viderItem(iName)
			end)				
			ahb.fichier.sauvegarde("clean/items",textutils.serialize(items))
		else
			table.foreach(listeQuestion, function(iName,nomFr)
				chatbox.tell(joueur,'Doit je vous laisser '..nomFr.. ' ? \\o => OUI \\n => NON')
				texte=attente()		
				if texte=='o' then
					items[iName]=true
				else 
					items[iName]=false
					viderItem(iName)
				end
				ahb.fichier.sauvegarde("clean/items",textutils.serialize(items))
			end)
		end
		
	end -- texteQuestion~=''
	chatbox.tell(joueur,"J'ai finis de netoyer votre inventaire",9999,false,'Alfred')
	particule.couleur(255,0,0);
end
function ckoi(arg,player)
	if not(verifPlayer(player)) then return end
	info=moi.getStackInSlot(arg[2]-1)
	chatbox.tell(joueur,'L\'item que vous avez dans votre slot '..arg[2]..' "'..info.displayName.. '" a comme code "'..info.name..'"')
	if items[info.name]==true then
		chatbox.tell(joueur,'Je vous laisse toujours cette item')
	elseif items[info.name]==false then
		chatbox.tell(joueur,'Je recupere cette item')
	else
		chatbox.tell(joueur,'Je n\'ai pas de config pour cette item')
	end
end
function garder(arg,player)
	if not(verifPlayer(player)) then return end
	local info=moi.getStackInSlot(arg[2]-1)
	chatbox.tell(joueur,'Tres bien, je vous laisse "'..info.displayName..'"')
	items[info.name]=true
	ahb.fichier.sauvegarde("items",textutils.serialize(items))
end
function ranger(arg,player)
	if not(verifPlayer(player)) then return end
	local info=moi.getStackInSlot(arg[2]-1)
	chatbox.tell(joueur,'Tres bien, je rangerai "'..info.displayName..'"')
	items[info.name]=false
	ahb.fichier.sauvegarde("items",textutils.serialize(items))
end
function verifPlayer(player)
	if not(player==joueur) then
		chatbox.tell(player,'Bonjour '..player..', cette commande n\'est pas disponible pour vous')
		return false
	end
	return true
end
chatbox.add("vide",vide,"\\vide - Je vide votre inventaire l'inventaire")
chatbox.add("ckoi",ckoi,"\\ckoi NUM - Je vous donne les infos de rangement sur l'item dans le slot NUM de la barre")
chatbox.add("ranger",ranger,"\\ranger NUM - Change la config en ranger de l'item dans le slot NUM de la barre")
chatbox.add("garger",garder,"\\garder NUM - Change la config en garder de l'item dans le slot NUM de la barre")

