Ir para conteúdo

Featured Replies

Postado

Screenshot_1.png.653b3c90fff87bd9591d44ca473e9fd2.png

Screenshot_2.png.e7fdb96fe0af041ff171cb207ab63ab1.png

Olá comunidade.

Eu criei um script a madrugada passada para tentar ajudar um amigo que usa 'OTX' porém dá um erro bizarro no 'lib/compat.lua' e a função 'doAddPlayerOutfit' retorna valor 'NIL'. Eu não sei como resolver, mas está funcionando perfeitamente no 'TFS 0.4'. Espero que alguém em algum lugar do tempoespaço possa se beneficiar desse script já que os que encontrei estão todos muito feios e confusos.

1. Acesse a pasta 'data/talkactions/scripts' e crie um novo 'arquivo.lua' chamado 'addonpresent.lua', dentro adicione o conteúdo abaixo.

function onSay(cid, words, param, channel)

	local maleOutfits = {["citizen"] = {128}, ["mage"] = {130},
						["knight"] = {131}, ["nobleman"] = {132},
						["summoner"] = {133}, ["warrior"] = {134}
	}
	
	local femaleOutfits = {["citizen"] = {136}, ["mage"] = {138},
						["knight"] = {139}, ["nobleman"] = {140},
						["summoner"] = {141}, ["warrior"] = {142}
	}
	
	local mensagens = {"Você recebeu o seu addon e consumiu o item bônus para isto.", "Verifique o que você digitou e tente novamente, parametros inválidos.",
						"Você não possui o item necessário para receber um addon.", "Certifique-se que você digitou o nome do addon corretamente e tente mais uma vez."}
	
	local efeitinga = {[1] = {name = CONST_ME_POFF},	[2] = {name = CONST_ME_CAKE},
					   [3] = {name = CONST_ME_HEARTS},    [4] = {name = CONST_ME_GIFT_WRAPS} -- efeitos que seram exibidos
	}
	
	local param = string.lower(param)
	
	if not isPremium(cid) then
		doCreatureSay(cid, "Você não possui Premium Account, portanto não poderá utilizar o item de addon.", TALKTYPE_ORANGE_1) -- MSG que será exibida p/ o nao premium
		return true
	end
	
	if getPlayerItemCount(cid, 6497) > 0 then -- 6497 é o ID do item que será usado por você, se for maior que 0 a quanidade na sua bag então
		if param ~= "" and maleOutfits[param] and femaleOutfits[param] then
			doPlayerRemoveItem(cid, 6497, 1) -- o item 6497 será consumido
			doCreatureSay(cid, mensagens[1], TALKTYPE_ORANGE_1)
			for k, v in pairs(efeitinga) do
				doSendMagicEffect(getCreaturePosition(cid), v.name)
			end
				if getPlayerSex(cid) == 0 then
					doPlayerAddOutfit(cid, femaleOutfits[param][1], 3)
				elseif getPlayerSex(cid) == 1 then
					doPlayerAddOutfit(cid, maleOutfits[param][1], 3)
				end	
		else
			doCreatureSay(cid, mensagens[2], TALKTYPE_ORANGE_1)
		end
	else
		doCreatureSay(cid, mensagens[3], TALKTYPE_ORANGE_1)
	end
	
	return true
end

 

2. Regresse até 'data/talkactions' e abra o arquivo 'talkactions.xml', dentro adicione o conteúdo abaixo.

<talkaction words="!addon" event="script" value="addonpresent.lua"/>

 

Spoiler

Picles.

 

Editado por Sphynx1
comentários no código (veja o histórico de edições)

Postado

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Spoiler

Congratulations, your content has been approved!
Thank you for your contribution, we of Tibia King we are grateful.
Your content will help many other users, you received +1 REP.

 

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo