Ir para conteúdo

L3K0T

Membro
  • Registro em

  • Última visita

Tudo que L3K0T postou

  1. Este tópico foi movido para a seção de Suporte Otserv Alternativo
  2. Este tópico foi movido para a seção de Suporte Otserv.
  3. pro amigo ali que n tinha o minGW pronto eu disponibilizei o meu atualizado, mais n é todos programas pra compilação é apenas minGW arrumado. usa outro obj você compila modo extendido e modo animação
  4. tem que compilar o cliente como manda, segue o tutorial certinho fazendo favor. ATENÇÃO USE SOMENTE EM CASO DE ERROS DO OTCLIENT, CASO NÃO LER SEU CLIENTE; ache function load() local version = g_game.getClientVersion() em baixo coloca g_game.enableFeature(GameSpritesU32) COMPILA O CLIENTE MODO ESTENDIDO
  5. local pos = {x = 10, y = 10, z = 7} local teste = doSummonCreature("Rat",pos) setCreatureName(pos, "Fake Rat", "a fake rat") ou local pos = {x = 10, y = 10, z = 7} local teste = doCreateMonster("Rat",pos) setCreatureName(pos, "Fake Rat", "a fake rat") já tentou assim?? tbm tente recompilar no modo Rebuilder
  6. se está dando erro então é pra ser assim int32_t LuaInterface::luaSetCreatureName(lua_State* L) lua_register(m_luaState, "setCreatureName", LuaInterface::luaSetCreatureName);
  7. não se o seu for LuaInterface:: tem que ser assim todos, LuaScriptInterface:: é de tfs 0.3.6 manda o erro com o print
  8. local pos = {x = 10, y = 10, z = 7} local teste = doSummonCreature("Rat",pos) setCreatureName(pos, "Fake Rat", "a fake rat") ou local pos = {x = 10, y = 10, z = 7} local teste = doCreateMonster("Rat",pos) setCreatureName(pos, "Fake Rat", "a fake rat") pode ser que isso é diferente na sua LuaScriptInterface: para LuaInterface: altere todos
  9. <?xml version="1.0" encoding="UTF-8"?> <npc name="Argus" script="data/npc/scripts/argus.lua" floorchange="0" walkinterval="900" speed="50"> <health now="1000" max="1000"/> <look type="153" head="114" body="113" legs="113" feet="113" corpse="2212"/> <parameters> <parameter key="message_greet" value="Hi |PLAYERNAME|. Eu posso te ajudar a passar voce quer saber como ? {yes}."/> <parameter key="message_decline" value="Is |TOTALCOST| gold coins too much for you? Get out of here!"/> </parameters> </npc> 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 function creatureSayCallback(cid, type, msg) local monstro = getPlayerStorageValue(cid,12351) if (not npcHandler:isFocused(cid)) then return false end if msgcontains(msg, "yes") and monstro < 200 then npcHandler:say("Mate 200 destes monstros que vc podera passar por aqui.",cid) return true end if msgcontains(msg, "yes") and monstro > 199 then npcHandler:say("Obrigado, eu odeio aqueles monstros, agora vc pode passar!",cid) setPlayerStorageValue(cid,12352,1) end return true end
  10. L3K0T postou uma resposta no tópico em Códigos C++
    /*if(!summons.empty() && (!g_config.getBool(ConfigManager::TELEPORT_SUMMONS) || (g_config.getBool(ConfigManager::TELEPORT_PLAYER_SUMMONS) && !getPlayer()))) { std::list<Creature*>::iterator cit; std::list<Creature*> despawnList; for(cit = summons.begin(); cit != summons.end(); ++cit) { const Position pos = (*cit)->getPosition(); if((std::abs(pos.z - newPos.z) > 2) || (std::max(std::abs(( newPos.x) - pos.x), std::abs((newPos.y - 1) - pos.y)) > 30)) despawnList.push_back(*cit); } for(cit = despawnList.begin(); cit != despawnList.end(); ++cit) g_game.removeCreature((*cit), true); }*/
  11. eu uso assim https://tibiaking.com/forums/topic/71188-teleporte-summon-tfs-036
  12. L3K0T postou uma resposta no tópico em Suporte OTServer Derivados
    você poderia fazer por storage o tempo, assim que ele pegar o pk tbm pegar a storage com tempo, a mesma coisa no pz
  13. L3K0T postou uma resposta no tópico em Monsters, NPC, Raids & Mounts
    Tópico aprovado e agradecemos pela contribuição.
  14. L3K0T postou uma resposta no tópico em Códigos C++
    Tópico aprovado, agradecemos pela contribuição e continue assim
  15. que legal cara!!!
  16. L3K0T postou uma resposta no tópico em Sprites
    sim, se estiver source
  17. L3K0T postou uma resposta no tópico em Sprites
    vc precisa ter esse sistema no otclient
  18. L3K0T postou uma resposta no tópico em Sprites
    Sprite Doações olá galera hoje vim colaborar com vocês, hoje fiz umas sprites de target e estou doando pra vocês, é para otclient com sistema de target animada como nos prints abaixo;; PNG:: OBD 8.54 v2:: effect_653.obd effect_654.obd effect_655.obd effect_656.obd effect_657.obd effect_657.obd effect_658.obd effect_659.obd espero que gostem
  19. L3K0T postou uma resposta no tópico em Códigos C++
    que bom que deu certo é sim ja coloquei os créditos, obg tinha esquecido
  20. L3K0T postou uma resposta no tópico em Códigos C++
    Tutorial Heath Bar Oi Galera tudo bem??? hoje vou ensinar vocês como por a Health Bar como na imagem acima "dentro do circulo amarelo" no seu otcliente 0.6.6 e 0.6.7. Para começar essa alteração é pela source, caso não tenha source do seu OTC não adianta... Recomendo baixar otclientes com sources 1° vai na pasta da source do seu otcliente e abre o arquivo creature.cpp e ache;;; if(drawFlags & Otc::DrawBars && (!isNpc() || !g_game.getFeature(Otc::GameHideNpcNames))) { g_painter->setColor(Color::black); g_painter->drawFilledRect(backgroundRect); g_painter->setColor(fillColor); g_painter->drawFilledRect(healthRect); } if(drawFlags & Otc::DrawNames) { if(g_painter->getColor() != fillColor) g_painter->setColor(fillColor); m_nameCache.draw(textRect); } altere para;; if(drawFlags & Otc::DrawBars && (!isNpc() || !g_game.getFeature(Otc::GameHideNpcNames))) { g_painter->setColor(fillColor); g_painter->drawFilledRect(healthRect); ImagePtr backgroundLifeBar = Image::load("data/images/game/target_healbar/healtbar.png"); TexturePtr bgLifeBar = TexturePtr(new Texture(backgroundLifeBar, false)); g_painter->drawTexturedRect(backgroundRect, bgLifeBar); } if (drawFlags & Otc::DrawNames) { if (g_painter->getColor() != fillColor) g_painter->setColor(fillColor); m_nameCache.draw(textRect); } procure ainda em creature.cpp;; #include <framework/core/clock.h> abaixo adicione;; #include <framework/graphics/image.h> agora vá em data\images\game do OTC e cole essa pasta dentro dele;; target_healbar.zip"ATENÇÃO REMOVA A PASTA DO WINRAR E COLOCA LÁ DENTRO" Feito isso é só compilar o OTC pela opção Rebuilde e seja feliz Vídeo;; Créditos: Ceetros (criador original) Ajudei?? REP+
  21. L3K0T postou uma resposta no tópico em Códigos C++
    Olá galera, hoje vim trazer um tutorial bem completinho para vocês do sistema de "Target Animada pela source do OTC" renovada para otcliente 0.6.6 e 0.6.7 e espero que gostem Imagens do Target Azul;; Imagens do Target Vermelho;; VIÍDEO:;; TUTORIAL 1° Vai na pasta do seu otcliente e ache a pasta da source dele otclient-0.6.6\src\client dentro dela abre o arquivo creature.cpp e procure;; void Creature::draw(const Point& dest, float scaleFactor, bool animate, LightView *lightView) { if(!canBeSeen()) return; Point animationOffset = animate ? m_walkOffset : Point(0,0); if(m_showTimedSquare && animate) { g_painter->setColor(m_timedSquareColor); g_painter->drawBoundingRect(Rect(dest + (animationOffset - getDisplacement() + 2)*scaleFactor, Size(28, 28)*scaleFactor), std::max<int>((int)(2*scaleFactor), 1)); g_painter->setColor(Color::white); } if(m_showStaticSquare && animate) { g_painter->setColor(m_staticSquareColor); g_painter->drawBoundingRect(Rect(dest + (animationOffset - getDisplacement())*scaleFactor, Size(Otc::TILE_PIXELS, Otc::TILE_PIXELS)*scaleFactor), std::max<int>((int)(2*scaleFactor), 1)); g_painter->setColor(Color::white); } internalDrawOutfit(dest + animationOffset * scaleFactor, scaleFactor, animate, animate, m_direction); m_footStepDrawn = true; if(lightView) { Light light = rawGetThingType()->getLight(); if(m_light.intensity != light.intensity || m_light.color != light.color) light = m_light; // local player always have a minimum light in complete darkness if(isLocalPlayer() && (g_map.getLight().intensity < 64 || m_position.z > Otc::SEA_FLOOR)) { light.intensity = std::max<uint8>(light.intensity, 3); if(light.color == 0 || light.color > 215) light.color = 215; } if(light.intensity > 0) lightView->addLightSource(dest + (animationOffset + Point(16,16)) * scaleFactor, scaleFactor, light); } } altere para;; void Creature::draw(const Point& dest, float scaleFactor, bool animate, LightView *lightView) { if(!canBeSeen()) return; Point animationOffset = animate ? m_walkOffset : Point(0,0); /* if(m_showTimedSquare && animate) { g_painter->setColor(m_timedSquareColor); g_painter->drawBoundingRect(Rect(dest + (animationOffset - getDisplacement() + 2)*scaleFactor, Size(28, 28)*scaleFactor), std::max<int>((int)(2*scaleFactor), 1)); g_painter->setColor(Color::white); } if(m_showStaticSquare && animate) { g_painter->setColor(m_staticSquareColor); g_painter->drawBoundingRect(Rect(dest + (animationOffset - getDisplacement())*scaleFactor, Size(Otc::TILE_PIXELS, Otc::TILE_PIXELS)*scaleFactor), std::max<int>((int)(2*scaleFactor), 1)); g_painter->setColor(Color::white); } */ if(m_showTimedSquare && animate) { /*ImagePtr L3K0Tt = Image::load("data/images/target.png"); //se preferir usar por imagem TexturePtr L3K0T = TexturePtr(new Texture(L3K0Tt, false)); g_painter->drawTexturedRect(Rect(dest + (animationOffset - getDisplacement() + 2)*scaleFactor, Size(L3K0T->getHeight(), L3K0T->getWidth())*scaleFactor), L3K0T);*/ EffectPtr efeitoL3K0T = EffectPtr(new Effect()); efeitoL3K0T->setId(653); //id da sprite do efeito g_painter->setColor(m_timedSquareColor); Rect rect = Rect(dest + (animationOffset - getDisplacement())*scaleFactor, Size(Otc::TILE_PIXELS, Otc::TILE_PIXELS)*scaleFactor); g_painter->drawTexturedRect(rect, efeitoL3K0T->getThingType()->getTexture(0)); g_painter->setColor(Color::white); g_painter->setColor(Color::white); // by L3K0T g_painter->setOpacity(0.9); } if(m_showStaticSquare && animate) { /*ImagePtr L3K0Tt = Image::load("data/images/target.png"); //se preferir usar por imagem TexturePtr L3K0T = TexturePtr(new Texture(L3K0Tt, false)); g_painter->drawTexturedRect(Rect(dest + (animationOffset - getDisplacement() + 2)*scaleFactor, Size(L3K0T->getHeight(), L3K0T->getWidth())*scaleFactor), L3K0T);*/ EffectPtr efeitoL3K0T = EffectPtr(new Effect()); efeitoL3K0T->setId(653); //id da sprite do efeito g_painter->setColor(m_staticSquareColor); Rect rect = Rect(dest + (animationOffset - getDisplacement())*scaleFactor, Size(Otc::TILE_PIXELS, Otc::TILE_PIXELS)*scaleFactor); g_painter->drawTexturedRect(rect, efeitoL3K0T->getThingType()->getTexture(0)); g_painter->setColor(Color::white); //1 para não piscar e fixar no vermelho } internalDrawOutfit(dest + animationOffset * scaleFactor, scaleFactor, animate, animate, m_direction); m_footStepDrawn = true; if(lightView) { Light light = rawGetThingType()->getLight(); if(m_light.intensity != light.intensity || m_light.color != light.color) light = m_light; // local player always have a minimum light in complete darkness if(isLocalPlayer() && (g_map.getLight().intensity < 64 || m_position.z > Otc::SEA_FLOOR)) { light.intensity = std::max<uint8>(light.intensity, 3); if(light.color == 0 || light.color > 215) light.color = 215; } if(light.intensity > 0) lightView->addLightSource(dest + (animationOffset + Point(16,16)) * scaleFactor, scaleFactor, light); } } salve. 2° agora volte na pasta da source do otclient e abra o arquivo thingtype.h e procure por;; const TexturePtr& getTexture(int animationPhase); altere para /*const TexturePtr& getTexture(int animationPhase);*/ depois ache;; std::vector<int> getSprites() { return m_spritesIndex; } abaixo cole;; const TexturePtr& getTexture(int animationPhase); dps é só abrir o object guilder e importar o efeito do target;; >>>>> effect_653.obd tem outras sprite doadas por mim segue o link Depois de recortar é só por o efeito no otc e colocar o ID da sprite ali aonde tá o numero 653 no código. Ajudei?? REP+ Créditos:; -Eu por alterar outras coisas que faltou. -Jair Kevick (código base)
  22. L3K0T postou uma resposta no tópico em Códigos C++
    compilar de forma limpa usando opção REBUILDE

Informação Importante

Confirmação de Termo