Ir para conteúdo
  • 0

[Resolvido] Quest Bugada


Emanueldk

Pergunta

alguem me explixa pq eu nao consigo fazer uma quest em meu dbo, eu faço tudo certinho mais quando eu clico no bau, eu abro ele como se fosse uma backpack e eu posso pegar o item de dentro, dae quando outra pessoa vai la, o item nao esta mais la dentro..... em Actiond Id eu boto 2000 ou 2002 nao lembro qual e em Unique Id boto 5999 e nao da certo....

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
  • Administrador

Você precisa fazer uma action pra isso e não colocar o item dentro do bau. Uma Action pra quando clicar, adicionar o item no player e não no container.

Link para o comentário
Compartilhar em outros sites

  • 0

@Emanueldk

 

data/actions/actions.xml adicione

<action actionid="5000" script="quests.lua"/>

 

data/actions/scripts crie quests.lua e adicione

function onUse(player, item, fromPosition, target, toPosition, isHotkey)
	local storage = specialQuests[item.uid]
	if not storage then
		storage = item.uid
		if storage > 65535 then
			return false
		end
	end

	if player:getStorageValue(storage) > 0 then
		player:sendTextMessage(MESSAGE_INFO_DESCR, "The " .. ItemType(item.itemid):getName() .. " is empty.")
		return true
	end

	local targetItem = Item(item.uid)
	local items = {}
	local reward = nil

	local size = targetItem:isContainer() and Container(item.uid):getSize() or 0
	if size == 0 then
		if questItems[item.uid] == nil then
			reward = targetItem:clone()
		else
			for _,v in pairs(questItems[item.uid]) do
				local newItem = Item(doCreateItemEx(v.id, v.count or v.subtype or 1))
				if v.aid ~= nil then
					newItem:setActionId(v.aid)
				end
				table.insert(items, newItem)
			end
		end
	else
		local container = Container(item.uid)
		for i = 0, container:getSize() - 1 do
			table.insert(items, container:getItem(i):clone())
		end
	end

	local result = ""
	local addon = addonQuests[item.uid]
	if addon ~= nil then
		player:addOutfitAddon(addon.outfit.male, addon.addon)
		player:addOutfitAddon(addon.outfit.female, addon.addon)
		result = addon.msg
	else
		size = #items
		if size == 1 then
			reward = items[1]:clone()
		end

		local weight = 0
		if reward then
			local ret = ItemType(reward:getId())
			if ret:isRune() then
				result = ret:getArticle() .. " " ..  ret:getName() .. " (" .. reward:getSubType() .. " charges)"
			elseif ret:isStackable() and reward:getCount() > 1 then
				result = reward:getCount() .. " " .. ret:getPluralName()
			else
				result = ret:getArticle() .. " " .. ret:getName()
			end
			weight = weight + ret:getWeight(reward:getCount())
		else
			if size > 20 then
				reward = Container(doCreateItemEx(item.itemid))
			elseif size > 8 then
				reward = Container(doCreateItemEx(1988))
			else
				reward = Container(doCreateItemEx(1987))
			end
			result = reward:getArticle() .. " " .. reward:getName()

			for i = 1, size do
			local tmp = items[i]
				if reward:addItemEx(tmp) ~= RETURNVALUE_NOERROR then
					print("[Warning] QuestSystem:", "Could not add quest reward to container")
				end
			end
			weight = weight + ItemType(reward:getId()):getWeight()
		end

		if player:addItemEx(reward) ~= RETURNVALUE_NOERROR then
			if player:getFreeCapacity() < weight then
				player:sendCancelMessage("You have found " .. result .. " weighing " .. string.format("%.2f", weight) .. " oz. You have no capacity.")
			else
				player:sendCancelMessage("You have found " .. result .. ", but you have no room to take it.")
			end
			return true
		end
	end

	if questsExperience[storage] ~= nil then
		player:addExperience(questsExperience[storage], true)
	end

	player:sendTextMessage(MESSAGE_INFO_DESCR, "You have found " .. result .. ".")
	player:setStorageValue(storage, 1)
	return true
end

 

No mapa, coloque actionid 5000 no seu baú e o item que receberá.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...