Ir para conteúdo

Quest Inovadora, CONFIRA!


totonho18

Posts Recomendados

É um script de quest feito 100% por mim

 

O que ela retorna?

 

Essa quest simplesmente te fornece um conjunto de itens dentro de uma bag, itens básicos, porém os itens recebidos da quest são diferentes para cada vocação, e detalhe, ela fornece uma sword ou um axe ou um club para o jogador caso ele seja knight, o tipo da arma dependerá do skill do mesmo, se seu maior skill for axe, ele receberá um machado, e o maior skill for club ele recebe uma clava e se o maior for sword ele recebe uma espada, é um sistema de fácil configuração e acredito que pode ser útil de alguma forma principalmente aos programadores iniciantes.

 

Implementação;

 

Abra a pasta data/actions/scripts -> copie e cole um arquivo qualquer e o renomeie para recompensa.lua

 

Apague tudo que tiver dentro e cole o seguinte código:

function onUse(cid, item, frompos, item2, topos)
	
	--A Configuração abaixo
	local config = {
		level_min = 20, -- level mínimo
		Premium = true, -- Necessita P.A? true para sim ou false para não
		Club  =  7381,  -- id da clava caso o suposto knight tenha skill club superior
		Sword =  7385, -- id da espada caso o suposto knight tenha skill sword superior
		Axe   =  2435 -- id da machado caso o suposto knight tenha skill axe superior
	}
	-- Fim da config OBS Configure dessa linha pra baixo se e somente se souber o que está fazendo
	
	local SkillClub  = getPlayerSkillLevel(cid, 1)
	local SkillSword = getPlayerSkillLevel(cid, 2)
	local SkillAxe   = getPlayerSkillLevel(cid, 3)
	local level = getPlayerLevel(cid)
	local Voc = getPlayerVocation(cid)
	local QuestStatus = getPlayerStorageValue(cid,13139)
	
	if config.Premium and not isPremium(cid) then
		doPlayerSendTextMessage(cid,29,"Apenas para jogadores premium accounts")
		return 0
	end
	

	if Voc == 4 or Voc == 8 then
	  if level >= config.level_min then
		if QuestStatus == -1 then
					if (SkillClub > SkillSword) and (SkillClub > SkillAxe) then
							doPlayerAddItem(cid,config.Club,1)
						elseif (SkillSword > SkillClub) and (SkillSword > SkillAxe) then
							doPlayerAddItem(cid,config.Sword,1)
						elseif (SkillAxe > SkillClub) and (SkillAxe > SkillSword) then
							doPlayerAddItem(cid,config.Axe,1)
					end
				local bag = doPlayerAddItem(cid,3939,1)	
				doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis")	
				doAddContainerItem(bag, 2152, 50)
				doAddContainerItem(bag, 2647, 1)
				doAddContainerItem(bag, 2463, 1)
				doAddContainerItem(bag, 2457, 1)
				doAddContainerItem(bag, 2661, 1)
				doAddContainerItem(bag, 2525, 1)
				setPlayerStorageValue(cid,13139,1)
			else
				return doPlayerSendTextMessage(cid,29,"Vazio")
		end
		else
			doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+")
	  end	
	elseif Voc == 3 or Voc == 7 then
			if level >= config.level_min then
				if QuestStatus == -1 then
					local bag = doPlayerAddItem(cid,3939,1)	
					doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis")
					doAddContainerItem(bag, 2152, 50)
					doAddContainerItem(bag, 2647, 1)
					doAddContainerItem(bag, 8872, 1)
					doAddContainerItem(bag, 2457, 1)
					doAddContainerItem(bag, 2661, 1)
					doAddContainerItem(bag, 2525, 1)
					doAddContainerItem(bag, 7438, 1)
					setPlayerStorageValue(cid,13139,1)	
				else
					return doPlayerSendTextMessage(cid,29,"Vazio")
				end	
			else
				doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+")
			end	
	elseif Voc == 1 or Voc == 5 then
			if level >= config.level_min then
				if QuestStatus == -1 then
					local bag = doPlayerAddItem(cid,3939,1)	
					doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis")
					doAddContainerItem(bag, 2152, 50)
					doAddContainerItem(bag, 2323, 1)
					doAddContainerItem(bag, 2188, 1)
					doAddContainerItem(bag, 2647, 1)
					doAddContainerItem(bag, 8892, 1)
					doAddContainerItem(bag, 2525, 1)
					doAddContainerItem(bag, 2661, 1)
					setPlayerStorageValue(cid,13139,1)	
				else
					return doPlayerSendTextMessage(cid,29,"Vazio")
				end	
			else
				doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+")
			end
	elseif Voc == 2 or Voc == 6 then 
			if level >= config.level_min then
				if QuestStatus == -1 then
					local bag = doPlayerAddItem(cid,3939,1)	
					doPlayerSendTextMessage(cid,29,"Voce recebeu alguns itens uteis")
					doAddContainerItem(bag, 2152, 50)
					doAddContainerItem(bag, 2323, 1)
					doAddContainerItem(bag, 2185, 1)
					doAddContainerItem(bag, 2647, 1)
					doAddContainerItem(bag, 8892, 1)
					doAddContainerItem(bag, 2525, 1)
					doAddContainerItem(bag, 2661, 1)
					setPlayerStorageValue(cid,13139,1)	
				else
					return doPlayerSendTextMessage(cid,29,"Vazio")
				end	
			else
				doPlayerSendTextMessage(cid,29,"Only Level "..config.level_min.."+")
			end			
	end

	return true
end

feito isso salve e feche o arquivo.

 

Agora vá na pasta data/actions/actions.xml e cole a seguinte tag abaixo:

<action uniqueid="7111" script ="recompensa.lua" />

Feito isso basta abrir seu map editor e colocar o unique id no local onde o player vai clicar pra fazer a quest, seja lá o que for, um baú, uma estátua, uma parede,etc.

 

Gostou? REP+

 

Analíse, critique, elogie, comente, me ajude a crescer.

 

By Totonho 18, autor do código :smile_positivo:

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...
×
×
  • Criar Novo...