Ir para conteúdo

Developer Berg

Conde
  • Total de itens

    655
  • Registro em

  • Última visita

  • Dias Ganhos

    10

Tudo que Developer Berg postou

  1. tinha esquecido de remover um negócio, testa ai agr. e pra mudar a cor é só vc alterar essa parte g_painter->setColor(Color(255, 255, 0)); esses números 255,255,0 são cores em RGB, vc modifica o valor para a cor que vc quer, usa a tabela a seguir.
  2. testa ai e ver se funciona, se funcionar dá rep+ e marca melhor resposta pfv. obg
  3. o código que te mandei tá configurado já pra nomes Enfermeiras, agr é vc ir na pasta do seu server/data/npcs/Nurse.xml, e me manda ele, ou vc pode modificar, é só mudar o nome dela. <npc name="Nurse Joy" script="heal.lua" walkinterval="350000" floorchange="0" speed="0"> para <npc name="Enfermeira Nurse Joy" script="heal.lua" walkinterval="350000" floorchange="0" speed="0">
  4. no seus NPCS chansey e joy vc acrescenta no nome delas: Enfermeira. por exemplo: Enfermeira Chansey
  5. acho que deve ser alguma Dll no seu oldclient
  6. testei essa de escrever, na hr de escrever e apertar enter pra enviar ele n some, ele continua ativo. eu pensei isso na hr de escrever o código, criei uma condição em um if se string texto != null. mas n testei essa de quando arrastar e aparecer o contador mesmo, tem que apertar enter pra o item ir, vou testar agr. obrigado pela sugestão
  7. Olá gente, vim através desse post mostrar algumas alterações básicas no Otclient que fiz. aceito criticas e sugestões Intro do Otclient: Game_Console: se ele apertar (Enter) desativa o console e ele pode andar com as letras do teclado ( W, A, S, D ), Adicionei um Fade System pra aliviar a volta do console. Cursor do mouse: Alterei o cursor padrão do game, e alterei o cursor de mover coisas, ainda falta alterar alguns.
  8. como faço pra alterar o tamanho da imagem do target ? ImagePtr tarf = Image::load("data/images/target.png"); TexturePtr tarfe = TexturePtr(new Texture(tarf, false)); g_painter->drawTexturedRect(Rect(dest + (animationOffset - getDisplacement() + 2)*scaleFactor, Size(tarfe->getHeight(), tarfe->getWidth())*scaleFactor), tarfe); ela só está aceitando imagens 32,32. se colocar uma imagem maior vai cortar, já alterei o Size() e n foi, testei alterando o scaleFactor pra 2 e funcionou de certa forma, ele corta um pedaço mas quando o monstro anda ele corta e fica 32,32. queria que ficasse do tamanho independente, que eu escolhesse o tamanho e n cortasse, que ocupasse pelo menos 9 tiles a imagem.
  9. Mais um cliente satisfeito com o sistema ? quem estiver interessado em comprar, segue meu Whatsapp: 87 98163-0458
  10. o que eu quis dizer é que todo sistema de criptografia tá sujeito a engenharia reversa. o meu criptografa qualquer arquivo, n tem limites. ele n é falho pq fiz vários testes, quer dizer, nenhum sistema é 100%, todos são falhos. mas usei criptografia assimétrica, a criptografia mais forte hj em dia. se estiver curioso vê o game http://swordarteron.com.br/ ele está usando meu sistema de criptografia, confira lá. e como disse a cima, posso combinar os 2 sistemas, o de criptografia + o de compactar.
  11. poderia dizer em qual parte das sources implemento para aceitar transparency no floor 7 ? bom tutorial
  12. atualizando o tópico, resolvi tudo já sobre a critica do cara ali a cima. o cliente está satisfeito com a compra, bom uso pra ele, nas férias faço uma nova versão mais sofisticada
  13. 1º Supostamente como todo software na versão 1.0 vem com bugs, o meu não é diferente. nunca disse que meu programa não havia falhas, desde o momento que eu conversei com ele no discord eu já fui avisando a ele que estava em versão beta e testes, a criptografia está funcionando mas o software em si teve falhas. 2º estou dando suporte ao máximo a ele, na verdade estou dando mais preferência a ele do que a qualquer outro cliente meu, porque ele foi o único que achou as falhas e bugs no sistema, e quer queira ou não isso me beneficia, porque posso corrigir as falhas e fazer uma versão nova do software. 3º uma parte da falha do sistema dele foi por conta da máquina dele, porque os software necessita das bibliotecas do mingw para funcionar, uma vez que ele é escrito em C++ e precisa da ferramenta, a maquina dele não estava com a path certa da ferramenta, fazendo com que o software parasse de funcionar. 4º sou um ser humano, do mesmo jeito que todos tem seus afazeres, eu tbm tenho. aliás, dei suporte até demais a ele, porque meu dever era somente passar o software a ele, eu praticamente ensinei ele ate a compilar e implementar coisas na sources, coisa que ele já deveria tá conscientizado, meu dever era somente passar o software, mostrar que tava funcionando e ele que usasse, eu tive que encriptar tudo manual pra ele, coisa também que não era meu dever. 5º estou sobrecarregado de projetos e provas da faculdade, deixei claro isso pra ele para ele não vim me criticar dizendo que eu não estou dando suporte, como disse, ele é o cliente que eu mais estou dando suporte, então não venha me criticar antes de saber da história verdadeira, porque tenho prints. 6º quando faço acordo, eu vou até o fim, dou suporte até onde ele precisar 7º o software está funcional e já corrigir todos os problemas dele. me beneficiei da oportunidade e melhorei o sistema, estou desenvolvendo uma versão 2.0 sem bugs, o cara ai mal sabe o que está acontecendo e vem julgar.
  14. olá gente, eu estou com uma duvida, queria saber como utilizo o tipo InputMessagePtr do OTC. eu procurei a classe desse tipo e n conseguir achar. se for possível citar exemplo agradeço. estou tentando usar a função parseExtendedOpcode, mas ela pede como argumento um objeto do tipo InputMessagePtr.
  15. seria interessante msm, não precisaria meios para encriptar o otclient, uma vez que ele foi compilado. bem pensado mesmo visse. não tenho tanto conhecimento em c++ a ponto de fazer algo assim kkk, ainda tenho muito a aprender.
  16. blz, vou dá uma olhada, dúvida sanada, tópico resolvido, vlw.
  17. então se eu quiser usar uma opcode do server nas sources do OTC, posso usar o método ProtocolGame::sendExtendedOpcode ?
  18. olá gente, tenho uma duvida, mas acho que n é possível já que n tem funções de implemente de opcode nas sources do OTC. teria como eu chamar o opcode 85 dessa função do server em lua ( doSendPlayerExtendedOpcode(cid, 85, test.."|".."false") ) para diretamente nas sources do OTC ao invés de ser em arquivos dos mods ou modules lua ?
  19. não, estou analisando a script que o SirDubstep. mas se tiver alguma ideia ou quiser tentar ajudar, agradeço muito.
  20. blz, vou dá uma olhada aqui. vlw man acho que é algo dentro do laço for, alguma condição dentro do laço impedindo a execução.
  21. kk, modifiquei mas agr ficou do jeito que tava, continua executando somente somente 1 segundo do arquivo mp3. no caso os 2 arrays dentro do array funcionou, mas é como se o som ficasse parando e repetindo
  22. fiz com os índices [1] e [2] como vc falou e continuei com o mesmo problema, porem eu modifiquei para [0] e [1] pq 0 é onde inicia o tamanho do array, e funcionou, mas agr ele só está executando o índice [1] e ignorando o indice [0] SOUNDS = {--area sounds [0] = {fromPos = {x = 989, y = 884, z = 7}, toPos = {x = 1072, y = 946, z = 7}, sound = "Musica1.mp3"}, [1] = {fromPos = {x = 940, y = 919, z = 7}, toPos = {x = 968, y = 949, z = 7}, sound = "Musica2.mp3"}, } está execultando o vetor [1], porem não execulta o vetor [0]
  23. olá gente, boa noite, queria a ajuda de algum Scripter pra me dá uma ajudinha ligeira. n sou muito conceituado com lua, e sim com java e c++. mas vamos lá. estou com um sistema de som que reproduz som em uma posição especifica do mapa, porem ele funciona com apenas 1 posição. só que quando ponho uma nova posição ou seja um array novo de posições diferentes dentro do array de "Sons" ele repete somente 1 segundo do arquivo mp3. creio eu que seja algum bug em algum if de comparação dentro do for que percorre o array. se alguém me ajudar fico agradecido. Array sounds, e dentro do array, um array de posições e a string da música. SOUNDS = {--area sounds {fromPos = {x = 989, y = 884, z = 7}, toPos = {x = 1072, y = 946, z = 7}, sound = "Musica1.mp3"}, } quando eu ponho somente um array de posições ele funciona. agr se eu fizer assim SOUNDS = {--area sounds {fromPos = {x = 989, y = 884, z = 7}, toPos = {x = 1072, y = 946, z = 7}, sound = "Musica1.mp3"}, {fromPos = {x = 940, y = 919, z = 7}, toPos = {x = 968, y = 949, z = 7}, sound = "Musica2.mp3"}, } ele faz o bug que eu falei a cima. vou deixar a parte do código require('irrklua') require('ex') SOUNDS_CONFIG = { folder = 'mods/Advanced Sound/Sounds/', loop=false, start_paused=false, checkInterval = 500, } local UPDATESOUND_OPCODE = 85 local PAUSESOUND_OPCODE = 81 SOUNDS = {--area sounds {fromPos = {x = 989, y = 884, z = 7}, toPos = {x = 1072, y = 946, z = 7}, sound = "Musica1.mp3"}, {fromPos = {x = 940, y = 919, z = 7}, toPos = {x = 968, y = 949, z = 7}, sound = "Musica2.mp3"}, } local toggleSoundEvent local e local audio = nil local window = nil local volume = 100 local str function init() connect(g_game, { onGameEnd = terminate }) window = modules.client_options.audioPanel str = string.explode(window:getChildById('musicSoundVolumeLabel'):getText(), ":") volume = tonumber(str[2]) ProtocolGame.registerExtendedOpcode(UPDATESOUND_OPCODE, getSound) ProtocolGame.registerExtendedOpcode(PAUSESOUND_OPCODE, pauseSound) e = cycleEvent(iniciar, SOUNDS_CONFIG.checkInterval) end function iniciar() if (g_game.isOnline()) then removeEvent(e) toggleSoundEvent = addEvent(startAsound, SOUNDS_CONFIG.checkInterval) end end local m function startAsound() local player = g_game.getLocalPlayer() if not player then return end local pos = player:getPosition() for i = 1, #SOUNDS do if(isInPos(pos, SOUNDS[i].fromPos, SOUNDS[i].toPos)) then if audio == nil then m = irrklua.playMusic(SOUNDS_CONFIG.folder..SOUNDS[i].sound, true, SOUNDS_CONFIG.start_paused) str = string.explode(window:getChildById('musicSoundVolumeLabel'):getText(), ":") volume = tonumber(str[2]) irrklua.setVolume(m, volume/100) audio = true end else audio = nil irrklua.setPaused(m, true) removeEvent(toggleSoundEvent) end end toggleSoundEvent = scheduleEvent(startAsound, SOUNDS_CONFIG.checkInterval) end function pauseSound(protocol, opcode, buffer) if opcode == 81 then irrklua.pauseAll() end end function terminate() disconnect(g_game, { onGameEnd = terminate }) e = cycleEvent(iniciar, SOUNDS_CONFIG.checkInterval) audio = nil irrklua.pauseAll() end function isInPos(pos, fromPos, toPos) return pos.x>=fromPos.x and pos.y>=fromPos.y and pos.z>=fromPos.z and pos.x<=toPos.x and pos.y<=toPos.y and pos.z<=toPos.z end
  • Quem Está Navegando   0 membros estão online

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