Ir para conteúdo
  • 0

NPC OU COMANDO DE REPARAR SOFT BOOTS TFS 1.2


Pergunta

Boa tarde galerinha tudo bem?

Gostaria de saber se alguem tem algum script de npc, ou por comando para reparar a soft boots para TFS versão 1.2.

 

Se alguem tiver e puder disponibilizar fico agradecido. !

Link para o comentário
https://xtibia.com/forum/topic/251445-npc-ou-comando-de-reparar-soft-boots-tfs-12/
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 1

Eu fiz as duas maneiras para você, por NPC e Talkactions.

 

NPC

 

Começando pelo NPC, vai em Data/Npc/ e crie o arquivo Botan.xml (pode colocar outro nome se quiser), e adicione o código dentro:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Botan" script="botan.lua" walkinterval="0" floorchange="0">
    <health now="150" max="150"/>
    <look type="134" head="78" body="88" legs="0" feet="88" addons="3"/>

<parameters>
	<parameter key="message_greet" value="Hello |PLAYERNAME|, say {help} or {repair} to more informations." />
</parameters>

</npc>

 

Agora em Data/Npc/Scripts crie o arquivo Botan.lua e adicione o código:

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
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 creatureSayCallback(cid, type, msg)
        if(not npcHandler:isFocused(cid)) then
                return false
        end

local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

local id_worn_boot = 10021 -- ID DA BOTA ESTREGADA QUE VAI SER REPARADA
local id_soft_boot = 6132 -- ID DA BOTA REPARADA
local id_platinum_coin = 2152 -- ID PLATINUM COIN
local quantidade_coin = 50 -- QUANTIDADE DE PLATINUM COIN PARA REPARAR A BOTA
  
---------------------------- CÓDIGO -------------------------------------------
if msgcontains(msg, 'help') or msgcontains(msg, 'repair') then
  selfSay('I repair your boot to '.. getItemName(id_soft_boot).. ' for ' ..quantidade_coin.. ' ' ..getItemName(id_platinum_coin).. '.' .. ' Do you want?', cid)
  talkState[talkUser] = 1

elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then

if getPlayerItemCount(cid, id_platinum_coin) >= quantidade_coin then
  if getPlayerSlotItem(cid, 8).itemid == id_worn_boot then
     doPlayerRemoveItem(cid, id_platinum_coin, quantidade_coin)
     doTransformItem(getPlayerSlotItem(cid, 8).uid, id_soft_boot)
     selfSay("Sua bota foi reparada com sucesso!", cid)
     talkState[talkUser] = 0
  return true

  elseif getPlayerSlotItem(cid, 8).itemid ~= id_worn_boot and getPlayerItemById(cid, true, id_worn_boot).itemid == id_worn_boot then
     doPlayerRemoveItem(cid, id_platinum_coin, quantidade_coin)
     doTransformItem(getPlayerItemById(cid, true, id_worn_boot).uid, id_soft_boot)
     selfSay("Sua bota foi reparada com sucesso!", cid)
     talkState[talkUser] = 0 
  return true
 
  else
     selfSay("Você não tem a bota, verifique se a bota está dentro da mochila ou se está no slot errado.", cid)
     talkState[talkUser] = 0 
  return true
  end

else
  selfSay("Você não tem " ..quantidade_coin.. " "..getItemName(id_platinum_coin).. ".", cid)
  talkState[talkUser] = 0
return true
end

elseif msgcontains(msg, 'no') and talkState[talkUser] == 1 then  
  selfSay("Ok, goodbye!", cid)
  talkState[talkUser] = 0 
return true
end

end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new()) 

 

 

TALKACTION

 

Agora a talkaction, vai em Data/Talkactions/Scripts e crie o arquivo repair.lua e adicione o código dentro:

local id_worn_boot = 10021 -- ID DA BOTA ESTREGADA QUE VAI SER REPARADA
local id_soft_boot = 6132 -- ID DA BOTA REPARADA
local id_platinum_coin = 2152 -- ID PLATINUM COIN
local quantidade_coin = 50 -- QUANTIDADE DE PLATINUM COIN PARA REPARAR A BOTA

function onSay(cid, words, param, channel)
  
if getPlayerItemCount(cid, id_platinum_coin) >= quantidade_coin then
  if getPlayerSlotItem(cid, 8).itemid == id_worn_boot then
     doPlayerRemoveItem(cid, id_platinum_coin, quantidade_coin)
     doTransformItem(getPlayerSlotItem(cid, 8).uid, id_soft_boot)
     doPlayerSendTextMessage(cid, 27, "Sua bota foi reparada com sucesso!")
  return true

  elseif getPlayerSlotItem(cid, 8).itemid ~= id_worn_boot and getPlayerItemById(cid, true, id_worn_boot).itemid == id_worn_boot then
     doPlayerRemoveItem(cid, id_platinum_coin, quantidade_coin)
     doTransformItem(getPlayerItemById(cid, true, id_worn_boot).uid, id_soft_boot)
     doPlayerSendTextMessage(cid, 27, "Sua bota foi reparada com sucesso!")
  return true
 
  else
     doPlayerSendTextMessage(cid, 27, "Você não tem a bota, verifique se a bota está dentro da mochila ou se está no slot errado.")
  return true
  end

else
  doPlayerSendTextMessage(cid, 27, "Você não tem " ..quantidade_coin.. " "..getItemName(id_platinum_coin).. ".")
return true
end

end 

 

E por fim abre o talkactions.xml e adicione a tag:

<talkaction log="yes" words="!repair_boots" event="script" value="repair.lua"/>

 

Fiz das duas formas, tanto o npc quanto por talkactions é necessário pagar a quantidade de platinum coins que deixei em quantidade_coin, só mudar o valor também caso queira (se quiser que eu removo essa verificação só falar), deixei comentado as variáveis com o id de cada bota, só colocar o id da bota estragada e a que vai ser reparada.

 

Por Talkactions tem que falar o comando !repair_boots para reparar.

 

Testei aqui e funcionou, só tive que mudar a função getPlayerItemNameById por getItemName porque na TFS 1.1+ mudou o nome da função. Mas teste e me fale.

 

 

Editado por Yan18
Link para o comentário
https://xtibia.com/forum/topic/251445-npc-ou-comando-de-reparar-soft-boots-tfs-12/#findComment-1758899
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...