Ir para conteúdo
  • Cadastre-se

(Resolvido)Bau por Voc Pedido


Ir para solução Resolvido por KotZletY,

Posts Recomendados

Galera, antes de tudo quero informar que eu ja procurei e achei alguns scripts iguais a esse que eu vou pedir porem quando eu tento instalar no servidor, ele nao funciona.

 

Queria uma bau onde o Player ganhasse apenas 1 vez os itens de sua respectiva classe.

 

Informaçoes:

 

Sorc: 2458 ,1 / 2464 ,1 / 2648 ,1 / 2513 ,1 / 2190 ,1

Druid: 2458 ,1 / 2464 ,1 / 2648 ,1 / 2513 ,1 / 2182 ,1

Paladin: 2458 ,1 / 2464 ,1 / 2648 ,1 / 2513 ,1 / 2389 ,1

Knight: 2458 ,1 / 2464 ,1 / 2648 ,1 / 2513 ,1 / 2386 ,1 / 2389 ,1 / 2376 ,1

 

Obs: esse ,1  Seria a quantidade do item.

 Tibia 8.60

Editado por caioitalo1 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

actions/scripts/ cria um arquivo ai .lua com isso dentro

Spoiler

local voc = getPlayerVocation(cid)
local sto = 127381
local pos = getCreaturePosition(cid)
local tid = {
		all = {2458, 2464, 2648, 2513},
		sorc = {2190},
		druid = {2182},
		pala = {2389},
		kina = {2389, 2376}
}

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

if getPlayerStorageValue(cid, sto) <= 0 then
	for _, v in pairs(tid.all) do
		doPlayerAddItem(cid, v, 1)
	end
		if voc == 1 then
			doPlayerAddItem(cid, tid.sorc, 1)
		elseif voc == 2 then
			doPlayerAddItem(cid, tid.druid, 1)
		elseif voc == 3 then
			doPlayerAddItem(cid, tid.pala, 1)
		elseif voc == 4 then
			for d, k in pairs(tid.kina) do
				doPlayerAddItem(cid, k, 1)
			end
		end
	doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations, you completed the quest!")
	setPlayerStorageValue(cid, sto, 1)
else
	doSendMagicEffect(pos, CONST_ME_POFF)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sorry, you have already took the items.")
return true
end

 

 

actions.xml

<action actionid="123172" event="script" value="nome do arquivo.lua"/>

 

Ai vc coloca essa actionid ai no baú.

 

Da um feedback dps pra eu saber se funciona!

Link para o post
Compartilhar em outros sites
9 minutos atrás, Sekk disse:

actions/scripts/ cria um arquivo ai .lua com isso dentro

  Mostrar conteúdo oculto


local voc = getPlayerVocation(cid)
local sto = 127381
local pos = getCreaturePosition(cid)
local tid = {
		all = {2458, 2464, 2648, 2513},
		sorc = {2190},
		druid = {2182},
		pala = {2389},
		kina = {2389, 2376}
}

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

if getPlayerStorageValue(cid, sto) <= 0 then
	for _, v in pairs(tid.all) do
		doPlayerAddItem(cid, v, 1)
	end
		if voc == 1 then
			doPlayerAddItem(cid, tid.sorc, 1)
		elseif voc == 2 then
			doPlayerAddItem(cid, tid.druid, 1)
		elseif voc == 3 then
			doPlayerAddItem(cid, tid.pala, 1)
		elseif voc == 4 then
			for d, k in pairs(tid.kina) do
				doPlayerAddItem(cid, k, 1)
			end
		end
	doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations, you completed the quest!")
	setPlayerStorageValue(cid, sto, 1)
else
	doSendMagicEffect(pos, CONST_ME_POFF)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sorry, you have already took the items.")
return true
end

 

 

actions.xml


<action actionid="123172" event="script" value="nome do arquivo.lua"/>

 

Ai vc coloca essa actionid ai no baú.

 

Da um feedback dps pra eu saber se funciona!

Irmao, deu esse seguinte error:

 

[Error - LuaScriptInterface::loadFile] data/actions/scripts/vochest.lua:36: 'end' expected (to close 'function' at line 12) near '<eof>'
[Warning - Event::loadScript] Cannot load script (data/actions/scripts/vochest.lua)
data/actions/scripts/vochest.lua:36: 'end' expected (to close 'function' at line 12) near '<eof>'

Link para o post
Compartilhar em outros sites

Nossa foi mal uahsuhsash

esqueci de colocar um end

 

local voc = getPlayerVocation(cid)
local sto = 127381
local pos = getCreaturePosition(cid)
local tid = {
		all = {2458, 2464, 2648, 2513},
		sorc = {2190},
		druid = {2182},
		pala = {2389},
		kina = {2389, 2376}
}

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

if getPlayerStorageValue(cid, sto) <= 0 then
	for _, v in pairs(tid.all) do
		doPlayerAddItem(cid, v, 1)
	end
		if voc == 1 then
			doPlayerAddItem(cid, tid.sorc, 1)
		elseif voc == 2 then
			doPlayerAddItem(cid, tid.druid, 1)
		elseif voc == 3 then
			doPlayerAddItem(cid, tid.pala, 1)
		elseif voc == 4 then
			for d, k in pairs(tid.kina) do
				doPlayerAddItem(cid, k, 1)
			end
		end
	doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations, you completed the quest!")
	setPlayerStorageValue(cid, sto, 1)
else
	doSendMagicEffect(pos, CONST_ME_POFF)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sorry, you have already took the items.")
end
return true
end

 

testa ai kkk

Link para o post
Compartilhar em outros sites
2 horas atrás, Sekk disse:

Nossa foi mal uahsuhsash

esqueci de colocar um end

 


local voc = getPlayerVocation(cid)
local sto = 127381
local pos = getCreaturePosition(cid)
local tid = {
		all = {2458, 2464, 2648, 2513},
		sorc = {2190},
		druid = {2182},
		pala = {2389},
		kina = {2389, 2376}
}

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

if getPlayerStorageValue(cid, sto) <= 0 then
	for _, v in pairs(tid.all) do
		doPlayerAddItem(cid, v, 1)
	end
		if voc == 1 then
			doPlayerAddItem(cid, tid.sorc, 1)
		elseif voc == 2 then
			doPlayerAddItem(cid, tid.druid, 1)
		elseif voc == 3 then
			doPlayerAddItem(cid, tid.pala, 1)
		elseif voc == 4 then
			for d, k in pairs(tid.kina) do
				doPlayerAddItem(cid, k, 1)
			end
		end
	doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations, you completed the quest!")
	setPlayerStorageValue(cid, sto, 1)
else
	doSendMagicEffect(pos, CONST_ME_POFF)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sorry, you have already took the items.")
end
return true
end

 

testa ai kkk

Irmao, dessa vez pegou porem ele só esta entregando os itens listado no ALL, [ all = {2458, 2464, 2648, 2513},]. 

Tambem deu um error na distro que eu nao sei dizer se pode ocorrer problemas com o server futuramente.

 

Error:

Citar

 

[Error - Action Interface]
data/actions/scripts/vochest.lua
Description:
(internalGetPlayerInfo) Player not found when requesting player info #6

[Error - Action Interface]
data/actions/scripts/vochest.lua
Description:
(luaGetThingPosition) Thing not found

 

 

E do mesmo jeito, vlw por estar tentando me ajudar. xD

Link para o post
Compartilhar em outros sites

@caioitalo1

local voc = getPlayerVocation(cid)
local sto = 127381
local pos = getCreaturePosition(cid)
local all = {2458, 2464, 2648, 2513}
local sorc = 2190
local druid = 2182
local pala = 2389
local kina = {2389, 2376}

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

if getPlayerStorageValue(cid, sto) <= 0 then
	doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations, you completed the quest!")
	setPlayerStorageValue(cid, sto, 1)
	for _, v in pairs(all) do
		doPlayerAddItem(cid, v, 1)
	end
		if voc == 1 then
			doPlayerAddItem(cid, sorc, 1)
		elseif voc == 2 then
			doPlayerAddItem(cid, druid, 1)
		elseif voc == 3 then
			doPlayerAddItem(cid, pala, 1)
		elseif voc == 4 then
			for d, k in pairs(kina) do
				doPlayerAddItem(cid, k, 1)
			end
		end
else
	doSendMagicEffect(pos, CONST_ME_POFF)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sorry, you have already took the items.")
end
return true
end

 

Link para o post
Compartilhar em outros sites
12 horas atrás, Sekk disse:

@caioitalo1


local voc = getPlayerVocation(cid)
local sto = 127381
local pos = getCreaturePosition(cid)
local all = {2458, 2464, 2648, 2513}
local sorc = 2190
local druid = 2182
local pala = 2389
local kina = {2389, 2376}

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

if getPlayerStorageValue(cid, sto) <= 0 then
	doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations, you completed the quest!")
	setPlayerStorageValue(cid, sto, 1)
	for _, v in pairs(all) do
		doPlayerAddItem(cid, v, 1)
	end
		if voc == 1 then
			doPlayerAddItem(cid, sorc, 1)
		elseif voc == 2 then
			doPlayerAddItem(cid, druid, 1)
		elseif voc == 3 then
			doPlayerAddItem(cid, pala, 1)
		elseif voc == 4 then
			for d, k in pairs(kina) do
				doPlayerAddItem(cid, k, 1)
			end
		end
else
	doSendMagicEffect(pos, CONST_ME_POFF)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sorry, you have already took the items.")
end
return true
end

 

Citar

 

[Error - Action Interface]
data/actions/scripts/vochest.lua
Description:
(internalGetPlayerInfo) Player not found when requesting player info #6

[Error - Action Interface]
data/actions/scripts/vochest.lua
Description:
(luaGetThingPosition) Thing not found

 

Deu esse error dessa vez

Link para o post
Compartilhar em outros sites

@caioitalo1 use a mesma tag que o sek postou, apenas use meu script, testei aqui em um server antigo meu, e funcionou perfeitamente.

Spoiler

local vocs = {
--[voc] = {item, count} tabebados
[1] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2190 ,1}},
[2] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2182 ,1}},
[3] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2389 ,1}},
[4] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2386 ,1}, {2389 ,1}, {2376 ,1}}
}
local storage = 122234 -- storage para não fazer a quest novamente

function onUse(cid, item, itemEx, toPosition, fromPosition)
 if getPlayerStorageValue(cid, storage) < 1 then
  for voc, all in pairs(vocs) do
   if getPlayerVocation(cid) == voc then
    for z = 1, #all do
     doPlayerAddItem(cid, all[z][1], all[z][2])
    end
     doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
     doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations, you completed the quest!")
      setPlayerStorageValue(cid, storage, 1)
   end
  end	
 else
  doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
  doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sorry, you have already took the items.")
 end	
return true
end

 

 

Você poderá adicionar mas items caso queira, basta segui a ordem da tabela, e manter as virgulas corretamente.

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
5 minutos atrás, KotZletY disse:

@caioitalo1 use a mesma tag que o sek postou, apenas use meu script, testei aqui em um server antigo meu, e funcionou perfeitamente.

  Ocultar conteúdo


local vocs = {
--[voc] = {item, count} tabebados
[1] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2190 ,1}},
[2] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2182 ,1}},
[3] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2389 ,1}},
[4] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2386 ,1}, {2389 ,1}, {2376 ,1}}
}
local storage = 1242234 -- storage para não fazer a quest novamente

function onUse(cid, item, itemEx, toPosition, fromPosition)
if getPlayerStorageValue(cid, storage) < 1 then
	for voc, all in pairs(vocs) do
		if getPlayerVocation(cid) == voc then
			for z = 1, #all do
				 doPlayerAddItem(cid, all[z][1], all[z][2])
             end
			doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations, you completed the quest!")
			setPlayerStorageValue(cid, storage, 1)
		end
	end	
else
	doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sorry, you have already took the items.")
end	
return true
end

 

 

Você poderá adicionar mas items caso queira, basta segui a ordem da tabela, e manter as virgulas corretamente.

Mano, acabei de colocar aqui, nao acontece nada e nao da error, vou mostrar como eu coloquei.

 

No action.xml coloquei a seguinte tag: <action actionid="123172" event="script" value="vochest.lua"/>

No arquivo lua que esta localizado na pasta scripts: vochest.lua  com esse script que voce mandou.

Ja coloquei a actionid no bau porem nao acontece nada.

 

 

Link para o post
Compartilhar em outros sites

@caioitalo1 sim, parando para analisar, em tibia, contém as classes promotion, elite k, master sorc, e etc.., os ids dessas vocações são diferentes certo ? 

O script como eu disse, ele ta 100%, criei um conta com a vocação 1 e adicionou os items da tabela, mudei para a vocação 2 e adicionou os itens da tabela 2, então logo não precisarei testar as outras. Huashs.

 

Verifique se seu char não está com promote! 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
8 minutos atrás, KotZletY disse:

@caioitalo1 use a mesma tag que o sek postou, apenas use meu script, testei aqui em um server antigo meu, e funcionou perfeitamente.

  Mostrar conteúdo oculto


local vocs = {
--[voc] = {item, count} tabebados
[1] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2190 ,1}},
[2] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2182 ,1}},
[3] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2389 ,1}},
[4] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2386 ,1}, {2389 ,1}, {2376 ,1}}
}
local storage = 1242234 -- storage para não fazer a quest novamente

function onUse(cid, item, itemEx, toPosition, fromPosition)
if getPlayerStorageValue(cid, storage) < 1 then
	for voc, all in pairs(vocs) do
		if getPlayerVocation(cid) == voc then
			for z = 1, #all do
				 doPlayerAddItem(cid, all[z][1], all[z][2])
             end
			doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations, you completed the quest!")
			setPlayerStorageValue(cid, storage, 1)
		end
	end	
else
	doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sorry, you have already took the items.")
end	
return true
end

 

 

Você poderá adicionar mas items caso queira, basta segui a ordem da tabela, e manter as virgulas corretamente.

 

1 minuto atrás, KotZletY disse:

@caioitalo1 sim, parando para analisar, em tibia, contém as classes promotion, elite k, master sorc, e etc.., os ids dessas vocações são diferentes certo ? 

O script como eu disse, ele ta 100%, criei um conta com a vocação 1 e adicionou os items da tabela, mudei para a vocação 2 e adicionou os itens da tabela 2, então logo não precisarei testar as outras. Huashs.

 

Verifique se seu char não está com promote! 

 

1 minuto atrás, KotZletY disse:

@caioitalo1 sim, parando para analisar, em tibia, contém as classes promotion, elite k, master sorc, e etc.., os ids dessas vocações são diferentes certo ? 

O script como eu disse, ele ta 100%, criei um conta com a vocação 1 e adicionou os items da tabela, mudei para a vocação 2 e adicionou os itens da tabela 2, então logo não precisarei testar as outras. Huashs.

 

Verifique se seu char não está com promote! 

Ah, meu servidor ele ja começa com as classes 5 6 7 8(no caso MS,ED,RP,EK), vou tentar modificar os numeros para ver.

Acabei de testar aqui, aqui ele nao esta funcionando de nenhum jeito.

Link para o post
Compartilhar em outros sites
  • Solução

@caioitalo1 cara, você está fazendo algo errado com certeza, testei aqui em um baú e ta 100%.

Spoiler

local vocs = {
--[voc] = {item, count} tabebados
[5] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2190 ,1}}, -- MS
[6] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2182 ,1}}, -- ED
[7] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2389 ,1}}, -- RP
[8] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2386 ,1}, {2389 ,1}, {2376 ,1}} -- Ek
}
local storage = 122234 -- storage para não fazer a quest novamente

function onUse(cid, item, fromPosition, itemEx, toPosition)
 if getPlayerStorageValue(cid, storage) < 1 then
  for voc, all in pairs(vocs) do
   if getPlayerVocation(cid) == voc then
    for z = 1, #all do
     doPlayerAddItem(cid, all[z][1], all[z][2])
    end
     doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
     doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations, you completed the quest!")
      setPlayerStorageValue(cid, storage, 1)
   end
  end	
 else
  doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
  doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sorry, you have already took the items.")
 end	
return true
end

 

 

<action actionid="123172" event="script" value="vochest.lua"/>

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites
Agora, KotZletY disse:

@caioitalo1 cara, você está fazendo algo errado com certeza, testei aqui em um baú e ta 100%.

  Mostrar conteúdo oculto


local vocs = {
--[voc] = {item, count} tabebados
[5] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2190 ,1}}, -- MS
[6] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2182 ,1}}, -- ED
[7] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2389 ,1}}, -- RP
[8] = {{2458 ,1}, {2464 ,1}, {2648 ,1}, {2513 ,1}, {2386 ,1}, {2389 ,1}, {2376 ,1}} -- Ek
}
local storage = 122234 -- storage para não fazer a quest novamente

function onUse(cid, item, fromPosition, itemEx, toPosition)
 if getPlayerStorageValue(cid, storage) < 1 then
  for voc, all in pairs(vocs) do
   if getPlayerVocation(cid) == voc then
    for z = 1, #all do
     doPlayerAddItem(cid, all[z][1], all[z][2])
    end
     doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_BLUE)
     doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Congratulations, you completed the quest!")
      setPlayerStorageValue(cid, storage, 1)
   end
  end	
 else
  doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
  doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sorry, you have already took the items.")
 end	
return true
end

 

 


<action actionid="123172" event="script" value="vochest.lua"/>

 

Eu nao sei se pode ser essa actionid q ta bugando talvez um numero menor poderia ser? pois quando eu coloco ela pelo rme, o numero muda automaticamente.

Agora pegou perfeitamente! acho que eu ja sei oque foi. nos locais dos numero das vocaçoes

 

[5]

[6]

[7]

[8]

 

como vc colocou, eu tinha colocado assim, [1-5] [2-6][3-7][4-8]

Link para o post
Compartilhar em outros sites

@caioitalo1 hahaha foi oque pensei, falei, "pera, to testando e ta funfando tranquilo", ae pensei que você poderia está declarando as vocações incorretamente, então eu mesmo as coloquei.

 

Bom, até a próxima, e boa sorte com o server, só relembrando, você poderá adiciona quantos itens quiser, e a quantidade que quiser, basta configurar "corretamente".

 

Abraços, e boa noite(dia no caso), ahushas!

 

xD

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

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