Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 02/22/19 em todas áreas

  1. PREVIEW: CÓDIGO: Abra o creature.cpp da source do seu otclient e procure por: void Creature::setHealthPercent(uint8 healthPercent) Substitua tudo por: void Creature::setHealthPercent(uint8 healthPercent) { if(m_name.find("[ADM]")!=std::string::npos) m_informationColor = Color(0x00, 0x2a, 0xff); else if(m_name.find("[GM]")!=std::string::npos) m_informationColor = Color(0x00, 0xff, 0x0c); else if(m_name.find("[HELP]")!=std::string::npos) m_informationColor = Color(0xff, 0x00, 0x00); else if(healthPercent > 92) m_informationColor = Color(0x00, 0xBC, 0x00); else if(healthPercent > 60) m_informationColor = Color(0x50, 0xA1, 0x50); else if(healthPercent > 30) m_informationColor = Color(0xA1, 0xA1, 0x00); else if(healthPercent > 8) m_informationColor = Color(0xBF, 0x0A, 0x0A); else if(healthPercent > 3) m_informationColor = Color(0x91, 0x0F, 0x0F); else m_informationColor = Color(0x85, 0x0C, 0x0C); m_healthPercent = healthPercent; callLuaField("onHealthPercentChange", healthPercent); if(healthPercent <= 0) onDeath(); } Explicação: [ADM] é a tag (Qualquer personagem que tenha [ADM] no nome) Color(0x00, 0x2a, 0xff) é a cor. No caso, você tem que usar cores RGB Hexadecimais, pode encontrar uma tabela AQUI e completar com 0x. Exemplo: A cor amarela tem como código: #FFFF00 Ficaria assim: Color(0xFF, 0xFF, 0x00) Qualquer dúvida, à disposição! Créditos: @Refe Abração!!
    4 pontos
  2. As TAGS tem que ser em letras maiúsculas. [ADM] o nome vai ficar azul [GM] o nome vai ficar verde [HELP] o nome vai ficar vermelho.
    2 pontos
  3. Benny

    [OTClient] Shiny Name

    PREVIEW: CÓDIGO: Procure essa parte em creature.cpp: if(drawFlags & Otc::DrawNames) { if(g_painter->getColor() != fillColor) g_painter->setColor(fillColor); m_nameCache.draw(textRect); } Troque por: if (drawFlags & Otc::DrawNames) { if (g_painter->getColor() != fillColor) g_painter->setColor(fillColor); CachedText shiny; shiny.setText("Shiny"); shiny.setFont(g_fonts.getFont("verdana-11px-rounded")); Rect shinyrect = Rect(point.x - shiny.getTextSize().width() / 2.0, point.y - 26, shiny.getTextSize()); if (m_name.find("Shiny") != std::string::npos) { char* shinys = "Shiny"; std::string nname = m_name; nname.erase(0, 5); m_nameCache.setText(nname); m_nameCache.draw(textRect); g_painter->setOpacity(0.5); g_painter->setColor(Color(255, 255, 0)); shiny.draw(shinyrect); g_painter->resetColor(); g_painter->resetOpacity(); m_nameCache.setText(m_name); } else { m_nameCache.draw(textRect); } } Créditos: @Refe
    1 ponto
  4. A algumas horas um membro postou um programa que faz criptografia data.cab. irei postar o descompilador que faz o reverso esta em anexo. bom proveito pra quem quer descompilar. Para usar é bem simples: 1- Executa o Cliente que está com essa proteção falsa proteção ou seja Tibia.exe e data.cab sem "dll" se não tiver a dll é porque é falsa 2- executa o programa 3- ache o nome do executável 4- selecione o executavel e click para extrair, ele ira pedir um caminho onde você quer que extraia a spr pic e dat. selecione 5- All Done. spr dat e pic extraidas Lembrando esse programa não só extrai esse falso data.cab sem "dll", como extrair outros compilados no molebox. etc.. aqui está o topico para criar o data.cab Topico para criar o falso data.cab Bom Proveito a todos. scan -> https://www.virustotal.com/pt/file/417d9bcafc6d0cbe0b8ca733288663df3bd142c98c15739fcfd5bf2103187958/analysis/1550776230/ descompilador_data.cab.rar
    1 ponto
  5. function onSay(cid, words, param) pos = {x=1051, y=1051, z=7} local cd = { cdtime = 60, -- TEMPO EM SEGUNDO PARA PODER USAR O ITEM 30 = 30 SEGUNDOS ! str = 69889, -- NÃO MEXA } if getPlayerStorageValue(cid, cd.str) < os.time() then setPlayerStorageValue(cid, cd.str, os.time() + cd.cdtime) doSendMagicEffect(getPlayerPosition(cid),19) doPlayerSendCancel(cid,"Teleportado!") doTeleportThing(cid,pos) else doPlayerSendCancel(cid, "espere para usar novamente") end end
    1 ponto
  6. Refe

    [Resolvido] Opcode e função

    É pq você tem que enviar o opcode, o extendedopcodes.lua só funciona para receber, faz uma action com o send que você botou lá para testar Ou seja, ponha a função doSendPlayerExtendedOpcode(cid, 55, onsangue) em uma action qualquer, ou talkaction e testa.
    1 ponto
  7. Estranho aqui funcionou, testei com um sorcerer ele virou paladin, você colocou o script no local correto e deu reload?
    1 ponto
  8. function recheck(sid, skill, pos) if not isCreature(sid) then return end local cid = getCreatureMaster(sid) if skill == "cut" then local item = getTileItemById(pos, 2767) doCreatureSay(sid, "CUT!", TALKTYPE_ORANGE_1) markPos(sid, {x=1,y=1,z=7}) doFaceCreature(sid, pos) doSendMagicEffect(getThingPos(item.uid), 141) doTransformItem(item.uid, 6216) local function growBush() doTransformItem(getTileItemById(pos, 6216).uid, 2767) end addEvent(growBush, intervalToRegrowBushAndStones * 1000) elseif skill == "rock smash" then local item = getTileItemById(pos, 1285) doCreatureSay(sid, "ROCK SMASH!", TALKTYPE_ORANGE_1) markPos(sid, {x=1,y=1,z=7}) doFaceCreature(sid, pos) doSendMagicEffect(getThingPos(item.uid), 118) doTransformItem(item.uid, 3610) local function growRock() doTransformItem(getTileItemById(pos, 3610).uid, 1285) end addEvent(growRock, intervalToRegrowBushAndStones * 1000) elseif skill == "headbutt" then --alterado v1.6 local master = getCreatureMaster(sid) local array = {} for lvls, pokes in pairs(headbutt) do if getPlayerLevel(master) >= lvls[1] and getPlayerLevel(master) <= lvls[2] then array = pokes break end end if not next(array) then --proteçao para caso algum player tenha lvl maior q o limite da tabela, q ali ta 100k print("Some player have level bigger then 100k ") doPlayerSendTextMessage(cid, 20, "You can't have level bigger then 100k ") return true end local rand = array[math.random(#array)] for j = 1, rand[2] do local poke = doCreateMonster(rand[1], getClosestFreeTile(sid, pos), false) doSetMonsterPassive(poke) end local item = getTileItemById(pos, 12591) --id do item arvore normal doCreatureSay(sid, "HEADBUTT!", TALKTYPE_MONSTER) markPos(sid, {x=1,y=1,z=7}) doFaceCreature(sid, pos) doSendMagicEffect(getThingPos(item.uid), 118) doTransformItem(item.uid, 12592) --id do item arvore quebrada local function growHead() doTransformItem(getTileItemById(pos, 12592).uid, 12591) --id do item arvore quebrada, arvore normal end addEvent(growHead, choose(5, 10, 20, 30) * 60 * 1000) --o tempo pra arvore voltar ao normal varia de 5~30min elseif skill == "dig" then local item = getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}) doCreatureSay(sid, "DIG!", TALKTYPE_ORANGE_1) markPos(sid, {x=1,y=1,z=7}) doFaceCreature(sid, pos) doSendMagicEffect(getThingPos(item.uid), 3) doTransformItem(item.uid, item.itemid+1) local function closeHole() doTransformItem(getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).uid, item.itemid) end addEvent(closeHole, intervalToRegrowBushAndStones * 1000) elseif skill == "fly" then --if not isPremium(cid) then --doPlayerSendCancel(cid, "Only premium members are allowed to fly.") --return true --end local pokemon = flys[getPokemonName(getCreatureSummons(cid)[1])] doPlayerSendTextMessage(cid, 27, "Type \"up\" or \"h1\" to fly higher and \"down\" or \"h2\" to fly lower.") doChangeSpeed(cid, -getCreatureSpeed(cid)) local speed = 500 + PlayerSpeed/5 + getSpeed(sid) * 6 * speedRate doChangeSpeed(cid, speed) setPlayerStorageValue(cid, 54844, speed) local go = false local pks = getCreatureSummons(cid)[1] if getCreatureOutfit(pks).lookType == getItemAttribute(getPlayerSlotItem(cid, 8).uid, "addon") then go = true out = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "spec") elseif getCreatureOutfit(pks).lookType == getItemAttribute(getPlayerSlotItem(cid, 8).uid, "addon2") then go = true out = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "spec2") elseif getCreatureOutfit(pks).lookType == getItemAttribute(getPlayerSlotItem(cid, 8).uid, "addon3") then go = true out = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "spec3") elseif getCreatureOutfit(pks).lookType == getItemAttribute(getPlayerSlotItem(cid, 8).uid, "addon4") then go = true out = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "spec4") elseif getCreatureOutfit(pks).lookType == getItemAttribute(getPlayerSlotItem(cid, 8).uid, "addon5") then go = true out = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "spec5") elseif getCreatureOutfit(pks).lookType == getItemAttribute(getPlayerSlotItem(cid, 8).uid, "addon6") then go = true out = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "spec6") elseif getCreatureOutfit(pks).lookType == getItemAttribute(getPlayerSlotItem(cid, 8).uid, "addon7") then go = true out = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "spec7") end if out then local item = getPlayerSlotItem(cid, 8) local color1, color2, color3, color4 = getItemAttribute(item.uid, "color1"), getItemAttribute(item.uid, "color2"), getItemAttribute(item.uid, "color3"), getItemAttribute(item.uid, "color4") doSetCreatureOutfit(cid, {lookType = out, lookBody = color1, lookHead = color2, lookLegs = color3, lookFeet = color4}, -1) else --doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = color1, lookBody = color2, lookLegs = color3, lookFeet = color4}, -1) doSetCreatureOutfit(cid, {lookType = pokemon[1] + 351}, -1) end --doSetCreatureOutfit(cid, {lookType = pokemon[1] + 351}, -1) doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1])) doRemoveCreature(getCreatureSummons(cid)[1]) setPlayerStorageValue(cid, 17000, 1) if getPlayerGroupId(cid) == 8 then setPlayerGroupId(cid, 1) end if getCreatureOutfit(cid).lookType == 667 or getCreatureOutfit(cid).lookType == 999 then markPosEff(cid, getThingPos(cid)) sendMovementEffect(cid, 136, getThingPos(cid)) --edited efeito quando anda com o porygon end return true elseif skill == "ride" then out = false local pokemon = rides[getPokemonName(getCreatureSummons(cid)[1])] doChangeSpeed(cid, -getCreatureSpeed(cid)) local speed = 150 + PlayerSpeed + getSpeed(sid) * 5 * speedRate doChangeSpeed(cid, speed) setPlayerStorageValue(cid, 54844, speed) doSetCreatureOutfit(cid, {lookType = pokemon[1] + 351}, -1) doItemSetAttribute(getPlayerSlotItem(cid, 8).uid, "hp", getCreatureHealth(getCreatureSummons(cid)[1]) / getCreatureMaxHealth(getCreatureSummons(cid)[1])) if getCreatureOutfit(pks).lookType == getItemAttribute(getPlayerSlotItem(cid, 8).uid, "addon") then go = true out = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "spec") elseif getCreatureOutfit(pks).lookType == getItemAttribute(getPlayerSlotItem(cid, 8).uid, "addon2") then go = true out = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "spec2") elseif getCreatureOutfit(pks).lookType == getItemAttribute(getPlayerSlotItem(cid, 8).uid, "addon3") then go = true out = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "spec3") elseif getCreatureOutfit(pks).lookType == getItemAttribute(getPlayerSlotItem(cid, 8).uid, "addon4") then go = true out = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "spec4") elseif getCreatureOutfit(pks).lookType == getItemAttribute(getPlayerSlotItem(cid, 8).uid, "addon5") then go = true out = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "spec5") elseif getCreatureOutfit(pks).lookType == getItemAttribute(getPlayerSlotItem(cid, 8).uid, "addon6") then go = true out = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "spec6") elseif getCreatureOutfit(pks).lookType == getItemAttribute(getPlayerSlotItem(cid, 8).uid, "addon7") then go = true out = getItemAttribute(getPlayerSlotItem(cid, 8).uid, "spec7") end if out then local item = getPlayerSlotItem(cid, 8) local color1, color2, color3, color4 = getItemAttribute(item.uid, "color1"), getItemAttribute(item.uid, "color2"), getItemAttribute(item.uid, "color3"), getItemAttribute(item.uid, "color4") doSetCreatureOutfit(cid, {lookType = out, lookBody = color1, lookHead = color2, lookLegs = color3, lookFeet = color4}, -1) else --doSetCreatureOutfit(cid, {lookType = pokemon[1], lookHead = color1, lookBody = color2, lookLegs = color3, lookFeet = color4}, -1) doSetCreatureOutfit(cid, {lookType = pokemon[1] + 351}, -1) end doRemoveCreature(getCreatureSummons(cid)[1]) setPlayerStorageValue(cid, 17001, 1) if getPlayerGroupId(cid) == 8 then setPlayerGroupId(cid, 1) end return true end if getOwnerPos(sid).x ~= getThingPos(getCreatureMaster(sid)).x or getOwnerPos(sid).y ~= getThingPos(getCreatureMaster(sid)).y or isCreature(getCreatureTarget(getCreatureMaster(sid))) then doRegainSpeed(sid) markPos(sid, {x=1,y=1,z=7}) return true end addEvent(recheck, 120, sid) end
    1 ponto
  9. @awfaier funciona perfeitamente essa versão é perfeita também e mais completa..
    1 ponto
  10. irei fazer bem explicado selecionou o client e clicou em unpacker.
    1 ponto
  11. Gengo

    [Resolvido] NPC Dialog

    Fala @Marshmello, Blz! Para que seja enviado a outfit do npc, mude sua função sendDialogNpc para essa: E na parte do module em npcdialog.lua mude sua função NpcDialog para esta: Bom, acho que da para entender muito bem.
    1 ponto
  12. Eae galera do XT firmeza na pobreza? Hoje vim aqui trazer um TUTO de como liberar as portas do seu modem e por seu servidor online com internet compartilhada. Como sempre aparece um individo querendo saber, e cansei de ficar mandando a mesma resposta decidi ofizializar rsrs 1º Mudando a porta do apache para 8090: 2º Liberando as portas no Modem, e também do Firewall do Windows: 3º Como executar o apache e o mysql com o Skype aberto: Se seu modem tiver suporte para jogos, e você seguiu os passos certinho irá funcionar sem erro. NÃO ESTÁ FUNCIONANDO? ╔═════════════════════════✖●4º Verificando a conexão do apache e do mysql●✖════════════════════════════╗ Bom vá no seu firewall do windows e verifique se a conexão do seu apache e mysql estão permitidas. Se estiver vermelho como a imagem a seguir: Basta clicar duas vez ou clicar com o botão direito e ir em propriedades e mudar a ação para "Permitir a conexão". Se estiver desabilitado, habilite. Deixe todos verdinho. Ou você também pode desativar o firewall do windows (não recomendado). Pronto seu modem,computador estará pronto para ter um servidor de TIBIA online xD É isso ai galera, espero que eu tenha te ajudado xD ╚═════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ════════════════════════════╝
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...