Skulls 331 Postado Abril 6, 2016 Share Postado Abril 6, 2016 Fala galera, tudo bem? Hoje, para estrear a cara nova do fórum, trago pra vocês uma função bem simples, porém muito legal e útil. Nos TFS 1.X a função sendAnimatedText foi retirada. O motivo aparente, pelo que procurei saber, é que a função não mais é suportada em cipclients. Porém, o suporte a função continua funcionando no OTC e, por isso, decidi refazê-la e trazer para vocês. O tfs 1.2 possui a opção de enviar número animados pela sendTextMessage, porém só funciona para números. sendAnimatedText -> Envia um texto animado na posição escolhida. Ex: "critical" animation, damage animation, etc. Sem mais delongas, vamos ao que interessa. Em luascript.h, abaixo de "// Game", cole: static int luaGameSendAnimatedText(lua_State* L); Em luascript.cpp, abaixo de "// Game", coloque a nova função: int LuaScriptInterface::luaGameSendAnimatedText(lua_State* L) { // Game.sendAnimatedText(position, text, color) TextMessage message; message.position = getPosition(L, 1); message.text = getString(L, 2); message.primary.color = getNumber<TextColor_t>(L, 3); if (message.position.x && message.position.y && message.position.z) { SpectatorVec list; g_game.map.getSpectators(list, message.position, false, true); for (Creature* spectator : list) { spectator->getPlayer()->sendAnimatedText(message); } pushBoolean(L, true); } else { lua_pushnil(L); } return 1;} Feito isso agora vá até player.h, procure por void sendTextMessage e logo após a segunda função sendText message cole: void sendAnimatedText (TextMessage& message) const { if (client) { client->sendAnimatedMessage(message); } } Para finalizar vamos criar o protocolo de envio das informações do nosso efeito de texto para o cliente. Vamos criar a chamada da função em protocolgame.h. Logo após "void sendTextMessage(const TextMessage& message);" coloque: void sendAnimatedMessage(const TextMessage& message); Vá em protocolgame.cpp, procure pela função "void ProtocolGame::sendTextMessage(const TextMessage& message)" e cole logo após seu fim: void ProtocolGame::sendAnimatedMessage(const TextMessage& message){ NetworkMessage msg; msg.addByte(0x84); msg.addPosition(message.position); msg.addByte(message.primary.color); msg.addString(message.text); writeToOutputBuffer(msg);} É isso galerinha, após seguir esses passos você terá a função sendAnimatedText funcionando certinho. Para usá-la basta, no lua, usar a função como no exemplo abaixo: Game.sendAnimatedText(Creature(attacker):getPosition(), "ATACOU", TEXTCOLOR_SKYBLUE) Spoiler Abraços, Link para o comentário Compartilhar em outros sites More sharing options...
Danihcv 335 Postado Abril 6, 2016 Share Postado Abril 6, 2016 Muito bom, man!! Adoro essa função. Dá uma "dinamicidade" pro mapa... sahusahuas Link para o comentário Compartilhar em outros sites More sharing options...
Administrador Administrador 1435 Postado Abril 6, 2016 Administrador Share Postado Abril 6, 2016 Parabéns pela organização do tópico @Skulls A respeito do conteúdo, não tem o que falar. Esse tipo de coisa que parece impossível só você faz. Link para o comentário Compartilhar em outros sites More sharing options...
Skulls 331 Postado Abril 6, 2016 Autor Share Postado Abril 6, 2016 1 minute ago, danihcv said: Muito bom, man!! Adoro essa função. Dá uma "dinamicidade" pro mapa... sahusahuas Pois é, eu acho essa função sensacional. Fiquei bolado pq o mark tirou no 1.x e a po##@ da sendTextMessage só gera número dinâmicos, nada de textos. =/ Valeu ai! o/ 1 minute ago, Daniel said: Parabéns pela organização do tópico @Skulls A respeito do conteúdo, não tem o que falar. Esse tipo de coisa que parece impossível só você faz. Hahaha obrigado @Daniel! Até que faço tópicos organizados, kkkk Parece impossível pra você assim como seus mapas são pra mim, hahahah Mas no fundo, essa função é bem simples. Só usei o canal do protocolo que ja existia no OTC e refiz ela . Abraços! Link para o comentário Compartilhar em outros sites More sharing options...
PsyMcKenzie 150 Postado Abril 6, 2016 Share Postado Abril 6, 2016 Caraca, eu tentei usar uma vez quando tava fazendo um sistema de cortar madeira e realmente não funcionava, obrigado @Skulls e parabéns! Link para o comentário Compartilhar em outros sites More sharing options...
Deadpool 862 Postado Abril 6, 2016 Share Postado Abril 6, 2016 Curti, eu vi alguém atrás dessa função aqui no fórum, a um tempo atrás. Amo seus conteúdos cada! Kkk Link para o comentário Compartilhar em outros sites More sharing options...
Skulls 331 Postado Abril 6, 2016 Autor Share Postado Abril 6, 2016 1 minute ago, masterover said: Curti, eu vi alguém atrás dessa função aqui no fórum, a um tempo atrás. Amo seus conteúdos cada! Kkk O mark vacilou de tirar, ele tinha que ter colocado uma flag pra checar o cliente nela e pronto. Mas, resolvido xD 1 minute ago, PsyMcKenzie said: Caraca, eu tentei usar uma vez quando tava fazendo um sistema de cortar madeira e realmente não funcionava, obrigado @Skulls e parabéns! Passei pelo mesmo tempos atrás, mas eu tinha preguiça de source edit. E cá estou eu hoje fazendo quase só isso. Valeu ai galerinha! Abraços! Link para o comentário Compartilhar em outros sites More sharing options...
Erimyth 73 Postado Junho 17, 2017 Share Postado Junho 17, 2017 é possivel utilizar ele como nos baiaks antigos? TP text e talz.... ? qual seria a script para isso ? poderia ajudar... Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados