Ir para conteúdo
  • Cadastre-se

(Resolvido)Addon ao usar o item ! Ajuda Aqui!


Ir para solução Resolvido por Shizuo Silva,

Posts Recomendados

Bom, eu precisava de um script, que ao usar certo item o player ganha o addon full e o item some.

Exemplo, um Ferumbra's Hat, o player ira dar use, fazendo com que ele ganha o mage addon full (male) ou o summoner addon full (female).

 

Link para o post
Compartilhar em outros sites
  • Solução
function onUse(cid, item)

   local cfg = {

   		addon_name = "Citizen", -- NOME DO ADDON 	
   		addon_male = xxx, 
   		addon_female = xxx,
   		storage = 9784 -- Lembre-se de trocar o numero da storage em cada item
}
		if getPlayerStorageValue(cid, cfg.storage) < 1 then
			doPlayerAddOutfit(cid, cfg.addon_male, 3)
			doPlayerAddOutfit(cid, cfg.addon_female, 3)
			doSendMagicEffect(getThingPos(cid), 29)
			doPlayerSendTextMessage(cid, 19, "Addon " .. cfg.addon_name .. "full adicionado!!")
			doRemoveItem(item.uid, 1)
			setPlayerStorageValue(cid, cfg.storage, 1)
		else
			doPlayerSendTextMessage(cid, 19, "you already have this adon.")
		end
 
   return true
end
	<action itemid="IDDOITEM" event="script" value="ARQUIVO.LUA"/>
Editado por Shizuo Silva (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Funcionou, mas só uma duvida, o que é aquele Storage? (naoconheçomuitodeotserv)

 

Storage é um valor que fica gravado no banco de dados, no banco de dados ele é estruturado assim:

 

Citar

Id = 5 -- A Storage pertence ao player que tem o id 5 no banco de dados

Key = 2000 -- Um índice para diferenciar de outras Storages

Value = 50 -- Valor da Storage, pode ser númerico ou string

quando você usa a função getPlayerStorageValue(uid, chave)

O que acontece é:

Citar

Baseado no uid da criatura pegar o Id do player no banco de dados

Em seguida abrir a tabela player_storage e procurar lá um valor em que

Key seja igual a chave e o Id seja o mesmo do player que eu requisitei

Caso exista retorne o Value

Caso não exista retorne -1

É basicamente assim que funciona, por isso por padrão todas storages que não tenham um valor definido recebem o valor -1.

 

Créditos : Max

 

 

Se não entendeu basta, trocar o valor do numero onde ta escrito storage, para não repeti-lo no caso 9784, 9785, 9786, 9787 ao usar em outros scripts.

Editado por Shizuo Silva (veja o histórico de edições)
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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo