Ir para conteúdo
  • 0

NPC OU COMANDO DE REPARAR SOFT BOOTS TFS 1.2


Wakachizi

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
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
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

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