Ir para conteúdo

Ajuda com o meu script


victorjgp

Posts Recomendados

Primeiramente ola, gente eu sou iniciante em scripts e estou aprendendo ainda, eu fiz o seguinte script :
um item que da a fire stone, e dependendo do lvl do player ele ganha uma ou ate duas.


function onUse(cid, item, frompos, item2, topos)
if getPlayerLevel(cid) <= 45 then --essa parte seria para checar o level do player, se menor ou igual 45
doRemoveItem(item.uid) -- remova o item dado use
doPlayerAddItem (cid, 2283, 1) -- adicione 1 stone
doPlayerSendTextMessage(cid, "Você ganhou 1 Fire Stone!") -- mande a mensagem ao player
elseif getPlayerLevel(cid) >= 46 then -- caso contrario se, checar level se maior ou igual a 46
doRemoveItem(item.uid) -- remova o item dado use
doPlayerAddItem (cid, 2283, 2) -- adicione 2 stones
doPlayerSendTextMessage(cid, "Você ganhou 2 Fire Stone!") --mensagem
end
return true
end

 

so que msmo que o lvl do player esteja em 46 ou maior continua a dar uma stone, gostaria que alguem concertasse pra mim e explicasse o script como fiz acima, para que eu possa entender onde errei.

E tbm nao esta exibindo a mensagem "Você ganhou 2 Fire Stone!" ou 1. ae da esse erro abaixo

 

 





[20/05/2015 13:07:33] [Error - Action Interface]
[20/05/2015 13:07:33] data/actions/scripts/novoitem.lua:onUse
[20/05/2015 13:07:33] Description:
[20/05/2015 13:07:33] (luaDoPlayerSendTextMessage) Player not found

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

doPlayerSendTextMessage(cid, "Você ganhou 2 Fire Stone!")

Está faltando o tipo da mensagem no segundo parâmetro, o correto seria:

doPlayerSendTextMessage(cid, 22, "Você ganhou 2 Fire Stone!")

22 é o tipo da mensagem(MESSAGE_EVENT_ADVANCE).

Você pode ver mais "tipos de mensagem" no 000-constant.lua, na pasta data/lib.

O código inteiro:

 

 

function onUse(cid, item, frompos, item2, topos)
	if getPlayerLevel(cid) > 45 then -- Checar se o level do player é maior que 45
		doRemoveItem(item.uid) -- Remover item usado
		doPlayerAddItem (cid, 2283, 2) -- Adicionar duas stones ao player
		doPlayerSendTextMessage(cid, 22, "Você ganhou 2 Fire Stone!") -- Mandar a mensagem ao player
	else -- Se o level do player for menor ou igual a 45
		doRemoveItem(item.uid)     -- Remover item usado
		doPlayerAddItem (cid, 2283, 1) -- Adicionar uma stone ao player
		doPlayerSendTextMessage(cid, 22, "Você ganhou 1 Fire Stone!") -- Mandar mensagem ao player
	end
	return true
end

 

 

 

Já que apenas level 46 ou mais irá receber 2 stones, não há necessidade de checar duas vezes o level do jogador.

 

Espero que entenda. Se precisar de mais ajuda pra aprender, pode contar comigo.

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

  • 1 month later...

O tópico foi fechado e movido para lixeira por estar inativo a mais de 10 dias. Caso seja preciso reabrir o mesmo, favor entrar em contato com a equipe.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...