Ir para conteúdo

gustavof

Membro
  • Registro em

  • Última visita

  1. gustavof reagiu a uma resposta no tópico: SPR otPokémon 14.42 (04/03/18)
  2. Possui GYM System essa base?
  3. Fala galera, tudo certo? Geral tem vontade de abrir um OT derivado de algum anime ou desenho, mas já pararam para pensar sobre o famoso "direito autoral"? Alguém já pesquisou sobre isso ou enviou algum email para a detentora desses direitos?
  4. gustavof reagiu a uma resposta no tópico: Seu Último Trabalho
  5. gustavof reagiu a uma resposta no tópico: Seu Último Trabalho
  6. gustavof reagiu a uma resposta no tópico: OpenTibia Sprite Pack
  7. gustavof reagiu a uma resposta no tópico: [Pedido] Sprite de Espada
  8. jeffersonxvr reagiu a uma resposta no tópico: Mover item entre slots
  9. gustavof reagiu a uma resposta no tópico: Layout Naruto ~
  10. gustavof postou uma resposta no tópico em Suporte Tibia OTServer
    Você tem algum script de base?
  11. gustavof reagiu a uma resposta no tópico: Função print_r
  12. Opa Everson, consegui resolver em partes meu problema. Criei um arquivo em data/lib e adicionei o seguinte códgio: fightcondition = createConditionObject(CONDITION_INFIGHT) setConditionParam(fightcondition, CONDITION_PARAM_TICKS, 8000) Depois dentro da minha ação: doAddCondition(cid, fightcondition) Uma duvida, isso faz com que a PZ fique em 8 segs ou ele vai adicionando 8 segs toda vez que é chamado a ação?
  13. KotZletY reagiu a uma resposta no tópico: (Resolvido)[Pedido] Cassino Machine
  14. OfWar reagiu a uma resposta no tópico: (Resolvido)[Pedido] Cassino Machine
  15. - Aumentando a chance e diminuindo a porcentagem dificulta a possibilidade de ganhar Ou seja Toda vez que o script é executado, ele gera um numero entre 1 até o valor chance, depois verifica se esse numero aleatório é menor ou igual a porcentagem, se for, o player ganha o premio. Com isso, acredito que para os valores de 0.5% seria interessante os valores: chance = 1000 porcentagem = 5 Não ligo pra REP.
  16. Manda o seu código para eu ver, pois, ele envia uma mensagem por clique somente se a pessoa ganhar.
  17. Encontrei o erro! Mude essa linha local bp = doPlayerAddItem(cid, bp, 1) Para essa linha local bp = doPlayerAddItem(cid, config.bp, 1) Aqui funcionou.
  18. Modifiquei aqui, vamos ver se é realmente o que você quer. - Aumentando a chance e diminuindo a porcentagem dificulta a possibilidade de ganhar - A quantidade de backpacks para ganhar - A quantidade de itens dentro de cada backpack - Os itens dentro da backpack vão ser aleatórios e podem ser repitidos - Defina os itens dentro de config.itens separando por virgula
  19. Não sei se eu entendi muito bem, se é uma backpack com 3 itens aleatórios de um conjunto (maior que 3 itens) ou apenas uma backpack com 1 item aleatório apenas de um conjunto de itens, fiz o mais simples, acredito que dependendo dos itens que você colocar, o fator "cap" do player pode ser prejudicial, pois não é verificado se o player tem espaço livro.
  20. Qual a dificuldade de conseguir mover um item de um slot para o outro com outro item? Tentei olhar na source, baseado no sistema do Tibia da sword e o shield, mas acredito que a versão que estou utilizado do DxP não da suporte pra isso. Alguém tem alguma ideia para conseguir trocar esses itens de slots?
  21. Cara, não testei, mas acredito que funcione, estou aprendendo ainda.
  22. Fala galera, tudo certo? Estou com dois problemas, quero adicionar player a condição de fight (locked pz) quando ele executar uma determinada ação e também quero colocar um tempo para que ele possa executar essa ação novamente, como faço isso?
  23. Banker reagiu a uma resposta no tópico: [PxG] Texto de player
  24. Gabrieltxu reagiu a uma resposta no tópico: [PxG] Texto de player
  25. KotZletY reagiu a uma resposta no tópico: [PxG] Texto de player
  26. gustavof postou uma resposta no tópico em Tutoriais sobre Clients
    Fala galera, tudo certo? Então, a um tempo atras, criei um tópico aqui no fórum pedindo uma ajuda sobre como alterar algumas coisas dentro de um servidor de poketibia, porém, não encontrei a resposta. [Duvida] Cores de mensagem Depois de um longo tempo procurando as informações dentro da source do cliente, consegui finalmente resolver o meu problema e me senti com uma divida no fórum, graças ao @Brunds que mesmo não resolvendo o meu problema, estava respondendo as minhas mensagens. Com isso venho compartilhar a minha solução. Servidor utilizado para base: [DxP] Exclusivo Poketibia OpenSource+Cliente+Site+DB Musica utilizada: Tech N9ne - Come Gangsta (Izzamuzzic Remix) Tutorial Como alterar a cor do texto Antes de encontrar a solução, tentei criar um novo tipo de talktype, estava conseguindo, o servidor estava enviando as mensagens corretamente, mas o problema estava no cliente, então mudei a estrategia e tentei usar o que já estava funcionando, lembrei que atualmente existe dois tipo de monster talktype: data/lib/000-constant.lua TALKTYPE_MONSTER = 19 TALKTYPE_MONSTER_YELL = 20 O talktype 19 é usado normalmente para os monstros "falarem" e o outro valor não estava sendo usando, pensando nisso peguei esse valor para a minha função de texto. Obs.: Não vou ensinar como compilar o cliente - Compilando OTC - CodeBlocks - Windows - Vídeo Aula Primeiro passo Alterei a linha 142 otclient/source/client/statictext.cpp } else if(m_mode == Otc::MessageMonsterSay || m_mode == Otc::MessageSpell || m_mode == Otc::MessageBarkLow || m_mode == Otc::MessageBarkLoud) { m_color = Color(254, 101, 0); } else if(m_mode == Otc::MessageMonsterYell ){ m_color = Color(255,165,0); } Com isso, estou definindo em m_color que, quando o valor de m_mode for igual a MessageMonsterYell, m_color receba a cor especificada em RGB. Alterando isso eu já consigo modificar a cor, porem, ainda não tem um limite de mensagens que aparecem quando o player "fala", continue pesquisando e encontrei uma "meia" solução, adaptei e consegui o resultado que eu estava buscando. Dentro do mesmo arquivo. Alterei a linha 74 else if(m_name != name || m_mode != mode) { return false; } else if(mode == Otc::MessageMonsterYell){ if(m_messages.size() > 2) { m_messages.pop_front(); m_updateEvent->cancel(); m_updateEvent = nullptr; } } // too many messages else if(m_messages.size() > 10) { m_messages.pop_front(); m_updateEvent->cancel(); m_updateEvent = nullptr; } Adicionei um else if para o mode de MessageMonsterYell, que é o valor estamos utilizando para a comunicação do player, verificando a quantidade de mensagens e limitando em até 3 mensagens. Apos essas alterações, basta apenas compilar o cliente, porem, ainda não esta pronto . Segundo passo Agora precisamos alterar o script do nosso servidor para "falar" da maneira correta, pois atualmente o player envia mensagens ao cliente com outro valor, vamos alterar. Lembrando dos valores que estão definidos no data/lib/000-constant.lua existe outro dois valores para representar a mesma coisa, porem, apenas com o nome diferente, acredito eu que é para facilitar, dentro do arquivo data/lib/100-compat.lua TALKTYPE_ORANGE_1 = TALKTYPE_MONSTER TALKTYPE_ORANGE_2 = TALKTYPE_MONSTER_YELL Não muda nada, apenas o nome da "variavel". Alterei a linha 39 data/lib/120-goback.lua doCreatureSay(cid, mbk, TALKTYPE_ORANGE_2) Alterei a linha 228 data/actions/scripts/Basic/goback.lua doCreatureSay(cid, mgo, TALKTYPE_ORANGE_2) Alterei as linhas: 22, 69, 83, 85, 107, 186, 204, 222, 241, 248, 258, 263 data/actions/scripts/Basic/order.lua -- linha 22 doPlayerSay(cid, getCreatureNick(getCreatureSummons(cid)[1]) .. orderTalks["downability"].talks[math.random(#orderTalks["downability"].talks)], TALKTYPE_ORANGE_2) -- linha 69 doPlayerSay(cid, pokeName..orderTalks["ride"].talks[math.random(#orderTalks["ride"].talks)], TALKTYPE_ORANGE_2) -- linhas 83 e 85 if string.find(habilidades, "levitate") then doPlayerSay(cid, pokeName..orderTalks["levitate"].talks[math.random(#orderTalks["levitate"].talks)], TALKTYPE_ORANGE_2) else doPlayerSay(cid, pokeName..orderTalks["fly"].talks[math.random(#orderTalks["fly"].talks)], TALKTYPE_ORANGE_2) end -- linha 107 doPlayerSay(cid, getCreatureNick(getCreatureSummons(cid)[1])..", reverta-se.", TALKTYPE_ORANGE_2) -- linha 186 doPlayerSay(cid, getCreatureNick(poke)..orderTalks["dig"].talks[math.random(#orderTalks["dig"].talks)], TALKTYPE_ORANGE_2) -- linha 204 doPlayerSay(cid, getCreatureNick(poke)..orderTalks["cut"].talks[math.random(#orderTalks["cut"].talks)], TALKTYPE_ORANGE_2) -- linha 222 doPlayerSay(cid, getCreatureNick(poke)..orderTalks["rock"].talks[math.random(#orderTalks["rock"].talks)], TALKTYPE_ORANGE_2) -- linha 241 doPlayerSay(cid, getCreatureNick(poke)..orderTalks["headbutt"].talks[math.random(#orderTalks["headbutt"].talks)], TALKTYPE_ORANGE_2) -- linha 248 doPlayerSay(cid, getCreatureNick(poke)..orderTalks["move"].talks[math.random(#orderTalks["move"].talks)], TALKTYPE_ORANGE_2) -- linha 258 doPlayerSay(cid, getCreatureNick(poke)..orderTalks["move"].talks[math.random(#orderTalks["move"].talks)], TALKTYPE_ORANGE_2) -- linha 263 doPlayerSay(cid, getCreatureNick(poke)..orderTalks["move"].talks[math.random(#orderTalks["move"].talks)], TALKTYPE_ORANGE_2) Apos esse processo todo, salva e abre o serve. Créditos @Banker @Brunds kyogron -- outro forum Me Obs.: Aceito pagamento no PicPay para aula de programação Obs.2: Não sou bom professor Obs.3: Ajuda a comprar um Mc Lanche Feliz
  27. Fala galera, Tudo certo? Estou com esse problema no meu cliente quando eu altero a imagem de background, alguém pode dar uma ajuda?

Informação Importante

Confirmação de Termo