Ir para conteúdo

nociam

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Obrigado
    nociam recebeu reputação de Vlademaster em Editar Position Spells/Effect   
    local pos = getThingPos(cid)       doSendMagicEffect({x = pos.x + 1, y = pos.y + 0, z = pos.z}, 43) edita esses +1
  2. Curtir
    nociam recebeu reputação de Malditto em [ Pedido ] Otclient Para Poketibia 0.6.5 +   
    https://github.com/edubart/otclient/releases

    http://www.tibiaking.com/forum/topic/34344-otclient-067-1071/
  3. Curtir
    nociam deu reputação a Leohige em [C++][TFS 1.3] Atributo Price (Estilo PxG)   
    Bom, fiz essa função para um projeto open source meu e decidi postar ela a parte. O atributo funciona como no PxG, ele é exibido no fim da descrição do item quando dado look. Você pode definir valores para cada item no items.xml, e quando os itens são agrupados o seu valor é multiplicado pela quantidade do mesmo. Também é possível alterar/pegar o valor do item durante o jogo utilizando código Lua.
     
    Demonstração
     
     
    Exemplo de Item
     
     
    Funções Lua
     
     
    Implementação
     
    Não darei suporte para versões anteriores a 1.3 do TFS. Se você for implementar o código em versões anteriores (1.0, 1.1, 1.2), recomendo que tenha bons conhecimentos em C++ pois provavelmente dará algum erro.
     
    Siga todos os passos cautelosamente.
     
    #1
     
    #2
     
    #3
     
    #4
     
    #5
     
    #6
     
    #7
     
    #8
     
  4. Curtir
    nociam deu reputação a xWhiteWolf em Serialize/Unserialize Strings to Number   
    Pra quem quiser a versão como função:
     

    https://repl.it/repls/LongtermVioletTakin
  5. Gostei
    nociam recebeu reputação de samuelandrade45 em (Resolvido)addEvent em uma storage   
    Obrigado, tb percebi que tava usando errado o addEvent eu deveria ter feito assim
     
    function teste(cid)
    if isCreature(cid) then
      setPlayerStorageValue(cid, 21103, -1)
    end
    end
     
    ai chamar o addEvent assim,-->   addEvent(teste, 2000, cid).
     
    por isso os erros.
  6. Obrigado
    nociam deu reputação a Gengo em Slot Machine[OTC][Module]   
    Fala galera do TibiaKing venho disponibilizar para a comunidade um script bem bacana para seu poketibia, o famoso Slot Machine, no qual ele te recompensa com pedras de evolução, sem mas delongas vamos para a instalação.
     
    1º Baixe os arquivos no link:
        -    http://www.mediafire.com/file/9df09dpbftz328y/slot_machine.rar 
                 - Scan do link 1 ( https://www.virustotal.com/pt/file/ac47987beb6aa6437259226f09927099d4f7670c780315f8707e57e16767ad9f/analysis/1514485261/ )
        -    http://www.mediafire.com/file/x7xtq6otxfo70vf/machine.rar 
                 - Scan do link 2 ( https://www.virustotal.com/pt/file/98d44e8815811eb8f4dc722c98faae690dae6bca0b79f67df1e3b5c5b9faaecb/analysis/1514485429/ )
     
    Feito o 1º passo, coloque a pasta slot_machine na pasta do seu otClient modules/ e a pasta machine em data/images/game/ colocando os arquivos nos devido lugar certo já deve funcionar, mas agora vamos prosseguir em fazer com que ele dê o premio.
     
    Na  pasta do servidor em data/creaturescripts/scritps  crie um arquivo chamado SlotMachine.lua e coloque o seguinte script:
    local OPCODE_SLOT_MACHINE = 12 local removeDollar = 2000*100 -- = equivale a 20 Hundred Dollar function onExtendedOpcode(cid, opcode, buffer) if opcode == OPCODE_SLOT_MACHINE then if ( buffer ~= 1 ) then doPlayerAddItem(cid, buffer, 1) end doPlayerRemoveMoney(cid, removeDollar) end return true end Depois na mesma pasta abre o arquivo login.lua coloque o seguinte comando:
    registerCreatureEvent(cid,"SlotMachine") E por fim na mesma pasta do seu servidor onde você estava abre o arquivo data/creaturescripts/creaturescripts.xml coloque a seguinte tag:
    <event type="extendedopcode" name="SlotMachine" event="script" value="SlotMachine.lua"/>  
    Imagem de como está em in game:

     
    Bom espero que tenham entendido, não sou muito bom com explicações ou escrever um tutorial, mas espero que gostem.  :D
  7. Gostei
    nociam deu reputação a xWhiteWolf em Callbacks de creaturescripts   
    Fala galera do TK, hoje eu vim trazer pra vocês uma coisa que se perdeu em todos esses anos de OT e que é uma das coisas mais importantes prum scripter intermediário/avançado. São as explicações dos respectivos callbacks de creaturescripts. Espero que ajude bastante gente

    Créditos: 90% Zonnebloem (um gringo ai que postou isso das sources) e 10% pra mim por completar oque ele não tinha escrito e arrumado umas coisas que ele escreveu errado.
     
        ____________________________     CREATURE EVENTS TIPOS:  _________________

    TFS 0.2
    type="login"     function onLogin(cid)   type="logout"     function onLogout(cid)   type="advance"     function onAdvance(cid, skill, oldLevel, newLevel)   type="think"     function onThink(cid, interval)   type="kill"     function onKill(cid, target)   type="death"     function onDeath(cid, corpse, lasthitkiller, mostdamagekiller, lasthitunjustified, mostdamageunjustified)   type="preparedeath"     function onPrepareDeath(cid, killer) TFS 0.3/0.4
    type="login"     function onLogin(cid)   type="logout"     function onLogout(cid)   type="advance"     function onAdvance(cid, skill, oldLevel, newLevel)   type="think"     function onThink(cid, interval)   type="kill"     function onKill(cid, target, lastHit)   type="death"     function onDeath(cid, corpse, deathList)   type="preparedeath"     function onPrepareDeath(cid, deathList)   type="statschange"     function onStatsChange(cid, attacker, type, combat, value)   type="combat"     function onCombat(cid, target)   type="target"     function onTarget(cid, target)   type="look"     function onLook(cid, thing, position, lookDistance)   type="textedit"     function onTextEdit(cid, item, newText)   type="outfit"     function onOutfit(cid, old, current)   type="push"     function onPush(cid, target)   type="follow"     function onFollow(cid, target)   type="attack"     function onAttack(cid, target)   type="areacombat"     function onAreaCombat(cid, tileItem, tilePosition, isAggressive)   type="cast"     function onCast(cid, target)   type="direction"     function onDirection(cid, old, current)   type="reportbug"     function onReportBug(cid, comment)   type="sendmail"     function onSendMail(cid, receiver, item, openBox)   type="receivemail"     function onReceiveMail(cid, sender, item, openBox)   type="traderequest"     function onTradeRequest(cid, target, item)   type="tradeaccept"     function onTradeAccept(cid, target, item, targetItem)   type="joinchannel"     function onJoinChannel(cid, channel, users)   type="leavechannel"     function onLeaveChannel(cid, channel, users) TFS 1.0
    type="login"     function onLogin(cid)   type="logout"     function onLogout(cid)   type="think"     function onThink(cid, interval)   type="preparedeath"     function onPrepareDeath(cid, killer)   type="death"     function onDeath(cid, corpse, lasthitkiller, mostdamagekiller, lasthitunjustified, mostdamageunjustified)   type="kill"     function onKill(cid, target)   type="advance"     function onAdvance(cid, skill, oldLevel, newLevel)   type="modalwindow"     function onModalWindow(cid, modalWindowId, buttonId, choiceId)   type="textedit"     function onTextEdit(cid, item, text)   type="changehealth"     function onChangeHealth(cid, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType)   type="changemana"     function onChangeMana(cid, attacker, manaChange)   type="extendedopcode"     function onExtendedOpcode(cid, opcode, buffer)     ____________________________     INFORMAÇÃO SOBRE OS TIPOS:  _________________
    antes de tudo tenha em mente que os tipos só serão executados no player ou monstro em que eles forem registrados; Registrar no login.lua vai fazer com que ele seja executado em todos os players assim q eles logarem. Se deve ser executado somente por alguns monstros, registre no monstro em questão no xml dele.

    login

    Quando é executada:
    - Quando um player loga

    Parametros:
    - cid = creatureid do player que logou

    quando está return false:
    - nada

    registra creature event:
    - não

    ~~~~

    logout

    Quando é executada:
    - quando um player desloga pelo logout do próprio cliente. Não acontece se o player morrer, for disconectado ou xlogs

    Parametros:
    - cid = creatureid do player que deslogou

    quando está return false:
    - Player não vai conseguir deslogar

    registra creature event:
    - não

    ~~~~

    advance

    Quando é executado:
    - Toda vez que um player avançar de level, magic level ou qualquer outra skill

    Parametros:
    - cid = creature id do player que avançou
    - skill = tipo da skill que o player avançou vide tabela abaixo (note que vc pode utilizar tanto o nome SKILL_FIST quanto o numero 0)
    SKILL_FIST = 0 SKILL_CLUB = 1 SKILL_SWORD = 2 SKILL_AXE = 3 SKILL_DISTANCE = 4 SKILL_SHIELD = 5 SKILL_FISHING = 6 SKILL__MAGLEVEL = 7 SKILL__LEVEL = 8 - oldlevel = level antes do player avançar
    - newlevel = o novo level após avançar

    quando está return false:
    - ele não vai avançar o nível

    Registra creature event:
    - sim (isso significa que vc pode colocar pra ele registrar um outro creatureevent dentro desse script após alcançar X level)

    ~~~~

    think

    Quando é executada:
    - Pelo tempo

    Parametros:
    - cid = creatureid do monstro ou player
    - interval = intervalo entre cada checagem OU em que intervalo deve ser executada, 500 é 0.5 segundo.

    quando está return false:
    - nada

    Registra creature event:
    - sim

    ~~~~

    kill

    Quando é executada:
    - Ao matar um player/monstro

    Parametros:
    - cid = creatureid do player ou do monstro que mata
    - target = creatureid do player ou monstro que é morto

    quando está return false:
    - O target não morrerá, ele ficará com 0 de vida e a barra sumirá para os inimigos.Ele precisará se curar para que sua barra de vida volte

    registra creature event:
    -sim

    ~~~~

    death

    Quando é executada:
    - Quando um player ou monstro morrem

    Parametros:
    - cid = creatureid do player monstro que morre
    - corpse = corpo do monstro ou player que morre

    exemplo de adicionando 3 crystal coins no corpo que morreu.
    doAddContainerItem(corpse.uid, 2160, 3) - deathlist = uma table com o nome de todos que mataram, sendo na ordem o deathlist[1] oque deu o ultimo hit e o deathlist[2] sendo oque deu mais dano.
    quando está return false:
    - O corpo não será criado

    Registra creature event:
    - Sim

    ~~~~

    preparedeath

    Quando é executada:
    - Quando um monstro ou player está prestes a morrer (pode ser usada em scripts que devem ser executados no segundo antes do player morrer)

    Parameters:
    - cid = creatureid do player ou monstro que está prestes a morrer
    - deathlist = uma tabela com o nome dos atacantes

    quando está return false:
    - o player ou monstro não irá morrer (mesma história do kill)

    Registra creature event:
    - Sim

    ~~~~

    statschange

    quando é executada:
    -Quando um player ou monstro ou ganha ou perde vida/mana de um combat ou uma função (combats não são só os das spells, mas também weapons/fist/melee... vale lembrar também que monstros não possuem mana)

    Parametros:
    - cid = creatureid do player ou monstro q ganha/perde vida/mana
    - attacker = creatureid do player ou monstro que causou a mudança na health/mana
    - type = tipo da mudança, sendo ela:Ganho de vida, perca de vida, ganho de mana e perca de mana vide tabela abaixo:
    STATSCHANGE_HEALTHGAIN = 0 STATSCHANGE_HEALTHLOSS = 1 STATSCHANGE_MANAGAIN = 2 STATSCHANGE_MANALOSS = 3 - combat = o tipo de combat que causou a alteração, sendo esses tipos:
    COMBAT_NONE = 0 COMBAT_PHYSICALDAMAGE = 1 COMBAT_ENERGYDAMAGE = 2 COMBAT_EARTHDAMAGE = 4 COMBAT_POISONDAMAGE = 4 COMBAT_FIREDAMAGE = 8 COMBAT_UNDEFINEDDAMAGE = 16 COMBAT_LIFEDRAIN = 32 COMBAT_MANADRAIN = 64 COMBAT_HEALING = 128 COMBAT_DROWNDAMAGE = 256 COMBAT_ICEDAMAGE = 512 COMBAT_HOLYDAMAGE = 1024 COMBAT_DEATHDAMAGE = 2048 - value = valor da mudança
    quando está return false:
    - O player ou o monstro não ganharão/perderão vida/mana no combat. Pode ser usado pra fazer ele ficar imortal por um certo período ou não ser capaz de tomar dano de certos players/creaturas 

    Registra creature event:
    - Sim

    ~~~~

    combat

    Quando é executado:
    - Quando um player ou monstro starta um combat (qualquer tipo de ataque)

    Parametros:
    - cid = creatureid do player ou monstro que usa o combat
    - target = creatureid do player ou monstro que sofre o combat

    quando está return false:
    - O player ou monstro não será capaz de levar ataques, isso também inclui que ele não poderá dar target em alguém/algo . Isso pode ser usado para criar monstros que não possam levar ataques ou fazer players ficarem imunes a dano por um certo tempo.

    Registra creature event:
    - Sim


    _______________________________________________________________________________________________

    Agora começa a graça da coisa:


    ~~~~

    target

    Quando é executado:
    - Quando um player ou monstro dá target em um player/mostro (follow/attack)

    Parametros:
    - cid = creatureid do player ou monstro que dá o target
    - target = creatureid do player ou monstro que é targeted

    quando está return false:
    - O player/monstro não poderá dar target.. alguns testes com monstros revelaram que o monstro ainda consegue te atacar então acho que essa função só serve para player

    Registra creature event:
    - Sim
     

    ~~~~

    look

    Quando é executado:
    - Quando um player dá look em algo

    Parametros:
    - cid = creatureid do player que dá o look
    - thing = objeto/player/monstro que o player dá look
    - position = não tenho certeza se é a posição do objeto que é dado look ou se é a minha posição.
    - lookDistance = distancia entre esse objeto e eu.

    quando está return false:
    - Não aparece a mensagem de look na tela

    Registra creature event:
    - Sim
     
    ~~~~

    textedit

    Quando é executado:
    - Quando um player edita um texto em algum item writeable (livros por exemplos)

    Parametros:
    - cid = creatureid do player
    - item = item que está sendo modificiado
    - newText = texto novo que foi escrito 

    quando está return false:
    - O player não conseguirá editar o texto, quando ele tentar dar ok o item continuará com o mesmo texto.. Pode ser usado numa quest com muito RPG pra checar se a senha que o player escreveu no livro é a correta.

    Registra creature event:
    - sim
     
    ~~~~

    outfit

    Quando é executado:
    - Quando um player ou monstro muda de outfit

    Parametros:
    - cid = creatureid do player ou monstro que muda de outfit
    - old = outfit antiga
    - current = outfit atual (após ter trocado)

    quando está return false:
    - a troca de outfit será cancelada e o player/monstro voltará para a antiga outfit

    Registra creature event:
    - sim
     
    ~~~~

    push

    Quando é executado:
    - Quando um player tenta empurrar um monstro ou um player

    Parametros:
    - cid = creatureid do player que empurrar
    - target = creatureid do player ou monstro que é empurrado

    quando está return false:
    - O player não conseguirá empurrar (arrastar o oponente com o mouse). É bastante util em eventos para que eles não possam ficar se empurrando

    Registra creature event:
    - sim
     
    ~~~~

    follow

    Quando é executado:
    - Quando um player dá follow em algum monstro ou player ou até num NPC

    Parametros:
    - cid = creatureid do player que dá o follow
    - target = creatureid da criatura (monstro/npc/player) que é seguida

    quando está return false:
    - O follow não irá ocorrer

    Registra creature event:
    - Sim
     
    ~~~~

    attack

    Quando é executado:
    - Quando um player ou monstro ataca (melee, spells não contam)

    Parametros:
    - cid = creatureid do player ou monstro que ataca
    - target = creatureid do player ou monstrp que sofre o ataque

    quando está return false:
    - O player/monstro não irá atacar, é bastante útil em sistemas que vc queira deixar uma certa criatura imune a ataques mas que ela ainda possa morrer pra spells

    Registra creature event:
    - Sim
     
    ~~~~

    areacombat

    Quando é executado:
    - Quando um player ou monstro starta um combat em área (usa uma spell ou dano em área)

    Parametros:
    - cid = creatureid do player ou monstro que usa o combat
    - tileItem = player que está dentro da area
    - tilePosition = posição do player que está dentro da area
    - isAggressive = se esse combat em área é agressivo ou não, lembre-se que magias como exura gran mas res fazem combat em área mas esse combat não é agressivo porque ela cura em área

    quando está return false:
    - o combat é cancelado

    Registra creature event:
    - Sim
     

    ~~~~

    cast

    Quando é executado:
    - Quando um player ou monstro solta uma magia

    Parametros:
    - cid = creatureid do player ou monstro que usa a magia
    - target = creatureid do player ou monstro que sofre o dano da magia

    quando está return false:
    - a magia não é lançada

    Registra creature event:
    - sim
     
    ~~~~

    direction

    Quando é executado:
    - Quando uma criatura (NPC/Player/Monster) muda de direção 

    Parametros:
    - cid = creatureid do player ou monstro que mudará de direção
    - old =  direção antiga
    - current = direção atual, após ter mudado, vide tabela abaixo:
    NORTH = 0EAST = 1 SOUTH = 2 WEST = 3 SOUTHWEST = 4 SOUTHEAST = 5 NORTHWEST = 6 NORTHEAST = 7 atente-se no fato de que não é possível virar pras direções 4,5,6 e 7 mas você utilizá-las num script que cheque a direção entre dois players, daí sim seria possível (como é no caso do exiva)
    quando está return false:
    - A criatura não será capaz de mudar de direção

    Registra creature event:
    - Sim
     
    ~~~~

    reportbug

    Quando é executado:
    - Quando um player reporta um bug

    Parametros:
    - cid = creatureid do player que reportou o bug
    - comment = comentário que ele adicionou ao reportar

    quando está return false:
    - O report será cancelado e não será enviado. Pode ser usado num script avançado de reports onde se o player não tiver escrito nenhum comentário ou tiver escrito determinadas palavras o envio será cancelado (pra evitar spams)

    Registra creature event:
    - Sim
     
    ~~~~

    sendmail

    Quando é executado:
    - Quando um player manda uma carta/parcel para outro

    Parametros:
    - cid = creatureid do player que mandou a correspondencia
    - receiver = creatureid do player que irá receber essa correspondencia
    - item = item que foi enviado (id dele)
    - openBox = conteúdo (no caso de parcel)

    quando está return false:
    - Correspondência não será enviada. É util pra registrar um log de todas as trocas entre players e pegar hackers.

    Registra creature event:
    - Sim
     
    ~~~~

    receivemail

    Quando é executado:
    - Quando um player recebe uma carta/parcel de outro

    Parametros:
    - cid = creatureid do player que recebou a correspondência
    - sender = creatureid do player que enviou a correspondência
    - item =  item recebido
    - openBox =  conteúdo da correspondencia (no caso de ser uma parcel)

    quando está return false:
    - Ele não receberá a correspondência.

    Registra creature event:
    - Sim 

    ~~~~

    traderequest

    Quando é executado:
    - Quando um player dá trade

    Parametros:
    - cid = creatureid do player que deu o trade
    - target = creatureid do player que ele tentou iniciar uma troca
    - item = item que foi iniciada a troca (se for uma backpack cheia de coisas dentro esse item será uma table com todos os itens)

    quando está return false:
    - A troca não será executada. É útil para scripts de itens vip onde o player não possa trocar determinados itens

    Registra creature event:
    - Sim
     
    ~~~~

    tradeaccept

    Quando é executado:
    - Quando um player aceita a troca com outro)

    Parametros:
    - cid = creatureid do player que aceitou a troca (você)
    - target = creatureid do player que aceitou a troca (cara com quem você trocou)
    - item = items que você deu em troca, no caso de uma backpack cheia de itens esse parametro será uma table com todos os itens
    - targetItem =  items que você recebeu em troca, no caso de uma backpack cheia de itens esse parametro será uma table com todos os itens

    quando está return false:
    - a troca não será concluída.

    Registra creature event:
    - Sim
     
    ~~~~

    joinchannel

    Quando é executado:
    - Quando um player entra num channel (aqueles canais tipo trade/ help chat/ info/ guild/ etc...)

    Parametros:
    - cid = creatureid do player que entrou no chat
    - channel = canal que o player entrou.. vide lista abaixo:
    CHANNEL_GUILD = 0 CHANNEL_PARTY = 1 CHANNEL_RVR = 3 CHANNEL_HELP = 9 CHANNEL_DEFAULT = 0xFFFE CHANNEL_PRIVATE = 0xFFFF - users = outros usuários do canal.
    quando está return false:
    - O player não conseguirá entrar no channel

    Registra creature event:
    - Sim
     
    OBS: a mesma coisa vale pra função leavechannel, só que o return false o player não conseguirá sair do channel.


    Espero que isso ajude bastante gente, eu não expliquei os types da versão 1.0 porque é basicamente a mesma coisa e pelos parametros dá pra você ter uma ideia doque é oque. :]
  8. Gostei
    nociam deu reputação a luanluciano93 em [TFS 1.x] Removendo House por Tempo OFF   
    Olá, esse script é usada para que o player que fique offline pelo tempo editado, perca a house automaticamente.

    Em globalevents/scripts/ crie um arquivo chamado doCheckHouses.lua e coloque esse código dentro: 
    -- <globalevent type="startup" name="doCheckHouses" script="doCheckHouses.lua" /> local function doCheckHouses() local dias = 3 local tempo = os.time() - (dias * 24 * 60 * 60) local registros = db.storeQuery("SELECT `houses`.`owner`, `houses`.`id` FROM `houses`,`players` WHERE `houses`.`owner` != 0 AND `houses`.`owner` = `players`.`id` AND `players`.`lastlogin` <= " .. tempo .. ";") if registros ~= false then local count = 0 print('house leave code') repeat count = count + 1 local owner = result.getNumber(registros, "owner") local houseId = result.getNumber(registros, "id") local house = House(houseId) if house and (owner > 0) then print(house:getName()) house:setOwnerGuid(0) end until not result.next(registros) print('house leave house count:' .. count) result.free(registros) end end function onStartup() addEvent(doCheckHouses, 60 * 1000) return true end A tag do globalevents.xml esta no script como comentário, é só adiciona-lá.

    Para editar o tempo (em dias) que se o jogador ficar offline ele perderá a house  é nessa linha: 
    local dias = 3 OBS: Esse script é iniciado junto com o servidor, logo após aparecerá na distro as houses removidas e a quantidade total.


    Créditos: Luan e Cristofer.
  9. Gostei
    nociam recebeu reputação de Jughead em (Resolvido)[PEDIDO] Remake do Pokémon Lickilicky   
    Não sei se o cara que fez vai gostar mais ta ai so ajustar o tamanho
     
    créditos : Yoku
  10. Gostei
    nociam deu reputação a LG KyoGron em [DLL] Estendida para OLD Cliente   
    Boa noite  E aí povo, Não sei mexer em nada aqui.. Estou com essa DLL a séculos aqui guardada e fiquei com receio de passar. BOM essa DLL não testei em outras versões! Mas em 8.54(Versão do meu Server) Funciona. Então se quiserem testar vou estar colocando os Downloads.
    *
     
    Bom, desculpem, por algum erro do fórum parou de chegar notificações até minha conta.
     
    Pois bem, vamos lá.
     
    Primeiramente tem que ficar 3 arquivos para abrir tal cliente, sendo eles.
    dat2.dat(ESTENDIDO)
    Tibia.dat(NÃO ESTENDIDO)
    Tibia.spr(Estendido)
    Como editar.. separe Dat2.dat e Tibia.spr em uma pasta e renomeie Dat2.dat para Tibia.dat(Lógico quando estiverem os 2 em uma pasta só).
     
    Após isso adicione as sprites no cliente normalmente e refaça o processo novamente.
     
    Coloque faça um Tibia.dat não estendido e o Dat2.dat estendido enquanto isso o Tibia.spr SEMPRE estendido.
    *
     
    4Shared: http://www.4shared.com/rar/BlA5Vdzpce/DLL_Estendida.html?
    MEGA:  https://mega.nz/#!OVEQwCRY!ak5dK10L5pqullLzvfP0QBTolWUjQC4_f-lxWLlcVAA
     
    Scan: https://virustotal.com/pt/file/ba553cb4196fd99357c3389c942db32a3ef251ecabd476be619cfc016e56b433/analysis/1472695802/
    Vídeo de como Hookar uma DLL:
     
     
    Créditos: Equipe Pokémon Master, Por me passar a base deles e o Cliente.
     
     
  11. Gostei
    nociam deu reputação a vyctor17 em Monstros Focando Summons   
    Monstros Focando Summons (tfs 0.3.6pl1)
     
    Eai galera, to ativo essa semana rs, agora to trazendo pra vcs uma modificação que faz as criaturas sempre atacarem os summons antes dos players, tipo a do servidores de pokemon mas acho que pra fazer isso eles mudam o group do player pra um group que monstro não ataca, agora vou mostrar como fazer isso certo rs.
     
    Lembrando que essa modificação da maneira que esta neste tópico só funciona com http://www.tibiaking.com/forum/topic/53480-criaturas-passivas/
     
    já instalado nas source . da pra fazer funcionar sem isso sim e é ate bem simples só tirar algumas checagens mas dai isso fica com vcs :0.
     
    Obs: Diferente do método em que se muda o group do player,  se uma criatura usa um poder em área, e o player estiver perto tmb toma o dano. se vc não gostou desta informação digo que tem como "retirar o dano" com um statchange checando se o player tem um summon ativo.
     
    Em Monster.cpp:
     
    Procure por:
    void Monster::doAttacking(uint32_t interval) E em baixo de:
    if(!attackedCreature || (isSummon() && attackedCreature == this)) return; Adicione:
    const std::list<Creature*>& summons = attackedCreature->getSummons(); CreatureList::const_iterator itt = summons.begin(); for(uint32_t i = 1; itt != summons.end(); ++itt, ++i) { if (i >= 1 && *itt){ searchTarget(); } } Ainda em Monster.cpp procure por:
    bool Monster::selectTarget(Creature* creature) e em baixo de:
    if(!isHostile() && getHealth() == getMaxHealth() && !isSummon()){ return false; } Adicione:
    const std::list<Creature*>& summons = creature->getSummons(); CreatureList::const_iterator itt = summons.begin(); for(uint32_t i = 1; itt != summons.end(); ++itt, ++i) { if (i >= 1 && *itt){ if((isHostile() || isSummon() || !isHostile() && getHealth() != getMaxHealth()) && setAttackedCreature(*itt) && !isSummon()) Dispatcher::getInstance().addTask(createTask( boost::bind(&Game::checkCreatureAttack, &g_game, getID()))); return setFollowCreature(*itt, true); } } Gostou?, então se puder me ajude!

     
    não autorizo o re-post em qualquer outro fórum sem minha autorização.
     
    vyctor17 - Waki-V LTDA ©
  12. Gostei
    nociam recebeu reputação de Eycron Otp em (Resolvido)[Duvida] Addon System   
    [751] = {pokemon= "Electabuzz" , looktype = 1911, count = 1},

    751 e o item que vc vai usar para o addon
    electabuzz e o pokemon que vai receber esse addon
    1911 e o novo loctype que o pokemon vai ganhar
    count quantos item precisa para ele receber esse addon
  13. Gostei
    nociam recebeu reputação de eskylo em (Resolvido)Como compilar OTclient com suporte do DX9?   
    na parte do cmake aonde tem a opçao   DOPENGLES    on ou off nao lembro se coloca la 2.0 so isso seja feliz so isso a imagem e so uma fotinha aonde se tem que mudar nao copia o que esta marcado so muda aquela opçao

  14. Gostei
    nociam recebeu reputação de Weryon em Spell de Dano Elemental Temporário   
    e bem fácil se vc tiver um arquivo chamado exp.lua ou algo que tenha essa função no creaturescript "function onStatsChange(cid, attacker, type, combat, value)" vc deve setar uma storage na magia pra fazer a mudança, ai e só fazer essa checagem na função
     
     
    pra setar faz assim setPlayerStorageValue(pid, 6657, os.time() + 10) -- 10 segundos de duraçao
     
    ai se coloca essa checagem no script do creaturescript
     
           if getPlayerStorageValue(attacker, 6657) > os.time() then
             combat = ICEDAMAGE
           end
  15. Gostei
    nociam deu reputação a lulampo em REMAKES DIVERSOS POKEMONS BY LULAMPO ^^   


                      
       

     
                                                      


    Por enquanto é isso. Alguns eu havia feito antes de sairem os remakes atuais, então considerem apenas as cores..

       
  16. Gostei
    nociam deu reputação a NickFuCked em Otpokemon Spr 12.10   
    Icons, Paredes novas
    Novas spr
    novos items
    novos outflits
    novos monstros
    Download -> http://www.4shared.com/rar/1J7PUCo0ba/otp_spr_By_Kenny.html?
    Scan -> https://www.virustotal.com/pt/file/b91d343892987f1d686f9a4f392cb4d54abfa0b1083f7fc0cb53d2372c618ae1/analysis/1444921443/
    Creditos 

    Otpokémon.com
    [Eu] Kenny Por descompilar as spr



     
  17. Gostei
    nociam deu reputação a alfbru em [c++] Simulando clique do mouse   
    Para quem gosta do desenvolvimento de ferramentas que simulam gestos humanos este é um bom exemplo, bem iniciante mas mostra como funciona a simulação do mouse utilizando c++ com a API do windows, abaixo o código comentado:
     
     
     
        Fonte: Link   O código está em .txt no anexo porque não é possível fazer o upload do arquivo em .cpp. clique.txt
  18. Gostei
    nociam deu reputação a xXJuninho em Sprites Separadas [PXG]   
    Olá pessoal, eu tenho trocado sempre de base e o que mais me chateia é colocar aquelas tradicionais sprites da PXG em minha SPR. Bom, venho aqui para facilitar um pouco a vida de vocês trago sprites separadas como o próprio nome diz, de alguns pokémons e npc's. 
     
    Será atualizado sempre com novas sprites esta postagem, e vai funcionar da seguinte maneira, primeiro terá a imagem, e logo após o download do OBD e no final da postagem terá o download de todas, separadas pelas devidas pastas.
     
     

    Charmelon
    Download
    Scan
     

    Wartotle
    Download
    Scan
  19. Gostei
    nociam recebeu reputação de Drazyn1291 em (Resolvido)[PEDIDO] Remake do Pokémon Lickilicky   
    Não sei se o cara que fez vai gostar mais ta ai so ajustar o tamanho
     
    créditos : Yoku
  20. Gostei
    nociam recebeu reputação de Flaah em (Resolvido)[PEDIDO] Remake do Pokémon Lickilicky   
    Não sei se o cara que fez vai gostar mais ta ai so ajustar o tamanho
     
    créditos : Yoku
  21. Gostei
    nociam recebeu reputação de Keidann em É meu sonho me ajude a realizar   
    vc tem que excluir a pasta obj e ta rebuild e pronto seja feliz, como eu compilei vou passar pra vc e esses milhões de   [Warning] converting to non-pointer type `uint32_t' from NULL 
    e só warning nada de mais.
     
    http://www.4shared.com/rar/SLUYlWJTce/tghostcombr.html? 
     
    o .exe esta na pasta dev-cpp.
  22. Gostei
    nociam deu reputação a Kergon em Minhas Sprites [Sprite Arceus WIP]   
    Valeu mano! to meio garrado pra fazer a animação dele andando de lado, não sabe alguém que pode ajudar não? 
     
    ______________________
     
    Mega Scizor que eu to brincando nele
     

  23. Gostei
    nociam deu reputação a lulampo em Pokexgames recruta spriter   
    Não tenho certeza se é verdade isso, visto estar nesse fórum e não no próprio da PxG mas toda oportunidade é unica e sempre tive o desejo de trabalhar numa equipe como a PxG!! la vai alguns links do proprio forum com trabalhos meus na assinatura, e o post de remakes que fiz la vou respostar aqui. Se tiver interesse, estou esperando a PM ansioso!!
     


    Vou apenas mostrar alguns dos meus trabalhos. Espero agradar a maioria xD


























     


       
     
     


      
     

     

     

    "Movimentos enquanto não andam"

     
     
     




    Não sei se a equipe tem planos para criar movimentos em mais pokemons como fez com a rapidash, se sim, gostaria muito de poder ajudar nisso, tenho muitas ideias de movimentos e gostaria de conversar mais sobre isso com alguem^^.

    Por favor deixem suas opiniões.
     
    Qualquer interesse me contate por PM..

    ---------------------------------------------------------------------------------------------------------------------------------
  24. Gostei
    nociam deu reputação a mee em PXG>Pokés Megas,Descompilado.   
    Creditos.
     
    Yagoo Rme(eu) <Pela descompilaçao e pela disponibilização.
    Pxg<Pelas Sprites!
     
    Obs:Já em formato OBD
    Obs²:Não esqueça do Rep+ pelo trabalho,Obg =)
     
    (+Info)
    Download's= http://www.mediafire.com/download/675fcxdy5bbfi2r/Megas+PXG.rar
     
    Scan (Por Virus-total) = https://goo.gl/gf7er3
     
    Print dos megas que contém = http://imgur.com/pSxtaNr
  25. Gostei
    nociam deu reputação a Snowsz em [ Pedido ] Otclient Para Poketibia 0.6.5 +   
    Pronto você não vai encontrar(de graça), o certo é levantar a bunda e começar a trabalhar kk.

Informação Importante

Confirmação de Termo