Histórico de Curtidas
-
Wolven recebeu reputação de Ackerzin em Anunciando novos jogadores pelo DiscordO OTChecker fornece um sistema de notificações que permite criarmos uma configuração para anunciar novos jogadores em um canal do Discord.
Existem outras opções, como anunciar os top 10 jogadores ou os jogadores mais vistos online. Este guia focará apenas em novos jogadores.
Exemplo de notificação (Linguagem PT-BR também disponível):
Requisitos:
- Conta e OT cadastrados no OTChecker
- OT precisa enviar as informações dos jogadores corretamente (TFS envia por padrão, mas se seu server tiver mais de 1000 jogadores, leia aqui)
- Acesso para editar permissões no servidor do Discord e convidar o bot do OTChecker
1 - Preparação
Para anunciar os novos jogadores vistos pelo OTChecker você primeiramente precisa conseguir o ID do canal e o ID do servidor do Discord. Para isso, ative o modo desenvolvedor em configurações->aparência->avançado.
Depois, você poderá copiar o ID do canal que vai receber as notificações clicando com o botão direito nele e depois em "Copiar ID". Para o ID do servidor, basta clicar com o direito no ícone do servidor e em "Copiar ID".
Guia com imagens.
Você também precisa do ID do seu OT. É só acessar a página do seu OT, cadastrada no OTChecker, e procurar o campo "Server ID", abaixo da descrição.
Agora, convide o Bot do OTChecker para o seu server do Discord. O bot não solicita nenhuma permissão para ser adicionado, mas você precisa conceder as permissões de Enviar Mensagens e Incorporar Links para o bot, apenas no canal em que ele irá enviar as notificações.
2 - Configuração
Acesse sua conta no site do OTChecker e em sua dashboard, clique em "Notifications" e depois em "Create notification config".
Preencha as informações solicitadas como: nome da config, linguagem, ID do server e IDs das plataformas. Você não precisa preencher o que não for usar, então os principais campos são:
OTServer 1: O ID do seu server que você pegou na página dele no OTChecker.
Discord Server ID: O ID do seu server do Discord.
Discord Channel ID: O ID do canal que vai receber as notificações.
E por último você precisa colocar em YES a opção New Seen Player para que o sistema envie as notificações de novos jogadores avistados. Lembre-se de deixar as demais em NO ou irá receber mais coisas!
Se tudo foi corretamente configurado, o bot irá enviar para o canal do Discord os novos jogadores avistados pelo sistema, de 10 em 10 minutos.
Se tiver interesse em ler sobre os demais tipos de notificações, clique aqui.
-
Wolven recebeu reputação de luanluciano93 em Anunciando novos jogadores pelo DiscordO OTChecker fornece um sistema de notificações que permite criarmos uma configuração para anunciar novos jogadores em um canal do Discord.
Existem outras opções, como anunciar os top 10 jogadores ou os jogadores mais vistos online. Este guia focará apenas em novos jogadores.
Exemplo de notificação (Linguagem PT-BR também disponível):
Requisitos:
- Conta e OT cadastrados no OTChecker
- OT precisa enviar as informações dos jogadores corretamente (TFS envia por padrão, mas se seu server tiver mais de 1000 jogadores, leia aqui)
- Acesso para editar permissões no servidor do Discord e convidar o bot do OTChecker
1 - Preparação
Para anunciar os novos jogadores vistos pelo OTChecker você primeiramente precisa conseguir o ID do canal e o ID do servidor do Discord. Para isso, ative o modo desenvolvedor em configurações->aparência->avançado.
Depois, você poderá copiar o ID do canal que vai receber as notificações clicando com o botão direito nele e depois em "Copiar ID". Para o ID do servidor, basta clicar com o direito no ícone do servidor e em "Copiar ID".
Guia com imagens.
Você também precisa do ID do seu OT. É só acessar a página do seu OT, cadastrada no OTChecker, e procurar o campo "Server ID", abaixo da descrição.
Agora, convide o Bot do OTChecker para o seu server do Discord. O bot não solicita nenhuma permissão para ser adicionado, mas você precisa conceder as permissões de Enviar Mensagens e Incorporar Links para o bot, apenas no canal em que ele irá enviar as notificações.
2 - Configuração
Acesse sua conta no site do OTChecker e em sua dashboard, clique em "Notifications" e depois em "Create notification config".
Preencha as informações solicitadas como: nome da config, linguagem, ID do server e IDs das plataformas. Você não precisa preencher o que não for usar, então os principais campos são:
OTServer 1: O ID do seu server que você pegou na página dele no OTChecker.
Discord Server ID: O ID do seu server do Discord.
Discord Channel ID: O ID do canal que vai receber as notificações.
E por último você precisa colocar em YES a opção New Seen Player para que o sistema envie as notificações de novos jogadores avistados. Lembre-se de deixar as demais em NO ou irá receber mais coisas!
Se tudo foi corretamente configurado, o bot irá enviar para o canal do Discord os novos jogadores avistados pelo sistema, de 10 em 10 minutos.
Se tiver interesse em ler sobre os demais tipos de notificações, clique aqui.
-
Wolven deu reputação a Cat em Atualização em breve! Nova Equipe, redução de ADS, site mais rápido e outras novidades!10 Anos de Tibia King está chegando!
Estamos quase lá! E para comemorar esta data com estilo, nada melhor que dar aquela modificada no nosso fórum e deixar ele não só diferente, mas utilizável e agradável para todos vocês.
Olá pessoal, antes de tudo bem vindos ao TibiaKing.com, muitos anos se passaram e muitas coisas aconteceram, mas saibam que muito mais está por vir! Quero anunciar a vocês uma série de mudanças que estão sendo realizadas no TK, e não são apenas mudanças supérfluas, estou falando de mudanças de verdade! Algumas delas já poderão ser percebidas, e outras serão vistas em breve. Então vamos lá,
Sem mais delongas, veja a seguir o que estamos preparando para você! ?
• Nova equipe de administração
Uma nova equipe está assumindo o fórum, o que significa que os modelos e costumes antigos estão sendo completamente reformulados. A nova equipe de administração tem muito potencial para trazer grandes mudanças positivas para a nossa comunidade e estão visando dar mais atenção aos membros, conteúdos e à plataforma em geral, e isso é muito bom! ?
• Redução de Ads
Acredito que muitos notaram que o TK estava com excesso de ADS e isso estava atrapalhando o fórum de certa forma, vocês irão perceber que muitos desses abusos já foram removidos e estamos trabalhando suavizar ainda mais a experiência com propagandas em nosso site!
• Otimização do Site
O fórum agora está muito mais rápido devido à atualizações e correções feitas na plataforma, nosso portal está mais leve e em breve todas as páginas do Tk também.
• Novo Visual e Performance
Estamos produzindo um novo layout com um design minimalista e harmonioso, que vai melhorar a forma como você encontra ou publica conteúdos nos fóruns! Também está sendo aplicado um novo modelo de categorias de fóruns, títulos, tags, e também menus e alguns aplicativos que estão sendo aperfeiçoados, e tudo isso para tornar a navegação muito mais coerente e prática para vocês!
• Parcerias e Eventos
Em breve traremos novidades em relação a parcerias, eventos e sorteios aqui no fórum, não perca!
Volte para a Comunidade, Vamos Aproveitar Esse Tempo e Aproveitar a Nostalgia do Universo Tibiano!
Contribua com o TK!
Vamos melhorar a comunidade! Reporte à equipe quaisquer problemas que encontrar e envie-nos sugestões sobre o que você gostaria que melhorasse no tk!
- Nesta semana a equipe estará ativa no fórum aprovando, comentando e reputando conteúdos novos.
- Ajude-nos a trazer novos conteúdos e salvar ou reformular os já existentes!
-
Wolven recebeu reputação de Cat em Anunciando novos jogadores pelo DiscordO OTChecker fornece um sistema de notificações que permite criarmos uma configuração para anunciar novos jogadores em um canal do Discord.
Existem outras opções, como anunciar os top 10 jogadores ou os jogadores mais vistos online. Este guia focará apenas em novos jogadores.
Exemplo de notificação (Linguagem PT-BR também disponível):
Requisitos:
- Conta e OT cadastrados no OTChecker
- OT precisa enviar as informações dos jogadores corretamente (TFS envia por padrão, mas se seu server tiver mais de 1000 jogadores, leia aqui)
- Acesso para editar permissões no servidor do Discord e convidar o bot do OTChecker
1 - Preparação
Para anunciar os novos jogadores vistos pelo OTChecker você primeiramente precisa conseguir o ID do canal e o ID do servidor do Discord. Para isso, ative o modo desenvolvedor em configurações->aparência->avançado.
Depois, você poderá copiar o ID do canal que vai receber as notificações clicando com o botão direito nele e depois em "Copiar ID". Para o ID do servidor, basta clicar com o direito no ícone do servidor e em "Copiar ID".
Guia com imagens.
Você também precisa do ID do seu OT. É só acessar a página do seu OT, cadastrada no OTChecker, e procurar o campo "Server ID", abaixo da descrição.
Agora, convide o Bot do OTChecker para o seu server do Discord. O bot não solicita nenhuma permissão para ser adicionado, mas você precisa conceder as permissões de Enviar Mensagens e Incorporar Links para o bot, apenas no canal em que ele irá enviar as notificações.
2 - Configuração
Acesse sua conta no site do OTChecker e em sua dashboard, clique em "Notifications" e depois em "Create notification config".
Preencha as informações solicitadas como: nome da config, linguagem, ID do server e IDs das plataformas. Você não precisa preencher o que não for usar, então os principais campos são:
OTServer 1: O ID do seu server que você pegou na página dele no OTChecker.
Discord Server ID: O ID do seu server do Discord.
Discord Channel ID: O ID do canal que vai receber as notificações.
E por último você precisa colocar em YES a opção New Seen Player para que o sistema envie as notificações de novos jogadores avistados. Lembre-se de deixar as demais em NO ou irá receber mais coisas!
Se tudo foi corretamente configurado, o bot irá enviar para o canal do Discord os novos jogadores avistados pelo sistema, de 10 em 10 minutos.
Se tiver interesse em ler sobre os demais tipos de notificações, clique aqui.
-
Wolven deu reputação a Pifafa em Anunciando novos jogadores pelo DiscordNão consigo coloca no meu discord, não tem como o bot eu consegui fazer ele ir lá, mas não tem as opções acho que tem algum erro?
-
Wolven deu reputação a Pifafa em Anunciando novos jogadores pelo DiscordExatamente criei minha account via facebook mesmo!
-
Wolven deu reputação a Pifafa em Anunciando novos jogadores pelo DiscordSem problema, adoro usa sistemas assim hahaha apensar de ter mini ot.
-
Wolven recebeu reputação de dragonfight em OT Server "Analytics"Edit: Retomei o projeto do OTChecker, aprimorando o sistema de notificações e agora também coletando informações dos jogadores.
https://otchecker.net
-
Wolven recebeu reputação de Tace em OT Server "Analytics"Obrigado!
O serviço não precisa tem acesso nenhum! Ele funciona como qualquer outra lista de servidores.
-
Wolven recebeu reputação de Tace em OT Server "Analytics"Edit: Retomei o projeto do OTChecker, aprimorando o sistema de notificações e agora também coletando informações dos jogadores.
https://otchecker.net
-
Wolven recebeu reputação de Ivens Pontes em OT Server "Analytics"Edit: Retomei o projeto do OTChecker, aprimorando o sistema de notificações e agora também coletando informações dos jogadores.
https://otchecker.net
-
Wolven recebeu reputação de frank007 em Error ao compilar otx em linuxIsso não é um erro, apenas um aviso. Verifique suas flags e remova a -Werror se existir, ela faz com que Warnings sejam considerados Errors e para a compilação..
-
Wolven recebeu reputação de BrunaFranGaldino em OT Server "Analytics"Edit: Retomei o projeto do OTChecker, aprimorando o sistema de notificações e agora também coletando informações dos jogadores.
https://otchecker.net
-
Wolven recebeu reputação de rheynkhen em (Resolvido)[AJUDA] Private Shop com erro TFS 0.4 rev 3777Troque todas as funções "db.executeQuery" para "db.query".
A função mudou de nome no TFS 0.4 e o erro indica que ela não estava sendo encontrada.
-
Wolven deu reputação a Wakon em [Doação] 999 mensagens no OT Checker@Wolven, nenhum, é que tem muitos tópicos criados na seção errada que acaba cobrindo os tópicos certos, quando demorar muito pra aprovar pode me mandar mensagem.
-
Wolven recebeu reputação de aleknnto em [Doação] 999 mensagens no OT CheckerOlá pessoal!
Quero avisar que estarei acrescentando 999 mensagens grátis no OT Checker para todos que quiserem.
Se você não sabe o que é o OT Checker, veja o tópico:
Se tiver interesse, é só cadastrar seu servidor (ou servidores) que estarei adicionando as mensagens assim que possível.
-
Wolven deu reputação a skulls em [Spells] Checando Interferências na TrajetóriaBoa noite galera, tudo bem?
Venho compartilhar com vocês hoje um sisteminha que desenvolvi para as magias do tipo "shoot'. Foi feito inicialmente para funcionar com magias que usam a posição do mouse como referência e adaptei para cipclientes poderem usar em runas e magias de tiro.
O funcionamento do sistema é simples: Ao usar uma runa ou castar uma magia "shoot" com esse sistema criaturas e objetos no caminho irão interferir na trajetória, isto é, receberão o combate no lugar do alvo inicial.
Ilustrativo:
Bom, vamos ao que interessa.
Vá em data/lib/ e crie um novo arquivo chamado spellsLib.lua (pode-se utilizar também o arquivo spells.lua contido em data/spells/lib).
Dentro dele inclua as seguintes funções:
IsWalkable (by Nord)
GetPositionsAround (by Skulls)
CheckInterceptions (by Skulls)
SetSpellTarget (by Skulls)
Feito isso, está tudo configurado. Basta agora adicionar às magias que você queira.
Abra o .lua da magia, por exemplo death strike.lua.
Lá você terá, entre outras coisas, a função onCastSpell como abaixo:
function onCastSpell(cid, var) return doCombat(cid, combat, var) end Substitua isso por:
function onCastSpell(cid, var) return doCombat(cid, combat, setSpellTarget(cid, var)) end Pronto, a sua magia "Exori Mort" será parada por criaturas ou obstáculos (qualquer item que não seja móvel). Bom é isso, espero que gostem. Queria agradecer ao @xWhiteWolf e ao Caronte pelas ajudas tentando entender alguns parâmetros e me dando algumas luzes. Ao Lobo, fica ainda, um agradecimento especial pela maravilhosa lib dele *-*. Abraços, -
Wolven recebeu reputação de gabriel28 em OT Server "Analytics"Edit: Retomei o projeto do OTChecker, aprimorando o sistema de notificações e agora também coletando informações dos jogadores.
https://otchecker.net
-
Wolven recebeu reputação de edilmo em OTClient - 7.4 até 10.82Então, eles modificaram o servidor para aceitar uma determinada versão.
Acredito que seja possível alterar o OT Client para acessar o OT, mas...
-
Wolven recebeu reputação de edilmo em OTClient - 7.4 até 10.82Claro, posso tentar. É o mesmo servidor do ip do print que você postou? Pelo que estou vendo, a versão é 7.4 e a porta 7171 e o servidor obriga uma versão própria.
-
Wolven recebeu reputação de edilmo em OTClient - 7.4 até 10.82Isso é coisa do servidor, mas para confirmar tente outro.
-
Wolven recebeu reputação de edilmo em OTClient - 7.4 até 10.82É simples, está tentando usar a versão 7.72, então você precisa ir na pasta do OTClient -> data -> things e criar uma pasta com o nome 772.
Depois, você precisa jogar dento da pasta que criou, o tibia.dat e o tibia.spr da versão do Tibia 7.72.
Se quiser, por exemplo, usar a versão 10.53, ao invés de criar uma pasta com o nome 772, crie com o nome 1053 e coloque o tibia.dat e tibia.spr da versão 10.53.
-
Wolven recebeu reputação de edilmo em OTClient - 7.4 até 10.82Olá pessoal!
Compilei o OTClient para Windows e estou disponibilizando para download.
Esta versão é compatível da versão 7.4 até a 10.82.
Imagem OTClient:
Download OTClient
Scan Download Source -
Wolven deu reputação a Demonbholder em [Função] Dostoragecount(Storage, Guid, Amount, Max, Delay)Fala seus loucos. Uma função que eu fiz pro thalia, vou postar aqui também.
Como funciona: A função faz um storage aumentar de tanto em tanto até um certo valor de tantos em tantos segundos.
Você deve usar a função de seguinte maneira: doStorageCount(storage, guid, amount, max, time)
Azul: Escolha um storage. Exemplo: 40000
Vermelho: Guid do jogador, ou seja, o número dele na database. Caso o jogador esteja online, o guid pode ser descoberto a partir da função getPlayerGUID(cid)
Verde: Escolha de quanto em quanto o storage vai aumentar/diminuir.
Laranja: Escolha o máximo que o storage vai chegar.
Cinza: Escolha de quanto em quanto tempo vai aumentar/diminuir o storage.
*Sim, você pode usar número negativos!
OBS: O storage vai partir do número 0.
Em data/lib/function.lua >>
function doStorageCount(storage, guid, count, max, time, twi) cid = nil if (type(storage) or type(guid) or type(count) or type(max) or type(time)) ~= "number" or time <= 0 then return error("Wrong param.") end if isOnline(guid) then for _, pid in pairs(getPlayersOnline()) do if getPlayerGUID(pid) == guid then cid = pid break end end alfa = twi == 1 and getPlayerStorageValue(cid, storage) or 0 setPlayerStorageValue(cid, storage, alfa + count) else beta = twi == 1 and tonumber(db.getResult("SELECT `value` FROM `player_storage` WHERE `player_id` = ".. guid .." AND `key` = ".. storage ..";"):getDataString("value")) or 0 db.executeQuery("UPDATE `player_storage` SET `value` = ".. beta + count .." WHERE `player_id` = ".. guid .." AND `key` = ".. storage ..";") end local data = isOnline(guid) and alfa or beta if math.abs(data) + math.abs(count) < math.abs(max) then addEvent(doStorageCount, time*1000, storage, guid, count, max, time, 1) end return TRUE end Exemplo de uso: function onSay(cid, words, param) return TRUE, doStorageCount(40000, getPlayerGUID(cid), 2, 10, 1) end Vai ser executada assim: Segundos Valor Inicio 2 1 4 2 6 3 8 4 10
Até mais.
-
Wolven deu reputação a MarceLoko em creature:moveTo(position)Boa noite!!
Esse método faz a criatura ir andando até a posição passada no parametro.
Testado em TFS 1.2
Reportem bugs.
Adicione em:
luascript.cpp:
registerMethod("Creature", "moveTo", LuaScriptInterface::luaCreatureMoveTo);
int32_t LuaScriptInterface::luaCreatureMoveTo(lua_State* L) { //creature:moveTo(pos) Creature* creature = getUserdata<Creature>(L, 1); if (!creature) { lua_pushnil(L); return 1; } const Position& position = getPosition(L, 2); FindPathParams fpp; fpp.minTargetDist = getNumber<int32_t>(L, 3, 0); fpp.maxTargetDist = getNumber<int32_t>(L, 4, 1); fpp.fullPathSearch = getBoolean(L, 5, fpp.fullPathSearch); fpp.clearSight = getBoolean(L, 6, fpp.clearSight); fpp.maxSearchDist = getNumber<int32_t>(L, 7, 150); std::forward_list<Direction> dirList; if (creature->getPathTo(position, dirList, fpp)) { creature->hasFollowPath = true; creature->startAutoWalk(dirList); pushBoolean(L, true); } else { pushBoolean(L, false); } return 1; }
luascript.h:
static int luaMoveCreatureTo(lua_State* L);
Substitua a função original em:
creature.cpp
bool Creature::setFollowCreature(Creature* creature) { if (creature) { if (followCreature == creature) { return true; } const Position& creaturePos = creature->getPosition(); FindPathParams fpp; fpp.minTargetDist = 0; fpp.maxTargetDist = 1; fpp.fullPathSearch = true; fpp.clearSight = true; fpp.maxSearchDist = 150; std::forward_list<Direction> dirList; if (creaturePos.z != getPosition().z || !canSee(creaturePos) || !getPathTo(creaturePos, dirList, fpp)) { followCreature = nullptr; return false; } if (!listWalkDir.empty()) { listWalkDir.clear(); onWalkAborted(); } hasFollowPath = false; forceUpdateFollowPath = false; followCreature = creature; isUpdatingPath = true; } else { isUpdatingPath = false; followCreature = nullptr; } onFollowCreature(creature); return true; }
monster.cpp
bool Monster::getNextStep(Direction& dir, uint32_t& flags) { if (getHealth() <= 0) { //we dont have anyone watching might aswell stop walking eventWalk = 0; return false; } bool result = false; if (hasFollowPath) return Creature::getNextStep(dir, flags); else if ((!followCreature || !hasFollowPath) && !isSummon()) { if ((followCreature || getTimeSinceLastMove() > 1000) && !hasFollowPath && !isIdle) { //choose a random direction result = getRandomStep(getPosition(), dir); } } else if (isSummon() || followCreature) { result = Creature::getNextStep(dir, flags); if (result) { flags |= FLAG_PATHFINDING; } else { //target dancing if (attackedCreature && attackedCreature == followCreature) { if (isFleeing()) { result = getDanceStep(getPosition(), dir, false, false); } else if (mType->staticAttackChance < static_cast<uint32_t>(uniform_random(1, 100))) { result = getDanceStep(getPosition(), dir); } } } } if (result && (canPushItems() || canPushCreatures())) { const Position& pos = Spells::getCasterPosition(this, dir); Tile* tile = g_game.map.getTile(pos); if (tile) { if (canPushItems()) { Monster::pushItems(tile); } if (canPushCreatures()) { Monster::pushCreatures(tile); } } } return result; }
Bom uso!
Abraço!