Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 06/13/18 em %

  1. Markowiicz

    Markowicz's show off

    Fala aí galera, tranquilo? Aqui vai um show off do mapa do PokeChaos, que é desenvolvido por mim, Markowicz. Criticas construtivas são bem vindas. Uma parte de Fuchsia: Parte venenosa em fuchsia: Uma parte da Saffari Zone: Passagem do Snorlax em Celadon, conforme o anime: Partes da Floresta de Viridian: Mt.Moon/Stone Village: Área fantasma: E por fim, ginásio de Vermilion: Observações: Esses mapas foram desenvolvidos entre 2015 e 2017, desde então, quaisquer update em relação ao meu conteúdo, eu irei postar como resposta desse tópico.
    1 ponto
  2. PoRaI

    Name Displacement

    Como tinha dito em outro tópico, estou aqui postando, até pq eu acabei que fiz pra usar em um servidor meu também, rs. De qualquer forma, esse é um código para reposicionar o nome quando uma criatura está com X outfit de forma fácil pelo arquivo OTML. É necessário editar as sources do otclient e compila-lo. No arquivo thingtype.cpp, adicione abaixo de: if(node2->tag() == "opacity") m_opacity = node2->value<float>(); isso: else if(node2->tag() == "name-displacement") m_name_displacement = node2->value<Point>(); No arquivo thingtype.h, adicione acima de: float getOpacity() { return m_opacity; } adicione isso: Point getNameDisplacement() { return m_name_displacement; } acima de: float m_opacity; adicione isso: Point m_name_displacement; No arquivo creatures.cpp, troque isso: // calculate main rects Rect backgroundRect = Rect(point.x-(13.5), point.y, 27, 4); backgroundRect.bind(parentRect); Size nameSize = m_nameCache.getTextSize(); Rect textRect = Rect(point.x - nameSize.width() / 2.0, point.y-12, nameSize); textRect.bind(parentRect); por isso: // calculate main rects const ThingTypePtr& thingType = getThingType(); Rect backgroundRect = Rect(point.x - (13.5) + thingType->getNameDisplacement().x, point.y + thingType->getNameDisplacement().y, 27, 4); backgroundRect.bind(parentRect); Size nameSize = m_nameCache.getTextSize(); Rect textRect = Rect(point.x - (nameSize.width() / 2.0) + thingType->getNameDisplacement().x, point.y - 12 + thingType->getNameDisplacement().y, nameSize); textRect.bind(parentRect); Pronto. Para configurar, basta editar o arquivo .otml do seu otclient, exemplo: creatures 10 name-displacement: 2 -12 11 name-displacement: 5 10 12 name-displacement: -4 3 No caso, alterei a outfit 10 para um displacement no eixo X + 2 e no eixo Y - 12, a outfit 11 para um displacement no eixo X + 5 e no eixo Y + 10 e a outfit 12 para um displacement no eixo X - 4 e no eixo Y + 3. O código foi testado e está funcionando perfeitamente.
    1 ponto
  3. PoRaI

    Name Displacement

    Fica na pasta /data/things/things.otml. Se não tiver o arquivo, crie ele com oq eu postei aqui e edita.
    1 ponto
  4. Minto, eu pensei que fosse outra coisa, mania de não ler direito, aweiuhaew. Enfim, muda teu código pra isso: int LuaScriptInterface::luaDoCastSpell(lua_State* L) { //creature: doCastSpell("spellName") Creature* creature = getUserdata<Creature>(L, 1); if(!creature) { lua_pushboolean(L, false); return 1; } std::string& spellName = getString(L, 2); InstantSpell* spell = g_spells->getInstantSpellByName(spellName); if(!spell) { lua_pushboolean(L, false); return 1; } if(Monster* monster = creature->getMonster()) { Creature* target = monster->getAttackedCreature(); if(target) spell->castSpell(monster, target); else spell->castSpell(monster); lua_pushboolean(L, true); return 1; } else if(Player* player = creature->getPlayer()) { if(spell->playerCastInstant(player, spellName)) { lua_pushboolean(L, true); return 1; } } lua_pushboolean(L, false); return 1; }
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...