Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. Lynch Theme

    Cat e 2 outros reagiu a Alexv45 por uma resposta no tópico

    3 pontos
    Olá, Hoje venho apresentar a vocês o Lynch Theme que acabei de terminar funcional para Znote AAC Ver em vivo ( live preview ): Pulse aqui Foro Official: Pulse Aqui Baixe com as últimas atualizações: GitHub Open Games Community
  2. (Resolvido)Outfit spell

    Vodkart e um outro reagiu a LeoTK por uma resposta no tópico

    2 pontos
    Não é a forma mais elegante mas posso afirmar que é funcional caso tenha várias ai é legal você criar um tabela e percorrer ela usando o for local outfit = 267 local outfit2 = 268 local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, true) setCombatParam(combat, COMBAT_PARAM_EFFECT, 64) setCombatParam(combat, COMBAT_PARAM_USECHARGES, true) function onGetFormulaValues(cid, level, skill, attack, factor) local skillTotal, levelTotal = skill + attack, level / 10 return -(skillTotal / 10 + levelTotal), -(skillTotal + levelTotal) end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onCastSpell(cid, var) if getCreatureOutfit(cid).lookType == outfit or getCreatureOutfit(cid).lookType == outfit2 then return doCombat(cid, combat, var) else doPlayerSendCancel(cid, "Você não tem o outfit x.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end end
  3. [OTClient] Sistema de Dialogo Otpokemon

    Pokemugen reagiu a Gengo por uma resposta no tópico

    1 ponto
    [OTClient] Sistema de Dialogo Otpokemon Venho através desse tópico contribuir para a comunidade, um simples modulo de dialogo no estilo do Otpokemon, não é um sistema de dialogo avançado é algo simples que deixa seu servidor intuitivo. 1) Faça o download do modulo no qual se encontra no final do tópico e abrindo a pasta do seu client,, extraia e coloque o modulo na pasta modules. 2) O módulo utiliza uma função chamada switch que não é comum ter no otclient, porem podemos colocar sem muito esforço, na pasta do otclient abra o arquivo util.lua que se encontra em modules/corelib/ e no final do arquivo coloque o seguinte código: Feito o passo 1 e 2, vamos para a parte do servidor. 1) Crie um arquivo na pasta data/lib/ podendo ter o nome de npcdialog_lib.lua e coloque o seguinte código: 2) O arquivo que acabamos de criar utiliza uma função chamada table.serialize que não é comum ter nos servidores, para que funcione sem erros vamos adicionar, abra o arquivo 012-table.lua que fica na pasta do seu servidor em data/lib/ ou você pode criar o arquivo e adicionar o seguinte código: Feito todo esse procedimento, estarei disponibilizando um npc para que vocês possam ter uma noção de como utilizar esse sistema de dialogo. 1) Crie um arquivo na pasta do servidor em data/npc/ chamado Gengo.xml e adicione o seguinte código: 2) Crie um arquivo na pasta do servidor em data/npc/lib/ com o nome gengo.lua e adicione o seguinte código: O npc é algo simples, porem serve para que você possa ter uma noção de como utilizar as funções do npc. Demostrativo dentro do game: Arquivos para download e o scan:
  4. (Resolvido)Modificar script (Healing)

    Doidodepeda reagiu a Vodkart por uma resposta no tópico

    1 ponto
    testa assim: local config = { removeOnUse = "no", usableOnTarget = "yes", -- can be used on target? (fe. healing friend) splashable = "no", realAnimation = "no", -- make text effect visible only for players in range 1x1 healthMultiplier = 1.0, manaMultiplier = 1.0 } config.removeOnUse = getBooleanFromString(config.removeOnUse) config.usableOnTarget = getBooleanFromString(config.usableOnTarget) config.splashable = getBooleanFromString(config.splashable) config.realAnimation = getBooleanFromString(config.realAnimation) local POTIONS = { [8704] = {empty = 7636, splash = 2, health = {2,5}}, -- small health potion [7618] = {empty = 7636, splash = 2, health = {2,5}}, -- health potion [7588] = {empty = 7634, splash = 2, health = {8,13}, level = 1, vocations = {3, 4, 7, 8}, vocStr = "knights and paladins"}, -- strong health potion [7591] = {empty = 7635, splash = 2, health = {9,15}, level = 1, vocations = {4, 8}, vocStr = "knights"}, -- great health potion [8473] = {empty = 7635, splash = 2, health = {15,20}, level = 1, vocations = {4, 8}, vocStr = "knights"}, -- ultimate health potion [7620] = {empty = 7636, splash = 7, mana = {20,25}}, -- mana potion [7589] = {empty = 7634, splash = 7, mana = {25,30}, level = 1, vocations = {1, 2, 3, 5, 6, 7}, vocStr = "sorcerers, druids and paladins"}, -- strong mana potion [7590] = {empty = 7635, splash = 7, mana = {30,35}, level = 1, vocations = {1, 2, 5, 6}, vocStr = "sorcerers and druids"}, -- great mana potion [8472] = {empty = 7635, splash = 3, health = {40,50}, mana = {45, 50}, level = 1, vocations = {3, 7}, vocStr = "paladins"}, -- great spirit potion } local exhaust = createConditionObject(CONDITION_EXHAUST) setConditionParam(exhaust, CONDITION_PARAM_TICKS, (getConfigInfo('timeBetweenExActions') - 100)) function onUse(cid, item, fromPosition, itemEx, toPosition) local potion = POTIONS[item.itemid] if(not potion) then return false end if(not isPlayer(itemEx.uid) or (not config.usableOnTarget and cid ~= itemEx.uid)) then if(not config.splashable) then return false end if(toPosition.x == CONTAINER_POSITION) then toPosition = getThingPos(item.uid) end doDecayItem(doCreateItem(2016, potion.splash, toPosition)) doTransformItem(item.uid, potion.empty) return true end if(hasCondition(cid, CONDITION_EXHAUST_HEAL)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return true end if(((potion.level and getPlayerLevel(cid) < potion.level) or (potion.vocations and not isInArray(potion.vocations, getPlayerVocation(cid)))) and not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then doCreatureSay(itemEx.uid, "Only " .. potion.vocStr .. (potion.level and (" of level " .. potion.level) or "") .. " or above may drink this fluid.", TALKTYPE_ORANGE_1) return true end if potion.health ~= nil then local health = math.random(potion.health[1], potion.health[2]) doSendAnimatedText(getThingPos(itemEx.uid), "+"..health.."%", TEXTCOLOR_GREEN) if not doCreatureAddHealth(itemEx.uid, math.ceil(getCreatureMaxHealth(cid) * (health / 100))) then return false end end if potion.mana ~= nil then local mana = math.random(potion.mana[1], potion.mana[2]) doSendAnimatedText(getThingPos(itemEx.uid), "+"..mana.."%", TEXTCOLOR_BLUE) if not doCreatureAddMana(itemEx.uid, math.ceil(getCreatureMaxMana(cid) * (mana / 100))) then return false end end if(not realAnimation) then doCreatureSay(itemEx.uid, "", TALKTYPE_ORANGE_1) else for i, tid in ipairs(getSpectators(getCreaturePosition(cid), 1, 1)) do if(isPlayer(tid)) then doCreatureSay(itemEx.uid, "", TALKTYPE_ORANGE_1, false, tid) end end end doAddCondition(cid, exhaust) if(not potion.empty or config.removeOnUse) then doRemoveItem(item.uid, 1) return true end doRemoveItem(item.uid, 0) doPlayerAddItem(cid, potion.empty, 0) doPlayerRemoveItem(cid, potion.empty, getPlayerItemCount(cid, potion.empty)) doPlayerAddItem(cid, potion.empty, getPlayerItemCount(cid, potion.empty)) return true end
  5. Base para Estudos!!

    Patrick Silva reagiu a chateadoagr por uma resposta no tópico

    1 ponto
    primeiramente vc tera que estudar :Algaritimo e logica de programação e dps ver a linguagem de programaçao q vai trabalhar, como é servidores de tibia, as linguagens usadas sao: php, lua, c, c++, js, etc.
  6. HELP * DUVIDAS *

    flahrenheit reagiu a Rogex Joyz por uma resposta no tópico

    1 ponto
    - Qual a diferença entre um servidor ( que posso baixar no TK ) Global, Baiak, Styller ? R= Além da diferença de mapa, as criaturas, armas, heal, dano e itens em geral vem editados para atender uma exp pré determinada. Mas nada impede de alterar isso. Além também do PvP que muda em relação a velocidade de ataque + itens citados anteriormente. - Qual versão de Cliente vocês me recomendam ?(12x, 11x, 10x, 9x, ... ) ps. eu prefiro as mais atuais pela parte gráfica, e por exemplo, os bonecos terem vários frames ao andar. R= Você mesmo respondeu sua pergunta. Qualquer versão é válida. - E tendo a versão do servidor, eu consigo encontrar programas para editar mapas, sprites ? Ou há alguma versão que não exista? R= Todas há, inclusive você encontra as ferramentas aqui mesmo no TK. Como Object Builder (adicionar sprites e seus atributos), ItemEditor (transformar as sprites em itens com ids in-game, sem isso de nada adianta criar objetos no OB), Remeres Map Editor (baixe direto do site dependendo de sua necessidade) - (fazer/editar seu mapa, que também pode ser baixado aqui no TK. Basta escolher) Sei que as perguntas são bem tolas e peço desculpa por isso, desde já agradeço a todos . R= Não existe perguntas tolas, um dia todo mundo aqui também teve que aprender tudo isso.
  7. 1 ponto
    Revisa o tutorial, está deixando algumas coisas para trás, como: "- Atenção nesta parte, as pastas e arquivo data / layout / modules / init.lua necessáriamente precisam estar na mesma pasta do executáveis, conforme time 4:20 no vídeo que deixarei disponível no final." outra coisas, a pasta precisa estar com permissão de leitura e escrita. Ambas são a mesma base, o que tiver de feature na closed source, terá nessa open source
  8. Finalmente galera consegui resolver o problema do salt, muitas pessoas estavam com este problema, pesquisei bem por horas e finalmente encontrei a solução, para quem estava com o problema do Account Manager criar conta e não logar no gesior e vice versa, agora está resolvido .. obs: usem o sistema SHA1. Para quem tentou esse sistema: http://www.tibiaking.com/forum/topic/40463-distro-tfs-04-ant-dv-war-system-no-otbm-check-no-gerar-salt-acc-manager-pega-junto-com-site-em-sha1/ , E NÃO Conseguiu resolver, está é a solução. AVISO: Deu trabalho para fazer, se puderem me ajudar com +REP irei agradecer. TFS compatível com baiaks e outros servidores estando 100% estável, estou postando a TFS PRONTA para uso e também está incluso as Sources para quem quiser compilar. NÃO SE ESQUEÇAM DO +REP, ESPERO TER AJUDADO. DOWNLOAD: (SEM WAR SYSTEM MAS PODE SER COMPILADO) SOURCES+EXECUTÁVEL http://www.4shared.com/rar/1UkZ4SFaba/TFS_86_-_War_System_e_Anti_SAL.html? SOMENTE EXECUTÁVEL COMPILADO COM WAR SYSTEM E ANTI SALT http://www.4shared.com/rar/4KijpSs0ba/TheForgottenServer.html? SCAN: https://www.virustotal.com/sv/file/9ac2a228444c7d5b08f42d657ee5a82a9963a7674cde58e2b8b5c25dd40cadf8/analysis/1417440333/
  9. [ACTION] de Semente

    Fearlet reagiu a Caronte por uma resposta no tópico

    1 ponto
    Olá pessoal, hoje venho vos trazer um "sistema" que se resume em 1 script, nele você pode semear e de acordo com o tempo, cresce a planta! melhor explicar com imagens: No script já vêm pré-configurado para 2 tipos possíveis de semente/broto : - Id: 8582 - Id: 7732 para plantar é necessária uma base: O monte de terra no meio. Ao dar use em cima do monte, com a semente ou o galho, haverá estágios... 1º Estágio: (padrão) 2º / 3º / 4º / Para instalar, siga as instruções: Crie um arquivo, com o nome de seed.lua em (data/actions/scripts) function onUse(cid, item, toPos, itemEx, fromPos) -- Exemplo para criar: [ID da semente] = {etapa1, etapa2, ..., etapa1000}, local c = { trees = { [8582] = {2768, 2712, 2700}, [7732] = {2784, 2767, 2702}, [2401] = {2344, 4404, 2711}, }, ----------- need_aid = false, -- PRECISA DE ACTION_ID NA SEMENTE OU ITEMEX PARA PLANTAR ? ( NAO FUNCIONA COM A SEMENTE ) floor_aid = 20390, -- SE SIM, ESSE SERÁ O ACTION_ID textcant = "You can't plant here.", -- textcancel = "You canceled the plantation.", -- CANCELAMENTO DA ETAPA 1 target = getTileItemById(fromPos, 8167), ----------- grow_up_interval = 2, -- TEMPO EM SEGUNDOS ENTRE OS CRESCIMENTOS } if not(item.actionid == c.floor_aid or itemEx.actionid == c.floor_aid) and c.need_aid then return doPlayerSendCancel(cid, c.textcant) and doSendMagicEffect(fromPos, CONST_ME_POFF) end if item.itemid == 8166 then doTransformItem(getTileItemById(fromPos, 8166).uid, 8167) doPlayerSendCancel(cid, c.textcancel) doSendMagicEffect(fromPos, CONST_ME_INSECTS) stopEvent(gr) stopEvent(up) return true end if c.trees[item.itemid] and c.target.uid > 0 then doTransformItem(c.target.uid, 8166) doRemoveItem(item.uid, 1) gr = addEvent(function() doTransformItem(getTileItemById(fromPos,8166).uid, c.trees[item.itemid][1]) end, 1000*c.grow_up_interval) for w = 2, #c.trees[item.itemid] do up = addEvent(function() doTransformItem(getTileItemById(fromPos,c.trees[item.itemid][w-1]).uid, c.trees[item.itemid][w]) end, (1000 * (c.grow_up_interval * w) ) ) end else doPlayerSendCancel(cid, c.textcant) doSendMagicEffect(fromPos, CONST_ME_POFF) end return true end Em seguinda, adicione a <TAG/> em (data/actions/actions.xml) <action itemid="7732;8582;8166" event="script" value="seed.lua"/>
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo