Ir para conteúdo

Wise

Membro
  • Registro em

  • Última visita

Tudo que Wise postou

  1. Como vou saber o que contém nesse "evolution.lua" se você não posta o script? Poste o actionscript das suas stones..
  2. Wise respondeu ao post em um tópico de davidmr em Suporte Tibia OTServer
    Ok, poste o script dele.
  3. Disponha. Crie outro tópico, brother. Esse assunto não tem convicção com o tópico atual.
  4. REMOVIDO! Ops..aqui não havia carregado a mensagem do membro acima e.e
  5. Wise respondeu ao post em um tópico de Jepart em Suporte Tibia OTServer
    É, por storage seria mais simples. Daí basta configurar uma função de verificação nos NPCs para que executem determinado script caso tenha determinado valor da storage usada para cada linguagem. Você pode configurar em seu site para que por exemplo, determinada opção de escolha de linguagem de um novo character adicione determinada storage à esse novo char..assim os NPC's irão checar o valor dela e executar tal script.
  6. O script acima só dará ao player a condição de fogo, não dará as dos outros elementos. Mas ok.
  7. Wise respondeu ao post em um tópico de Jepart em Suporte Tibia OTServer
    Um sistema geral..não creio que seja possível com as funções padrão do tibia. Mas você pode optar por configurar o script do NPC para que reconheça uma string, e se o player confirmar, retornará positivamente, então dará continuidade a função de tal modo. Poste um exemplo de NPC que você quer que tenha múltiplas linguagens e me informe em quais idiomas você quer que ele possa responder.
  8. Wise respondeu ao post em um tópico de davidmr em Suporte Tibia OTServer
    Usa este do Absolute.
  9. Eu mencionei que as reticências . . . representavam a continuidade do script (onde você vai poder adicionar outras funções = o que acontece com o player ao dar use nesse item). Essa stone, no caso seria aquela de evoluir pokemons, certo? Poste o script dela que eu ajeito pra você.
  10. Então você apenas quer que mude a outfit do player ao digitar transformar..certo. Dê uma olhada nessa talkaction de saga, você pode alterar as palavras de conjuração do script para como quiser.
  11. Certo..só uma coisa: Aumenta a "força" do player em que sentido? Qual skill? Pois os hitpoints variam de acordo com os skills e/ou valores atribuídos por itens/spells (detalhe óbvio). Seja o mais específico possível.
  12. Faltavam 3 ends, aqui está: 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 crystalid = 9971 local storage = 9971 local getstorage = getPlayerStorageValue(cid, storage) local sorrymessage = "Desculpe, voce nao tem todos os gold ingot para completar as missoes..." local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'gold ingot') then if getstorage == 6 then npcHandler:say("Voce ja completou a quest", cid) elseif getstorage < 6 then npcHandler:say("Voce tem todos os gold ingot necessarios?", cid) talkState[talkUser] = 1 end elseif msgcontains(msg, 'quest') then if getstorage < 1 then npcHandler:say("Voce precisa de 25 {gold ingot} para comecar. encontre-os em {infernalist}.", cid) elseif getstorage == 1 then npcHandler:say("Voce esta na segunda parte e precisa de mais 25 gold ingot para continuar.", cid) elseif getstorage == 2 then npcHandler:say("Voce esta na terceira parte e precisa de mais 25 gold ingot para continuar.", cid) elseif getstorage == 3 then npcHandler:say("Voce esta na quarta parte e precisa de mais 25 gold ingot para continuar.", cid) elseif getstorage == 4 then npcHandler:say("Voce esta na quinta parte e precisa de mais 25 gold ingot para continuar.", cid) elseif getstorage == 5 then npcHandler:say("Voce esta na sexta e ultima parte missao e precisa de mais 25 gold ingot para acabar.", cid) elseif getstorage == 6 then npcHandler:say("Voce completou todas as missoes.", cid) end elseif msgcontains(msg, 'yes') then if talkState[talkUser] == 1 then if getstorage < 0 then if doPlayerRemoveItem(cid, crystalid, 25) == true then npcHandler:say("Voce ja me deu 25 gold ingot . Agora irei precisar de mais {25}.", cid) setPlayerStorageValue(cid, storage, 1) doPlayerAddExp(cid, 1000) talkState[talkUser] = 0 elseif doPlayerRemoveItem(cid, crystalid, 1) == false then npcHandler:say(sorrymessage, cid) talkState[talkUser] = 0 end elseif getstorage == 1 then if doPlayerRemoveItem(cid, crystalid, 25) == true then npcHandler:say("Voce ja me deu 25 gold ingot . Agora irei precisar de mais {25}.", cid) setPlayerStorageValue(cid, storage, 2) doPlayerAddExp(cid, 2000) talkState[talkUser] = 0 elseif doPlayerRemoveItem(cid, crystalid, 5) == false then npcHandler:say(sorrymessage, cid) talkState[talkUser] = 0 end elseif getstorage == 2 then if doPlayerRemoveItem(cid, crystalid, 25) == true then npcHandler:say("Voce ja me deu 25 gold ingot. Agora irei precisar de mais {25}.", cid) setPlayerStorageValue(cid, storage, 3) doPlayerAddExp(cid, 3000) talkState[talkUser] = 0 elseif doPlayerRemoveItem(cid, crystalid, 7) == false then npcHandler:say(sorrymessage, cid) talkState[talkUser] = 0 end elseif getstorage == 3 then if doPlayerRemoveItem(cid, crystalid, 25) == true then npcHandler:say("Voce ja me deu 25 gold ingot. Agora irei precisar de mais {25}.", cid) setPlayerStorageValue(cid, storage, 4) doPlayerAddExp(cid, 4000) talkState[talkUser] = 0 elseif doPlayerRemoveItem(cid, crystalid, 10) == false then npcHandler:say(sorrymessage, cid) talkState[talkUser] = 0 end elseif getstorage == 4 then if doPlayerRemoveItem(cid, crystalid, 25) == true then npcHandler:say("Voce ja me deu 25 gold ingot. E por ultimo, irei precisar de mais {25}.", cid) setPlayerStorageValue(cid, storage, 5) doPlayerAddExp(cid, 5000) talkState[talkUser] = 0 elseif doPlayerRemoveItem(cid, crystalid, 15) == false then npcHandler:say(sorrymessage, cid) talkState[talkUser] = 0 end elseif getstorage == 5 then if doPlayerRemoveItem(cid, crystalid, 25) == true then npcHandler:say("Parabens ,para quer receber seus premios agora? Diga {yes}.", cid) setPlayerStorageValue(cid, storage, 6) doPlayerAddItem(cid, 12279, 1) doPlayerAddItem(cid, 2160, 50) doPlayerAddExp(cid, 15000) doPlayerAddItem(cid, 9933, 1) talkState[talkUser] = 0 elseif doPlayerRemoveItem(cid, crystalid, 25) == false then npcHandler:say(sorrymessage, cid) talkState[talkUser] = 0 end end end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  13. Poste o script do arquivo portrait.lua.
  14. Wise respondeu ao post em um tópico de lukmeq em Suporte Tibia OTServer
    Verifique se você possui a seguinte tag em talkactions.xml (data/talkactions): <talkaction log="yes" words="/addskill" access="5" event="function" value="addSkill"/> Se não tiver, adicione-a. Caso você tenha feito isso e ainda assim a talkaction não funciona, então vá até a pasta data/lib, procure e abra o arquivo 050-function.lua e adicione esse script à ele: function doPlayerAddSkill(cid, skill, amount, round) if(skill == SKILL__LEVEL) then return doPlayerAddLevel(cid, amount, round) elseif(skill == SKILL__MAGLEVEL) then return doPlayerAddMagLevel(cid, amount) end return doPlayerAddSkillTry(cid, skill, (getPlayerRequiredSkillTries(cid, skill, getPlayerSkillLevel(cid, skill) + 1) - getPlayerSkillTries(cid, skill)) / getConfigInfo('rateSkill')) end
  15. portalevento.lua local appear = {x=123, y=456, z=7, stackpos=253} local destination = {x=123, y=456, z=7, stackpos=253} local gsto = 34567 function onSay(cid, words, param, channel) local e = getTileItemById(appear, 1387) if param == "" then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Digite !evento on - para criar um portal para o evento e !evento off - para deletar o portal do evento.") return 1 end if param == "on" and getGlobalStorageValue(gsto) < 1 then setGlobalStorageValue(gsto, 1) doCreateTeleport(1387, destination, appear) broadcastMessage("O portal para a Área de Eventos foi aberto!", MESSAGE_STATUS_WARNING) else doPlayerSendCancel(cid, "Já há um Evento em andamento, desative-o para poder iniciar outro.") end if param == "off" and getGlobalStorageValue(gsto) > 0 and e then setGlobalStorageValue(gsto, -1) doRemoveItem(e.uid, 1) broadcastMessage("O portal para a Área de Eventos foi fechado pelo Administrador!", MESSAGE_STATUS_WARNING) else doPlayerSendCancel(cid, "Não há nenhum Evento em andamento.") end return 1 end tag (talkactions.xml): <talkaction log="yes" words="!evento" access="4" event="script" value="portalevento.lua"/> Parâmetros !evento on !evento off Não testei local appear = onde o portal será criado local destination = para onde o portal leva
  16. Wise respondeu ao post em um tópico de otteN em Suporte Tibia OTServer
    Isso significa que você adicionou mais de uma tag com o mesmo ID. Verifique se não há outra tag utilizando os mesmos IDS das swords em seu actions.xml.
  17. Não testei threetimes.lua local tab = { pos = {x=123, y=456, z=7, stackpos=253}, sto = 11221 } function onUse(cid, item, fromPosition, item2, toPosition) if getCreaturePosition(cid) == tab.pos then local getst = getPlayerStorageValue(cid, tab.sto) if getst > 2 then doPlayerSendCancel(cid, "Você não pode mais usar este item.") elseif getst < 1 then ... setPlayerStorageValue(cid, tab.sto, 1) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você só poderá usar este item mais duas vezes!") elseif getst == 1 then ... setPlayerStorageValue(cid, tab.sto, 2) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você só poderá usar este item mais uma vez!") elseif getst == 2 then ... setPlayerStorageValue(cid, tab.sto, 3) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você não poderá mais usar este item, foi sua última vez!") end else doPlayerSendCancel(cid, "Você não está na posição correta para usar o item.") end return true end As reticências . . . representam a continuidade do script (onde você vai poder adicionar outras funções = o que acontece com o player ao dar use nesse item, já que você não disse nada sobre). Não se esqueça de modificar a posição em que o player deve estar para poder usar o item (x=123, y=456, z=7). tag (actions.xml): <action itemid="IDDOITEM" event="script" value="threetimes.lua"/>
  18. Paisagista.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Paisagista" walkinterval="0" floorchange="0"> <health now="150" max="150"/> <look type="121" head="0" body="0" legs="0" feet="0" addons="0"/> </npc> Informante.xml <?xml version="1.0" encoding="UTF-8"?> <npc name="Informante" script="data/npc/scripts/informante.lua" walkinterval="3000" floorchange="0"> <health now="100" max="100"/> <look type="292" head="0" body="0" legs="0" feet="0"/> <parameters> <parameter key="message_greet" value="Ola |PlayerName|! Bem vindo a loja de points, aqui voce podera comprar coisas com points. Diga {mais}! " /> <parameter key="message_decline" value="Goodbye!" /> <parameter key="module_keywords" value="1" /> <parameter key="keywords" value="mais;premium;ofertas" /> <parameter key="keyword_reply1" value="Quer saber sobre, novas {ofertas} ou {premium} account?" /> <parameter key="keyword_reply2" value="Para comprar premium account diga !buypremium e pronto, lembre-se de que voce comprara premium com dinheiro e nao com points." /> <parameter key="keyword_reply3" value="Novas ofertas surgirao com o tempo." /> </parameters> </npc> informante.lua (data/npc/scripts): 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:addModule(FocusModule:new()) Sobre o baú móvel e pegável: Você vai precisar dos programas ObjectBuilder e Item Editor. Após ter feito o download deles e etc: Item Editor 1) Vá até a o diretório onde você instalou seu ItemEditor e crie uma pasta com a número da versão do seu tibia.spr/tibia.dat do seu client. Por exemplo, se for 8.54, crie uma pasta nomeada por: 854 e cole o .dat e .spr nela. 2) Abra o Item editor, aperte CTRL+O e selecione o items.otb do seu servidor (data/items). 3) Os dados serão carregados..em seguida, procure pelo ID/sprite do item que você deseja alterar os atributos (no lado esquerdo <) e selecione ele. 4) No lado direito > aparecerão todos os dados do item selecionado. Em Attributes, apenas deixe marcadas as opções Unpassable, Block Pathfinder e Has Elevation (dessa forma, eles não poderam pegar o item/movê-lo/passar sobre ele/etc, e o item terá uma elevação caso seja sobreposto em algum outro item). 5) Salve a edição (CTRL+S). Object Builder 1) Abra o programa, aperte CTRL+O, selecione pela pasta com os arquivos do seu client descompactados e clique em Load. 2) Depois que os dados carregarem, no lado < esquerdo procure onde está "Items", pela sprite/ID do item que você quer alterar as propriedades. 3) Após encontrar o item desejado, clique duas vezes sobre a imagem dele ou clique com o botão direito do mouse e em seguinda clique sobre Edit. 4) Clique na aba Properties e deixe marcadas apenas as opções Has Elevation, Container e Block Pathfinder. 5) Compile (CTRL+S). O erro é no mapa, você provavelmente não deve ter feito a "entrada" de algumas houses, como indicam os erros no distro. Após você ter posto todos os sqms do interior da house, você precisa clicar em Select Exit (na aba House Palette) e selecionar o sqm em frente a porta da house, que irá ficar como se um fluído tivesse caído ali. Criando essas "entradas" das houses que o distro acusou como não definidas, você conseguirá resolver os erros. Dá uma olhada nesse tutorial aqui, talvez ajude. Não testei nada, mas espero que ajude
  19. Okay, mas se nenhum do fórum foi do seu gosto, então explique-nos qual seria esse sistema de transformar do seu gosto. Como você deseja que ele funcione? Explique melhor, não dá pra fazer sem detalhes. O que altera no player ao transformar?
  20. Wise respondeu ao post em um tópico de juliotricolorsp em Suporte Tibia OTServer
    É como o membro acima disse. Ative as funções (em seu config.lua) teleportAllSummons e teleportPlayerSummons, colocando o valor true nas mesmas, ficando assim: teleportAllSummons = true teleportPlayerSummons = true Agora enquanto a isso, dá pra fazer um creaturescript.
  21. Explique melhor.. O que é esse "transformar"? Como um player se transforma? Quais as mudanças no player ao transformar? Seja mais específico, facilita a nossa concepção.
  22. Wise respondeu ao post em um tópico de otteN em Suporte Tibia OTServer
    Tente esse: transformsword.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local firstid, secondid, str, time = 8931, 8932, 18930, 5 if exhaustion.check(cid, str) then doPlayerSendCancel(cid, "Você só pode transformar sua arma de ".. time .." em ".. time .." segundos.") return 1 end if item.itemid == firstid then exhaustion.set(cid, str, time) doRemoveItem(item.uid, 1) doPlayerAddItem(cid, secondid, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você transformou um(a) ".. getItemName(firstid) .." em um(a) ".. getItemName(secondid) ..".") elseif item.itemid == secondid then exhaustion.set(cid, str, time) doRemoveItem(item.uid, 1) doPlayerAddItem(cid, firstid, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você transformou um(a) ".. getItemName(secondid) .." em um(a) ".. getItemName(firstid) ..".") end return 1 end Tag em actions.xml: <action itemid="8931;8932" event="script" value="transformsword.lua"/>
  23. Wise respondeu ao post em um tópico de lukmeq em Suporte Tibia OTServer
    Esse script do seu arquivo não tem convicção alguma com salvar os dados dos players. Crie um arquivo com outro nome, ajusta a tag com o mesmo nome do arquivo Lua que você criou e adicione à ele o script que te passei acima. Veja se resolve o seu problema.

Informação Importante

Confirmação de Termo