Ir para conteúdo
  • Cadastre-se

(Resolvido)[PEDIDO] Bau com Itens de cada Vocaçao


Ir para solução Resolvido por Caronte,

Posts Recomendados

Quero fazer um pedido de um script de quest para aplicar no bau, ele da x item para cada vocaçao, exemplo, um kina clica no bau e ganha 1 sword e 1 axe, se um paladin clicar ele nao vai ganhar a sword ele ganha uma bow, se um mage clicar ele ganha wand, cada vocaçao recebe o item de sua vocaçao, procurei mais nao encontrei.

 

Aguardo. +REP

 

 

OT SERVER: 8.60

Link para o post
Compartilhar em outros sites

Vai em data>actions>script copie um arquivo .lua e renomeie para questvocation e cole isto nele:

local cfg = {
questChestAId = 5500, --
questChestStorage = 45008 --
}
local vocQ = {
[1] = {item = 2421 }, -- o item que você vai da.--
[2] = {item = 2421}, -- as vocations está configuradas até Elite Knight , 1=Sorc,2=druid,3=Paladin,4=Kina e assim em diante
[3] = {item = 2421},
[4] = {item = 2421},
[5] = {item = 2421},
[6] = {item = 2421},
[7] = {item = 2421},
[8] = {item = 2421}
}
function onUse(cid, item, toPosition, itemEx, fromPosition)
for voc, i in pairs(vocQ) do
if item.actionid == cfg.questChestAId then
local opened = getPlayerStorageValue(cid, cfg.questChestStorage)
if opened == -1 then
doPlayerSetStorageValue(cid, cfg.questChestStorage, 1)
if getPlayerVocation(cid) == voc or getPlayerVocation(cid) == voc+4 then
doPlayerAddItem(cid, i.item)
doPlayerSendTextMessage(cid, 25, "You recieved "..getItemNameById(i.item)..".")
end
else
doPlayerSendCancel(cid, "It's empty.")
end
end
end
return true
end

depois vai em actions.xml e adicione esta linha:

<action actionid="5500" event="script" value="questvocation.lua"/>

Te ajudei?? REP + e ficamos quites  ;D

Link para o post
Compartilhar em outros sites

Testei aqui e não funcionou, clica no bau e so diz: It's empty.

 

E não da nenhum erro no console, já tentei trocar o storage e o actionid e nada, o que pode ser? meu servidor é mysql e é baseado no Alissow Ots 8.60, queria um bau unico e nao ter que fazer 4 bau no templo.

Link para o post
Compartilhar em outros sites
  • Solução
local vocQ = {
[1] = {item = 2421 }, -- o item que você vai da.--
[2] = {item = 2421}, -- as vocations está configuradas até Elite Knight , 1=Sorc,2=druid,3=Paladin,4=Kina e assim em diante
[3] = {item = 2421},
[4] = {item = 2421},
[5] = {item = 2421},
[6] = {item = 2421},
[7] = {item = 2421},
[8] = {item = 2421}
}

function onUse(cid, item, toPosition, itemEx, fromPosition)

  if getPlayerStorageValue(cid, 38493) ~= 1 then
    doPlayerAddItem(cid, vocQ[getPlayerVocation(cid)].item)
    doPlayerSendTextMessage(cid, 25, "You recieved "..getItemNameById(vocQ[getPlayerVocation(cid)].item)..".")
	doPlayerSetStorageValue(cid, 38493, 1)
  else
    doPlayerSendCancel(cid, "It's empty.")
  end
return true
end

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites
local questChestStorage = 74654

local vocQ = {

	["1-5"] = {item = {{2421, 1}, {itemid, count}}},
	["2-6"] = {item = {{2421, 1}, {itemid, count}}}, 
	["3-7"] = {item = {{2421, 1}, {itemid, count}}},
	["4-8"] = {item = {{2421, 1}, {itemid, count}}},

}


function onUse(cid, item, toPosition, itemEx, fromPosition)
	
	if getPlayerStorageValue(cid, questChestStorage) == 1 then
		doPlayerSendCancel(cid, "It's empty.")
		return true
	end

	for i, v in pairs(vocQ) do

		local voc = string.explode(i, "-")

		if getPlayerVocation(cid) == voc[1] or getPlayerVocation(cid) == voc[2] then
			for x = 1, #v.item do
				doPlayerAddItem(cid, v.item[x][1], v.item[x][2])
			end
			setPlayerStorageValue(cid, questChestStorage, 1)
			doPlayerSendTextMessage(cid, 25, "Congratulations!!")
			break
		end
	end

	return true
end
<action actionid="5500" event="script" value="questvocation.lua"/>

Comecei a programar em lua a pouco tempo, se tiver algo errado podem me corrigir.

Editado por Linus (veja o histórico de edições)

As Pessoas vivem apegadas aquilo que traduzem como correto e verdadeiro,assim elas definem a realidade.

mas oque significa o correto e o verdadeiro?

 

 

Link para o post
Compartilhar em outros sites

Em qual OT vcs estão testando o script? aqui ñ ta funcionando de jeito nenhum, clico no bau e so diz: It's empty e ta tudo certo no map o actionid 5500 no bau, ñ da nenhum erro no console, simplesmente diz q esta vazio e não da item nenhum.

Link para o post
Compartilhar em outros sites

Em qual OT vcs estão testando o script? aqui ñ ta funcionando de jeito nenhum, clico no bau e so diz: It's empty e ta tudo certo no map o actionid 5500 no bau, ñ da nenhum erro no console, simplesmente diz q esta vazio e não da item nenhum.

 

Você deu reload ? 

ele só dá Empty chest se você já possuir storage = 1 ...

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

Troquei a storage tenta agora.

As Pessoas vivem apegadas aquilo que traduzem como correto e verdadeiro,assim elas definem a realidade.

mas oque significa o correto e o verdadeiro?

 

 

Link para o post
Compartilhar em outros sites

Ja troquei storage, troquei actionid, testei na conta gm, testei em conta normal, fiz conta nova, dei reload, religuei o servidor, e nada de funcionar, acho que alissow ot 2011 reciclado ate hoje nao funciona esses termos, estranho dar certo ai e aqui não sendo que esta tudo correto.

Link para o post
Compartilhar em outros sites

Ja troquei storage, troquei actionid, testei na conta gm, testei em conta normal, fiz conta nova, dei reload, religuei o servidor, e nada de funcionar, acho que alissow ot 2011 reciclado ate hoje nao funciona esses termos, estranho dar certo ai e aqui não sendo que esta tudo correto.

 

Editei o script, vê meu post anterior...

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

Boa agora funcionou e como faz para o Knight receber 2 itens em sua bp? ele receberia Sword e Axe junto, o que modifico?

Link para o post
Compartilhar em outros sites

/\

 

Onde tem "itemid" basta coloca o id do item que tu quer que tal voc receba, se quiser adicionar mais, só colocar "," e adicionar outro ID.

local vocQ = {

	["1-5"] = {item = {2421, itemid}}, 
	["2-6"] = {item = {2421, itemid}}, 
	["3-7"] = {item = {2421, itemid}},
	["4-8"] = {item = {2421, itemid}},

}

function onUse(cid, item, toPosition, itemEx, fromPosition)

	if getPlayerStorageValue(cid, 38493) ~= 1 then
		for voc, items in pairs(vocQ) do
			local v = string.explode(voc, "-")
			if getPlayerVocation(cid) == tonumber(v[1]) or getPlayerVocation(cid) == tonumber(v[2]) then
				doPlayerAddItem(cid, items.item[1], 1)
                                doPlayerAddItem(cid, items.item[2], 1)
				doPlayerSendTextMessage(cid, 25, "Congratulations!!")
				doPlayerSetStorageValue(cid, 38493, 1)
			        break
		        end
                end
	else
		doPlayerSendCancel(cid, "It's empty.")
	end
	return true
end
Editado por Linus (veja o histórico de edições)

As Pessoas vivem apegadas aquilo que traduzem como correto e verdadeiro,assim elas definem a realidade.

mas oque significa o correto e o verdadeiro?

 

 

Link para o post
Compartilhar em outros sites

Pronto editei tente agora, lembrando que é necessário 2 items em cada voc ... e não vai entregar mais que 2, se for usar mais de 2 avisa que eu edito.

As Pessoas vivem apegadas aquilo que traduzem como correto e verdadeiro,assim elas definem a realidade.

mas oque significa o correto e o verdadeiro?

 

 

Link para o post
Compartilhar em outros sites

Obrigado pelo empenho em ajudar mais cada vocação ganha 1 item apenas, somente o Knight que gostaria que ganha-se 2 itens (sword e axe) para o player escolher qual usar e não ser obrigado a usar somente a sword no inicio da jornada. As outras vocações são apenas 1 item (spear paladin e wand universal para druid/sorc), a questao é apenas o Knight, as outras já esta certo. Knight clica no bau e cai 1 sword e 1 axe em sua backpack, apenas isso que falta para fechar o tópico.

Link para o post
Compartilhar em outros sites

Pronto :

local cfg = {

	kina= {2421, idsword}, 
	pala = 2421,
	sorc = 2421,
	drui = 2421,

}

function onUse(cid, item)

	if getPlayerStorageValue(cid, 38493) ~= 1 then
		if getPlayerVocation(cid) == 4 or getPlayerVocation(cid) == 8 then
			doPlayerAddItem(cid, cfg.kina[1], 1)
			doPlayerAddItem(cid, cfg.kina[2], 1)
			doPlayerSendTextMessage(cid, 25, "Congratulations!!")
			doPlayerSetStorageValue(cid, 38493, 1)
		elseif getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 then
			doPlayerAddItem(cid, cfg.sorc, 1)
			doPlayerSendTextMessage(cid, 25, "Congratulations!!")
			doPlayerSetStorageValue(cid, 38493, 1)
		elseif getPlayerVocation(cid) == 2 or getPlayerVocation(cid) == 6 then
			doPlayerAddItem(cid, cfg.drui, 1)
			doPlayerSendTextMessage(cid, 25, "Congratulations!!")
			doPlayerSetStorageValue(cid, 38493, 1)
		elseif getPlayerVocation(cid) == 3 or getPlayerVocation(cid) == 7 then
			doPlayerAddItem(cid, cfg.pala, 1)
			doPlayerSendTextMessage(cid, 25, "Congratulations!!")
			doPlayerSetStorageValue(cid, 38493, 1)
                end
	else
		doPlayerSendCancel(cid, "It's empty.")
	end

	return true
end
Editado por Linus (veja o histórico de edições)

As Pessoas vivem apegadas aquilo que traduzem como correto e verdadeiro,assim elas definem a realidade.

mas oque significa o correto e o verdadeiro?

 

 

Link para o post
Compartilhar em outros sites

Agora sim, esta tudo certo, obrigado a todos pela atenção.

 

 

[RESOLVIDO]

Clique no post de melhor resposta para adicionar o prefixo de resolvido no tópico.

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

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.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo