Ir para conteúdo

LuckOake

Marquês
  • Total de itens

    1104
  • Registro em

  • Última visita

  • Dias Ganhos

    20

Tudo que LuckOake postou

  1. 90% dos jogos de rpg fazem isso(muitos mmorpg tbm)... @warotserv anyway, seria melhor se o cara so pudese abrir o bau após matar os mobs, porque n faz sentido vc abrir o bau e receber apenas depois de certo tempo. e já que vc fez um comentario falando sobre ensinar alguma coisa, deveria pelo menos saber o que é uma quest e o que uma treasure chest, são coisas bem differentes.... Falei "quem quiser fazer um servidor bem profissional". No caso, tô me referindo a Tibia, outros MMO não entram nesse quesito. Se você dissesse "90% dos servidores de Tibia", aí eu já digo: Por isso disse "quem quiser fazer um servidor bem profissional". 90% dos servidores existentes de tibia são só coisas zoadas mesmo. E de qualquer maneira, galera, vamo parar de discussão. Vocês já tão brigando por opinião, que é bem errado por ser algo subjetivo, que varia de cada um pra cada um.
  2. Tamanho de script não representa qualidade. Isso, por maior que fique, vai apresentar apenas alguns milissegundos de diferença, imperceptível para o jogador. Poderia ser reduzido? Sim, poderia. Mas muitas vezes é até melhor ficar grande por uma questão de organização. É perfeitamente possível fazer um script de teletransportar um jogador até uma coordenada específica, cobrando dinheiro e verificando level em apenas um único return. Mas fazer isso deixaria o script deveras desorganizado. E se o dono do server quer criar um servidor bem profissional, bloquear as saídas ficaria meio gambiarra, o que não é muito legal.
  3. Essa função (doRemovePlayerMount) não existe no seu server. É isso que o erro diz.
  4. Olá galera. Devido a um pedido, refiz a função getSearchString das sources do TFS em Lua, e vou aproveitar e postar ela aqui, caso alguém vá a precisar um dia. Explicando os parâmetros da função getSearchString(fromPos, toPos, isFromCreature, isToCreature): fromPos = posição inicial toPos = posição do objeto procurado isFromCreature = a posição inicial é uma posição de uma criatura? (true / false) [default = false] isToCreature = a posição do objeto é uma posição de uma criatura? (true / false) [default = false] E pra facilitar o uso, já aproveitei e fiz a função para usar o comando exiva: useExiva(cid, pid). cid = o uid do player que usa pid = o uid do player procurado Ambas as funções estão no code. Bom uso.
  5. Como você fez? Já tive alguns problemas com isso também, e se puder, me mostre sua solução. Seria de grande ajuda.
  6. Lua de OTServer é meio falha. Ela não possui uma coisa chamada Shared Lua States, que é justamente isso aí que você precisa. Tem um fix na otland, mas não sei se é bom usar. Qualquer coisa, só procurar Shared Lua States no google que você acha.
  7. LuckOake

    [Modificar]

    Action: Tag: <action itemid="2156" script="xxxx.lua"/> No lugar de xxxx, coloque o nome do arquivo da action. Look: Coloque no login.lua, antes do último return true: registerCreatureEvent(cid, "LifeStoneLook") Tag: <event type="look" name="LifeStoneLook" script="yyyy.lua"/> No lugar de yyyy, coloque o nome do arquivo do look.
  8. Eu tinha umas 11 medalhas do SDS. Além do que fiquei na equipe por uns 9 meses e não recebi pip/medalha de herói. E também ganhei a de melhor membro da equipe (não sei se de Janeiro ou Fevereiro). OBS: O Oneshot deveria estar de Herói também. Ele fez muito pelo fórum na época de coordenador, e não deveria ser desmerecido por causa daqueles problemas do começo do ano.
  9. Vi que muitos voltaram, principalmente meu mestre Oneshot, então voltei também. Não sei se voltei pra ficar ativo, mas de qualquer maneira, vou quebrar o gelo e postar um sistema depois de mais de um semestre inativo no fórum. Sinceramente, a qualidade da seção de scripting caiu consideravelmente. Chega a dar vergonha ver como está andando atualmente em comparação à época de novembro/dezembro do ano passado até fevereiro desse ano, em que deu aqueles problemas. São poucas as coisas que aparecem aqui que realmente são bem feitas. Bom, de qualquer maneira, fazer o quê se a maioria dos membros não consegue ver isso, deixemos rolar e tentemos restaurar o que era, né. Voltando ao tópico, trouxe pra vocês um sisteminha que funciona como um autoloot, porém, ele looteia apenas money e envia ele direto pra backpack ou direto para o banco do player (configurável), cobrando uma porcentagem do dinheiro looteado como troca pelo serviço. Exemplo, looteou 10 gold coins, cobra 10% (1 gold coin), dando pro player 9 gold coins no total. Scripts: Configurando: Para usar o sistema, use o comando /autoloot. Créditos: - Luck Oake
  10. Configura aqui: CLEANER_IGNORE = {2148} -- Item ids ignored by the cleaner São os ids que o Cleaner vai ignorar. Só ir adicionando assim {2148, 2160, 8139}, por exemplo.
  11. Sugestão, coloca multi-opções de spells, não deixando limitado a apenas duas spells, sendo também obrigatoriamente duas: function onUse(cid, item, frompos, item2, topos) local str = "You learned the spells: " local k = 0 local parchs = { [7702] = {storage = 18000, spells = {"Avalanche", "Berserk", "Batata"}}, [7724] = {storage = 18001, spells = {"Death Strike", "Flame Strike"}}, [7722] = {storage = 18002, spells = {"Fierce Berserk", "Fire Wave"}}, [7529] = {storage = 18003, spells = {"Explosion", "Hells Core"}}, } local parch = parchs[item.itemid] for a, b in ipairs(parch.spells) do doPlayerLearnInstantSpell(cid, b) k = k+1 str = str..b..(k < #parch.spells and ", " or "") end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, str) doRemoveItem(item.uid, 1) return true end
  12. Rapaz, pior que nem sei, mas deve ser algo assim. No isWalkable tem um terceiro parâmetro que não sei o que faz, mas provável que seja isso ai. ~~ Edit ~~ Dei uma pesquisada e achei isso: CONST_PROP_BLOCKSOLID = 0 CONST_PROP_HASHEIGHT = 1 CONST_PROP_BLOCKPROJECTILE = 2 CONST_PROP_BLOCKPATHFIND = 3 CONST_PROP_ISVERTICAL = 4 CONST_PROP_ISHORIZONTAL = 5 CONST_PROP_MOVABLE = 6 CONST_PROP_BLOCKINGANDNOTMOVABLE = 7 CONST_PROP_SUPPORTHANGABLE = 8 É, realmente, vou colocar o negócio pra evitar invadir houses. ~~ Edit 2 ~~ Fixed
  13. Olá galera. Tem um bom tempo que não dou sinal de vida aqui no xtibia no sentido de postar sistemas. Vou quebrar esse gelo, fiz um sisteminha aqui e trouxe pra vocês. O que é: Um NPC que limpa o chão, se movendo sozinho. Possui sistema de ignore ids, pra evitar de limpar items valiosos como GPs (configurável). Instalando: Configurando: Usando: /cleaner create -- Cria o Cleaner /cleaner remove -- Remove o cleaner Créditos: - LuckOake (Pelo sistema)
  14. Rapaz, não acha mais fácil usar exhaustion.set(cid, storage, time), exhaustion.check(cid, storage) e exhaustion.get(cid, storage)? OBS: O tutorial não passou pela aprovação ainda.
  15. Cara, seu script é interessante, mas pfv, melhora essa identação. Isso ai acaba com a beleza de todo um sistema e faz você parecer scripter que acabou de se iniciar na linguagem lua .-. Dica, n precisava criar uma lib própria só pra esse sistema, era melhor colocar a função direto no script. OBS: De onde você tira essas ideias? Tô precisando de algumas
  16. Breno, favor retirar o script desse tópico. Não peça ajuda com os sistemas do Biohazard feitos por mim aqui no xtibia, por favor. Outros editando o script não vai dar certo. Só me mandar mensagem no skype que eu arrumo pra você. Roksas, peço que também retire o script do seu post por ele ser de minha autoria e não ter permitido a postagem dele. Problema resolvido via skype, tópico reportado para ser movido.
  17. LuckOake

    Cores na HP Bar

    Aquele arquivo do battle troca a cor da barra de acordo com a health da criatura, mas não tem uma função que troque a health bar mesmo. Até consegui mudar na janela do battle, mas no jogo mesmo não.
  18. LuckOake

    Cores na HP Bar

    Olá. Seguinte, tava conversando com o Slicer sobre colocar cores na hp bar e ele me mostrou o sistema pelas sources, mas era de acordo com o nome do player. É possível fazer esse sistema em Lua sem usar feature ou fazer nas sources de acordo com Group Id?
  19. A identação tá errada. O certo seria assim: local wait = 60 function onSay(cid, words, param) if exhaustion.check(cid, 9854) then doPlayerSendTextMessage(cid, 20, "You need to wait "..wait.." segs to use this command again!") return true end if not doPlayerRemoveMoney(cid, 15000) then doPlayerSendCancel(cid, "Not enough money, sorry.") return true end doSendMagicEffect(getCreaturePosition(cid), 6) exhaustion.set(cid, 9854, wait) broadcastMessage("Mensagem do jogador: "..getPlayerName(cid).." ele diz "..param.."") return true end @Topic Tá evoluindo Já já você começa a dominar e fazer uns sistemas bem maneiros. REP+.
  20. LuckOake

    Unhandled Opcode

    Uso TFS 0.4 rev 3884.
  21. LuckOake

    Unhandled Opcode

    Bom, na verdade não estou usando nenhum script que use opcodes. Consegui resolver, troquei o executável do otclient. Mas ai, por que esse erro acontece?
  22. Moveu errado. Como isso não envolve scripts, o certo seria na área de tutoriais.
  23. LuckOake

    Unhandled Opcode

    Olá. Estou com o seguinte erro na hora de entrar no jogo: ERROR: ProtocolGame parse message exception (100 bytes unread, last opcode is 16, prev opcode is 161): unhandled opcode 16 Quando entro no jogo, dá esse erro e os eventos onLogin não são executados. Help?
  24. Certo, e agora que vi o que você tinha feito. Tava certim mesmo o tutorial, foi equívoco meu. É que achei que você tava tentando retornar um índice da tabela. E complementa também com tabelas assim: local items = {{1234, {10, 100}}, {2345, {50, 60}}} Ou seja, randomizar o itemid e a quantia pra ter uma possibilidade maior nos scripts.
  • Quem Está Navegando   0 membros estão online

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