Search the Community
Showing results for tags 'potion'.
Found 2 results
-
Scripting Dúvidas (Config de Portas, Baús e atualização de Script LUA)
BlueeYakuzy posted a question in Scripting
Olá galera! Voltei a mexer com servidores de Tibia à alguns dias atrás e estou montando um novo projeto de um OTServ 8.60. Estou usando o mesmo mapa e alguns arquivos do meu projeto antigo (no qual havia alguns bugs), porém estou com 2 erros que preciso solucionar logo. 1° - Existe uma certa porta que da acesso a sala que entrega um item por um baú, porém essa porta "abre" e não fecha. (Todas as portas que eram pra se fechar sozinha, não se fecham.); 2° - Players conseguem passar por cima de baús (Sim, o baú possui uma Unique ID) conseguindo assim obter o item da quest que está 1 sqm depois do baú. Existe uma outra dúvida na qual não tenho pressa, porém vou postar pra ver se alguém me ajuda. Tenho um script que compra potions por alavanca. Cada potion tem seu script, ou seja é um script para comprar uma bp cheia de Ultimate Health Potion. Minha dúvida é, na versão 8.60 no qual meu servidor é, esse script fica bugado pois ele é da versão 8.40. O que acontece ? Ao clicar na alavanca (com dinheiro) diz que eu não tenho dinheiro, remove o dinheiro cobrado e recebo uma backpack. Ao clicar na alavanca (sem dinheiro) não vem nenhuma potion porém vem a backpack. Vou postar um script no qual é o de great mana potion. Desde já agradeço e aguardo respostas! -- Edit Consegui solucionar parte dos bugs: - Portas que é pra serem abertas e logo em seguidas fechadas arrumadas (troquei o movements.xml por um limpo e funcional e adicionei os movevents novos do mapa) - Alavanca usei outro script no qual facilitou muito pois não preciso repetir o script usando somente um. - Players não conseguem mais passar por cima de baús de quest ( Criei um script TEMPORÁRIO no movements para retornar o player para from position ao subir em cima do baú porém o certo é configurar no movements.xml) Se alguém souber como configurar essa parte por favor me ajude! Em fim, só preciso configurar alguma parte do movement para tornar os baús com actionsid ou uniqueid impossíveis de se passar por cima. -
Você fala com o npc: -hi ->Voce quer que eu encha seu pote de health por 50 gps? -encher ->Ai está seu pote cheio =] Aqui vai um tutorial esplicando como fazê-lo ok? PRIMEIRO crie um documento de texto na área de trabalho, renomeando-o para Enche Health.xml e coloque isto dentro dele: <?xml version="1.0"?> <npc name="Enche Health" script="data/npc/scripts/encheh.lua" access="1" lookdir="2"> <mana now="800" max="800"/> <health now="200" max="200"/> <look type="133" head="78" body="88" legs="0" feet="88"/> </npc> pronto, primeiro passo cumprido! SEGUNDO Agora abra outro documento de texto renomeando para encheh.lua e coloque isto dentro dele: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) -- OTServ event handling functions start 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 -- OTServ event handling functions end function creatureSayCallback(cid, type, msg) -- Place all your code in here. Remember that hi, bye and all that stuff is already handled by the npcsystem, so you do not have to take care of that yourself. if(npcHandler.focus ~= cid) then return false end if msgcontains(msg, 'health potion') or msgcontains(msg, 'encher') then selfSay('Voce quer que eu encha seu pote de health por 50 gps?') talk_state = 1 elseif msgcontains(msg, 'yes') and talk_state == 1 then if getPlayerItemCount(cid,7636,1) >= 1 and getPlayerItemCount(cid,2148,50) >= 1 then if doPlayerTakeItem(cid,7636,1) and doPlayerTakeItem(cid,2148,50) == 0 then selfSay('Ai Esta Seu pote cheio =]') doPlayerAddItem(cid,7618,1) end else selfSay('Desculpe Voce Nao Tem os itens precisos.') end elseif msgcontains(msg, 'no') and (talk_state >= 1 and talk_state <= 5) then selfSay('Ok Ate Mais.') talk_state = 0 end -- Place all your code in here. Remember that hi, bye and all that stuff is already handled by the npcsystem, so you do not have to take care of that yourself. return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Pronto! agora é só adicionar ele no seu map editor assim: vá na pasta do map editor e abra o creatures.xml e adicione isto na lista! <creature looktype="133" name="Enche Health" head="78" body="88" legs="0" feet="88" type="npc"/> aew! agora é só colocar ele no seu mapa pelo map editor Obs: esse npc substitui o pote vazio pelo pote cheio, pegando a sua grana, intão voce pode usar isso pra fazer outros itens serem substituidos!! Creditos:Apenas Eu =]