Ir para conteúdo
  • 0

Como Criar item que da experiencias


tiago1234

Pergunta

Não sei se essa é a Área Correta, mais foi a única mais especifica que achei.....

 

Bom, eu queria sabe como que cria um item que da experiencia!!...

 

Tipo, um X Player da "USE" no item ae da um tanto de "XP"....

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Não sei se essa é a Área Correta, mais foi a única mais especifica que achei.....

 

Bom, eu queria sabe como que cria um item que da experiencia!!...

 

Tipo, um X Player da "USE" no item ae da um tanto de "XP"....

Boa tarde,

Experimente:

 

--Usar item e receber exp, com verificação de remover o item ou não - By: Mateuso
local qntexp = 1000 --Quantidade de exp que o player vai receber
local removeitem = true --Se TRUE o item irá desaparecer se FALSE o item permanecerá e poderá ser usado infinitas vezes
function onUse(cid, item, fromPosition, itemEx, toPosition)
	if removeitem == true then
		doPlayerSendTextMessage(cid, 4, "Você recebeu: "..qntexp.." pontos de experiencia, e o seu "..getItemName(item.uid).." desapareceu.")
		doPlayerAddExp(cid, qntexp)
		doRemoveItem(item.uid, 1)
		return true
	else
		doPlayerSendTextMessage(cid, 4, "Você recebeu: "..qntexp.." pontos de experiencia.")
		doPlayerAddExp(cid, qntexp)
		return true
	end
end

Onde a variável qntexp é igual a quantidade de experiencia que o player irá ganhar e a variável removeitem é(true ou false), para verificar se o item será removido depois de ser usado.

Coloque esse script na pasta: Data/Actions/Scripts com o nome de itemaddexp.lua e adicione a seguinte TAG no Actions.xml:

 

<action itemid="xxxx" script="itemaddexp.lua"/>

Onde o xxxx é o id do item que você quer que adicione exp.

Qualquer problema com o script poste aqui, e eu lhe ajudarei. Testei aqui e funcionou perfeitamente.

Um grande abraço e boa sorte.

 

Não é permitido a postagem desse script em mais nenhum outro local.

 

~Edit:

Alterada função:

doPlayerRemoveItem por doRemoveItem para mais realidade no script.

Credito: Demonbholder.

Editado por Mateusoo
Link para o comentário
Compartilhar em outros sites

  • 0

Acho que seria interessante trocar

 

doPlayerRemoveItem(cid, item.itemid, 1)

 

por:

 

doRemoveItem(item.uid, 1)

Boa tarde,

Qual a diferença, eu sempre fico em duvida com quais funções usar e tals, tem algum site que mostre a diferença uma da outra? ESPECIFICAMENTE

Agora pensando melhor, acredito que o doRemoveItem se enquandra melhor mesmo, pois se o player tiver outro item desse na backpack, poderá desaparecer o item que ele não usou, e usando o doRemoveItem vai remover o que foi usado certo? Esse é o unico motivo? Vou alterar aqui, obrigado pela dica ;]

Grande abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

Boa tarde,

Qual a diferença, eu sempre fico em duvida com quais funções usar e tals, tem algum site que mostre a diferença uma da outra? ESPECIFICAMENTE

Agora pensando melhor, acredito que o doRemoveItem se enquandra melhor mesmo, pois se o player tiver outro item desse na backpack, poderá desaparecer o item que ele não usou, e usando o doRemoveItem vai remover o que foi usado certo? Esse é o unico motivo? Vou alterar aqui, obrigado pela dica ;]

Grande abraço.

 

Opa, acho que é melhor usar doRemoveItem, porque se ele usar um item que está no chão, por exemplo, o item vai ser removido. Se fosse a doPlayerRemoveItem, só removeria se o item estivesse com o player.

Link para o comentário
Compartilhar em outros sites

  • 0

doRemoveItem(uid, quant) -- remove o item usado, mesmo o item não estando com o player.

doPlayerRemoveItem(cid, item, quant) -- remove o item do player , ou seja se o item usado não estiver com o player, vai dar bosta.

edit --

 

não vi o que o demon postou,

acho que a diferença foi de segundos .

Editado por DuuhCarvalho
Link para o comentário
Compartilhar em outros sites

  • 0

 

Opa, acho que é melhor usar doRemoveItem, porque se ele usar um item que está no chão, por exemplo, o item vai ser removido. Se fosse a doPlayerRemoveItem, só removeria se o item estivesse com o player.

 

Otimo, e tambem pelo o que eu falei, seria chato usar o Item X e o Item Y desaparecer, por ser do mesmo ID.

Muito obrigado pela ajuda :]

doRemoveItem(uid, quant) -- remove o item usado, mesmo o item não estando com o player.

doPlayerRemoveItem(cid, item, quant) -- remove o item do player , ou seja se o item usado não estiver com o player, vai dar bosta.

edit --

 

não vi o que o demon postou,

acho que a diferença foi de segundos .

 

Muito bom, quanto mais gente ajudando melhor não acha? HAHA

Valeu pela ajuda :D

Abraço.

Link para o comentário
Compartilhar em outros sites

  • 0

 

Otimo, e tambem pelo o que eu falei, seria chato usar o Item X e o Item Y desaparecer, por ser do mesmo ID.

Muito obrigado pela ajuda :]

Muito bom, quanto mais gente ajudando melhor não acha? HAHA

Valeu pela ajuda :D

Abraço.

Mateusoo meu limite de rep acabo por hj nao sei só tenho limite de 2 rep só "_" mais amanha eu prometo que dou o rep pra tu, seu rep ta garantido......

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...