Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Fala galerinha, estava dando uma revisada nos npc's do ot server que estou fazendo, então eu quis fazer um npc que tivesse todas as montarias da versão 9.6 para vender.

 

 

Eu tenho 2 npc's de montarias, um dos players free, e o outro de player premium, o que eu vou passar pra vocês é o premium, então se você quiser fazer o free é só apagar as montarias que você quiser no arquivo LUA.

 

(obs: eu criei uma montaria especial pra esse npc premium, o Rei Scorpiao, eu aumentei a velocidade dele no XML de montarias, se você quiser aumentar também é só ir na pasta "DATA" do seu otserver e abrir a pasta "XML", lá tem o arquivo "mounts", abra e procure pelo "Sandstone Scorpion" modifique o nome do seu gosto e o "speed" ^^).

 


 

crie um arquivo lua em: data/npc/scripts com o nome Montarias Especiais, depois cola isso dentro:

 
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
 
npcHandler:setMessage(MESSAGE_GREET, "Ola |PLAYERNAME|. Eu vendo todas as montarias do jogo! Basta dizer {montarias} ou {ajuda} se voce não sabe o que fazer.")
 
function playerBuyMountNPC(cid, message, keywords, parameters, node)
if(not npcHandler:isFocused(cid)) then
return false
end
if (parameters.confirm ~= true) and (parameters.decline ~= true) then
if(getPlayerPremiumDays(cid) >= 1) and (parameters.premium == true) then
npcHandler:say('Desculpe, mas esta montaria e apenas para jogadores premium!', cid)
npcHandler:resetNpc()
return true
end
if (getPlayerStorageValue(cid, parameters.storageID) ~= -1) then
npcHandler:say('Voce ja tem esta montaria!', cid)
npcHandler:resetNpc()
return true
end
local itemsTable = parameters.items
local items_list = ''
if table.maxn(itemsTable) > 0 then
for i = 1, table.maxn(itemsTable) do
local item = itemsTable
items_list = items_list .. item[2] .. ' ' .. getItemNameById(item[1])
if i ~= table.maxn(itemsTable) then
items_list = items_list .. ', '
end
end
end
local text = ''
if (parameters.cost > 0) and table.maxn(parameters.items) then
text = items_list .. '' .. parameters.cost .. ' gp'
elseif (parameters.cost > 0) then
text = parameters.cost .. ' gp'
elseif table.maxn(parameters.items) then
text = items_list
end
npcHandler:say('Voce quer pagar ' .. text .. ' pelo ' .. keywords[1] .. '?', cid)
return true
elseif (parameters.confirm == true) then
local mountNode = node:getParent()
local mountinfo = mountNode:getParameters()
local items_number = 0
if table.maxn(mountinfo.items) > 0 then
for i = 1, table.maxn(mountinfo.items) do
local item = mountinfo.items
if (getPlayerItemCount(cid,item[1]) >= item[2]) then
items_number = items_number + 1
end
end
end
if(getPlayerMoney(cid) >= mountinfo.cost) and (items_number == table.maxn(mountinfo.items)) then
doPlayerRemoveMoney(cid, mountinfo.cost)
if table.maxn(mountinfo.items) > 0 then
for i = 1, table.maxn(mountinfo.items) do
local item = mountinfo.items
doPlayerRemoveItem(cid,item[1],item[2])
end
end
doPlayerAddMount(cid, mountinfo.mountid)
setPlayerStorageValue(cid,mountinfo.storageID,1)
npcHandler:say('Aqui esta.', cid)
else
npcHandler:say('Voce nao tem o dinheiro necessario!', cid)
end
npcHandler:resetNpc()
return true
elseif (parameters.decline == true) then
npcHandler:say('Este nao lhe interessa? Experimente outro!', cid)
npcHandler:resetNpc()
return true
end
return false
end
 
local noNode = KeywordNode:new({'no'}, playerBuyMountNPC, {decline = true})
local yesNode = KeywordNode:new({'yes'}, playerBuyMountNPC, {confirm = true})
 
-- blazebringer (done)(custom)
local mount_node = keywordHandler:addKeyword({'blazebringer'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 9, storageID = 10057})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Donkey (done)(custom)
local mount_node = keywordHandler:addKeyword({'donkey'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 13, storageID = 10058})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Rented Horse (done)(custom)
local mount_node = keywordHandler:addKeyword({'rented horse 1'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 22, storageID = 10059})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
local mount_node = keywordHandler:addKeyword({'rented horse 2'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 25, storageID = 10060})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
local mount_node = keywordHandler:addKeyword({'rented horse 3'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 26, storageID = 10061})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Shadow Draptor (done)(custom)
local mount_node = keywordHandler:addKeyword({'shadow draptor'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 24, storageID = 10062})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Stampor (done)(custom)
local mount_node = keywordHandler:addKeyword({'stampor'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 11, storageID = 10063})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Uniwheel (done)(custom)
local mount_node = keywordHandler:addKeyword({'uniwheel'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 15, storageID = 10064})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Tin Lizzard (done)(custom)
local mount_node = keywordHandler:addKeyword({'tin lizzard'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 8, storageID = 10065})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Dragonling (done)(custom)
local mount_node = keywordHandler:addKeyword({'dragonling'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 31, storageID = 10066})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Rei Scorpiao (done)(custom)
local mount_node = keywordHandler:addKeyword({'rei scorpiao'}, playerBuyMountNPC, {premium = false, cost = 1000000, items = {}, mountid = 21, storageID = 10067})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Manta (done)(custom)
local mount_node = keywordHandler:addKeyword({'manta'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 28, storageID = 10068})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Iron Blight (done)(custom)
local mount_node = keywordHandler:addKeyword({'iron blight'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 29, storageID = 10069})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Widow Queen (done)(custom)
local mount_node = keywordHandler:addKeyword({'widow queen'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 1, storageID = 10070})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Racing Bird (done)(custom)
local mount_node = keywordHandler:addKeyword({'racing bird'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 2, storageID = 10071})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- War Bear (done)(custom)
local mount_node = keywordHandler:addKeyword({'war bear'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 3, storageID = 10072})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Black Sheep (done)(custom)
local mount_node = keywordHandler:addKeyword({'black sheep'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 4, storageID = 10073})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Midnight Panther (done)(custom)
local mount_node = keywordHandler:addKeyword({'midnight panther'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 5, storageID = 10074})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Draptor (done)(custom)
local mount_node = keywordHandler:addKeyword({'draptor'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 6, storageID = 10075})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Titanica (done)(custom)
local mount_node = keywordHandler:addKeyword({'titanica'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 7, storageID = 10076})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Rapid Boar (done)(custom)
local mount_node = keywordHandler:addKeyword({'rapid boar'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 10, storageID = 10077})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Undead Cavebear (done)(custom)
local mount_node = keywordHandler:addKeyword({'undead cavebear'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 12, storageID = 10078})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Tiger Slug (done)(custom)
local mount_node = keywordHandler:addKeyword({'tiger slug'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 14, storageID = 10079})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Crystal Wolf (done)(custom)
local mount_node = keywordHandler:addKeyword({'crystal wolf'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 16, storageID = 10080})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Kingly Deer (done)(custom)
local mount_node = keywordHandler:addKeyword({'kingly deer'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 18, storageID = 10081})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Tamed Panda (done)(custom)
local mount_node = keywordHandler:addKeyword({'tamed panda'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 19, storageID = 10082})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Dromedary (done)(custom)
local mount_node = keywordHandler:addKeyword({'dromedary'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 20, storageID = 10083})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Ladybug (done)(custom)
local mount_node = keywordHandler:addKeyword({'ladybug'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 27, storageID = 10084})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Magma Crawler (done)(custom)
local mount_node = keywordHandler:addKeyword({'magma crawler'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 30, storageID = 10085})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
-- Gnarlhound (done)(custom)
local mount_node = keywordHandler:addKeyword({'gnarlhound'}, playerBuyMountNPC, {premium = false, cost = 30000, items = {}, mountid = 30, storageID = 10086})
mount_node:addChildKeywordNode(yesNode)
mount_node:addChildKeywordNode(noNode)
 
 
keywordHandler:addKeyword({'montarias'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Posso te vender  {gnarlhound}, {magma crawler}, {ladybug}, {dromedary}, {tamed panda}, {kingly deer}, {crystal wolf}, {tiger slug}, {undead cavebear}, {rapid boar}, {titanica}, {draptor}, {midnight panther}, {black sheep}, {war bear} {racing bird}, {widow queen}, {blazebringer}, {donkey}, {rented horse} de 1 a 3, {shadow draptor}, {manta}, {iron Blight}, {dragonling}, {stampor}, {uniwheel}, {tin lizzard} e o grande {rei scorpiao}.'})
keywordHandler:addKeyword({'ajuda'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Para ter a montaria fale um dos nomes da lista (falando {montarias}) .'})
keywordHandler:addKeyword({'rented horse'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Existem 3 tipos de rented horse, para compra-los é {rented horse 1}, {rented horse 2} e {rented horse 3} eles são por tempo ilimitado.'})
 
npcHandler:addModule(FocusModule:new())

 


Depois crie um arquivo XML com o mesmo nome: Montarias Especiais  em  data/npc  e cole isso:

 
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Vendedor de Montarias Especiais" script="data/npc/scripts/Montarias Especiais.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="134" head="19" body="95" legs="95" feet="19" addons="3"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|. Eu vendo todas as montarias do jogo! Basta dizer {montarias} ou {ajuda} se voce não sabe o que fazer." />
</parameters>
</npc>

 

 

Espero que gostem, qualquer duvida deixe um comentário    ps: Fatinhoplay

Editado por fatinhoplay (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Muito bom! Estava a procura deste script, estou no trabalho agora e to sem o server para testar mas chegando em casa irei testa-lo.

 

+Rep

Link para o post
Compartilhar em outros sites
  • 4 years later...

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.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por GOD Falumir
      MEGA ATUALIZAÇÃO DO SERVIDOR - O Retorno com Grandes Mudanças!
      SITE: https://www.falumirot.com.br/
       
      O Falumir retornou, ficamos offline por um período para efetuarmos grandes atualizações, como sabemos, o falumir é um mapa muito antigo e com poucos sistemas, mas agora tudo mudou.
      Mudanças no Falumir:
       
      Ping BR (10 ~ 70 ms)  Cast System  War System  Zombie Event  Snowball Event  Castle of King (COK) - RETORNAMOS COM O NOSTÁLGICO EVENTO  Theme Island Event  Battlefield Event  Sistema de tokens para adquirir montarias  MUITAS MONTARIAS  Adicionado Golden Outfit  Nova Cidade VIP (Divineia) com Novos Monstros  Sistema de Tasks  Reward System: ao alcançar o LvL (20, 40, 60, 80 e 100) você ganha uma bonificação em gold  Sistema de Regeneração de Stamina no Treiner (2minutos no treiner/1minuto regenerado)  Quests customizadas: The Annihilator Quest 1 e 2, Inquisition, Pits o inferno, e outras 200 quests Reorganização do Site para você conseguir fazer tudo que queira mais facilmente   Tudo isso junto com uma staff mais interativa focada em atender você da melhor maneira possível, resolvendo os problemas e acompanhamento o bom andamento do jogo com atenção e agilidade. SITE: https://www.falumirot.com.br/  
       
    • Por alisoncelso
      Tem como montarias em um baiak 8.60?
    • Por IagoNp
      Tem como editar as montarias para que algumas em especifico possam dar mais speed em determinados pisos?
       
      Ex: Leão ao andar sobre areia ou grama daria mais velocidade..
           Montaria aquática daria mais speed sobre a água.
       
      Alguém sabe como fazer este tipo de sistema para as montarias?
    • Por bcerqueira94
      Olá, estou tentando montar um otserv, porém estou tendo muito problema para montar na versão atual do tibia (10.76), então resolvi montar um 8.7, pois ja contem sistema de montarias, etc..
       
      A minha duvida é a seguinte, eu consigo através das sprites, inserir as montarias atuais (10.76) no otserv 8.7? alguém sabe algum algum tópico aqui no forúm que ensine?
       
      Vlw pessoal.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo