Ir para conteúdo

jhon992

Conde
  • Total de itens

    631
  • Registro em

  • Última visita

  • Dias Ganhos

    12

Posts postados por jhon992

  1. JhonBot - 1.4.0

    Bot incrivel desenvolvido em Java que manipula funções do jogo utilizando apenas o teclado e o mouse, fazendo com que seja o bot mais seguro da atualidade. Atualmente, suas principais funções são:

    - Fishing: capacidade de pescar sozinho.

    - Love: !love periódicos ao seus pokemons.

    - Food: alimenta seu pokemon automaticamente.

    - Heal: utiliza potions no seu pokemon de acordo com o life atual do mesmo.

    - Revive: revive seu pokemon utilizando potion caso morto.

    - Attack: ataca qualquer pokemon que aparecer na tela.

    - Moves: executa as spells de seu pokemon como configurado.
    - Loot: recolhe itens de corpses ao redor de seu personagem.

    - Atalhos: atalhos para ajudar na performance.

    Você tem total liberdade de salvar as configurações para utilizar novamente, ou abrir configurações prontas já salvar.

    Toda configuração utilizando segundos tem um sistema de "Random" onde sorteia um numero (exemplo: de 1 á 5), e adiciona esse numero sorteado na configuração no momento de usa-la, fazendo assim ficar mais imperceptível que é um bot executando as funções.

    O bot trabalha de modo silencioso, porem só executa suas funções quando o cliente do poketibia esta a frente das outras telas abertas.

    Clientes testados: PXG, PokeStorm, otPokemon e outros.

    post-18613-0-79202000-1427844376_thumb.p
    post-18613-0-09372800-1427844380_thumb.p
    post-18613-0-24083000-1427844383_thumb.p
    Site oficial: http://jhonbot.com/
    Se o Bot apresentar algum problema ao abrir, faça download do Java através desse link:
    depois reinstale o Bot. Se o erro persistir, leia a página 1 do manual.
    Caso alguma dúvida, suporte@jhonbot.com
    Skype: jhonatan.scarvalho
  2. Na vdd esse erro acontece quando o a função que o addEvent chamou é executada e a informação do "cid" é perdida. Ou seja, se eu chamar a função "addEvent(setFoodLife, 60000, cid)", ela vai ser executada no meu personagem após 1 minuto através do "cid" do me personagem que foi passado, mas se por acaso nesse meio tempo meu personagem morrer ou for deslogado ao executar a função não vai ser encontrado o personagem no qual o "cid" foi passado e vai ocorrer esse erro. Espero ter dado uma clareada legal kkk.

     

    Aconselho em sempre que for usado um "addEvent" para executar alguma função que é passada o "cid", verificar se o player existe no momento usando a função "isPlayer(cid)", isso previne possíveis bugs.

  3. Eheuauehue pensei que nunca sairia o sistema do jhon-soft.

     

    Incrível vodkart.

    Não preciso comentar nada.

    Sistema excelente.

     

    O sistema sempre foi do vodkart, ele me passou pra eu vender no site só, e agora ele resolveu postar no fórum. happy.png

  4. Troca isso:

    local condition = createConditionObject(CONDITION_REGENERATION)
    setConditionParam(condition, CONDITION_PARAM_SUBID, 1)
    

     

    Por isso:

    local condition = createConditionObject(CONDITION_REGENERATION)
    setConditionParam(condition, CONDITION_PARAM_SUBID, 4)
    

     

    E agora troca isso:

    getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false
    

     

    Por isso:

    getCreatureCondition(cid, CONDITION_REGENERATION, 4) == false
    

     

    Pronto.

  5. não tem como ele deixar um item onde ele tava qdo ele teleporta no caso ficaria uma madeira no local que ele estava antes. tem como isso ?

     

    function onCastSpell(cid, var)
    if getCreatureTarget(cid) > 0 then
       demage = math.random(50, 150)
       doCreatureAddHealth(getCreatureTarget(cid), -demage)
       doSendAnimatedText(getThingPos(cid), ""..demage.."", 181)
       doCreateItem(ID DO ITEM, 1, getThingPos(cid))
       doTeleportThing(cid, getThingPos(getCreatureTarget(cid)), true)
       doSendMagicEffect(getThingPos(cid), 10)
       addEvent(doMoveCreature, 200, cid, NORTH)
    else
       doPlayerSendCancel(cid, "You need a target for this spell.")
       return TRUE
    end
    end
    

     

    Basta por o id do item que sera criado nessa linha:

    doCreateItem(ID DO ITEM, 1, getThingPos(cid))
    

  6. @Smix, errou só a verificação do storage.

    Mais créditos é pra ele.. ta aew:

    local keywordHandler = KeywordHandler:new()
    local npcHandler = NpcHandler:new(keywordHandler)
    NpcSystem.parseParameters(npcHandler)
    local talkState = {}
    
    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 playerHaveItems(cid, itemid) -- by MatheusMkalo
    local items = type(itemid) == "table" and itemid or {itemid}
    for i = 1, #items do
    if getPlayerItemCount(cid, items[i]) <= 0 then
    return false
    end
    end
    return true
    end
    
    function doPlayerRemoveItems(cid, itemid, count) -- by MatheusMkalo
    local items = type(itemid) == "table" and itemid or {itemid}
    for i = 1, #items do
    doPlayerRemoveItem(cid, items[i], count ~= nil and count or 1)
    end
    return nil
    end
    
    function creatureSayCallback(cid, type, msg)
    
    if(not npcHandler:isFocused(cid)) then
    return false
    end
    
    if msgcontains(msg, "entregar") then
       if playerHaveItems(cid, 12219) then
           if getPlayerStorageValue(cid,15029) <= 0 then
               doPlayerRemoveItems(cid, 12219, 1)
               doPlayerAddItem(cid, 2148, 100)
               setPlayerStorageValue(cid,15029,1)
           else
               selfSay("Você ja completou a missão.")
           end
       else
           selfSay("Voce não tem 1 Chocolate Churry.")
       end
    end    
    
    return true
    end
    
    npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
    npcHandler:addModule(FocusModule:new())
    

  7. local combat_fire = createCombatObject()
    setCombatParam(combat_fire, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE)
    setCombatParam(combat_fire, COMBAT_PARAM_EFFECT, CONST_ME_FIREATTACK)
    setCombatFormula(combat_fire, COMBAT_FORMULA_LEVELMAGIC, -5.0, -500, -5.0, -500)
    local area1 = createCombatArea( { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } )
    setCombatArea(combat_fire, area1)
    
    local combat_ice = createCombatObject()
    setCombatParam(combat_ice, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE)
    setCombatParam(combat_ice, COMBAT_PARAM_EFFECT, CONST_ME_ICEATTACK)
    setCombatFormula(combat_ice, COMBAT_FORMULA_LEVELMAGIC, -5.0, -500, -5.0, -500)
    local area2 = createCombatArea( { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } )
    setCombatArea(combat_ice, area2)
    
    local combat_energy = createCombatObject()
    setCombatParam(combat_energy, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE)
    setCombatParam(combat_energy, COMBAT_PARAM_EFFECT, CONST_ME_ENERGYAREA)
    setCombatFormula(combat_energy, COMBAT_FORMULA_LEVELMAGIC, -5.0, -500, -5.0, -500)
    local area3 = createCombatArea( { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } )
    setCombatArea(combat_energy, area3)
    
    local combat_death = createCombatObject()
    setCombatParam(combat_death, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
    setCombatParam(combat_death, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
    setCombatFormula(combat_death, COMBAT_FORMULA_LEVELMAGIC, -5.0, -500, -5.0, -500)
    local area4 = createCombatArea( { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } )
    setCombatArea(combat_death, area4)
    
    local combat_earth = createCombatObject()
    setCombatParam(combat_earth, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE)
    setCombatParam(combat_earth, COMBAT_PARAM_EFFECT, CONST_ME_SMALLPLANTS)
    setCombatFormula(combat_earth, COMBAT_FORMULA_LEVELMAGIC, -5.0, -500, -5.0, -500)
    local area5 = createCombatArea( { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } )
    setCombatArea(combat_earth, area5)
    
    local combatAll = {combat_fire,combat_ice,combat_energy,combat_death,combat_earth}
    
    function onUseWeapon(cid, var)
       local combatUse = combatAll[math.random(1,#combatAll)]
       doCombat(cid, combatUse, var)
       return true
    end
    

  8. Se só aparece a msg "parameters needed" e não aparece erro no executável significa que ta faltando parâmetro na talkaction.

    Os parâmetro validos do /cast são "/cast on", "/cast off" e mais alguns que não lembro agora. Mais é só falar /cast on que ira ativar o seu cast se você configurou o sistema de cast todo certinho com distro e scripts.

  9. Existe algum "Wiki" da vida para mostrar todas as funções que o LUA do Tibia OT Tem? e explicando cada uma?

    Se alguem souber pode me passar o link? eu procurei bastante e nao achei nada de parecido na internet, Obrigado.

     

    Link com as funções, o significado de cada uma é a tradução da mesma...

    http://www.xtibia.co...sta-de-funcoes/

     

    Em relação ao script proposto tu deve explicar também oque são essas partes:

    if item.uid == 900 then
    

    E essa:

    end
    return 1
    end
    return 0
    end
    

    O essencial seria explicar linha por linha do script!

     

    O tópico ficou razoável mais existe ainda varias coisas interessantes sobre os storages..

     

    Outra informação importante sobre o mesmo é que ela pode ser usada para armazenas palavras ao em vez de números.

    Devia ter explicado um pouco sobre "global storage".

     

    Ali onde tu fala que o jogador não clicou ainda, se ele não usou a storage ela vai ser igual a -1...

    Mesmo se quisese deixar comparando com o 0, ficaria melhor assim:

    if storage <= 0 then
    

     

    Essa parte:

    Para isso temos que fazer com que o Unique Id do baú seja um número diferente dos outros

     

    Não concordo. Já que no bau pode ser usado um actionid, ou pode ser ativado até mesmo por um itemid, então não podemos generalizar, é mais facil explicar tais situações para o usuário, ou seja, não podemos ensiná-los errado.

  10. Vamos parar de floodar aqui vamos...

    @flavinhoo, só substitui oque tem dentro do walkback.lua por isso.

    local SPECIAL_QUESTS = {2001}
    
    function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
       if(not isPlayer(cid)) then
           return true
       end
    
       if(isContainer(item.uid)) then
           if(not isInArray(SPECIAL_QUESTS, item.actionid) and item.uid > 65535) then
               return true
           end
       elseif isNumber(getTileInfo(position).creatures) then
           if getTileInfo(position).creatures <= 1 then
               return true
           end
       end
    
       if(fromPosition.x == 0) then -- player just logged in
           fromPosition = getTownTemplePosition(getPlayerTown(cid))
           doSendMagicEffect(fromPosition, CONST_ME_TELEPORT)
       end
    
       doTeleportThing(cid, fromPosition, true)
       return true
    end
    

  11. Isso mesmo no config.lua do seu servidor possui uma parte assim, que foi onde você trocou a hora do sava provavelmente:

    -- Global save
       -- NOTE: globalSaveHour means like 03:00, not that it will save every 3 hours,
       -- if you want such a system please check out data/globalevents/globalevents.xml.
       globalSaveEnabled = true
       globalSaveHour = 6
       globalSaveMinute = 0
       shutdownAtGlobalSave = false
    

     

    Coloque o shutdownAtGlobalSave igual a false! Então o servidor não irá cair no global save.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...