Ir para conteúdo

rafaelzera

Campones
  • Total de itens

    56
  • Registro em

  • Última visita

Histórico de Reputação

  1. Thanks
    rafaelzera deu reputação a Sammy em [DXP] [Button] Autoloot Com Imagem ao pegar o Loot   
    Pior que perdi a source junto com uma pancada de arquivo aqui no Pc =/, sinto muito não poder ajudar amigo..
  2. Thanks
    rafaelzera deu reputação a Crypter em alguém pode refazer esse script   
    function onMoveItem(cid, item, count, toContainer, fromContainer, fromPos, toPos) if not isCreature(cid) then return false end if isWatchingTv(cid) then return false end local name = getCreatureName(cid) local transform = false --- nao retirar item que estao no slot 8 e sao uniques if fromPos.x ~= 0 and toContainer.uid == 0 and fromContainer.uid == 0 and toPos.x == 65535 and getPlayerSlotItem(cid, 8).uid ~= 0 then doPlayerSendCancel(cid, MSG_NAO_E_POSSIVEL) return false end local itemID = item.itemid if itemID >= 14795 and itemID <= 14879 or pokeballs[getPokeballType(itemID)] and (itemID == pokeballs[getPokeballType(itemID)].use and (#getCreatureSummons(cid) > 0 or isRiderOrFlyOrSurf(cid))) then doPlayerSendCancel(cid, "Você não pode mover este item.") return false end if isFly(cid) and (getTileThingByPos(toPos).itemid == 460 or getTileThingByPos(toPos).itemid == 12171 or getTileThingByPos(toPos).itemid == 12172 or (toContainer.uid == 0 and getThingPos(cid).z ~= toPos.z)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_CANNOTTHROW) return false end if isInArray({2589, 15446, 15447, 15448, 15449, 12355}, toContainer.itemid)then -- nao fazer nada no cp return true end local pos = toPos local items = getItemsfromPos(pos) for i = 1, #items do local name = getItemInfo(items.itemid).name if string.find(name, "fainted") or string.find(name, "defeated") then doSendMsg(cid, "Não pode jogar lá.") return false end end if isPokeball(item.itemid) and toPos.x == 65535 then if not getItemAttribute(item.uid, "unique") and getPlayerFreeCap(cid) > 1 then doTransformPokeballIcon(cid, item, count, toContainer, fromContainer, fromPos, toPos) end end if isPokeball(item.itemid) or isContainer(item.uid) then if hasSqm(toPos) then if isContainer(item.uid) then local itens = getItensUniquesInContainer(item.uid) local sendMsg = false if #itens >= 1 then doSendMsg(cid, #itens.." item"..(#itens < 2 and "" or "s").." neste recipiente "..(#itens < 2 and "é exclusivo" or "são exclusivos")..". Você não pode joga-lo"..(#itens < 2 and "" or "s").." fora!") return false end else if getItemAttribute(item.uid, "unique") or getItemAttribute(item.uid, "torneio") then doSendMsg(cid, "Isso é um item exclusivo, você não pode joga-lo fora!") return false end end elseif isContainer(toContainer.uid) and (isPokeball(item.itemid) or isContainer(item.uid)) then if toContainer.itemid == getPlayerSlotItem(cid, 3).itemid then -- nao fazer nada na poke bag principal return true end if not isPosEqual(getThingPos(toContainer.uid), getThingPos(cid)) then if isContainer(item.uid) then local itens = getItensUniquesInContainer(item.uid) local sendMsg = false if #itens >= 1 then doSendMsg(cid, #itens.." item"..(#itens < 2 and "" or "s").." neste recipiente "..(#itens < 2 and "é exclusivo" or "são exclusivos")..". Você não pode joga-lo"..(#itens < 2 and "" or "s").." fora!") return fa?lse end else if getItemAttribute(item.uid, "unique") or getItemAttribute(item.uid, "torneio") then doSendMsg(cid, "Isso é um item exclusivo, você não pode joga-lo fora!") return false end end end end end return true end function getItemsfromPos(position, fromStackpos) local toret = { } -- table to return items position.stackpos = fromStackpos if position.stackpos == nil then position.stackpos = 1 -- default end while true do -- loop to catch the items and insert them in toret table local thing = getThingfromPos(position) if thing.itemid == 0 then -- thing doesn't exist, break the loop... break end if getWholeThing ~= nil and getWholeThing ~= 0 then -- if getWholeThing isn't nil and isn't 0 table.insert(toret,thing) else -- else, insert only item uid in toret table table.insert(toret,thing) end position.stackpos = position.stackpos + 1 -- get next item end return toret end  
  3. Upvote
    rafaelzera deu reputação a FlamesAdmin em ajuda com a spell Moonblast?   
    Aaaah vdd, confundi com uma da Mega Gardevoir
    elseif spell == "Healing Wish" then local min = (getCreatureMaxHealth(cid) * 50) / 100 local max = (getCreatureMaxHealth(cid) * 60) / 100 local function doHealArea(cid, min, max) local amount = math.random(min, max) if (getCreatureHealth(cid) + amount) >= getCreatureMaxHealth(cid) then amount = -(getCreatureHealth(cid)-getCreatureMaxHealth(cid)) end if getCreatureHealth(cid) ~= getCreatureMaxHealth(cid) then doCreatureAddHealth(cid, amount) doSendAnimatedText(getThingPosWithDebug(cid), "+"..amount.."", 65) end end local pos = getPosfromArea(cid, selfArea1) local n = 0 doHealArea(cid, min, max) while n < #pos do n = n+1 thing = {x=pos[n].x,y=pos[n].y,z=pos[n].z,stackpos=253} local pid = getThingFromPosWithProtect(thing) doSendMagicEffect(pos[n], 13) if isCreature(pid) then if isSummon(cid) and (isSummon(pid) or isPlayer(pid)) then if canAttackOther(cid, pid) == "Cant" then doHealArea(pid, min, max) end elseif ehMonstro(cid) and ehMonstro(pid) then doHealArea(pid, min, max) end end end if isSummon(cid) then doCureBallStatus(getPlayerSlotItem(getCreatureMaster(cid), 8).uid, "all") end doCureStatus(cid, "all") local uid = checkAreaUid(getThingPosWithDebug(cid), selfArea1, 1, 1) for _,pid in pairs(uid) do if isCreature(pid) then if ehMonstro(cid) and ehMonstro(pid) and pid ~= cid then doCureStatus(pid, "all") elseif isSummon(cid) and ((isSummon(pid) and canAttackOther(cid, pid) == "Cant") or (isPlayer(pid) and canAttackOther(cid, pid) == "Cant")) and pid ~= cid then if isSummon(pid) then doCureBallStatus(getPlayerSlotItem(getCreatureMaster(pid), 8).uid, "all") end doCureStatus(pid, "all") end end end  
  4. Upvote
    rafaelzera deu reputação a FlamesAdmin em ajuda com a spell Moonblast?   
    elseif spell == "Stored Power" then local tempo = 2 doSendMagicEffect(getThingPosWithDebug(cid), 54) addEvent(function() if not isCreature(cid) then return true end doMoveInArea2(cid, 54, selfArea1, PSYCHICDAMAGE, min, max, spell) doMoveInArea2(cid, 54, selfArea1, PSYCHICDAMAGE, 0, 0, spell) end, tempo*1000) em local tempo = 2 você define o tempo que o efeito de dano em área irá sair, quase igual do PxG
     
    Healing Wish não lembro muito bem como funciona, sei que é praticamente a área é igual do DynamicPunch (exemplo) com aqueles efeitos de "sing colorido"
  5. Thanks
    rafaelzera deu reputação a FlamesAdmin em ajuda com a spell Moonblast?   
    elseif spell == "Moon Blast" then moonP = getThingPosWithDebug(cid) local ret = {} ret.id = 0 ret.cd = 5 ret.eff = 620 ret.spell = spell ret.cond = "Silence" doMoveInArea2(cid, 0, selfArea1, FAIRYDAMAGE, min, max, spell, ret) doSendMagicEffect({x = moonP.x + 1, y = moonP.y, z = moonP.z}, 621) Caso seu servidor não tenha o FAIRYDAMAGE, mude para PSYCHICDAMAGE ou psyDmg
  6. Upvote
    rafaelzera deu reputação a Caronte em [aula 1] lógica de programação   
    Aula - Lógica de programação
    fala pessoal, essa aula é a primeira do conjunto que estarei criando para ensinar programação através da linguagem LUA, e depois, aprender como aplicar no tibia. 
     
    as informações apresentadas a seguir são fundamentais para o apropriado entendimento da logica de programação, porém...
    Caso você esteja buscando a parte mais prática, pule para: Criando Algoritmos
     
         Sem mais delongas, precisamos entender o que é o conceito de lógica de programação, 
    Lógica está contida em um conjunto de atitudes/eventos que tem um sentido por trás, lógica pode tomar várias formas e definições, porém, a que vamos aprender é Lógica de Computador, ela é EXTREMAMENTE necessária para você poder criar scripts, e programar códigos de qualquer tipo e linguagem. A lógica de computador não pode ser argumentada, essa lógica tudo é ou não é, não existe o meio termo ou argumento, ela pode ser entendida na Lógica de Aristóteles com a lei da não contradição, ou é verdadeiro, ou falso.
     
        Nós somos quase totalmente diferentes de máquinas, apesar do nosso cérebro funcionar também por eletricidade, a voltagem é fraca e ele não depende só de eletricidade, mas isso não vem ao caso, o que interessa é a nossa maneira de pensar e agir, aí sim, é totalmente diferente de um computador, Porque Será?
     
        Ao pensarmos, nosso cérebro trabalha no consciente e inconsciente, alguns cientistas acreditam que a decisão acontece já no inconsciente, através de experiências já vividas e considerações, ou seja, você não sabe que seu cérebro já tomou a decisão, até ficar consciente dela (não acredito 100% nisso, essa informação não tem muita base, tem deduções), mas o que temos que entender é que a gente avalia de acordo com o nosso conhecimento já adquirido, e por meio disso, a decisão é tomada através do nosso conhecimento de certo ou errado, e a decisão não precisa ser exata.
     
       Já o computador trabalha através de instruções de linguagens não sofisticadas (códigos de máquina, exemplo: código binário, 0 ou 1), algo que é praticamente incompreensível para os humanos (se não fosse compreensível, não existiria computador), por causa da dificuldade de programar em código de máquina foi criada uma linguagem chamada Assembly que torna muito mais fácil programar, e depois dessa linguagem, foram criadas outras mais sofisticadas.
     
    Criando Algoritmos.
     
       Agora o que precisamos entender é que a nossa maneira de pensar na resolução de problemas é diferente de como devemos escrever para um computador entender, o computador é muito mais burro na hora de interpretar as ideias, pois ele não tem quase nada para se basear além das suas instruções.
     
       Para explicar, vou criar um algoritmo simples para mandar um humano fazer uma determinada tarefa, comprar pão, e depois, vou explicar porque um computador não pode usar o mesmo algoritmo.
     
    Vou usar os seguintes substantivos:
    Pão Dinheiro Troco Casa Padaria Compra Vou usar os seguintes verbos:
    Pegar Ir / Voltar Fazer Dar Essas são as palavras chaves.
    Os verbos numa linguagem normal são geralmente chamados de Sintaxe (ou parte dela), ela é quem dirige a logica, e que faz o script ter sentido.
     
         Já os substantivos são dados valiosos, são variáveis! , variável é uma incógnita sobre o qual você tem controle, e sabe o valor , ela serve para você resumir dados e guardar, vão ser muito usadas se você quiser programar bastante, ela ajuda a identificar dados, e tornar o programa mais legível.  
     
    • Vamos ao algoritmo:
     

     
           Bom, uma tarefa com instruções tão gerais não poderia ser seguida por um computador. A menos que sejam funções, porém isso não é assunto para agora. O fato é que essas instruções são bem mais do que a quantidade necessária para um humano, você pode falar: “Vá à padaria comprar pão”, e ele irá executar perfeitamente.
     
          Porém, se você quer dar um algoritmo de como ir para a padaria para um computador executar terá que ser bem mais específico e falar todas as tarefas que ficam subentendidas para um humano, mas que não são nem um pouco claras para um computador.
     
          Para o computador entender algo parecido do que o humano entende, seria necessária muita inteligência artificial, o que não contamos quando vamos programar em LUA, novamente falo, o computador é burro.
     
       Agora vamos ao algoritmo mais próximo do que um computador precisa, vamos precisar adicionar mais termos ao nosso vocabulário:
     
    Expressões condicionais:
     

    E alguns verbos e termos a mais. Vamos ao algoritmo:
     

     
          As expressões condicionais servem para verificar antes de fazer alguma tarefa, assim, evitamos possíveis erros, por exemplo, caso não tenha dinheiro! Se você mandar o computador pegar o dinheiro e o valor dinheiro não existe, irá gerar erros no seu script.
          Expressões condicionais não servem somente para verificar, servem para selecionar também, por exemplo, uma Quest que precise de level 20 para entrar. 

     
          Esse algoritmo acima já dá uma parte de script, se escrito como LUA.
    A expressão condicional que acabei de passar é considerada fácil, mas para uma Quest é simplesmente isso e mais algumas coisas simples.
     
         Bom, esse é o final da aula de algoritmos, gostaria de saber se fui claro em relação ao tutorial e se alguma coisa passou despercebida que merece alguma atenção a mais, assim posso editar o tópico para ficar melhor.
     
    Exercício:

     
    Resposta:
        [Aula 2] Booleanos e Operadores ---->>
     
  7. Upvote
    rafaelzera deu reputação a Nogard em [Encerrado] [Encerrado] Helping Card (POKEMON AJUDANTE)   
    então mano, se ninguém se dispor a finalizar eu o faço, só não sei quando
     
     
    kkkk boa
  8. Upvote
    rafaelzera deu reputação a KyoGron em Source DarkXPoke e PDA   
    Irei ver se consigo ajeitar essas funções futuramente, Atualmente estou meio parado pois estou trabalhando em um OpenSource do meu servidor.. Com isso estou meio sem tempo, Mas assim que possível será postada uma atualização.
  9. Upvote
    rafaelzera deu reputação a Drakopoulos em [DxP] Exclusivo Poketibia OpenSource+Cliente+Site+DB   
    A melhor versão do xampp pra mim é a 1.7.7, nunca me deu problema.
    https://sourceforge.net/projects/xampp/files/XAMPP Windows/1.7.7/xampp-win32-1.7.7-VC9-installer.exe/download
  10. Upvote
    rafaelzera deu reputação a subyth em PokeProject v0.1   
    Este servidor será atualizado sempre que surgir correções e melhorias para o mesmo.
     
    O Servidor é um update do famoso DxP(DarkXPoke) e o novo Mythology(recentemente vazado).
    Estou postando para que toda a comunidade do xTibia ajude com o projeto. Ele é livre para todos, peço apenas que não postem em outro fórum.
     

     

     

     

     

     
    DATABASE Do servidor está dentro da pasta SERVER.
    Conta do ADM: admin/admin
    Servidor testado apenas com Site.
    O site disponibilizado utiliza ModernAcc atualizado e template v4 do otpokemon com minhas correções. (Shop Retirado do Site - Possível Bug de clonagem, não achei necessário ter shop no site pois existe shop in-game)
    OBS: Por favor, olhem a citação de BUGs para ajudarem a corrigir.

    Vou criar um mapa bem melhor para o servidor. Quero parecido com o da PxG (eu mesmo vou fazer).
    Preciso refazer todos os NPC's pois estão todos bugados. Muitos npcs não dizem Bye ao sair e quando um jogador fala hi, ele se sobrepõe à outros jogadores.
     
    Não cite este tópico completo em sua resposta para não poluir o tópico.
    Ajude o projeto, poste bugs encontrados e correções.
    Mantenha o tópico organizado.
    Ao postar uma correção, por favor, utilize o Pastebin e poste apenas as linhas modificadas para que todos possam identificar.
     
     
    Este servidor não possui o BUG do DxP com Dedicados/VPS. O mesmo está liso e rodando perfeitamente. (não testei em linux)
     
    Créditos:
     
     
  11. Upvote
    rafaelzera deu reputação a Djonga em [Encerrado] ajuda a adicionar pokemons inicias no website?   
    vai em localhost/phpmyadmin, procure sua data base e a account com o characatar "pokemon trainer sample", a senha vai estar criptografada (geralmente é 123321), use esse site para descriptografar: https://hashkiller.co.uk/sha1-decrypter.aspx
    aí é só logar no char e mudar as coisas que vem
  12. Upvote
    rafaelzera deu reputação a Fuuin Fake em tutoriais dxp   
    voce tem q deixar a sprite no modo normal Com ela no compilado não vai funcionar msm.
  13. Upvote
    rafaelzera deu reputação a XzXNoraX em [DxP] Exclusivo Poketibia OpenSource   
    Muito Bom vai ajudar muita gente aqui no Xtibia.
  14. Upvote
    rafaelzera deu reputação a Taiger em [DxP] Exclusivo Poketibia OpenSource+Cliente+Site+DB   
    Exclusivo! PokeTibia DxP OpenSource praticamente completo com sistemas e funções nunca liberados.
     
    ATENÇÃO: Não dou suporte, apenas estou disponibilizando o server para quem quiser continua-lo ou pegar os sistemas. Se alguns grandes aqui do xtibia quiserem ajudar nos bugs fiquem a vontade, pois este server é praticamente completo, com funções e sistemas nas sources, acho que nunca liberados para o publico.
     Aconselho a trocarem o mapa ou criarem outro por que não testei o mesmo, e não sei se há bugs ou armadilhas.
     
     
     
    • Menu:
    ├ Informações;
    ├ Bugs;
    ├ Prints;
    ├ Download;
    └ Créditos.
     
    • Informações Basicas •
    • Duel System.
    • Nick System.
    • TV System.
    • Autoloot System.
    • Block Respaw System.
    • Mega Evolução Ssystem.
    • Auto Stacking System.
    • Player passa por dentro de outros Players(Não sei o nome deste sistema kk).
    • Ditto Memory System.
    • Player pode usar potions, revive, soltar poke andando sem parar.
    • Limite de efeitos aumentados nas sources até 380(Podendo aumentar muito mais)
    • Transparência.
    • Cliente criptografado(Acompanha OBD único para o cliente).
    • Sistemas básicos como fly, ride, surf, order etc.
    • Held System(Não tem todos, falta fazer alguns, ja tem o x-luck).
    • Fishing trocando o outfit automaticamente.
    • Icone System.
    • Varias Pokeballs novas.
    • Task System.
    • Guild System.
    E muito+, não testei o servidor todo. podem ter sistemas no server que eu esqueci de colocar aqui na lista.
     
     
     
    • Bugs •
    Irei postar os que eu sei, podem haver mais.
    • Pode soltar mais de 1 poke ao mesmo tempo.
    • Botão que abre os chats tipo help, trade etc, não esta funcionando.
    • Não da para criar conta nem char(Provavelmente o programador colocou nas sources como proteção, alguem com conhecimento em programação pode resolver).
    • Tem um código nas sources, segundo fontes, em game.cpp que caso alguém coloque o servidor online o programador do server pode derrubá-lo(Outra coisa para um programador rever).
    • Fly anda travando, no chão voa normal, somente nos andares acima acontece isso, deve ser alguma config.
    • Gym System não esta funcionando.
    Bem, são os que eu sei, tem que dar uma revisada geral.
     
    • Prints •
     
    • Mega Evolução

     
    • Ditto Memory.

     
    • TV System.

     
    • Auto Loot System.

     
    • Block Respaw System.

     
    • Irei colocar mais prints em breve(Estou com pouco tempo agora).
     
    • Downloads•

     
  15. Upvote
    rafaelzera deu reputação a Scizorgame em [DxP] Exclusivo Poketibia OpenSource+Cliente+Site+DB   
    Sinceramente, não esperava que a base avançaria tanto como avançou, tantos bugs resolvidos, eu testei agora e vi que bastantes coisas foram concertadas, estou com projeto de um server e sinceramente se comparar o meu com esse, considero que esse esta ganhando por muito, mesmo assim meu server tem algumas coisas a mais que nesse, e pelo esforço e empenho de vocês decidi me juntar e contribuir com algumas dessas coisas, vou listar as coisas e postar algumas correções aqui alem de alguns bugs que encontrei no server, e falar um pouco de mim no final do topico tambem, não me decidi ainda se migrarei ou não para essa base, em questão de poderem derrubar o server pela source, bem, da mesma forma que não sei oque fizeram na source desse server antes de eu pegar eu tambem não sei oque podem ter feito na minha source antes de eu pega-la, então daria na mesma.
     
    --- algumas coisas que tem no server que estou editando ---
    1-Fly System melhor(o fly system do meu server você consegue sair de uma montanha com fly sem ter de subir no fly)
    2-Sistema de Caught por Persistencia(quanto mais ball você taca em um pokemon maior a chance de você catar ele, com tabelas de pokes normais, hards, shinys e all) PS: bastante facil de fazer por sinal.
    3-Bug do monstro não mandar magia por trocar de target corrigido(esse bug)
    4-Loot de todos pokes da primeira geração contando shinys com novos loots balanceados e corrigidos especificamente para o meu server.
    5-Orbs(uma ideia minha, basicamente com orbs você pode fazer stones).
    6-Mais algumas correções que provavelmente deixei passar.
     
    --- Contribuições por enquanto ---
     
    2- Vou deixar aqui algumas tabelas que uso nesse sistema:
     
     
    3- Simplesmente nas sources no arquivo monsters.cpp procurem por:
    sb.combatSpell = sb.isMelee = false;  
    e simplesmente troquem o false por true ficando:
    sb.combatSpell = sb.isMelee = true;  
    4- Vou deixar para download loots de shinys que fiz como .obd
    Print:
     
    download: http://www.mediafire.com/download/wdffm8727l2ff7m/Shinyitems+bydzru.rar
    scan: https://virustotal.com/pt/file/29c2c06a9a80f238877c3040cd688e092053ecaf4dbfa3a0a16c3d4cdc0f3896/analysis/1466409757/
     
    Sobre mim:
    sempre gostei de mecher e jogar servers de pokemon, mechia mais em 2010~2012, meio que parei quando começei a jogar pxg, eu amo esses servers derivados, e gostava muito da pxg para não dizer que amava, mas depois de tantas historias e sofrer as injustiças da equipe na propria pele(ser movido e tomar ban sem estar blockando o resp por dar ks em um donater amiguinho do adm) não vou perdoa-los(ja dei chance e não aproveitaram), a pxg é um otimo jogo porem o jogo chega a ser tão impossivel e injusto que considero ser mais facil criar um jogo anos luz melhor que o deles do que conseguir full team shinys com held t7 no jogo deles sem donatar ou comprar rl, então meu objetivo é me vingar mesmo, criando um jogo mais justo e se possivel melhor que o deles ja que eu gosto mesmo de mecher com isso, e se tiver varios não só o meu, melhor, então podem contar comigo apartir de agora.
     
    Edit:

     
    Fiz 3 "correções" na catch window.
    1- O modo que a mensagem aparece.
    2- Como a janelinha é "organizada".
    3- Botei a função que faz a window não ser "focada" quando aparece, antes tava sendo focada logo impedia de andar,etc se não clicasse no jogo.
     
    Download: http://www.mediafire.com/download/wmb50znb50a5ar7/catchwindow_bydzru.rar
    Scan: https://virustotal.com/pt/file/f248c834cca1467e5b860707af06125a486f3ec5a6ff485209b6c758c3ae77d0/analysis/1466419364/
     
     
     
     
  16. Upvote
    rafaelzera deu reputação a Nogard em [Resolvido] como unir 2 sprites.   
    Você poderia usar duas outfits pra isso, chamando a segunda no onMove. 
  17. Upvote
    rafaelzera deu reputação a Frenvius em [Resolvido] como unir 2 sprites.   
    Para ter animaçoes quando o personagem esta parado, é necessario incluir Idle Animations no OTClient, que creio que que só esteja disponivel nas versoes atuais, e acho que o objectbuilder nao da suporte. Corrijam-me se eu estiver errado
  • Quem Está Navegando   0 membros estão online

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