Valacobino

Membro
  • Total de itens

    4
  • Registro em

  • Última visita

Reputação

1 Iniciante

Sobre Valacobino

  1. Não é bem assim. Digamos que exista a chance de alguém burlar, o mesmo tem que ter um conhecimento bem específico e avançado sobre esse tipo de ferramenta. Para o player comum, chutando 99,9% dos casos, um anti-bot ajuda sim. @Hefaisto Procura por BotKiller 6
  2. Nada como o bom e velho livro pra aprender. Segue o link de um excelente livro que ensina a programar em linguagem C http://www.ams.eti.br/livros/Luis_Damas.pdf
  3. Se você quer mudar só a mensagem em amarelo, o truque vai ser mudar o msgstringtable dizendo ao invés de minutos para horas e no servidor, converter o tempo a mais enviado, também de minutos para horas. Eu acho que assim deve funcionar: msgstringtable.txt: %s será deletado de seu inventário em %d hora(s).# clif.cpp: mudar WFIFOL(fd,offs+23)=sd->inventory.u.items_inventory[n].expire_time; para WFIFOL(fd,offs+23)=(int)time(NULL) + ((sd->inventory.u.items_inventory[n].expire_time - (int)time(NULL)) / 60); recompilar o servidor e testar Obs: caso você dê algum item com duração menor que 1 hora no cliente vai dizer 0 horas
  4. A mensagem por si só acho que vc vai conseguir alterar em msgstringtable.txt Porém se você quiser fazer um campo dinâmico, que varia entre dia/horas/minutos/segundos, teria que editar o cliente do jogo, o que é praticamente inviável. Uma idéia que funciona seria fazer fazer o servidor enviar uma mensagem para o cliente, no momento do clif_additem (clif.cpp) na src, void clif_additem(struct map_session_data *sd, int n, int amount, unsigned char fail) mais ou menos na linha onde aparece WFIFOL(fd,offs+23)=sd->inventory.u.items_inventory[n].expire_time; Você adicionar um clif_displaymessage com a mensagem custom que indica a duração do item. Dessa forma, sempre que um item de aluguel for entregue, o servidor vai enviar uma msg para o cliente (aquela msg amarela que vc citou vai continuar aparecendo também) Por exemplo: int tempo = sd->inventory.u.items_inventory[n].expire_time - (int)time(NULL); struct item_data * item = itemdb_exists(sd->inventory.u.items_inventory[n].nameid); if (tempo > 0 && item != NULL) { int segundos, minutos, horas, dias = 0; dias = tempo / 86400; horas = (tempo % 86400) / 3600; minutos = ((tempo % 86400) % 3600) / 60; segundos = ((tempo % 86400) % 3600) % 60; clif_displaymessage(sd->fd, "O item %s possui duração de %d dia(s) %d hora(s) %d minuto(s) e %d segundo(s)", item->jname, dias, horas, minutos, segundos); } Obs: Não testei o código acima. Teste antes de adicionar no servidor.
  5. Recrutamento para vaga de Scripter ~> Informações: Estamos à procura de alguém que tenha conhecimento pelo menos intermediário para nos auxiliar na criação de NPCs que envolvem quests, eventos, instâncias, entre outros. Somos uma equipe ativa e comunicativa, sendo um ambiente propício para aprendizado e capacitação técnica para o novo integrante, dependendo somente da motivação e interesse do mesmo, não se limitando somente à scripts, mas desafios reais. Temos um projeto sério e de longa data. Procuramos pessoas motivadas e com vontade de aprender.~> Cargos Vagos: Scripter~> Requisitos: Possuir experiência pelo menos intermediária em desenvolvimento de script, desejável conhecimentos em outras áreas e ter no mínimo 4 horas diárias para dedicação exclusiva ao servidor.~> Benefícios: Remuneração a combinar~> Contato: MP