Ir para conteúdo

[Pedido] Quest Que Vai Mais De Um Item Na Chest.


Posts Recomendados

em actions crie 1 arquivo e renomeie para chest

function onUse(cid, item, frompos, item2, topos)

if item.uid == xxxx then
	queststatus = getPlayerStorageValue(cid,xxxx)
	if queststatus == -1 then
	doPlayerSendTextMessage(cid,22,"You have found a demon armor.")
	doPlayerAddItem(cid,2494,1)
	setPlayerStorageValue(cid,xxxx,1)
	else
	doPlayerSendTextMessage(cid,22,"It is empty.")
end
else
return 0
end

return 1
end 

 

basta repitir a linha " doPlayerAddItem(cid,2494,1)" trocando o id do item e pronto :D]

aonde ta xxxx e o n° da action ou storage q vc escolhe pra por na tag do actions.mlx\/

 

em actions.mlx adicione:

	<action uniqueid="xxx" script="chest.lua" />

lembrando q vc tera q por no bau o uniqueid correspondente ao da tag e do script

Link para o comentário
Compartilhar em outros sites

vai em actions/scripts e cria um arquivo lua exemplo set.lua

 

poem issu dentro

 

function onUse(cid, item, frompos, item2, topos)
bag = doPlayerAddItem(cid, 1988, 1) -- aqui voce coloca o id de uma bag ou backpack

if item.uid == 9995 then -- aqui voce coloca o uniqueid do bau
queststatus = getPlayerStorageValue(cid,9995)-- aqui voce coloca o uniqueid do bau
if queststatus == -1 then
doPlayerSendTextMessage(cid,25,"voce ganhou um Set Supreme.")
doAddContainerItem(bag, 2535, 1)  -- aqui voce coloca o id do item
doAddContainerItem(bag, 10136, 1) -- aqui voce coloca o id do item
doAddContainerItem(bag, 2474, 1)  -- aqui voce coloca o id do item
doAddContainerItem(bag, 2503, 1)  -- aqui voce coloca o id do item
doAddContainerItem(bag, 2504, 1)  -- aqui voce coloca o id do item
doAddContainerItem(bag, 2644, 1)  -- aqui voce coloca o id do item
setPlayerStorageValue(cid,9995,1) -- aqui voce coloca o unique id do BAU
else
oPlayerSendTextMessage(cid,25,"It is empty.")
end
else
return 0
end
return 1
end

 

agora vai em actions.xml

 

	<action uniqueid="9995" script="set.lua" />

 

pronto tae ^^ 1 coisa que vai acontece o player ira clika no bau o items q tu ponhar vai vim tudu dentro da Bag se o player clikar mas 1 veiz ele vai pegar apenas outra bag mas sem os items ok vlw mlk

Editado por douguer
Link para o comentário
Compartilhar em outros sites

Dou uma dica para ficar mais facil pra você.

abra DATA/ACTIONS/SCRIPT

 

Crie um arquivo e renomeie para system

 

local specialQuests = {
[2001] = 300as15 --Annihilator
}sdftion(cid), CONST_ME_POFF, cid)
	return true
endasd
local storage = specialQuestdass[item.actionid]
if(not storage) thena
	storage = item.uid
	if(storage > 65535) then
		return false
	sdf
sderStorageValue(cid, storage) > 0) then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.")
	return true
end

local items = {}
local reward = 0asditem, false)
else
	for i = 0, size do
		local tmp = getContainerItem(item.uid, i)
		if(tmp.itemid > 0) then
			table.insert(items, tmp)
		end
	endasdfs
end

size = table.maxn(items)
if(size == 1) then
	reward = doCopyIsdtem(items[1], true)
end

local result = ""
if(reward ~= 0) then
	local ret = getItemDescriptifsdns(reward.uid)
	if(reward.type > 0 and isItemRune(reward.itemid)) then
		result = reward.type .. " charges " .. ret.name
	elseif(reward.type > 0 and isItemStackable(reward.itemid)) then
		result =fsd
else
	if(size > 20) then
		reward = doCopyItem(item, false)
	elseif(size > 8) then
		reward = getThing(doCreateItemEx(1988, 1))
	else
		reward = getTfs
	for i = 1, size do
		local tmp = doCopyItem(items[i], true)
		if(doAddContainerItemEx(reward.uid, tmp.uid) ~= RETURNVALUE_NOERROR) then
			print("[Warning] QuestSystem:", "Could not add quest reward")
		else
			local ret = ", "
			if(i == 2) then
				ret = " and "
			elseif(i == 1) then
				ret = ""
			end

			result = result .. ret
			ret = getItemDescriptions(tmp.uid)
			if(tmp.type > 0 and isItemRune(tmp.itemid)) then
				result = result .. tmp.type .. " charges " .. ret.name
			elseif(tmp.type > 0 and isItemStackable(tmp.itemid)) then
				result = result .. tmp.type .. " " .. ret.plural
			else
				result = result .. ret.article .. " " .. ret.name
			end
		end
	end
end

if(doPlayerAddItemEx(cid, reward.uid, false) ~= RETURNVALUE_NOERROR) then
	result = "You have found a reward weighing " .. getItemWeight(reward.uid) .. " oz. It is too heavy or you have not enough space."
else
	result = "You have found " .. result .. "."
	setPlayerStorageValue(cid, storage, 1)
	if(questsExperience[storage] ~= nil) then
		doPlayerAddExp(cid, questsExperience[storage])
		doSendAnimatedText(getCreaturePosition(cid), questsExperience[storage], TEXTCOLOR_WHITE)
	end
end

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, result)
return true
end
 

 

Salve e feixe.

 

agora abra o actions.XML e coloque isto:

 

<action actionid="2000" script="system.lua"/>
     <action actionidasd
 

 

Explicando:

Apos ter feito tudo isso nao precisa mudar nada, apenas abra o RME map editor RME - SITE OFICIAL coloque uma chest no chao, clique nela duas veses e va em propiedades, no ACTION voce coloca o ID: 2000 e no uniqueid coloca qualquer numero (OBS: certifique-se que nao exista outro igual)

em baixo e so escolher quantos itens voce quiser.

pra mim e bem mais facil do que fazer quest por script, mas a opção e sua :D

 

Ajudei? REP+ :D

Editado por Nolis
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...