Ir para conteúdo

gabriel28

Visconde
  • Total de itens

    431
  • Registro em

  • Última visita

  • Dias Ganhos

    6

Tudo que gabriel28 postou

  1. No 0.4 só deu um erro na hora de compilar, mas foi uma besteirinha e falta de atenção minha: Na hora de substituir essa função: if(item->isStackable()) Você poem essa: Código: Também, na hora de copiar e colar, prestem atenção se não tem nenhum sinal de interrogação '?' no código. Ainda não testei pra ver se está 100% funcional na versão 0.4, mas creio que está sem problema. Depois edito o comentário dizendo.
  2. Isso é/foi pra uso próprio, postar ou pra venda?
  3. @wizav01 Pra modificar nas Source, tem tutoriais pelo fórum. Depois que modificar, em items.xml é só por o shoot type com o nome que você colocou na source.
  4. Desculpem pelo título chamativo e/ou pela área está incorreta, mas enfim, lhes trago a solução definitiva pros problemas de bug relacionados a conteiners, como ficar comprando bp's infinitamente até crashar o server, stackar várias bps dentro de bps, jogar dentro da casa e usar o comando !leavehouse (ou algo do tipo) o que causa lag (talvez crash?) por conta da database ter que processar tantos itens saindo da house pro dp ou qualquer outra merda desse tipo. Vá em ...\data\npc\lib\npcsystem procure por: -- Handles onBuy events. If you wish to handle this yourself, use the CALLBACK_ONBUY callback. Substitua toda a função por: Explicando: Se o player tentar comprar mais de X itens de id Y, o npc não irá vender. Quando o player comprar uma quantidade menor que X, ganhará um cooldown de Z segundos até poder comprar novamente. Tudo isso configurável na tabela. Pra te prejudicar com esse tipo de bug agora, só se o "player" tiver com uma puta vontade de te foder. Testado e totalmente funcional em TFS 0.4 rev 3884, mas qualquer coisa é só adaptar pra outras versões que tenho certeza que funciona. EDIT: Não sei se já tem script similar por ai, mas esse ai é de minha autoria.
  5. Solução pro bug da party: Em game.cpp procure por: Party* party = player->getParty(); E adicione acima: if (invitedPlayer == player) return false; O crash acontece quando usam elfbot e dão party em si mesmo. Créditos: Gesior.pl EDIT: Bug nas portas que empurram items (Geralmente são as que precisam de level pra entrar). Abra a porta, coloque vários items na stack e saia. Quando a porta fechar, vai crashar o seu cliente e o de todos que estiverem perto(Na mesma tela). Não sei como fica o servidor, mas da forma que testei (Criei vários items estacáveis com o GOD >/i gold), ele não caiu, mas provavelmente dê lag. EDIT 2: Quando teve o clean, deu crash nos clientes que eu tinha aberto. Solução: Mudar a quantidade máxima de item por tile e/ou tirar a script de transformar gold. (Já que na maioria dos OTs é relativamente fácil fazer dinheiro, tirar esse script diminuirá a quantidade de lixo que um player pode produzir.) EDIT3: Sobre o bug das mochilas: Script auxiliar(Se tiver pego o de antes desse edit, mude): Vá em: ...\data\npc\lib\npcsystem procure por: -- Handles onBuy events. If you wish to handle this yourself, use the CALLBACK_ONBUY callback. E substitua a função por essa: function NpcHandler:onBuy(cid, itemid, subType, amount, ignoreCap, inBackpacks) local config = { sto = 11000, --storage tempo = 60, --tempo de cooldown para comprar novamente it = {2144, 2149}, --id dos itens total = 10 --total de itens que pode ser comprado por vez } if isInArray(config.it, itemid) and amount >= config.total then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "nao pode comprar mais que "..config.total.." itens desse.") return false elseif getPlayerStorageValue(cid, config.sto) > os.time() and isInArray(config.it, itemid) and amount <= config.total then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "espere "..(getPlayerStorageValue(cid, config.sto) - os.time()).." segundo(s) para comprar novamente.") return false elseif isInArray(config.it, itemid) and amount <= config.total then setPlayerStorageValue(cid, config.sto, os.time() + config.tempo) end local callback = self:getCallback(CALLBACK_ONBUY) if(callback == nil or callback(cid, itemid, subType, amount, ignoreCap, inBackpacks)) then if(self:processModuleCallback(CALLBACK_ONBUY, cid, itemid, subType, amount, ignoreCap, inBackpacks)) then -- end end end
  6. @NdboHakai Conseguiria, só você comparar como ta no script e como ta a forma que mandei, dai veria as diferenças e como adicionar uma nova cidade premium ou free.
  7. EDITADO (Reparei que do jeito que estava, o NPC não iria dizer ao jogador que precisaria ser premium pra ir pra cidade? Ficaria assim: elseif msgcontains(msg, "desert city") then if isPremium(cid) selfSay("OK!", cid) doSendMagicEffect(getThingPos(cid), 10) npcHandler:releaseFocus(cid) doTeleportThing(cid, DESTINO2) doSendMagicEffect(DESTINO2, 10) else selfSay("precisa ser premium", cid) end
  8. @NdboHakai Nada, só mudei pra necessitar falar o "viajar" que você quer, já que no outro, apesar de ter o "viajar", tinha a condição 'elseif', dai, se falasse um ou outro ia da no mesmo. Só disse pra mudar todo o script porque antes eu tinha mandado só uma parte e agora mandei ele todo, alterando o que o outro usuário tinha mandado.
  9. @NdboHakai Vê agora. (mude todo o script)
  10. Pro NPC de viajem, troca: Por:
  11. Yan Já respondeu.
  12. @FelipeCzY Só adicionar esses quadrados amarelos na escada que tá com problema.
  13. @NdboHakai NPC 1: Onde tem local itemID, troca por local itemID = {qqq, www, eee, rrr, ttt} e testa. NPC 3: Creio que não, mas vê ai. Se teleportar, me fala.
  14. @Daniel S Eu não manjo de PokeTibia, mas não é ai que está o problema, esse script só está chamando outro. Deve haver uma pasta onde está o script do funcionamento das spells, creio que na lib, não sei, você vai ter que dar uma fuçada ai.
  15. Problema resolvido. Era um monstro usando a spell, o que acabou ocasionando o erro.
  16. @Daniel S Mas não tem nem como eu saber se consigo ajudar, pois você não colocou o script da magia no post.
  17. @NdboHakai Não ta no pastebin porque fiz rapidão aqui mesmo. 1º NPC: 2º NPC Só você definir o valor da storage que vai representar a graduação X e na hora que o NPC setar a nova graduação, você seta a storage com o novo valor. Exemplo: A storage é 1111 e o aluno é valor 1, professor é valor 2 e mestre valor 3. Então, se quiser que vá de graduação nenhuma pra aluno, você faz> setPlayerStorageValue(cid, 1111, 1). Se quiser ir de aluno pra professor, você faz> setPlayerStorageValue(cid, 1111, 2). E assim por diante. 3º NPC Não está com a necessidade de precisar falar "viajar", mas não precisa falar "yes", ele já manda na hora que você falar o nome da cidade.
  18. Está sem o código da magia.
  19. Grande ajuda pra quem tá começando projeto mas não tem uma verba inicial pra gastar com um programador de verdade.
  20. Abrindo o tópico, vi nos comentários que o cliente está compilado com Molebox. Só usar um descompilador de Molebox no cliente.
  21. Como diz o título, minha dúvida é em como executar mais de um addEvent sem retornar erro no console.Uso script de spells com mais de um attack, e pro efeito sair certinho em cima do target eu pego a pos dele, e, como é de se esperar, se o target morrer antes da spell terminar, retorna erro no console.Script de uma das spells: Agradeço desde já.
  22. Olá, gostaria de saber se tem como rodar o TFS 0.4 rev 3884 em Linux sem problemas.Grato desde já.
  23. @Emanueldk Você vai ter que exportar desses arquivos ai, e depois importar pros arquivos do seu DBO.
  • Quem Está Navegando   0 membros estão online

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