TI
pedido

Como Criar item que da experiencias

Por tiago1234, 20 de abr. de 2014 em Scripts

resolvido
13
1.3k
tiago1234T
20 de abril de 2014 às 16:00

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"....

MateusooM
20 de abril de 2014 às 16:17
Melhor resposta

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 Abril 20 por Mateusoo

20 de abril de 2014 às 16:19

Acho que seria interessante trocar

 

doPlayerRemoveItem(cid, item.itemid, 1)

 

por:

 

doRemoveItem(item.uid, 1)

tiago1234T
20 de abril de 2014 às 16:20

Ok.... Vo testa aki jaja vouto para responder...

MateusooM
20 de abril de 2014 às 16:25

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.

20 de abril de 2014 às 16:29

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.

20 de abril de 2014 às 16:29

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 Abril 20 por DuuhCarvalho

MateusooM
20 de abril de 2014 às 16:36

 

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.

tiago1234T
20 de abril de 2014 às 16:43

Bom o script deu certinho vlw Rep+

MateusooM
20 de abril de 2014 às 16:44

Bom o script deu certinho vlw Rep+

Otimo, qualquer problema estou por aqui.

Obrigado pelo REP, um grande abraço :D

tiago1234T
20 de abril de 2014 às 16:45

 

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......

zipter98Z
20 de abril de 2014 às 17:18

Tópico movido para a seção de dúvidas e pedidos resolvidos.

20 de abril de 2014 às 17:21

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......

 

Membro Reputado .