Ir para conteúdo
  • Cadastre-se

Ajuda - Action que vende itens da BP


Posts Recomendados

Olá, bom dia!

Acho que não estou na seção correta, porém esta foi a única que consegui abrir um post, todas as outras mostra como somente visualização.

 

Seguinte, tenho um script que vende os items, ele funciona como uma spellwand, você clica na spellwand e depois no item que quer vender e ele vende...

Porém ele vende somente 1 quantidade, já varri todo este fórum, o otland e o xtibia e não achei o que preciso, fiquei mais ou menos umas 6 horas tentando resolver e só tive bugs kkkk.

 

Preciso que por exemplo: o player tenha 100 magic plate armor's na BP, ao clicar em uma com a spellwand ele venda todas as mpas que o player possuí, somente isto.

 

Alguém pode dar um help!?

 

Meu code:

local items = {
    [2537] = {value = 4800},
    [2377] = {value = 480},
    [2663] = {value = 600},
    [2472] = {value = 90000},
	[2475] = {value = 7200},
	[2519] = {value = 8000},
	[2497] = {value = 6000},
	[2523] = {value = 180000},
	[2494] = {value = 108000},
	[2400] = {value = 144000},
	[2491] = {value = 2500},
	[2421] = {value = 108000},
	[2646] = {value = 240000},
	[2477] = {value = 5000},
	[2656] = {value = 10000},
	[2498] = {value = 30000},
	[2647] = {value = 600},
	[2534] = {value = 15000},
	[7402] = {value = 15000},
	[2466] = {value = 20000},
	[2465] = {value = 240},
	[2408] = {value = 120000},
	[2518] = {value = 1800}, 
	[2500] = {value = 3000}, 
	[2470] = {value = 30000}, 
	[2645] = {value = 30000}, 
	[2434] = {value = 2000}, 
	[2463] = {value = 480}, 
	[2536] = {value = 9000}, 
	[2387] = {value = 240}, 
	[2396] = {value = 1000}, 
	[2381] = {value = 450}, 
	[2528] = {value = 8000}, 
	[2409] = {value = 1800}, 
	[2414] = {value = 9000}, 
	[2427] = {value = 11000}, 
	[2407] = {value = 7200}, 
	[2383] = {value = 960}, 
	[2392] = {value = 4000}, 
	[2488] = {value = 12000}, 
	[2525] = {value = 250}, 
	[2423] = {value = 1000}, 
	[2462] = {value = 4800}, 
	[2520] = {value = 30000}, 
	[2390] = {value = 180000}, 
	[2417] = {value = 500}, 
	[2436] = {value = 6000}, 
	[5741] = {value = 40000}, 
	[2378] = {value = 500}, 
	[2487] = {value = 12000}, 
	[2476] = {value = 5000}, 
	[8891] = {value = 15000}, 
	[2195] = {value = 30000}, 
	[2391] = {value = 7200},
	[8889] = {value = 18000}, 
	[2432] = {value = 8000}, 
	[2431] = {value = 108000}, 
	[2492] = {value = 40000},
	[2515] = {value = 2000}, 
	[2430] = {value = 2000}, 
	[2393] = {value = 17000}, 
	[7419] = {value = 10000}, 
	[2522] = {value = 120000}, 
	[2514] = {value = 50000}, 
	[7418] = {value = 35000}
	
}

 function onUse(cid, item, frompos, itemEx, topos)
    if (itemEx.itemid == item.itemid) then
        local str = ""
        for i, k in pairs(items) do
            str = str ..getItemNameById(i):gsub("%a", string.upper, 1).. ": ".. k.value .. "\n"
        end
        doShowTextDialog(cid, 6533, "Item Name: Price\n-----------------------------\n".. str)
        return true
    end

    local i = items[itemEx.itemid]
	--local l = getPlayerItemCount(cid,items[itemEx.itemid])
	
    if (i) then
		--for j, l in pairs(items) do
			doRemoveItem(itemEx.uid)
			doPlayerAddMoney(cid, i.value)
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você vendeu 1 ".. getItemNameById(itemEx.itemid) .." por ".. i.value .." gold coins.")
			doSendMagicEffect(frompos, CONST_ME_MAGIC_RED)
		--end
    else
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Não foi possível vender esse item, use a spellwand nela mesma para ver a lista de items disponíveis.")
        doSendMagicEffect(frompos, CONST_ME_POFF)
    end 
	
    return true
end 

 

Link para o post
Compartilhar em outros sites

Este tópico foi movido para a seção de Suporte Otserv.

@vine96 Testa ai

 

Spoiler

 


local items = {
	[2537] = {value = 4800},
	[2377] = {value = 480},
	[2663] = {value = 600},
	[2472] = {value = 90000},
	[2475] = {value = 7200},
	[2519] = {value = 8000},
	[2497] = {value = 6000},
	[2523] = {value = 180000},
	[2494] = {value = 108000},
	[2400] = {value = 144000},
	[2491] = {value = 2500},
	[2421] = {value = 108000},
	[2646] = {value = 240000},
	[2477] = {value = 5000},
	[2656] = {value = 10000},
	[2498] = {value = 30000},
	[2647] = {value = 600},
	[2534] = {value = 15000},
	[7402] = {value = 15000},
	[2466] = {value = 20000},
	[2465] = {value = 240},
	[2408] = {value = 120000},
	[2518] = {value = 1800}, 
	[2500] = {value = 3000}, 
	[2470] = {value = 30000}, 
	[2645] = {value = 30000}, 
	[2434] = {value = 2000}, 
	[2463] = {value = 480}, 
	[2536] = {value = 9000}, 
	[2387] = {value = 240}, 
	[2396] = {value = 1000}, 
	[2381] = {value = 450}, 
	[2528] = {value = 8000}, 
	[2409] = {value = 1800}, 
	[2414] = {value = 9000}, 
	[2427] = {value = 11000}, 
	[2407] = {value = 7200}, 
	[2383] = {value = 960}, 
	[2392] = {value = 4000}, 
	[2488] = {value = 12000}, 
	[2525] = {value = 250}, 
	[2423] = {value = 1000}, 
	[2462] = {value = 4800}, 
	[2520] = {value = 30000}, 
	[2390] = {value = 180000}, 
	[2417] = {value = 500}, 
	[2436] = {value = 6000}, 
	[5741] = {value = 40000}, 
	[2378] = {value = 500}, 
	[2487] = {value = 12000}, 
	[2476] = {value = 5000}, 
	[8891] = {value = 15000}, 
	[2195] = {value = 30000}, 
	[2391] = {value = 7200},
	[8889] = {value = 18000}, 
	[2432] = {value = 8000}, 
	[2431] = {value = 108000}, 
	[2492] = {value = 40000},
	[2515] = {value = 2000}, 
	[2430] = {value = 2000}, 
	[2393] = {value = 17000}, 
	[7419] = {value = 10000}, 
	[2522] = {value = 120000}, 
	[2514] = {value = 50000}, 
	[7418] = {value = 35000}
}

function onUse(cid, item, frompos, itemEx, topos)
	if (itemEx.itemid == item.itemid) then
		local str = ""
		for i, k in pairs(items) do
			str = str ..getItemNameById(i):gsub("%a", string.upper, 1).. ": ".. k.value .. "\n"
		end
		doShowTextDialog(cid, 6533, "Item Name: Price\n-----------------------------\n".. str)
		return true
	end
	local var = items[itemEx.itemid]
	local containers = {}
	local items = {}
	if not var then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Não foi possível vender esse item, use a spellwand nela mesma para ver a lista de items disponíveis.")
		doSendMagicEffect(frompos, CONST_ME_POFF)
		return true
	end
	local id = itemEx.itemid
	local sitem = getPlayerSlotItem(cid, 3)
	if sitem.uid > 0 then
		if isContainer(sitem.uid) then
			table.insert(containers, sitem.uid)
		elseif not(id) or id == sitem.itemid then
			table.insert(items, sitem)
		end
	end
	while #containers > 0 do
		for k = (getContainerSize(containers[1]) - 1), 0, -1 do
			local tmp = getContainerItem(containers[1], k)
			if isContainer(tmp.uid) then
				table.insert(containers, tmp.uid)
			elseif not(id) or id == tmp.itemid then
				table.insert(items, tmp)
			end
		end
		table.remove(containers, 1)
	end
	local amount = #items
	if amount == 0 then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "voce nao possui esse item dentro da BP para vender.")
		doSendMagicEffect(frompos, CONST_ME_POFF)
		return true
	end
	for _, ret in pairs(items) do
		doRemoveItem(ret.uid)
	end 
	doPlayerAddMoney(cid, var.value*amount)
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você vendeu "..amount.."".. getItemNameById(itemEx.itemid) .." por ".. var.value * amount.." gold coins.")
	doSendMagicEffect(frompos, CONST_ME_MAGIC_RED)
	return true
end

 

 

 

 

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Link para o post
Compartilhar em outros sites
5 horas atrás, Shiuns disse:

@vine96 Testou? ou ainda não?

tinha entrado em contato via mensagem com outro membro aqui do fórum o @Wakon e ele me disponibilizou, fiz umas modificações e está 100%

Para quem tem interesse o script completo é esse:

local items = {
    [2537] = {value = 4800},
    [2377] = {value = 480},
    [2663] = {value = 600},
    [2472] = {value = 90000},
	[2475] = {value = 7200},
	[2519] = {value = 8000},
	[2497] = {value = 6000},
	[2523] = {value = 180000},
	[2494] = {value = 108000},
	[2400] = {value = 144000},
	[2491] = {value = 2500},
	[2421] = {value = 108000},
	[2646] = {value = 240000},
	[2477] = {value = 5000},
	[2656] = {value = 10000},
	[2498] = {value = 30000},
	[2647] = {value = 600},
	[2534] = {value = 15000},
	[7402] = {value = 15000},
	[2466] = {value = 20000},
	[2465] = {value = 240},
	[2408] = {value = 120000},
	[2518] = {value = 1800}, 
	[2500] = {value = 3000}, 
	[2470] = {value = 30000}, 
	[2645] = {value = 30000}, 
	[2434] = {value = 2000}, 
	[2463] = {value = 480}, 
	[2536] = {value = 9000}, 
	[2387] = {value = 240}, 
	[2396] = {value = 1000}, 
	[2381] = {value = 450}, 
	[2528] = {value = 8000}, 
	[2409] = {value = 1800}, 
	[2414] = {value = 9000}, 
	[2427] = {value = 11000}, 
	[2407] = {value = 7200}, 
	[2383] = {value = 960}, 
	[2392] = {value = 4000}, 
	[2488] = {value = 12000}, 
	[2525] = {value = 250}, 
	[2423] = {value = 1000}, 
	[2462] = {value = 4800}, 
	[2520] = {value = 30000}, 
	[2390] = {value = 180000}, 
	[2417] = {value = 500}, 
	[2436] = {value = 6000}, 
	[5741] = {value = 40000}, 
	[2378] = {value = 500}, 
	[2487] = {value = 12000}, 
	[2476] = {value = 5000}, 
	[8891] = {value = 15000}, 
	[2195] = {value = 30000}, 
	[2391] = {value = 7200},
	[8889] = {value = 18000}, 
	[2432] = {value = 8000}, 
	[2431] = {value = 108000}, 
	[2492] = {value = 40000},
	[2515] = {value = 2000}, 
	[2430] = {value = 2000}, 
	[2393] = {value = 17000}, 
	[7419] = {value = 10000}, 
	[2522] = {value = 120000}, 
	[2514] = {value = 50000}, 
	[7418] = {value = 35000}
	
}
 
function onUse(cid, item, frompos, itemEx, topos)
    if (itemEx.itemid == item.itemid) then
        local str = ""
        for i, k in pairs(items) do
            str = str ..getItemNameById(i):gsub("%a", string.upper, 1).. ": ".. k.value .. "\n"
        end
        doShowTextDialog(cid, 6533, "Item Name: Price\n-----------------------------\n".. str)
        return true
    end
 
    --local i = items[getItemNameById(itemEx.itemid)]
	local i = items[itemEx.itemid]
    if (i) then
        local count = getPlayerItemCount(cid, itemEx.itemid)
        if (count > 0) then
            doPlayerSellItem(cid, itemEx.itemid, count, i.value * count, false)
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você vendeu ".. count .." ".. (count == 1 and getItemNameById(itemEx.itemid) or getItemPluralNameById(itemEx.itemid)) .. " por ".. i.value * count .." gold coins.")
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você não possuí esse item, o sistema irá vender apenas os items em seu inventário, items equipados não serão vendidos!")
        end
    else
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Não foi possível vender esse item, use o loot seller nele mesmo para ver a lista de items disponíveis.")
        doSendMagicEffect(frompos, CONST_ME_POFF)
    end
    return true
end

 

Link para o post
Compartilhar em outros sites
  • 11 months later...
Em 29/01/2021 em 15:50, vine96 disse:

tinha entrado em contato via mensagem com outro membro aqui do fórum o @Wakon e ele me disponibilizou, fiz umas modificações e está 100%

Para quem tem interesse o script completo é esse:


local items = {
    [2537] = {value = 4800},
    [2377] = {value = 480},
    [2663] = {value = 600},
    [2472] = {value = 90000},
	[2475] = {value = 7200},
	[2519] = {value = 8000},
	[2497] = {value = 6000},
	[2523] = {value = 180000},
	[2494] = {value = 108000},
	[2400] = {value = 144000},
	[2491] = {value = 2500},
	[2421] = {value = 108000},
	[2646] = {value = 240000},
	[2477] = {value = 5000},
	[2656] = {value = 10000},
	[2498] = {value = 30000},
	[2647] = {value = 600},
	[2534] = {value = 15000},
	[7402] = {value = 15000},
	[2466] = {value = 20000},
	[2465] = {value = 240},
	[2408] = {value = 120000},
	[2518] = {value = 1800}, 
	[2500] = {value = 3000}, 
	[2470] = {value = 30000}, 
	[2645] = {value = 30000}, 
	[2434] = {value = 2000}, 
	[2463] = {value = 480}, 
	[2536] = {value = 9000}, 
	[2387] = {value = 240}, 
	[2396] = {value = 1000}, 
	[2381] = {value = 450}, 
	[2528] = {value = 8000}, 
	[2409] = {value = 1800}, 
	[2414] = {value = 9000}, 
	[2427] = {value = 11000}, 
	[2407] = {value = 7200}, 
	[2383] = {value = 960}, 
	[2392] = {value = 4000}, 
	[2488] = {value = 12000}, 
	[2525] = {value = 250}, 
	[2423] = {value = 1000}, 
	[2462] = {value = 4800}, 
	[2520] = {value = 30000}, 
	[2390] = {value = 180000}, 
	[2417] = {value = 500}, 
	[2436] = {value = 6000}, 
	[5741] = {value = 40000}, 
	[2378] = {value = 500}, 
	[2487] = {value = 12000}, 
	[2476] = {value = 5000}, 
	[8891] = {value = 15000}, 
	[2195] = {value = 30000}, 
	[2391] = {value = 7200},
	[8889] = {value = 18000}, 
	[2432] = {value = 8000}, 
	[2431] = {value = 108000}, 
	[2492] = {value = 40000},
	[2515] = {value = 2000}, 
	[2430] = {value = 2000}, 
	[2393] = {value = 17000}, 
	[7419] = {value = 10000}, 
	[2522] = {value = 120000}, 
	[2514] = {value = 50000}, 
	[7418] = {value = 35000}
	
}
 
function onUse(cid, item, frompos, itemEx, topos)
    if (itemEx.itemid == item.itemid) then
        local str = ""
        for i, k in pairs(items) do
            str = str ..getItemNameById(i):gsub("%a", string.upper, 1).. ": ".. k.value .. "\n"
        end
        doShowTextDialog(cid, 6533, "Item Name: Price\n-----------------------------\n".. str)
        return true
    end
 
    --local i = items[getItemNameById(itemEx.itemid)]
	local i = items[itemEx.itemid]
    if (i) then
        local count = getPlayerItemCount(cid, itemEx.itemid)
        if (count > 0) then
            doPlayerSellItem(cid, itemEx.itemid, count, i.value * count, false)
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você vendeu ".. count .." ".. (count == 1 and getItemNameById(itemEx.itemid) or getItemPluralNameById(itemEx.itemid)) .. " por ".. i.value * count .." gold coins.")
        else
            doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você não possuí esse item, o sistema irá vender apenas os items em seu inventário, items equipados não serão vendidos!")
        end
    else
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Não foi possível vender esse item, use o loot seller nele mesmo para ver a lista de items disponíveis.")
        doSendMagicEffect(frompos, CONST_ME_POFF)
    end
    return true
end

 

Vlw man! Rep+ pra tu ai ! ja tava a tarde toda tentando criar a formula pra vender todos de uma vez e o parametro pra calcular o valor total da venda, finalmente achei vc postando ele ja pronto hahaha

Link para o post
Compartilhar em outros sites
  • 1 month later...

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo