Ir para conteúdo
  • Cadastre-se

marcot

Membro
  • Total de itens

    179
  • Registro em

  • Última visita

  • Dias Ganhos

    5

Tudo que marcot postou

  1. Basicamente, pelo que o log está informando: Na pokedex você está acessando alguma variável errada No catch o campo que você está acessando não existe (então dá pra pensar que ele não foi adicionado corretamente). Mas tenha em mente que sem código qualquer um vai ficar no achismo, porque muito plot twist pode acontecer quando você vê código alheio.
  2. Ele não achou o config.lua, tem certeza que o caminho especificado é esse aí mesmo?
  3. Caso queira editar apenas alguns em específico, iria pelo caminho mais fácil, colocando uma uniqueid neles. Se você deseja mudar todos, a ideia muda: você vai olhar algum programa para editar o arquivo items.otb, que fica em ./data/items/. No programa que você escolher provavelmente já vai achar tudo bem fácil de trocar. No link abaixo tem mais ou menos explicando o processo:
  4. Não tem muito segredo então, só joga os dois comandos dentro de um arquivo de texto e salva ele com o formato .bat
  5. Qual erro apareceu na distro? [EDIT] Aliás, no 0.4 no actions.xml não é esse o formato? <action actionid="60999" event="script" value="parch.lua"/>
  6. Estranho isso, porque aqui funcionou direitinho, você tem certeza que alterou os scripts corretos e deu o reload spells? Sem arma depois da modificação: Com arma depois da modificação: Com arma antes da modificação: Sem arma antes da modificação:
  7. Por que você não abre diretamente o executável? Não dá certo? Tô meio desatualizado...
  8. local cfg = { playerStorage = 60999, globalStorage = 60999, time = 60 * 60 * 24, -- Tempo em segundos positions = { {x=33060, y=31623, z=15}, {x=33066, y=31623, z=15}, {x=33060, y=31627, z=15}, {x=33066, y=31627, z=15} } } function isCooldownReady() return os.time() > getGlobalStorageValue(cfg.globalStorage) end function onUse(cid, item, frompos, item2, topos) if not isCooldownReady() then return true end for _, t in pairs(cfg.positions) do doSummonCreature("Demon", t) end setPlayerStorageValue(c
  9. @bpm91, outra coisa que eu esqueci de perguntar, você quer que o timer funcione de qual forma? Cada player pode invocar os monstros uma vez por dia; Os monstros só podem ser invocados uma vez por dia, independente do jogador que o tenha feito;
  10. Você poderia postar como ficou o script após a modificação?
  11. @bpm91 Sobre o baú de quest, você tem certeza de que não está funcionando? Porque por padrão vem um script chamado walkback.lua em movements que possui justamente essa finalidade pelo que entendi aqui. Sobre a parchment quest, existe algum script de gatilho para dar respawn nesses demons?
  12. @bpm91 Segue abaixo o script de exori que estou utilizando: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HITAREA) setCombatParam(combat, COMBAT_PARAM_USECHARGES, true) local area = createCombatArea(AREA_SQUARE1X1) setCombatArea(combat, area) function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill + attack, level / 5 return -(skillTotal * 0.5 + levelTotal), -(skillTotal * 1.5 + levelTotal) end setCombatCallback(combat, CALLBACK_PA
  13. Eu recomendo você fazer consultas das funções enquanto estiver programando, porque isso dá uma noção enorme do como você vai fazer o seu código e quais são as limitações do LUA no otserver. Segue o link abaixo com a documentação do TFS 0.4: https://github.com/otservme/global860/blob/master/sources/doc/LUA_FUNCTIONS
  14. Ele está te dizendo aí que tentou chamar a função doSetItemActionId e disse que isso é um valor nil, porque se não me engano em LUA tudo que não tá criado é nulo. Não sei qual base está utilizando, mas a função de setar um action id para o TFS 0.4 é essa: doItemSetActionId(uid, aid) Onde uid é o unique id do item e aid possivelmente o id que você quer.
  15. Me soou como gambiarra esse script. Você chegou a testar dar use com 2 players, reiniciar o server, logar com apenas um dos jogadores e checara quantidade de cargas?
  16. Eu chutaria que isso foi problema ao tentar acessar alguma das DLLs, você editou a source?
  17. Vou tentar explicar essa parte do CID de uma forma mais prática, demonstrando diferenças entre C e C++ e você pode tirar suas conclusões. Considere o pedaço de código abaixo, escrito na linguagem C (usaremos short em vez de bool, porque é C) struct Player { int id; short isPremmium; }; Nesse caso temos um tipo de dado Player, com um id e uma flag indicando se o jogador possui premmium. Vamos agora declarar uma variável de tipo player: struct Player jogador; jogador.id = 0; jogador.isPremmium = 0; Agora, uma função que verificaria se esse jogador possui premmi
  18. Testei no ambiente interativo de LUA -- Input Lua 5.1.5 Copyright (C) 1994-2012 Lua.org, PUC-Rio > for i=10,0,-1 do >> print('Hello') >> end -- Output Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello A variável I começa com 10, o loop acaba em 0 e o incremento é de -1 a cada loop. Note que repetiu o Hello 11 vezes.
  19. Eu chutaria que você fez algo de errado com o HTML na hora de colocar a linha nova.
  20. Não conheço os callbacks dos ots de pokemon, mas uma sugestão que fica para o tópico é mexer um pouco nessa formatação. Tenta colocar os códigos dentro de janelas de código pra ficar mais organizado, exemplo: function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, storage) == -1 then -- se voce souber o basico de ingles ja entende o que quer dizer, se o player nao tiver a storage, entao adicionaremos o listado abaixo! doPlayerAddMoney(cid, 5000) AddPokeToPlayer(cid, pokemon, 0, nil, ball) elseif getPlayerStorageValue(cid,storage)
  21. Tenta adicionar estas três linhas de código logo depois daquela sequência de confugurações com aqueles local agua, local pedra, etc. local levelMinimo = 100 if getPlayerLevel(cid) < levelMinimo then return doPlayerSendTextMessage(cid, 27, "Voce nao possui level para usar este item.") end
  22. @Kevin Araujo, As cores do dano de uma skill são definidos conforme o TIPO DE DAMAGE da skill, que provavelmente está setada para COMBAT_PHYSICALDAMAGE. Alguns outros exemplos de tipos e suas cores aproximadas seriam: COMBAT_FIREDAMAGE COMBAT_ICEDAMAGE COMBAT_ENERGYDAMAGE COMBAT_HOLYDAMAGE E só relembrando que isso pode influenciar em imunidades contra atributos em monstros, como um Fire Elemental não tomar dano para Fire Damage.
  23. Isso aí você modifica no Spells.xml, tem que ter o Direction="1" na linha correspondente à magia
  24. @Kynhuu, Bom, esse negócio de criar os sistemas é complicado, porque é possível desenvolver sistemas simples sem ter conhecimento de programação, mas conforme seus sistemas se tornam mais complexos, a história muda. Os servidores de tibia, em geral, são implementados na linguagem de programação C++ e utiliza a linguagem LUA para os scripts. Ou seja, para você editar isso tudo, é bom você estudar LÓGICA DE PROGRAMAÇÃO e ir aprofundando nessas duas linguagens, conforme você for aprendendo. Depois que você pegar o básico, pode dar uma pesquisada no youtube em tópicos
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo