Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 04/09/20 em todas áreas

  1. [TESTADO EM OTX 2.1+] 8.60 [TESTADO EM TFS 0.3.6] 8.54 ~ 8.60 Créditos: ~Mathias Kenfi
  2. 2 pontos
    este é um tutorial de como usar um cliente com spr/dat estendido e protegido pelo CAB. fiz um video mostrando como usar um client com spr/dat estendido sem o error, basta seguir passo a passo o que eu fiz, em resumo voce precisara copiar seu dat estendido pra outro local para poder editar ele, salvando ele como não estendido e dps renomeando para poder usar junto com o original e compilando tudo com o programa cab... A DLL ajuda o cliente a ler as 2 dat (compilada pelo programa cab) , sem ela o cliente não abre, caso o teu cliente tenha o bug do ctrl+n ou alguns outros bugs que eu vi em alguns casos, a DLL tem a função de arrumar a maioria deles. LINK DOWNLOAD https://www.mediafire.com/file/kxqkywxeijk8hn2/programa_para_oldclient.rar/file ou creator cab https://drive.google.com/file/d/19b-EqpS-RmOQ_1o7ubb2a7j6RKcijjUa/view?usp=sharing scan https://www.virustotal.com/gui/file/4398e414d680ac26addbedc1f20bd59a82b546a1633abbb02b13d2f7150e950e/detection DLL https://drive.google.com/file/d/1T8XgwgHJAO9sgw5WR809GjMfej2NvP3n/view?usp=sharing SCAN https://www.virustotal.com/gui/file/539f0f7187c668457a14d87603e075ab5d1b6f6ac6a17aabf2b591fc3c177741/detection stup-pe hoohar o client https://drive.google.com/file/d/1cwR1wj3M8IsvxmIt5pQhZ4-DlFSMQVal/view?usp=sharing scan https://www.virustotal.com/gui/file/d06889d61474ee9480947956e52916fb997a3717e9f59d3ed830b5c780e81340/detection
  3. OTClient V8

    Dragonight reagiu a Reds por uma resposta no tópico

    1 ponto
    Boa tarde pessoal, vim aqui trazer o OTClient V8 + OTClient Bot v8. Acredito que a maioria do fórum já conheça o OTClient (utilizado em servidores como o pokexgames). Ano passado o Kondra começou um projeto e melhorou o OTClient, então hoje temos um client otimizado e com funções novas. Melhor otimização e renderização (60 fps em um computador de 11 anos) Melhor suporte para DirectX9 e DirectX11 Renderização adaptativa Renderizações de luzes refeitas Encontrador de caminhos e caminhada automática reescritas Reescrito sistema de caminhada Suporte HTTP lua api com JSON (O que permite troca de informações entre os clientes) Atualizador automático Novo sistema de arquivos Encriptação e compressor de arquivos Sistema automático de diagnóstico Interface atualizada Novo handler para erros e crashes Protocolo HTTP para login Notícias e lojas ingame Atualizado gerenciador de hotkeys Battle list atualizada e otimizada Novos painéis e efeitos visuais no mapa Removido diversos recursos não utilizados Kondra (criador dessa nova versão do client) destaca a velocidade em comparação ao client da cipsoft. Além disso foi criado um bot a parte para esse client. Dentro do otclient temos o candyBot, porém esse é muito mais avançado. Entre as funções disponíveis no OTClient V8 BOT temos: Auto stack Dash Transformador de gp Anti push Cavehunting (waypoints, autoattack, autoloot) auto hur auto utamo auto heal auto eat Vejam que para configurar o monstro a ser atacado, são disponibilizadas diversas funções, como spell, runa, distância.. Outros prints: Claro, além disso podem ser criados novas funções, já que o cliente está com todas as funções para isso. A documentação oficial das novas funções no bot está no github: https://github.com/OTCv8/otclientv8_bot Vídeo mostrando comuncação HTTP com JSON entre clientes para magicwall: Vídeo mostrando o cavehunting: Scan: https://www.virustotal.com/gui/file/2625727cb794aafea480ff2ee3107cd349b2266ba085190e57e8b82d0c3882d8/detection Download do client + bot: https://github.com/OTCv8/otclientv8/archive/master.zip Créditos: Kondra
  4. Tópico atualizado!
  5. vou uploar pelo mediafire...... pronto ja adicionei link no topico!
  6. 1 ponto
    bool Game::combatChangeHealth(CombatType_t combatType, Creature* attacker, Creature* target, int32_t healthChange, MagicEffect_t hitEffect/* = MAGIC_EFFECT_UNKNOWN*/, TextColor_t hitColor/* = TEXTCOLOR_UNKNOWN*/, bool force/* = false*/) { const Position& targetPos = target->getPosition(); if(healthChange > 0) { if(!force && target->getHealth() <= 0) return false; bool deny = false; CreatureEventList statsChangeEvents = target->getCreatureEvents(CREATURE_EVENT_STATSCHANGE); for(CreatureEventList::iterator it = statsChangeEvents.begin(); it != statsChangeEvents.end(); ++it) { if(!(*it)->executeStatsChange(target, attacker, STATSCHANGE_HEALTHGAIN, combatType, healthChange)) deny = true; } if(deny) return false; target->gainHealth(attacker, healthChange); if(g_config.getBool(ConfigManager::SHOW_HEALING_DAMAGE) && !target->isGhost() && (g_config.getBool(ConfigManager::SHOW_HEALING_DAMAGE_MONSTER) || !target->getMonster())) { char buffer[20]; sprintf(buffer, "+%d", healthChange); const SpectatorVec& list = getSpectators(targetPos); if(combatType != COMBAT_HEALING) addMagicEffect(list, targetPos, MAGIC_EFFECT_WRAPS_BLUE); addAnimatedText(list, targetPos, g_config.getNumber(ConfigManager::HEALTH_HEALING_COLOR), buffer); } } else { const SpectatorVec& list = getSpectators(targetPos); if(!target->isAttackable() || Combat::canDoCombat(attacker, target) != RET_NOERROR) { addMagicEffect(list, targetPos, MAGIC_EFFECT_POFF); return true; } int32_t damage = -healthChange; if(damage != 0) { if(!combatType == COMBAT_PHYSICALDAMAGE && target && target->getPlayer()) { double damageChange = 0; int32_t skillFish = target->getPlayer()->getSkill(SKILL_FISH, SKILL_LEVEL); if(skillFish >= 10) damageChange = std::ceil(skillFish * 0.1 * damage / 100); if((int32_t)damageChange != 0) { damage -= (int32_t)damageChange; char buffer[150]; sprintf(buffer, "%d hitpoint%s has been absorbed by your resistance.", (int32_t)damageChange, ((int32_t)damageChange == 1 ? "" : "s")); target->getPlayer()->addSkillAdvance(SKILL_FISH, 1, true); target->getPlayer()->sendTextMessage(MSG_EVENT_DEFAULT, buffer); } } if(target->hasCondition(CONDITION_MANASHIELD) && combatType != COMBAT_UNDEFINEDDAMAGE) { int32_t manaDamage = std::min(target->getMana(), damage); damage = std::max((int32_t)0, damage - manaDamage); if(manaDamage != 0) { bool deny = false; CreatureEventList statsChangeEvents = target->getCreatureEvents(CREATURE_EVENT_STATSCHANGE); for(CreatureEventList::iterator it = statsChangeEvents.begin(); it != statsChangeEvents.end(); ++it) { if(!(*it)->executeStatsChange(target, attacker, STATSCHANGE_MANALOSS, combatType, manaDamage)) deny = true; } if(deny) return false; target->drainMana(attacker, combatType, manaDamage); char buffer[20]; sprintf(buffer, "%d", manaDamage); addMagicEffect(list, targetPos, MAGIC_EFFECT_LOSE_ENERGY); addAnimatedText(list, targetPos, TEXTCOLOR_BLUE, buffer); } } damage = std::min(target->getHealth(), damage); if(damage > 0) { bool deny = false; CreatureEventList statsChangeEvents = target->getCreatureEvents(CREATURE_EVENT_STATSCHANGE); for(CreatureEventList::iterator it = statsChangeEvents.begin(); it != statsChangeEvents.end(); ++it) { if(!(*it)->executeStatsChange(target, attacker, STATSCHANGE_HEALTHLOSS, combatType, damage)) deny = true; } if(deny) return false; target->drainHealth(attacker, combatType, damage); addCreatureHealth(list, target); TextColor_t textColor = TEXTCOLOR_NONE; MagicEffect_t magicEffect = MAGIC_EFFECT_NONE; switch(combatType) { case COMBAT_PHYSICALDAMAGE: { Item* splash = NULL; switch(target->getRace()) { case RACE_VENOM: textColor = TEXTCOLOR_LIGHTGREEN; magicEffect = MAGIC_EFFECT_POISON; splash = Item::CreateItem(ITEM_SMALLSPLASH, FLUID_GREEN); break; case RACE_BLOOD: textColor = TEXTCOLOR_RED; magicEffect = MAGIC_EFFECT_DRAW_BLOOD; splash = Item::CreateItem(ITEM_SMALLSPLASH, FLUID_BLOOD); break; case RACE_UNDEAD: textColor = TEXTCOLOR_GREY; magicEffect = MAGIC_EFFECT_HIT_AREA; break; case RACE_FIRE: textColor = TEXTCOLOR_ORANGE; magicEffect = MAGIC_EFFECT_DRAW_BLOOD; break; case RACE_ENERGY: textColor = TEXTCOLOR_PURPLE; magicEffect = MAGIC_EFFECT_PURPLEENERGY; break; default: break; } if(splash) { internalAddItem(NULL, target->getTile(), splash, INDEX_WHEREEVER, FLAG_NOLIMIT); startDecay(splash); } break; } case COMBAT_ENERGYDAMAGE: { textColor = TEXTCOLOR_PURPLE; magicEffect = MAGIC_EFFECT_ENERGY_DAMAGE; break; } case COMBAT_EARTHDAMAGE: { textColor = TEXTCOLOR_LIGHTGREEN; magicEffect = MAGIC_EFFECT_POISON_RINGS; break; } case COMBAT_DROWNDAMAGE: { textColor = TEXTCOLOR_LIGHTBLUE; magicEffect = MAGIC_EFFECT_LOSE_ENERGY; break; } case COMBAT_FIREDAMAGE: { textColor = TEXTCOLOR_ORANGE; magicEffect = MAGIC_EFFECT_HITBY_FIRE; break; } case COMBAT_ICEDAMAGE: { textColor = TEXTCOLOR_TEAL; magicEffect = MAGIC_EFFECT_ICEATTACK; break; } case COMBAT_HOLYDAMAGE: { textColor = TEXTCOLOR_YELLOW; magicEffect = MAGIC_EFFECT_HOLYDAMAGE; break; } case COMBAT_DEATHDAMAGE: { textColor = TEXTCOLOR_DARKRED; magicEffect = MAGIC_EFFECT_SMALLCLOUDS; break; } case COMBAT_LIFEDRAIN: { textColor = TEXTCOLOR_RED; magicEffect = MAGIC_EFFECT_WRAPS_RED; break; } default: break; } if(hitEffect != MAGIC_EFFECT_UNKNOWN) magicEffect = hitEffect; if(hitColor != TEXTCOLOR_UNKNOWN) textColor = hitColor; if(textColor < TEXTCOLOR_NONE && magicEffect < MAGIC_EFFECT_NONE) { char buffer[20]; sprintf(buffer, "%d", damage); addMagicEffect(list, targetPos, magicEffect); addAnimatedText(list, targetPos, textColor, buffer); } } } } return true; } Try now how it is ! means that for all types of damage except
  7. [PEDIDO]Spell Drena Vida de Playerr

    XboxStreet reagiu a poko360 por uma resposta no tópico

    1 ponto
    adicione a tag no script
  8. Heroes Ruins | Cave Hunt | 8.60

    Budrox reagiu a DdJs por uma resposta no tópico

    1 ponto
    Heroes Ruins Version: 8.60 Download: Type: .Rar Size: 28KB Position(s): [X: 1029 Y: 1016 Z: 8] File password: tibiaking Scan: Images:
  9. Hydra's Deep Cave | 8.60

    arquivo32 reagiu a DdJs por uma resposta no tópico

    1 ponto
    Hydra's Deep Cave Version: 8.60 Download: Type: .Rar Size: 45KB Position(s): [X: 1045 Y: 1008 Z: 8] File password: tibiaking Scan: Images:
  10. Criminal System

    Steeven reagiu a Kimoszin por uma resposta no tópico

    1 ponto
    Bom pessoal, mais um script para vocês. - Qual o motivo desse nome? Não sei, estou meio sem ideias. - Oque tem nesse sistema? Bom, ele da o direito dos players do seu OTServer, serem ladrôes ou policiais, Tambem tem uma cadeia, para aonde os criminosos vão para. - Nossa, para oque ele serve? Para seu servidor ficar com mais diversão, Creio que ele seja meio inutil. Vamos começar. ! Crie um arquivo .lua chamado Policial em \data\actions\scripts function onUse(cid, item, fromPosition, itemEx, toPosition) local config = { minreward = 500, -- Minimo que o policial ira ganhar. maxreward = 2000, -- Maximo que o policial ira ganhar storage = 5569, -- Uma storage qualquer color = math.random(1, 255), prisonPos = {x=1014, y=1034, z=7}, -- Para aonde sera teleportado o ladrão. storagePreso = 5570, -- Uma storage qualquer time = 60, -- Tempo que o ladrão vai ficar preso } local player = getSpectators(getCreaturePosition(cid), 7, 5) local money = math.random(config.minreward, config.maxreward) if player and #player > 0 then for t, pid in pairs(player) do if isPlayer(pid) and pid ~= cid then if getPlayerStorageValue(pid, config.storage) == 1 then setPlayerStorageValue(pid, storagePreso, os.time()+config.time) doTeleportThing(pid, config.prisonPos) doPlayerAddMoney(cid, money) doPlayerSendTextMessage(pid, MESSAGE_EVENT_ADVANCE, "Você acaba de ser preso, por cometer delitos.") doSendAnimatedText(getCreaturePosition(cid), "+"..money.."", config.color) else doPlayerSendCancel(cid, "Esse player nao cometeu delitos.") end end end end return TRUE end Crie um arquivo .lua chamado Ladrao em \data\actions\scripts function onUse(cid, item, itemEx) local config = { minMoneyRemove = 30, -- Minimo que o ladrão ira ganhar maxMoneyRemove = 1400, -- Maximo que o ladrão ira ganhar storage = 5569, -- Uma storage qualquer color = math.random(1, 255), } local player = getSpectators(getCreaturePosition(cid), 7, 5) local money = math.random(config.minMoneyRemove, config.maxMoneyRemove) if player and #player > 0 then for t, pid in pairs(player) do if isPlayer(pid) and pid ~= cid then if doPlayerRemoveMoney(pid, money) then setPlayerStorageValue(cid, config.storage, 1) doPlayerAddMoney(cid, money) doPlayerSendTextMessage(pid, MESSAGE_EVENT_ADVANCE, "Você acaba de ser roubado e perdeu "..money.." gps.") doSendAnimatedText(getCreaturePosition(cid), "+"..money.."", config.color) else doPlayerSendCancel(cid, "O player nao possui "..money.." gps.") end end end end return TRUE end Crie um arquivo .lua chamado Cadeia em \data\actions\scripts function onUse(cid,item) local config = { storagePreso = 5570, -- Uma storage qualquer toPos = {x=1016, y=1022, z=7}, -- Para aonde o player irá quando o tempo acabar } timePreso = getPlayerStorageValue(cid, config.storage) - os.time() if getPlayerStorageValue(cid, config.storagePreso) == -1 then doPlayerSendCancel(cid, "Você nao está preso.") else if timePreso <= 0 then setPlayerStorageValue(cid, config.storagePreso, -1) doTeleportThing(cid, config.toPos) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Espero que você pense bem agora, antes de cometer algum delito") else doPlayerSendCancel(cid, "Você ainda tem que esperar "..timePreso.." segundos, para ser solto.") end return TRUE end end Agora adicione os seguinte codigos em \data\actions\actions.xml <action actionid="1256" event="script" value="Cadeia.lua"/> <action itemid="2556" event="script" value="Policial.lua"/> <action itemid="10153" event="script" value="Ladrao.lua"/> Adicione a ACTION ID na porta da cadeia, Depois edite os nomes dos items. Para editar basta ir em \data\items\items.xml use a imaginação. Até mais.
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo