Jump to content
Close

Leaderboard


Popular Content

Showing content with the highest reputation since 03/23/20 in all areas

  1. 14 points
    Olá galera do TK ! Venho por meio deste tópico, publicar a ultima versão do meu servidor derivado de Tibia NTO Hard juntamente com todos os arquivos necessários para edições. Confesso que não foi fácil tomar essa decisão, afinal de contas foram mais de 5 anos nessa vida de administrador de otserver e esses arquivos são de muita valia, tenho certeza de que muito do que conquistei e me tornei, é resultante dos servidores que pude administrar. Costumo dizer que não sou programador e que estou mais para um gerente de scripts, todos os meus servidores foram criados com base em arquivos disponibilizados em comunidades como esta, sendo assim, pensei comigo, seria interessante eu disponibilizar e de certa forma contribuir, acredito que esses arquivos ainda podem ser útil para muitos. O que tem de diferente no NTO Hard ? Foi feito com muito carinho ! Rs. Eu poderia fazer uma lista (BÍBLIA) do que tem no servidor porém estou sem tempo mas tenho certeza que esse é o servidor NTO mais completo, atual e disponível para ser baixado em qualquer comunidade de otserver. Veja algumas Imagens ! O que tem nesse Pacote Full de Arquivos NTO Hard ? Datapack mais recente e completa do servidor. Site Gesior com template própria + AntiDDOS. Client Descompilado + Estendido + DLL Manabar com ajuste na altura da Barra de Vida/Chakra + DLL Proteção para extensão.cab Source OTX compatível com o servidor CabCreator Item Editor que funciona com o item.otb do server Object Builder 0.4.1 Remeres Map Editor Estendido para funcionar com o client do server Pic Editor IP Changer DOWNLOAD & SCAN
  2. 5 points
    New Auto Loot Premium Version 1.0 Data de lançamento: 03/2020 Versões de Tibia compatível: 8.54 até 9.6 Versão de Distro’s testadas: TFS 0.3.6 TFS 4.0 OTX Funciona em servidores Derivados? Sim. Tibia normal DBO Tibia (Dragon ball Tibia) NTO Tibia(Naruto Tibia) Poketibia(Não testado pois todos poketibia que baixei estava com droploot bugado) Bugs Fixs: Clonar itens – Ao colocar vários slots do mesmo item clonava (removido) Backpack Full – Em alguns servidores quando a backpack estava full dava crash ou bugada. NEW FEATURES: [+] Funcionando para os mais diversos clientes de Tibia. [+] Acompanha a Versão pela DB totalmente de graça, podendo colocar quantos slots quiser. [+] Aviso quando o espaço da sua backpack estiver com “5” ou menos espaços disponíveis (configurável) [+] Auto Loot Mensagem – Quando o drop vem para a sua backpack os itens que você pegou agora são mostrados no chat. Exemplo a imagem na cor tipo: Orange (configurável) [+] Auto Loot Color Mensagem – Agora o jogador poderá escolher pelo comando !autoloot que tipo de cor irá receber a mensagem do Auto Loot quando dropar o item. [+] Jogador poderá ativar ou desativar as mensagens. [+] Jogador poderá ativar ou desativar as mensagens de aviso dos slots da backpack. [+] Jogador poderá ativar ou desativar o drop de gold somente. [+] Jogador poderá ativar ou desativar o Auto Loot sempre que quiser. Para comprar: Chamar em PM ou Discord vodkart#6090
  3. 3 points
    Movie

    Peça seu script

    Posso ter colocado na categoria errada, caso tenha acontecido, favor realocar pro local correto. Fala pessoal, então.. Nessa quarentena estou no tédio e resolvi fazer alguns scripts que vocês irão pedir... Já aviso que pode haver scripts que não conseguirei fazer e irei te avisar caso isso ocorra. Obs: tenho maior familiaridade com TFS 1.3, porém me arrisco no 0.x. Como pedir o seu script? - Lembrando que, o prazo de entrega das script varia de script para script. - Sempre que for postar foto, erro ou coisas do tipo, poste como SPOILER ou como CODE. - Não irei fazer pedidos complexos demais, não abusem. - Não faço script de tibia derivado. (Eu realmente não entendo nada dessa área) - Detalhe o seu pedido, quanto mais detalhe, melhor ficará seu código. - Caso eu tenha te ajudado, deixa um REP+ e caso queira fazer uma doação, o botão está na minha assinatura <3
  4. 2 points
    ikaroangelo21

    ANSWERED Erro stamina system

    eventsId = {} local function rechargeStamina(cid) if not isPlayer(cid) then eventsId[cid] = nil return end doPlayerAddStamina(cid, 1) eventsId[cid] = addEvent(rechargeStamina, 3 * 60 * 1000, cid) end function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if isPlayer(cid) then eventsId[cid] = addEvent(rechargeStamina, 3 * 60 * 1000, cid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Bem vindo aos trainers VIP's " .. getCreatureName(cid) .."! Você receberá 1 minuto de stamina a cada 3 minutos nos trainers VIP's.") end return true end function onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor) if isPlayer(cid) then stopEvent(eventsId[cid]) eventsId[cid] = nil end return true end Onde tem 1 = ganho de stamina. Onde tem 3 = o tempo para ganhar 1 minuto. Somente modificar, testado em otx 8.60.
  5. 2 points
    Movie

    Peça seu script

    Não testei, esse é o primeiro, jaja atualizo e posto o do NPC -- ChangeSex para TFS 1.3 -- Feito por Movie local custo = 10000 local cor = 94 -- Cor da calça local splash = 2016 -- ID do splash function onSay(player, words, param) if player:removeMoney(custo) then if player:getSex() == 0 then player:setSex(PLAYERSEX_MALE) Game.createItem(splash, 1, player:getPosition()) player:setOutfit({lookHead = 0, lookBody = 0, lookLegs = cor, lookFeet = 0}) player:say("AAAAAA", TALKTYPE_MONSTER_SAY) player:save() else player:setSex(PLAYERSEX_FEMALE) Game.createItem(splash, 1, player:getPosition()) player:setOutfit({lookHead = 0, lookBody = 0, lookLegs = cor, lookFeet = 0}) player:say("AAAAAA", TALKTYPE_MONSTER_SAY) player:save() return true end else player:say("Você não tem dinheiro suficiente.", TALKTYPE_MONSTER_SAY) return true end end
  6. 2 points
    Abra a sql, copie tudo e execute ela na phpmyadmin ao em vez de importar que funciona.
  7. 2 points
    @juvelino position_lobby = { -- Posição da sala no formato quadrado x1 = {x=174,y=61,z=7}, x2 = {x=180,y=67,z=7} } summons = { [1] = { monster= "Demon", pos= {x = 174 ,y = 61,z = 7}}, [2] = { monster= "Demon", pos={x = 180,y = 67,z = 7}}, --[3] = {monster = "Morgaroth", pos = {x= 181, y= 55, z= 7}}, } mensagemBroadcast = "Tem um time upando nas ruínas" function onUse(cid, item, fromPosition, itemEx, toPosition) local monsters_in_lobby = {} for posX=position_lobby.x1.x, position_lobby.x2.x do for posY=position_lobby.x1.y, position_lobby.x2.y do local newPos = {x=posX,y=posY,z=7, stackpos=253} local monsters = getTopCreature(newPos).uid if (isMonster(monsters)) then if (monsters > 0) then table.insert(monsters_in_lobby, monsters) end end end end if (#monsters_in_lobby == 0) then for i=1, #summons do doCreateMonster(summons[i].monster, summons[i].pos) end SetSwitch(item) doBroadcastMessage(mensagemBroadcast) else doPlayerSendCancel(cid, "Voce tem que matar todos os demons.") end return true end function SetSwitch(item) if (item.itemid == 1945) then doTransformItem(item.uid, item.itemid+1) end if (item.itemid == 1946) then doTransformItem(item.uid, item.itemid-1) end end
  8. 1 point
    @Hastafaru O Client do NTO Hard já é ilimitado e estendido, é versão 8.60 e ainda é OTX que permite você hospedar o server na gringa e mesmo assim não ter problemas com ping elevados, diferente da tfs 0.4 a otx deixa o jogo muito mais fluído sem freeze. Final de semana vou estruturar o tópico, colocar alguns tutoriais e também deixar um banco de dados resetado para todos poder baixar e já rodar sem complicações.
  9. 1 point
    Yan Liima

    [8.60] TFS 0.4 Rev3996 War & Cast

    Salve salve pessoal, no inicio desse ano estava dando uma estudada e mexendo com a TFS 0.4 rev3884, e vi que havia alguns bugs e que não tinha Cast incluso. Com base nisso decidi atualizar e otimizar a source, já que ainda ela é uma das mais utilizadas no mundo de Otserv. Um rapaz tinha me procurado e comprado ela por um preço razoavel, mas ao descobrir que ele estava revendendo por um preço bem maior, decidi compartilhar esse meu trabalho com vocês! Acredito que possa ser uma das melhores REV atualmente. Conto com o seu feedback, caso haja algum bug, algo que tenha que mudar/optimizar, não exite em avisar aqui no tópico. Toda ajuda será bem vinda xD The Forgotten Server, Tibia Versão: 8.60 O que contém nela? Dentro da pasta contém o config.lua com todas as tag já adicionadas. Não esquecam de executar a Query do Cast na sua DB: Downloads uint8(Effects até 255) Distro: TheForgottenServer.exe Src + datapack: Source & Data ------------------------------------------------------- Downloads uint16(Effects até 65534) Distro: TheForgottenServer.exe Src + datapack: Source & Data É necessário fazer a modificação do Hexadecimal no cliente. Aqui tem um já pronto: Cliente.exe (só será necessario se utilizar a src com o uint 16.) ------------------------------------------------------- Scans: Distro(uint8) & Distro(uint16) Source Cliente Obs: Os virus detectado é um falso positivo, então não se preocupem! E para quem se interessa em saber onde se localiza os code do Cast, aqui está uma imagem. Você pode achar procurando por "//CAST" Façam um ótimo aproveito 😄
  10. 1 point
    yelpz

    [Venda] New Auto Loot Premium Version 1.0

    Auto Loot 100% Comprei, Testei e Aprovo XD
  11. 1 point
    Quero te parabenizar por esse lindo ato, existe muitos pau no c** que querem sair por cima dos outros, vendendo coisas com preços absurdos. querendo + de 100 reais em uma mana bar que ele conseguiu de outro pessoa ou algo do tipo. vendendo muitas coisas que ja existe no tk para outras pessoas, um verdadeiro mercado negro, pessoas que so sabem fuder com a comunidade. emfim. você poderia vende isso muito facil pois tem muito conteudo otimo. mas você fez melhor do que isso. compartilhou com pessoas que tem sonhos de ter um servidor bom. somente aqueles que mexe com otserv a anos sabe o valor que esses arquivos tem. são horas e horas dedicados em cada detalhe, cada virgula. não e apena um servidor e sim o sonho que todos nós tivemos. Parabéns. fiquei ate meio triste por você ter postado o servidor pois vejo anos de trabalho dedicado.. emfim. venho a muito tempo tentando achar uma tfs ou uma otx boa porem não achei em lugar em uma. tentei compoliar a sua agora + deu um pequeno erro poderia me ajudar?
  12. 1 point
    @LeoTK Sim, ele não está com as dll injetadas porém funciona com spr e dat extended porque eu já estendi ele usando um editor hexadecimal
  13. 1 point
    @LeoTK Acredito que não, eu sei que tem uma dll manabar que torna seu client extended porém ela tem um bug no ctrl + n e essa dll não é a mesma da qual está no meu pacote. Creio que a dll que está no meu pacote é somente manabar com offset que reposiciona junto com a barra de vida, digo isso porque eu estendi manualmente o meu executável, então de qualquer forma o meu executável roda spr estendidas com ou sem essa dll, então não posso afirmar com certeza.
  14. 1 point
    @RobotTurto São duas dll, uma é mana e outra é proteção, o target é apenas source. @leozincorsair Hoje já não dependo de renda de otservers, a ideia é contribuir com a comunidade, enfraquecer o mercado negro de files que já circulam na mão de muita gente, acho que todos ganham, tanto administradores que só precisarão se atualizar, como também players que poderão jogar servidores com mais atrativos.
  15. 1 point
    Cara voce e muito humilde, pois voce venderia muito facil tudo isso, mais pensou diferente .. veio disponibilizar isso para pessoas implementar no seu projeto ou ajudar quem ja tem, eu mesmo vou aproveitar muita coisa do seu sv, obrigado de verdade !
  16. 1 point
    Tô chorando de emoção. @r0bert0lol quais sistemas tem adicionado na source? saberia me dizer? cast, estendido effects e misseli? etc.
  17. 1 point
    Parabéns pela iniciativa, esses arquivos na minha opinião valem mais de 2 mil reais!
  18. 1 point
    Joaovettor

    ANSWERED Erro stamina system

    Não foi testado ainda.
  19. 1 point
    @poko360 isso ai vai dar um trampo e provavelmente ninguém vai fazer isso de graça..... porém você tem a alternativa de criar perguntar pré-definidas com respostas prontas.... isso que geralmente usam no servidores eu mesmo utilizo dessa forma @poko360 esse script ainda marca no mapa o local etc...
  20. 1 point
    Tyrisfall

    Guild House

    a questão do invite vc pode fazer ingame mesmo independente de ser guildhall ou não. pra invitar todos de uma guild basta por @nome da guild no aleta sio os comandos também funcionam no aleta grav (pra controlar quem tem acesso a cada porta) acho que existem outros comandos mas eu não lembro aqui, deve ter tudo na wiki.
  21. 1 point
    poko360

    Event BOSS

    coloque <globalevent name="ForBossEvent" interval="3600000" script="nome do seu csript.lua" /> testa, e ver se vai nascer a cada 1 hora
  22. 1 point
    poko360

    Event BOSS

    como ta sua tag? assim? ou assim?
  23. 1 point
    Chriistian

    Minimap Completo

    É facil:1. Logue em seu server com qualquer char.2. Coloque os arquivos abaixo:data/items/items.otb data/world/(all files)na pasta data do OTClient. Vai ficar igual a imagem abaixo: Então no terminal do OTClient (CTRL+T) e envie o codigo abaixo: g_things.loadOtb('items.otb') então (substitua 'ots' pelo nome do seu MAPA😞 g_map.loadOtbm('ots.otbm') isso ira congelar seu OTClient por alguns segundos.PRONTO! Você conseguiu o Minimapa completo do seu mapa para OTC. Após o registro, ele salvará esse mapa no diretório config do OTClient
  24. 1 point
    Salve salve galera do TK! Hoje vos trago o Wodbo Wars versão 5.9(de 2016) Creio que muitos daqui que joga dbo deve conhecer esse servidor, atualmente ele está online! Pra quem não sabe eu já fui da equipe, ajudei a dar inicio ao projeto, corrigindo bugs, scripts,mexendo com site,db etc... Por conta de mesquice do Arkam, ele me tirou da equipe e ai rolou treta entre eu e ele. Muitos já devem saber a história. Enfim... Decidi trazer para vocês pois faz muito tempo que a galera vive enchendo o saco para mim postar. E como esse servidor não tem nenhum valor para mim, só guardava e não postava por respeito ao Matheus P.(Arkam), mesmo tendo nossas intrigas, ele é um grande rapaz. Decidi postar, já que o mesmo não liga mais! Imagens: Bom, não estarei postando a distro original, estarei deixando a que ele utilizou no inicio. Recomendo vocês baixarem alguma src(source) e compilarem. Recomendo utilizar a do @Fir3element. No site dele oficial tem um bug de gerar várias vezes a RK, concertei isso para vocês. Assim podendo gerar apenas uma vez! A base utilizado nesse servidor foi o Dbo Hunter(criado pelo Renan), esse servidor tem umas gambiarras, mas creio que irá ajudar muitas pessoas que não tem muita experiência de começar do 0. Utilizem como base, sejam criativos e entre pra concorrência DOWNLOAD: Créditos: Matheus Pacheco(Arkam or Arkamed) Yan Liima(Night) As vezes certas pessoas se aproveita de outras para poder chegar longe. ;( Façam um bom aproveito, abraços!
  25. 1 point
    Para pessoas que querem montar Ots em casa é complicado, por vários motivos: Os tópicos a seguir não estão bem distribuídos, uns poderiam ser subtípicos de outros, mas o eles ajudaram a entender porque é complicado montar um OT no seu PC. 1 - conexão, não no sentido de invasões mas em relação a própria internet, seu contrato determina uma coisa e você está utilizando para outra diferente, e só lembrando na sua casa você lida com meros megas de internet, servidores lidam com gigas, teras de banda; 2 - estabilidade, aqui está ligado a internet também, pois sua rede vai está sempre oscilando, podendo haver situações que ela vai de 100 a quase 0 e normaliza novamente; 3 - uptime, aqui leva em conta energia, internet, hardware, pois seu PC provavelmente não ficará ligado 24/7, provavelmente vai garantir no máximo 2/3 disso; 4 - vulnerabilidades, pois um pessoa com meio cérebro e um pouco de conhecimento em rede, consegue derrubar seu servidor, com ataques DoS (Daniel of Services), nem precisa ser DDoS(Distributed Daniels of Services). 5 - hardware, pois uma maquina para servidor dispõe de um hardware muito mais robusto, vide exemplo da imagem abaixo: E você achando que pagou caro no seu i3 de primeira geração , Temos também os mais relesinhos: Mas ainda assim está acima da posse de muitos e os intermediários vão ficar na faixa de R$50 mil. Só lembrando que computadores não são formados apenas por processador, há placa-mães que aceitam mais de um processador. Precisam também de HDD, RAM, e todo o resto, e eles também serão caros. Então montar um OT sério em casa com a qualidade de um datacenter está fora de questão, fora a internet como falado acima; 6 - CGNAT: Um dos principais problemas quando estamos começando a subir um Ot em 'casa' é o fato de que 'dependendo do seu provedor de internet, vulgo: NET, ViVO ...', tem uma coisa que chama CGNAT, ela compartilha 1 ip público para vários clientes, e cada cliente vai ter um 'ip publico' dinâmico dentro dessa rede, então em tese seu Ot só estaria liberado para acesso não local para os cliente que compartilham o mesmo ip público principal. Para ilustrar melhor pensa que tem o seu modem/roteador, e que lá no provedor tem outro, então não adianta você liberar no seu, pois lá estará fechada a porta que você necessita. Simplificando mais é o problema de internet compartilhada, mas não é tão fácil de resolver. O que você deve fazer é entrar em contato pedir um ip publico - público mesmo - estático. Mas a parte de deixar estático você mesmo pode configurar. Ah isso do CGNAT não é para ser um vilão é para sanar um problema de escassez, de IPV4, é falado no vídeo, mas se você não for assistir o vídeo ta aí o motivo de sua existência. =================================================== Video explicando CGNAT # O vídeo é curto e explica de forma ilustrada. =================================================== Esse video ilustra de forma clara isso, e como dito no vídeo, isso é uma solução 'temporária', kkkk, até que se comece a utilizar o IPV6, que consegue gerar um número muito maior de ips. Onde cada pessoa vai estar realmente conectada a rede, sem ips intermediários. Então espero que antes de vocês ficarem dias tentando resolver isso, e se chateando por terem liberado as portas no modem e no PC, e em si não estão liberadas realmente para acesso externo, tenha visto este tutorial. Recentemente liguei para lá para pedir para liberarem um ip publico para mim, pois queria ter acesso remoto via SSH, só que falaram que eu deveria ser uma pessoa jurídica(PJ), decidi não discutir, slave of enterprise, nunca resolveram seus problemas. Então tentem conseguir VPS/Dedicados, para que vocês não tenham que lidar com esse problema. Se estiver começando VPSs são mais que o suficiente. Dependendo do tamanho elas são muito baratas, e comportarão o seu público no início já que vocês não terão tantos playes(conexões simultâneas), e o legal é que elas são escaláveis, podem aumentar os recursos, claro pagando mais. E pelo amor de deus, "Linux tá Ok", se você comprar uma VPS com Windows, vai pagar mais por menos, já que o consumo de recursos de uma maquina Windows é maior que de uma 'Linux' e mais difícil de configurar o ambiente. E pelo fato do desempenho ser menor, já que 'Linux' tem um gerenciamento melhor, de rede e recursos, e promovem alta flexibilidade para se adequarem as necessidades do seu OT e trazerem bom desempenho, para quem está começando a mexer com servidores isso pode parecer besteira, mas não é, quanto mais sucesso seu Ot fizer mais você vai precisar de otimização de recursos, como por ex., alocação de memoria, já que quanto menos você gasta em hardware, mais vai ter lucro. Aqui estão umas provas do que eu estou falando: Essa duas são de servidores Linux: E essas duas são Windows: . Guys acredito que vocês achem mais barato, até recomendo pois se você está interessado mesmo nisso, você vai correr atrás de informações para evitar ataques e tudo mais. Nesta situação aí, a empresa já cuida dessa parte para vocês, ou parte do problema pelo menos. Se você quer o melhor você tem duas opções, pague mais, ou, faça você mesmo!!! Ah e claro a diferença é notória em relação a preço, mais que o dobro, pelo mesmo hardware, lembrando que o desempenho não vai ser o mesmo, pois Windows tende a não gerenciar muito bem memória. Qualquer vacilo e seu VPS - máquina, depois de alguns dias ligado vai estar desperdiçando gigas de memoria, porém não existe bala de prata, o linux trabalha melhor, porém se você fizer um trabalho porco vai ter problemas similares, recomendo se informar mais sobre systemd. Grandes empresas usam 'Linux para subi suas aplicações, pois são bem mais baratas, podem ser facilmente moldadas as suas necessidades já que o 'Linux' é opensource. Eu coloquei a palavra Linux entre aspas, pois Linux não é o sistema operacional(SO), ele é o Kernel, Todo sistema operacional tem um Kernel, por ex,. Windows, porém ele não é opensource, então você não pode estudá-lo, muito menos manipulá-lo, para que ele fique enxuto o suficiente para fazer somente aquilo que sua aplicação(OT) precisa Outra vantagem está não solução de bugs, já que o Linux conta com uma comunidade imensa de pessoas contribuindo, havendo situações em que quando acontece um problema, por ex., falha de segurança, bugs, são consertados horas depois, diferente do Windows que pode levar um bom tempo, já que o código é fechado e a quantidade de pessoas para resolver é menor. Bom foi longo, acredito que cansativo mas, penso que deve ter sido esclarecedor e se foi que pena, a ideia não é só solucionar, mais despertar a curiosidade para que vocês elevem a qualidade dos OTs, pois muitas pessoas tem ótimas ideias, porém não adianta montar um Ot legal com novas coisas, se ele é lerdo, cheio de problemas, ou se você nem conseguir deixá-lo online, ou está gastando mais do que recebendo para mantê-lo on-line. Ah! lembrando que há opções gratuitas de VPS, mas será necessário de cartão de crédito para validar o cadastro. E provavelmente o servidor é em outro país e vai oferecer uma latência maior. As que eu conheço, e a Google Cloud Plataform, AWS e Azure, são as que eu conheço. Espero também que eu tenha vindo trazer paz e não descontentamento e desanimo, já que isso mudo totalmente a perspectiva de anos atrás, de só baixar, extrair, dar alguns clicks e pronto. Porém dessa forma como já falado acima você perde muito em escalonamento do seu OT. Não sou especialista em redes, ou da área de sysadmin, então pode ter uma coisa ou outra que pode não estar 100% exata, mas acredito que seja um começo para que vocês possam começar. Em breve farei um Post sobre porque usar UDP em vez de TCP.
  26. 1 point
    @Ricardo silvaali cara depende você precisa pesquisar muito pra saber como configurar as coisas proteções e formas de segurança para o servidor/site etc... se você pesquisar tudo e fazer por conta tu pode pegar a promoção da azure e do google cloud que se registrar uma cartão de crédito você ganha um tempo de vps gratis ou um valor pra gasta em vps..... de graça ai vai evoluindo se fazer tudo correto tu pode usar 2 anos gratis de vps juntando o do google cloud e do azure enfim ai vai de você agora se quer tudo de mão beijada ou que alguém faça pra ti vai gastar esse valor ai também.... ou até mais
  27. 1 point
    eu tenho um movement [SQM] , vc pode adaptar ele pra action facilmente
  28. 1 point
    LeoTK

    defesa {shield skill}

    @Jeff Delay use essas condições em todas as spells que vai dar dano e o player vai poder defender com armor e defense COMBAT_PARAM_BLOCKSHIELD COMBAT_PARAM_BLOCKARMOR
  29. 1 point
    Vodkart

    ANSWERED Mining System Buga?

    tenta usar assim: levels = { {level = {0,19}, quant = {1,1}, percent = 5}, {level = {10,19}, quant = {1,1}, percent = 6}, {level = {20,59}, quant = {1,1}, percent = 7}, {level = {60,89}, quant = {1,2}, percent = 8}, {level = {90,99}, quant = {1,2}, percent = 9}, {level = {100, math.huge}, quant = {1,3}, percent = 10} },
  30. 1 point
    LeoTK

    Vale a pena investir em TFS 0.4 ?

    @Fabio Leandro Primeiro todo servidor esta fadado a sofrer com bugs etc.... Segundo se seu amigo soubesse tanto assim ele saberia que da pra pagar alguém pra fazer uma source 1.3 com downgrade para funções do 0.4..... Terceiro todo servidor esta fadado ao fracasso desde sempre a questão é o que você vai fazer para não acontecer isso.... Quarto você deve trabalhar no que você consiga evoluir não vai adiantar nada você migrar pra 1.3 e ficar perdido não saber nada ou ter muita dor de cabeça por conta de ser algo novo para você, ai vai ter muita perca de tempo etc..... Quinto a maioria dos bugs do 0.4 já esta registrado e muito dos bugs já tem solução no próprio fórum..... Sexto então eu estou fadado ao fracasso por trabalhar em uma source 0.3.6 com upgrade pra 8.60 ??? sendo que eu tenho as mesmas features de 0.4 e até agora não existe bug para ela ..... E por ultimo seu conhecido pode apenas ter se frustado nesse ramo e tem essa resposta pronta não deixe alguém fazer sua cabeça ninguém sabe de nada apenas pensa que sabe se é oque você gosta vai em frente porém precisa saber de algumas coisas. 1º- Você precisa investir no projeto para só lá na frente talvez ter algum lucro. Porque só lá na frente? Seu servidor precisa ser conhecido depois confiável para ai depois criar uma margem de players diários para assim depois ter um lucro com uma margem para manter o servidor e ter capital para investir no mesmo. 2º- Cada dia que passa esse ramo de ATS esta tendo menos players então você vai precisar investir em marketing pra não só capitar pessoas que jogam ou já jogaram mas as que nunca jogaram pra conhecer esse universo e o seu servidor ser o primeiro .... 3º- Vai precisar se organizar agendas de Eventos, Manutenção, Agendas de horários, Staff organizada e até remunerada com pontos do jogo para fazer um trabalho sério e não ficar zuando etc.... 4º- Manter sempre um nível de qualidade foque em problemas primeiro resolva bugs, erros etc.... o mais rápido possível assim vão ter confiança que o servidor esta querendo fazer algo sério e de qualidade para ter mais confiança assim para donatar e saber que o servidor não vai fechar depois de 2 meses .... e por ai vai
  31. 1 point
    Yan Liima

    ANSWERED Character List

    Era só procurar no fórum irmão. Link:
  32. 1 point
    Olá Willian Ferreira Configurou o xampp ou outro programa para abrir a database? Está com a senha correta no config.lua?
  33. 1 point
    Vodkart

    Event BOSS

    local config = { name = "Shuryu Boss", pos = {x = 60, y = 63, z = 3}, time = 20 } function onThink(interval, lastExecution) doCreateMonster(config.name, config.pos) broadcastMessage("O "..config.name.." apareceu, voce tem "..config.time.." para mata-lo", MESSAGE_STATUS_CONSOLE_ORANGE) addEvent(function() local creature = getCreatureByName(config.name) if creature ~= nil and not isPlayer(creature) then doRemoveCreature(getTopCreature(getCreaturePosition(creature)).uid) end end, config.time*60*1000) return true end
  34. 1 point
    ⚫ Olá, venho aqui trazer um global (servfull 7.60 e 7.72 cipsoft) também roda 7.4, download junto com a distro compilada de graça, roda em sqlite, é só abrir e rodar o ot !!!! Senha do account name é 1/1 senha do god é 111111/222222 RealOTS ✔️-Tasks system 100% ✔️-CipSoft Engine ✔️-All Quests 100% ✔️-All NPCs 100% ✔️-Real Monsters 100% ✔️-Caves 100% ✔️-Real Damage 7.6 ✔️-Trainer off ✔️-Mensage loot ✔️-Shared Experience ✔️-Poi + Acess 100% ✔️-Houses 100% ✔️-Livros e histórias 100% ✔️-Command /buy, !buy. ⚡ -Items old ⚡ - Monstros e Outfits ⚫ Algumas imagens do server, quests e hunts. ⚫ Downalod e Scamm: https://goo.gl/ztc2nP https://goo.gl/N52pP2 Atualização: * Treiner offline adicionado no templo de thais junto com o npc de task Oldman. *Acesso rápido a poi depois de terminar a segunda sala pelo teleport, caso você morra.
  35. 1 point
    mastof

    Bot Discord Integrado com Servidor

    Sistema de Denuncias no servidor, faz verificação para ver se o Player realmente existe no servidor do PokeTibia e a verificação se o player esta no servidor do Discord Funcionamento: O player reporta um jogador, podendo por provas, e o player reportado pode se defender da mesma forma atualizando a denuncia
  36. 1 point
    Basta substituir o module game_outfit e a pasta data Download: https://www.dropbox.com/s/jojhp1gfaa7bkts/Outfit Module by Aimar.rar?dl=0 Créditos: Edubart Scan: https://www.virustotal.com/gui/file/e99052b8cea21903c046189342d0c210517ce189b47185de7f860e8a5bc10bac/detection
  37. 1 point
    JZDJ

    Download Clients 11+ IP 127.0.0.1

    Olá galera do TK. Hoje eu trago vários clientes de Tibia 11+ com IP 127.0.0.1. Vi que alguns usuários não estão conseguindo algumas versões 11 então resolvi postar aqui. Estou disponibilizando o EXECUTÁVEL DO CLIENTE. Para que funcione é só colocar na pasta BIN da versão correspondente. Também disponibilizei a pasta completa compactada. Vamos ao que interessa. Tibia 11.43.5504 127.0.0.1-11.43.5504.exe SCAN do cliente Pasta completa: Tibia 11.43.5504.rar SCAN pasta completa Tibia 11.44.5516 127.0.0.1-11.44.5516.exe SCAN do cliente Pasta completa: Tibia 11.44.5516.rar SCAN pasta completa Tibia 11.46.5556 127.0.0.1-11.46.5556.exe SCAN do cliente Pasta completa: Tibia 11.46.5556.rar SCAN pasta completa Tibia 11.47.5640 127.0.0.1-11.47.5640.exe SCAN do cliente Pasta completa: Tibia_11_47.5640.rar SCAN pasta completa Tibia 11.47.5674 127.0.0.1-11.47.5674.exe SCAN do cliente Pasta completa: Tibia_11_47.5674.rar SCAN pasta completa Tibia 11.48.5712 127.0.0.1-11.48.5712.exe SCAN do cliente Pasta completa: Tibia_11_48.5712.rar SCAN pasta completa Tibia 11.48.5753 127.0.0.1-11.48.5753.exe SCAN do cliente Pasta completa: Tibia_11_48.5753.rar SCAN pasta completa Tibia 11.49.5813 127.0.0.1-11.49.5813.exe SCAN do cliente Pasta completa: Tibia_11_49.5813.rar SCAN pasta completa Tibia 11.49.5884 127.0.0.1-11.49.5884.exe SCAN do cliente Pasta completa: Tibia_11_49.5884.rar SCAN pasta completa Tibia 11.49.5921 127.0.0.1-11.49.5921.exe SCAN do cliente Pasta completa: Tibia_11_49.5921.rar SCAN pasta completa Tibia 11.49.5983 127.0.0.1-11.49.5983.exe SCAN do cliente Pasta completa: Tibia_11_49.5983.rar SCAN pasta completa Tibia 11.49.6018 127.0.0.1-11.49.6018.exe SCAN do cliente Pasta completa: Tibia 11.49.6018.rar SCAN pasta completa Tibia 11.49.6030 127.0.0.1-11.49.6030.exe SCAN do cliente Tibia 11.49.6030.rar SCAN pasta completa Tibia 11.50.6055 127.0.0.1-11.50.6055.exe SCAN do cliente Tibia 11.50.6055.rar SCAN pasta completa Tibia 11.51.6099 127.0.0.1-11.51.6099.exe SCAN do cliente Tibia 11.51.6099.rar SCAN pasta completa Tibia 11.52.6104 127.0.0.1-11.52.6104.exe SCAN do cliente Tibia 11.52.6104.rar SCAN pasta completa Tibia 11.55.6239 127.0.0.1-11.55.6239.exe SCAN do cliente Tibia 11.55.6239.rar SCAN pasta completa Tibia 11.56.6239 127.0.0.1-11.56.6239.exe SCAN do cliente Tibia 11.56.6239.rar SCAN pasta completa Tibia 11.57.6239 127.0.0.1-11.57.6239.exe SCAN do cliente Tibia 11.57.6239.rar SCAN pasta completa Tibia 11.58.6239 127.0.0.1-11.58.6239.exe SCAN do cliente Tibia 11.58.6239.rar SCAN pasta completa Tibia 11.58.6239 ATUALIZADO 127.0.0.1-11_58.6239.exe ATUALIZADO SCAN do cliente Tibia 11.58.6239 ATUALIZADO.rar SCAN pasta completa Tibia 11.59.6424 127.0.0.1-11.59.6424.exe SCAN do cliente Tibia 11.59.6424.rar SCAN pasta completa Tibia 11.60.6457 127.0.0.1-11.60.6457.exe SCAN do cliente Tibia 11.60.6457.rar SCAN pasta completa Tibia 11.65.6492 127.0.0.1-11.65.6492.exe SCAN do cliente Tibia 11.65.6492.rar SCAN pasta completa Tibia 11.65.6507 127.0.0.1-11.65.6507.exe SCAN do cliente Tibia 11.65.6507.rar SCAN pasta completa Tibia 11.66.6516 127.0.0.1-11.66.6516.exe SCAN do cliente Tibia 11.66.6516.rar SCAN pasta completa Tibia 11.70.6535 127.0.0.1-11.70.6535.exe SCAN do cliente Tibia 11.70.6535.rar SCAN pasta completa Tibia 11.70.6543 127.0.0.1-11.70.6543.rar SCAN do cliente Tibia 11.70.6543.rar SCAN pasta completa Tibia 11.70.6548 127.0.0.1-11.70.6548.rar SCAN do cliente Tibia 11.70.6548.rar SCAN pasta completa Tibia 11.70.6555 127.0.0.1-11.70.6555.rar SCAN do cliente Tibia 11.70.6555.rar SCAN pasta completa Espero que eu tenha ajudado. Créditos: A Cip pelos clientes e a mim por ter alterado os ips nos mesmos. REP+ é sempre bom e não dói. Abraços. ATT , Jaurez/JZDJ
  38. 1 point
    DdJs

    [12.20+] Houses pack - build your city

    Pack de Houses V 12.x Construa sua cidade apenas abrindo espaços e adicionando as casas já prontas! Basta copiar e colar. Total de 20 casas no mesmo estilo com modelos diferentes. Download: Houses.otbm Imagens:
  39. 1 point
    DdJs

    Module TELEPORT LIST (POKETIbIA)

    Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.
  40. 1 point
    Eu usei as dll que gera a partir da compilação, joguei tudo na pasta e executei. Testei com outro TFS e parece mesmo ser as dll porém não sei qual, vou procurar aqui. #SOLUÇÃO Consegui resolver por outro fórum, aqui algumas soluções que encontrei: Meu tópico no outro fórum: aqui É importante usar o CMD para executar o seu '.exe', é bem fácil. Abra o CMD, coloque 'cd <destino do seu projeto>', logo após isso use '<seu executador>.exe' para iniciar. Problema com dummy: avoid name conflict from boost::variant Solução: https://github.com/otland/forgottenserver/pull/2678/files/f51321dde4e9a40f23d3df4269849154395a4326 Problema após compilar (tela preta ao executar): Vá em Propriedades do seu projeto -> Debugging -> Working Directory e mude para a pasta do seu projeto. Logo após isso edite as propriedades do projeto e alterne o Conjunto de Instruções Avançadas para SSE2. https://otland.net/threads/illegal-instruction-on-compilling.259997/#post-2514777 Vai compilar sem problemas.
  41. 1 point
    Movie

    Evento Safe Zone TFS 1.x+

    -- Retirado
  42. 1 point
    Gengo

    [OTClient] Player Info OTPokemon

    [OTClient] Health Player Info OTPokemon Eae galerinha do TibiaKing, hoje venho trazer mais uma contribuição para a comunidade, um módulo indêntico ao do OtPokemon. Mesmo que seja simples a instalação, tem sempre aquele que não sabe onde deve colocar o módulo, peço então que tenha paciência quanto a esse simples tutorial, aos demais aqueles que já sabem, peço que ao menos leia a Observações do módulo. 1º Faça o download do módulo. 2º Extraia o módulo para a pasta do seu otClient em /modules ficando assim: Feito o passo 1 e 2 creio que já estará funcionando, isto se você fez tudo certinho. •Observações do módulo• Demonstrativo do módulo no jogo.
  43. 1 point
    MatheusVidaLoka

    [8.60] Rivals Baiak 1.0

    Eaew pessoal do Tibia King venho postar meu server , Rivals Baiak , postei o tópico em fevereiro em outro forum , e venho postar hoje aqui para voces também. O que tem de novo no servidor ? Mount Man Adicionado Novas Outfits Muitas Quests Adicionadas Muitas Hunts Adicionadas Itens Editados Sistema de [Vip] no nome Novas Spells Adicionadas Fast Attack Muitos Scripts Adiconados Bugs 99% removido Senha god/god Aol Infinita Exp Ring (a Exp Ring somente tutores ou players poderao usar Se algum Gm,Cm,ou God tentar usar o Server Cai) Exp Potion Aqui vão umas Ss's : Templo : Alguns novos Tps : Algumas quests (mais no andar de cima) : Muito mas , que você só saberá baixando Download Via 4Shared << Download Atualizado Scan Via VirusTotal Creditos : Lucas (por Criar o Mapa) MatheusVidaLoka (por editar) VirusTotal (pela segurança) ForShared (por hospedar o download)
  44. 1 point
    Fala galera eu recentemente me aventurei a adicionar uma nova outfit no servidor e com addon e descobri que não tinha muitos conteúdos falando sobre isso detalhadamente com imagens etc... então resolvi pegar tudo o que aprendi e vou explicar a vocês detalhadamente passo a passo com as ferramentas que temos hoje no caso o object builder. Programas Usados: Paint Object Builder Explicando jogo de cores a serem adicionadas e como adicionar Todo o cabelo Blusa e Braços Pernas Botas e detalhes do corpo 1º- Outift Toda Branca obs: É necessário a outfit pintada toda de branco por causa da paleta de cores quando for trocar as cores e a outfit estiver colorida ao mudar a cor vai mesclar uma cor com a outra e quando mudar para a cor branca vai mudar para a cor que estava então caso o cabelo for amarelo quando adicionar no cliente e for na paleta de cores in-game e mudar para a cor branca vai ficar amarelo o cabelo.... Exemplo: Configurações padrão para criar a nova outfit obs: Única coisa que notei referente a essas configurações é que se for diferente disso ao adicionar a sprite do addon ela buga.... 2º- Adicionando as áreas que vão mudar de cor Exemplo: Para criar essa parte colorida basta pegar as sprites normais da outfit e pintar de rosa as áreas do rosto das mãos caso aparecer dedos etc... remover também tem que sobrar apenas as áreas das roupas que vai mudar de cor... obs: caso quiser que algum detalhe da roupa continue sem mudar de cor padrão basta não pintar de nenhuma cor seja amarelo na parte da cabeça, vermelho na parte do busto, verde parte das perna e nem em azul a parte das botas e detalhes do corpo todo. 3º- Adicionando as áreas que vão mudar de cor na outfit Quando você tiver criado o slot com as configurações padrões acima vai ter a opção Blend Layer nas opções de aparence no object builder logo abaixo onde adiciona as sprites Exemplo: Ao selecionar a caixa a oufit adicionada vai sumir então você vai adicionar as sprites da sua oufit colorida Exemplo: Após adicionar tudo certinho como se fosse uma nova outfit basta salvar e compilar. 4º- Adicionando a nova outfit no Set Outfit Mesmo tendo adicionado no cliente ainda não é possível selecionar a nova outfit na opção Set Outfit dentro do jogo para habilitar essa opção você vai ter que ir na pasta. pasta do seu servidor/data/xml/outfits obs: pode váriar de servidor para servidor como vai estar mas essa linha de script é padrão. <outfits> <outfit id="1" premium="0"> <list type="female" looktype="136" name="Citizen"/> <list type="male" looktype="128" name="Citizen"/> </outfit> Tem também a versão que precisa de storage para ser usada só vai liberar a outfit ou addon para o player que tiver a storage configurada <?xml version="1.0"?> <outfits> <outfit id="1" quest="9785"> <list gender="0" lookType="1288" name="Test"/> <list gender="1" lookType="1288" name="Test"/> </outfit> </outfits> ou também pode ser adicionado com a linha premium ficando assim <outfits> <outfit id="1" premium="0" quest="9785"> <list type="female" looktype="136" name="Citizen"/> <list type="male" looktype="128" name="Citizen"/> </outfit> obs: Premium = 0 free Premium = 1 premium 0 contas free account podem usar a outfit 1 apenas contas premium podem usar a outfit 5º-Explicando Configuração das linhas Em ID é o id da outfit dentro do script outfit.xml então basta ir no ultimo adicionado e seguir a contagem se o ultimo for 44 o próximo é 45 e assim vai Quest é a storage necessária para o player poder liberar a outfit no set outfit Female looktype é o id da outfit da mulher no object builder no caso do citizen a outfit da mulher é 136 e o nome que vai aparecer no set outfit da outfit é citizen Male looktype é o id da outfit do homem no object builder no caso do citizen a outfit do homem é 128 e o nome também é citizen obs: Caso a outfit ser a mesma para mulher e homem basta colocar o mesmo looktype nos dois e colocar o mesmo nome da outfit. --------- ENCERRAMENTO --------------- Se gostou curta Se o tópico bombar trago a parte de adicionar os addons bem explicado nesse mesmo tópico By: Brunds
  45. 1 point
    xFatality

    {Tutorial} NPC'S

    Tutorial de NPCS Esse tutorial irá servir para quem gostar de fazer certo NPCs mais complexos com storages, varias missões e tudo mais. Usando como base o Jiddo system apenas para comprar e vender itens, pois não gosto de usar sistemas que facilitam Pois não criam scripters e sim preguiçosos, ainda mais quando o sistema é abandonado ai você se lasca O npc é dividido em duas partes : - Arquivo XML : Responsavel pelo visual e algumas propriedades dele (pelo jiddo system) - Arquivo Lua : Responvasel pelas falas e vendas (Lua puro) Visual do Npc Bem primeiro vamos explicar o visual de um npc, <npc name="Bonifacius" script="data/npc/scripts/default.lua" walkinterval="25" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="128" head="97" body="100" legs="115" feet="114" corpse="2212"/> </npc> Explicando parte a parte Name : Nome dele que aparecerá para todos. script : Arquivo lua do script dele walkinterval : De quanto em quanto milessegundos ele irá caminhar. floorchange : Se ele irá subir escadas ou cair em buracos. access : O valor de acesso dele, caso ele tenha um acesso 5 poderá usar todo os comandos de GODS. level,maglevel : É tosco, você pode fazer ele soltar magias (nunca tentei) e no caso isso contaria. Health Now : Sangue que terá max : Maximo de health (ja fizeram npc com life media) look type : Tipo de roupa dele, Caso queira ele como objeto use look typeex. head,body,legs,feet : Cor da cabeça,corpo,calça e pé do npc. corpse : Corpo caso ele morra (LOL não dá...) Esse é a base do arquivo xml do npc. Caso você queirá enfiar tosquisses pelo Jiddo System fica mais ou menos assim: <?xml version="1.0" encoding="UTF-8"?> <npc name="Bonifacius" script="data/npc/scripts/default.lua" walkinterval="25" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="128" head="97" body="100" legs="115" feet="114" corpse="2212"/> <parameters> <parameter key="module_shop" value="1"/> <parameter key="shop_buyable" value="banana,2676,2;grapes,2681,3;melon,2682,8;orange,2675,5;pumpkin,2683,10;chees e,2696,5;egg,2695,2;cookie,2678,2;meat,2266,5"/> <parameter key="message_greet" value="What you doing soldier ? Take your weapon and go war!"/> <parameter key="message_walkaway" value="Hey Hey, where you go ?"/> <parameter key="message_farewell" value="Bye bye brave soldier. Remember, peoples without head, don't transform in undeads."/> <parameter key="message_alreadyfocused" value="You are drunked ? You talk really talk to me ?"/> </parameters> </npc> <parameters> <parameter key="module_shop" value="1"/> <parameter key="shop_buyable" value="banana,2676,2;grapes,2681,3;melon,2682,8;orange,2675,5;pumpkin,2683,10;chees e,2696,5;egg,2695,2;cookie,2678,2;meat,2266,5"/> <parameter key="message_greet" value="What you doing soldier ? Take your weapon and go war!"/> <parameter key="message_walkaway" value="Hey Hey, where you go ?"/> <parameter key="message_farewell" value="Bye bye brave soldier. Remember, peoples without head, don't transform in undeads."/> <parameter key="message_alreadyfocused" value="You are drunked ? You talk really talk to me ?"/> </parameters> Esse é um exemplo basico de npc vendedor, que não faz muita coisa. module_shop : Quer dizer que ao falar trade ele irá abrir a janela tosca de venda de itens. shop_buyable : Isso faz tudo que tiver ai ele vender sendo a sintaxe parameter key="shop_buyable" value="nome inutil (inutil mesmo não serve para nada),id do produto,preço; Podendo você adicionar milhares e milhares, unico porém de você adicionar pelo XML é que não há possibilidade de fazer a venda por backpack (pelo menos até a versão que testei) message_farewell Mensagem de despedida Essas message tem alguns tipos explicados abaixo : Tudo isso acima deverá estar depois de message_ e as mensagens em default você poderá encontrar em npc/lib/npcsystem/npchandler.lua Se você fazer asneira lá os npcs não funfam cuidado o0 Ainda há o npc de barco, muito simples : <parameter key="travel_destinations" value="desert,1594,835,5,180;edron,931,825,6,90;"/> Sintaxe value="nome da cidade ,coordenada x,coordenada y,coordenada z ,valor;" 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()) Ou seja npcs, que aquilo que mostrei no xml é suficiente você pode direcionar para o default.lua Eu disse que npcs feitos no XML, a opção de compra por backpack não é possivel Então para faze-la em um npc Lua ficará assim : 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 local shopModule = ShopModule:new() npcHandler:addModule(shopModule) shopModule:addBuyableItem({'health potion'}, 7618, 45, 1, 'health potion') shopModule:addBuyableItem({'mana potion'}, 7620, 50, 1, 'mana potion') shopModule:addBuyableItemContainer({'bp hp'}, 2000, 7618, 900, 1, 'backpack of health potions') shopModule:addBuyableItemContainer({'bp mp'}, 2001, 7620, 1000, 1, 'backpack of mana potions') npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Nesse exemplo o npc vende health potion,mana potion e bp dos respectivos. Sendo a sintaxe shopModule:addBuyableItem({'nome inutil'}, id preço, quantidade ou sub tipo, 'nome inutil') Esse nome só serve para você não se perder, pois ao dizer trade ele aparecerá o nome do item pelo items.xml e não o que voce falou Sintaxe da backpack shopModule:addBuyableItemContainer({'nome'}, id da backpack, id, preço, sub tipo ou quantidade (caso seja agrupavel), 'nome inutil') 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 talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'rainbow') or msgcontains (msg, 'perch') then if getPlayerStorageValue(cid,30013) == 8 then selfSay('Yeah. But peguins, stoled my last crate of this. Please go lair of this plague and take again my itens. You go ?', cid) talkState[talkUser] = 1 else selfSay('You are a lier. Leave here!', cid) end elseif msgcontains(msg, 'mission') then if doPlayerRemoveItem(cid,7707,1) == 1 then selfSay('Congratulations. Give this for Willard.', cid) setPlayerStorageValue(cid,30013,10) talkState[talkUser] = 0 else selfSay('You don\'t have nothing!', cid) end elseif talkState[talkUser] == 1 then if msgcontains(msg, 'yes') then selfSay('Great. Later report me asking mission.', cid) setPlayerStorageValue(cid,30013,9) talkState[talkUser] = 0 else selfSay('You don\'t have nothing!', cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Esse npc ai é um simples de quest, você pode se basear nele para seu primeiro npc Vamos explicar umas coisas importantissimas talkState = Isso ai é a genialidade, a cada passo você pode mandar o player para um estagio. Se você leu meus tutos percebeu que ele é um vetor, mais por que ? Porque, ao ser uma variavel ele é armazenada no servidor certo ? Então se não fosse um vetor, o npc falando com dois ao mesmo tempo poderia se confudir e ferrar tudo literalmente Se você dominar o talkState dominará 50% de npcs de missões Storages = Isso também é indispensavel nos npcs, é sempre bom reservar uns para cada missão Para se ela tiver varias etapas você não se confudir, Ou usar o mesmo value para poder aproveitar no questlog (explicado no tutorial SUper Quests) O npc acima ele é 4º npc da minha quest global do meu otserver de testes. Ignore os erros de Inglês. if msgcontains(msg, 'rainbow') or msgcontains (msg, 'perch') then if getPlayerStorageValue(cid,30013) == 8 then selfSay('Yeah. But peguins, stoled my last crate of this. Please go lair of this plague and take again my itens. You go ?', cid) talkState[talkUser] = 1 else selfSay('You are a lier. Leave here!', cid) end Aqui ao você falar rainbow ou perch ele começa a girar essa parte do script. Ou seja no caso eh msgcontains se você falar Ele irá entender normalmente, e rodará o script. Caso fosse msg ai sim teria quer ser certinho (até maiscula e miniscula acho que ele duvidaria) No caso ele checa o storage 30013 se tem o valor 8, caso tenha ele fala aquela frase enorme e muda seu talkstate para 1 Se não tiver o storage com valor 8, ele te ofende. Esse storage 8 é adicionado no npc anterior. Se você tiver tudo certo ele tem pergunto algo, porém isso só será checado no talkstate 1 elseif talkState[talkUser] == 1 then if msgcontains(msg, 'yes') then selfSay('Great. Later report me asking {mission}.', cid) setPlayerStorageValue(cid,30013,9) talkState[talkUser] = 0 else selfSay('You don\'t have nothing!', cid) end Se você falar yes, ele manda você ir no penguim hell para você pegar os treco para ele. E te coloca o storage 30013 com valor 9. E veja que ele manda você falar mission quando completar Vamos supor (não supositorio), que você completou ela e falo mission para ele. O que iria checar ? elseif msgcontains(msg, 'mission') then if doPlayerRemoveItem(cid,7707,1) == 1 then selfSay('Congratulations. Give this for Willard.', cid) setPlayerStorageValue(cid,30013,10) talkState[talkUser] = 0 else selfSay('You don\'t have nothing!', cid) end Se você fala mission, ele automaticamente remoe o item 7707 (dado na quest) e parabeniza você. Dando o storage 30013 com valor 10 O valor necessario para o npc anterior voltar a falar com você. Caso você seja caloteiro ele já te desmente. Bem simples, não ? Claro que esse npc é minisculo. Porém ja da para seguir como base. Olhe a evolução dele. 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 talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'mission') then if getPlayerStorageValue(cid,2411) == -1 then selfSay('Entregue essa carta a minha irmã Clarice.', cid) setPlayerStorageValue(cid,2411,1) doPlayerAddItem(cid,8370,1) else selfSay('Eu ja te dei a carta, aguardo resposta', cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Ai checamos se ele já fez a quest. No caso se tiver -1 (que nunca fez) ele poderá começa-la. E dará a carta ao player (item 8370 nem sei o que é) Ok. Essa parte ta montada, ele dá a carta. Situação : A NPC Clarice está cantarolando em sua casa, quando você chega com uma carta de seu irmão. Ela recebe de bom grado porém prescisa provar que recebeu. Porém seu jogador não sabe que existe storage value, então Você poderá enviar outra carta ou inventar que ela irá falar com ele. 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 talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'letter') then if getPlayerStorageValue(cid,2411) == 1 then selfSay('Ah você relmente tem a carta de meu amado irmão?', cid) talkState[talkUser] = 1 else selfSay('Ah seu fanfarao saia daqui', cid) end elseif talkState[talkUser] == 1 then if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,8013,1) == 1 then setPlayerStorageValue(cid,2411,2) selfSay('Obrigada. Agora eu irei falar com ele sobre o assunto', cid) talkState[talkUser] = 0 else selfSay('Você não tem a carta dele', cid) end else selfSay('Então porque veio aqui ?', cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Veja que ela é a prova de erros. Primeiro ao falar letter ela checa se você tem o storage com valor 1 (Ou seja, se você falo com ele) Se não falou ela já te manda pescar, se houver, ela já mete pergunta se você tem a carta Caso não já te manda pescar Caso sim ela tenta pergunta se voce tem a carta Caso diga não ela te manda pescar também, Caso fale sim ela tenta tirar sua carta, caso você tenha ela te agradece e coloca o storage com valor 2 Caso não tenha ela diz que você não tem a carta Vamos suport, que você aceitou e entregou a carta tudo certinho. Você deve voltar ao Valdemar para ele te dar algo não ? Situação : Você ja deu uma de carteiro e agora quer receber sua recompensa, então ao Oscar, Porém ele não é trouxa E como ele sabe se você ja fez tudo ? Uma dica começa com S e termina com orage... Vejam que eu usei a mesma palavra missão e adicionei um else. Se ele tiver o storage com valor 2 e falar missão, obviamente ele fez tudo e como é a ultima missão Não necessita fazer perguntas retoricas (sem resposta), então ele já da sua recompensa e ja fecha seu storage com 3. 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()) Se você observar ele tem 4 funções ai que nem foram usadas.[/left] onCreatureAppear(cid) : Ela faz uma ação quando o player entrar em seu raio de ação onCreatureDisappear(cid) : Ela faz uma ação quando o player sai do seu raio de ação. onCreaturesay(cid) : Quando o player fala algo. onThink(cid) : Seria ao pensar ao achar, não tenho certeza do que faz, porém é uma função muito usada. onCreatureMove(creature, oldPos, newPos) : Quando a criatura se move de um lugar para outro. local target = 0 local prevTarget = 0 local maxChaseDistance = 20 local origPos = 0 local origDir = NORTH local lastAttack = 0 local followTimeout = 10 local function isSkulled(cid) local skullType = getPlayerSkullType(cid) if(skullType >= 3) then return true end return false end local function goToOrigPos() target = 0 lastAttack = 0 selfFollow(0) doTeleportThing(getNpcCid(), origPos) end local function updateTarget() if(isPlayer(target) == FALSE) then goToOrigPos() elseif(not isSkulled(target)) then target = 0 selfSay("Now, behave in the future.") end if(target == 0) then local list = getSpectators(getNpcPos(), 8, 8, false) for i=1, table.getn(list) do local _target = list[i] if(_target ~= 0) then if(isPlayer(_target) == TRUE and isSkulled(_target)) then if(selfFollow(_target)) then target = _target if(target ~= prevTarget) then selfSay("We do not tolerate people like you here!") end prevTarget = target break end end end end end end function onCreatureAppear(cid) if(cid == getNpcCid()) then --Wake up call origPos = getNpcPos() --origLook = getCreatureDir(cid) end end function onCreatureDisappear(cid) if(target == cid) then goToOrigPos() end end function onCreatureMove(creature, oldPos, newPos) -- end function onThink() updateTarget() if(target == 0) then return end local playerPos = getCreaturePosition(target) local myPos = getNpcPos() if(myPos.z ~= playerPos.z) then goToOrigPos() return end if(math.abs(myPos.x - origPos.x) > maxChaseDistance or math.abs(myPos.y - origPos.y) > maxChaseDistance) then selfSay("I'll catch you next time.") goToOrigPos() return end if(lastAttack == 0) then lastAttack = os.clock() end if(os.clock() - lastAttack > followTimeout) then --To prevent bugging the npc by going to a place where he can't reach selfSay("You got me this time, but just wait.") goToOrigPos() return end if( (math.abs(playerPos.x - myPos.x) <= 1) and (math.abs(playerPos.y - myPos.y) <= 1)) then doTargetCombatHealth(getNpcCid(), target, COMBAT_LIFEDRAIN, -200, -300, CONST_ME_BLOCKHIT) lastAttack = os.clock() end end Bem a função updateTarget faz ele apenas fixar a target (alvo) players com skull white ou red. Então deixe ela para outro dia. Vamos verificar a onThink function onThink() updateTarget() if(target == 0) then return end local playerPos = getCreaturePosition(target) local myPos = getNpcPos() if(myPos.z ~= playerPos.z) then goToOrigPos() return end if(math.abs(myPos.x - origPos.x) > maxChaseDistance or math.abs(myPos.y - origPos.y) > maxChaseDistance) then selfSay("I'll catch you next time.") goToOrigPos() return end if(lastAttack == 0) then lastAttack = os.clock() end if(os.clock() - lastAttack > followTimeout) then --To prevent bugging the npc by going to a place where he can't reach selfSay("You got me this time, but just wait.") goToOrigPos() return end if( (math.abs(playerPos.x - myPos.x) <= 1) and (math.abs(playerPos.y - myPos.y) <= 1)) then doTargetCombatHealth(getNpcCid(), target, COMBAT_LIFEDRAIN, -200, -300, CONST_ME_BLOCKHIT) lastAttack = os.clock() end Explicando cada if. - Primeiro ele checa se ele tem target, se não tiver recomeça o ontarget - Segundo se ele verifica se o player está no mesmo andar que ele (coordenada z) se não tiver volta pro começo - Terceiro ele verifica se o player está muito longe (distancia maxima especificada acima), caso esteja ele fala mais ou menos "te pego na proxima" e volta pro seu respawn. - Quarto Ele muda seu ultima attack para o tempo atual do servidor - Quinto Ele verifica se ja passou o "tempo de descanso dele) - Se o tiver na posição certa de ataque, ele mete o sabugo no player espacando ele. Até o player morrer ou fugir. Entederam a logica ? Não !? Tudo bem. Vai treinando... Sinceramente esse npc é o mais complexo que ja vi. Eu entendi ele, porém não tenho animo de refaze-lo xD É Isso. Creditos : Tibiaa4e ( 99%) (Por Fazer). xFatality ( 1% ) (Por trazer ao TK). Obrigado, Abraços. Da para você fazer tudo do LUA no XML, porém eu acho estranho e apenas frescura do Jiddo e dos Developers do TFS (não sei developer em Português) Caso seja curioso olhe nos arquivos bankmax.xml, merchant.xml e postman.xml que estão em npc/lib Bem a parte XML já acabo, ou seja, ela é muito simples. NPCS EM LUA Aqui é a parte legal do npc na qual até certos scripters novos fazem coisas desnecessarias ou que pioram... A base do arquivo usando Jiddo System é Ai sempre virá uma bp cheia dos item especificado. Caso não saiba ao clicar com o direito no TRADE e usar buy with backpack virá com isso ai Essa é a parte facil até agora tentarei pensar aqui 25 minutos um jeito de explicar muita coisa xD NPCS de Missões Bem aqui ensinarei a fazer npcs de missões, isso mesmo até mesmo aqueles de post office, paradox (que eu até ja fiz) Como sempre ensinarei a logica, ou seja, darei conhecimento não ideias Assim já para ter uma ideia de um npc maior... É só seguir essa base... Vamos criar um passo a passo para que não compreendeu. NPCs tutoriais Situação : O npc Valdemar quer que você entregue uma carta a irmã dele chamada Clarice. Pense. Ele irá dar uma carta, e algo que controle se você ja recebeu a carta. Porque se você deu calote uma vez Que não se repita, ou seja, um storage value. Que será o 2411 (bem masculo) Caso você não tenha storage -1 e nem 2 só pode ser 1 (no caso dessa quest) então ele manda você termina o serviço PELO AMOR DE DEUS, SEMPRE ESTRUTURE SEU SCRIPT, SE NÃO VOCÊ IRÁ SE CONFUDIR COM ESSE SHOW DE ELSE E IF. Isso é a vantagem de se usar o Jiddo System, pois diminuiu a confusão. Porém como ja disse, é coisa de preguiçoso Mais cada um com o seu né... Aqui acaba o npc de missões. Eu expliquei apenas a parte dos ifs e elseifs. Isso é simples, agora depende de sua capacidade e criatividade. Melhor maneira de aperfeiçoar ? fazendo varios!!! Eu odeio npcs, quase morri de raiva de ter que fazer esses (serio ) Espero que aproveitem xD. Funções de NPcs Se você leu esse tuto até aqui, é porque não entendeu nada, ou seu interesso muito, por npcs. Lembra dos npc base ?. Pelo que você ja perceberam eu odeio npcs, então não usei muitas dessas funções. No tfs tem o npc cityguard que ataca todos os red skull que aparecem em seu raio. Vamos estuda-lo e aprender juntos!!! function onCreatureAppear(cid) if(cid == getNpcCid()) then --Wake up call origPos = getNpcPos() --origLook = getCreatureDir(cid) end end Quando a criatura aparece ele chama a função getNpcCid que checa o player que o npc está focado. Ai a variavel origPos vira a coordenada que ele está no momento. function onCreatureDisappear(cid) if(target == cid) then goToOrigPos() end end Quando o player sai da tela, ele verifica se o target (player que ele está focado também!?) é um player Se for ele volta para a posição anterior local function isSkulled(cid) local skullType = getPlayerSkullType(cid) if(skullType >= 3) then return true end return false end Essa função seria a base do npc, ele segue apenas players com skull. Poderiamos mudar essa função para ele seguir apenas player druids ? Claro!!! Como é um tutorial mudar o nome da função iriamos que remodelar todo o script (enche o saco) vamos apenas mudar dentro da função local function isSkulled(cid) local vocType = getPlayerVocation(cid) if(vocType== 2) or (vocType == 6) then return true end return false end Mudando só isso os druid iriam sofrer na mão desses npcs xD Da para fazer ele atacar apenas monstros ? (acho que sim) local function isSkulled(cid) local idType = isPlayer(cid) if (idType ~= 1) then return true end return false end No caso se for diferente de 1 ele arrebenta de magia. Teste essas modificações. Porém a ideia base é entender as funções e não só modifica-las. Pelo contrato da SVN tudo que você faz a partir dela é conteúdo livre e de total modificação. Porém tenha bom senso que não é facil fazer scripts assim. Então sempre mantenham os creditos, principalmente Se você modificou
  46. 1 point
    Swiruseq69

    [8.54] Dragon Ball New Story

    Fix List (?): *data/globalevents/scripts/efekty.lua ~~~~~ REMOVE local graczu = (getCreaturename(cid) == 'Swirus') elseif(getCreatureName(cid) == 'Swirus') then if getPlayerGroupId(cid) < 6 then doPlayerSetGroupId(graczu, 6) end *data/XML/vocations.xml ~~~~~ CHANGE interval="1600" orpse="3019" CHANGE TO interval="1600" corpse="3019" ////27.06.2018
  47. 1 point
    Em protocolgame.cpp procure por: msg->put<uint16_t>(player->getHealth()); msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXHEALTH)); Substitui por: Depois procure por: msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MANA)); msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXMANA)); Substitui por: creditos Yan Liima e otland
  48. 1 point
    Vodkart

    Tempo em Script

    function timeString(timeDiff) local dateFormat = { {"day", timeDiff / 60 / 60 / 24}, {"hour", timeDiff / 60 / 60 % 24}, {"minute", timeDiff / 60 % 60}, {"second", timeDiff % 60} } local out = {} for k, t in ipairs(dateFormat) do local v = math.floor(t[2]) if(v > 0) then table.insert(out, (k < #dateFormat and (#out > 0 and ', ' or '') or ' and ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or '')) end end local ret = table.concat(out) if ret:len() < 16 and ret:find("second") then local a, b = ret:find(" and ") ret = ret:sub(b+1) end return ret end function onSay(cid, words, param) if getPlayerStorageValue(cid,49015) - os.time() <= 0 then doPlayerSendTextMessage(cid, 23,"você não tem Exp Potion ativa.") return true end local time = timeString((os.time() - getPlayerStorageValue(cid, 49015))) return doPlayerSendTextMessage(cid, 23,"você ainda tem "..time.." de Exp Potion.") end
  49. 1 point
    Vim Rusha

    ANSWERED Senha do god

    Cara problema resolvido obrigado de verdade, eu apenas voltei a group_id para como estava antes que era 1 igual a todos os characters e retornei para 6 não sei porque da primeira vez não deu certo mas fiz exatamente igual na segunda e finalmente deu certo obrigado
  50. 1 point
    Bodak Reborn

    [pedido] Regen Stamina Trainer

    Eu esqueci de colocar uma tag. Aqui: <movevent type="StepOut" actionid="actiond_id" event="script" value="nome_arquivo.lua" />
This leaderboard is set to Sao Paulo/GMT-03:00

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

×
×
  • Create New...