Ir para conteúdo

Colocando Outra Moeda


Gabriel Couto

Posts Recomendados

Olá pessoal, gostaria que me dissessem se há algum modo de colocar o NPC para aceitar um item que seja diferente do Gold Coin, ou qualquer outra moeda. Isso seria em só um NPC.

 

Script do NPC, se necessário:

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
function onCreatureAppear(cid)		    npcHandler:onCreatureAppear(cid)		    end
function onCreatureDisappear(cid)	    npcHandler:onCreatureDisappear(cid)		    end
function onCreatureSay(cid, type, msg)  npcHandler:onCreatureSay(cid, type, msg)    end
function onThink()					    npcHandler:onThink()					    end

function thinkCallback(cid)
local rand = math.random(1,100)
if rand == 1 then
selfSay('Vendo os novos itens!!')
end
return true
end
function greetCallback(cid)
return true
end

npcHandler:setCallback(CALLBACK_ONTHINK, thinkCallback)
npcHandler:setCallback(CALLBACK_GREET, greetCallback)
npcHandler:addModule(FocusModule:new())

 

Espero que me ajudem.

Obrigado :)

Link para o comentário
Compartilhar em outros sites

Sim, isso mesmo.

Mas gostaria que fosse só essa moeda diferente, e nenhuma das outras comuns do tibia.

 

Sei que é possível, pois já vi isso num servidor com mapa próprio que participei há dois anos.

 

Fico no aguardo :)

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

Eae AnyurCT,

Vi a sua dúvida, e vi também que o Tibinux só te enrolou rsrs, mas vamos ao assunto:

*Você já tem a action da sua moeda própria ? ( se não vá em actions/scripts, cria na primeira parte mesmo, renomeie para newgold, apague tudo que está dentro e coloque isto:

function onUse(cid, item, fromPosition, itemEx, toPosition)

if item.itemid == ITEM_GOLD_COIN and item.type == ITEMCOUNT_MAX then

doChangeTypeItem(item.uid, item.type - item.type)

doPlayerAddItem(cid, ITEM_PLATINUM_COIN, 1)

doSendAnimatedText(fromPosition, "$$$", TEXTCOLOR_PLATINUMBLUE)

elseif item.itemid == ITEM_PLATINUM_COIN and item.type == ITEMCOUNT_MAX then

doChangeTypeItem(item.uid, item.type - item.type)

doPlayerAddItem(cid, ITEM_CRYSTAL_COIN, 1)

doSendAnimatedText(fromPosition, "$$$", TEXTCOLOR_TEAL)

elseif item.itemid == ITEM_PLATINUM_COIN and item.type < ITEMCOUNT_MAX then

doChangeTypeItem(item.uid, item.type - 1)

doPlayerAddItem(cid, ITEM_GOLD_COIN, ITEMCOUNT_MAX)

doSendAnimatedText(fromPosition, "$$$", TEXTCOLOR_YELLOW)

elseif item.itemid == ITEM_CRYSTAL_COIN then

doChangeTypeItem(item.uid, item.type - 1)

doPlayerAddItem(cid, ITEM_PLATINUM_COIN, ITEMCOUNT_MAX)

doSendAnimatedText(fromPosition, "$$$", TEXTCOLOR_PLATINUMBLUE)

else

return FALSE

end

return TRUE

end

 

Explicando: Ai em cima, está tudo sem id, somente com o nome, então para você colocar sua nova coin basta colocar o nome da coin em maiúsculo e se houver espaço substitua com hífen.

Você deverá fazer isso continuamente, perceba, que ao chegar na crystal coin, volta para platinum, porém só 1 crystal coin volta pra 1 platinum, basta você substituir a crystal pela sua coin e a platinum pela crystal, que 1 da sua coin vai virar 100 crystal coin.

Porém ai tem duas condicioneis, apague uma e faça para ir direto da crystal para a sua coin e depois voltar para crystal. Se não der certo depois eu crio para você, só falar (:

Depois vá em actions.xml e adicione está tag:

<action itemid="0000" event="script" value="newgold.lua"/>

<action itemid="0000" event="script" value="newgold.lua"/>

Coloque o id da crystal e o id da sua nova coin.

 

 

*Pronto agora com a sua action de coin criada basta me mandar a script do seu npc que eu resolvo seu problema amigo (Sem enrolação rsrsrsrs)

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...