Wakachizi 0 Postado Abril 19, 2020 Share Postado Abril 19, 2020 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 More sharing options...
0 Yan Oliveira 211 Postado Abril 19, 2020 Share Postado Abril 19, 2020 Como assim reparar? Link para o comentário Compartilhar em outros sites More sharing options...
0 Wakachizi 0 Postado Abril 22, 2020 Autor Share Postado Abril 22, 2020 Reparar, pegar a worn soft boots e entregar a soft boots. Link para o comentário Compartilhar em outros sites More sharing options...
1 Yan Oliveira 211 Postado Abril 24, 2020 Share Postado Abril 24, 2020 (editado) 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 Abril 24, 2020 por Yan18 Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Wakachizi 0
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