Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado
  • Autor
3 horas atrás, WooX disse:
  1. Limpar as bancadas ao redor eu não acho uma boa ideia, tem certeza que é assim?
  2. Por primeiro item você quer dizer o que está em baixo?

 

1- s exatamente dessa maneira.

2- ss o primeiro item que esta em baixo. vi isso no servidor chamado Baiak Ilusion. GIF:

depot.thumb.gif.0c936a2d6299a189afcf55d40936472a.gif

  • Respostas 11
  • Visualizações 2.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • --<talkaction words="/depot;!depot" event="script" value="depot.lua"/>-- local sendToDepot = false local depotIDs = {2589, 2590, 2591, 2592} -- South, West, North and East local middleItems = {

Posted Images

Postado
--<talkaction words="/depot;!depot" event="script" value="depot.lua"/>--

local sendToDepot = false
local depotIDs = {2589, 2590, 2591, 2592} -- South, West, North and East
local middleItems = {1643, 1645} -- Eixo Y, Eixo X

function onSay(cid, words, param, channel)
	if not getPosition(getThingPos(cid)).depot then
		doPlayerSendCancel(cid, "You're not on the depot.")
		return true
	end
	
	param = string.lower(param)
	if (param == "clean") then
		doCleanTile(getPosition(getThingPos(cid)).depot)
		doCleanTile(getPosition(getThingPos(cid)).middle)
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The depot and its surrounding were cleaned.")
	elseif (param == "collect") then
		local pos = getPosition(getThingPos(cid)).depot	
		while getThingFromPos(pos).itemid > 0 do
			pos.stackpos = pos.stackpos + 1
			if (pos.stackpos > 2) and (isInArray(depotIDs, getThingFromPos(pos).itemid)) then
				pos.stackpos = pos.stackpos - 1
				break
			elseif (getThingFromPos(pos).itemid == 0) then
				break
			end		
		end	
		local toAdd = getThingFromPos(pos)
		if toAdd.itemid > 0 then
			if sendToDepot then
				doRemoveItem(toAdd.uid)
				local parcel = doCreateItemEx(ITEM_PARCEL)
				doAddContainerItem(parcel, toAdd.itemid, toAdd.type)
				doPlayerSendMailByName(getPlayerName(cid), parcel, getPlayerTown(cid))
				local itemArticle = isItemStackable(toAdd.itemid) and toAdd.type or getItemArticleById(toAdd.itemid)
				doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You just received "..itemArticle.." "..getItemNameById(toAdd.itemid).." in your depot.")
			else
				doRemoveItem(toAdd.uid)
				doPlayerAddItem(cid, toAdd.itemid, toAdd.type)
				local itemArticle = isItemStackable(toAdd.itemid) and toAdd.type or getItemArticleById(toAdd.itemid)
				doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, string.upper(itemArticle).." "..getItemNameById(toAdd.itemid).." was added to your inventory.")
			end
		else
			doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "There's no item to be collected on your depot.")
		end
	else
		doPlayerSendCancel(cid, "Use the parameters clean or collect.")
	end
	return true
end

function getPosition(playerPos)
	local position = {}
	local crossDir = {{0, -1}, {1, 0}, {0, 1}, {-1, 0}}
	local depotPos, middleItemPos
	for i = 1, #depotIDs do
		for k, v in pairs(crossDir) do
			depotPos = {x = playerPos.x, y = playerPos.y, z = playerPos.z, stackpos = playerPos.stackpos}
			depotPos.x = depotPos.x + v[1]
			depotPos.y = depotPos.y + v[2]
			local depot = getTileItemById(depotPos, depotIDs[i])
			if depot.itemid == depotIDs[i] then
				depotPos.stackpos = 2
				position.depot = {x = depotPos.x, y = depotPos.y, z = depotPos.z, stackpos = depotPos.stackpos}
				middleItemPos = {x = depotPos.x, y = depotPos.y, z = depotPos.z, stackpos = depotPos.stackpos}
				if playerPos.y ~= depotPos.y then
					middleItemPos.x = middleItemPos.x - 1
					if getTileItemById(middleItemPos, middleItems[1]).itemid ~= middleItems[1] then
						middleItemPos.x = middleItemPos.x + 2
					end
				elseif playerPos.x ~= depotPos.x then
					middleItemPos.y = middleItemPos.y - 1
					if getTileItemById(middleItemPos, middleItems[2]).itemid ~= middleItems[2] then
						middleItemPos.y = middleItemPos.y + 2
					end
				end
				position.middle = {x = middleItemPos.x, y = middleItemPos.y, z = middleItemPos.z, stackpos = middleItemPos.stackpos}
				break
			end
		end
	end
    return position
end

 

 

 

 

Nós somos aquilo que fazemos repetidamente. Excelência, não é um modo de agir, mas um hábito.

                                                                                                                                                                                                                                        Aristóteles 

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo