Ir para conteúdo

honux

Campones
  • Total de itens

    71
  • Registro em

  • Última visita

1 Seguidor

Sobre honux

Informações

  • Forma que conheci o xTibia
    Sites de Busca
  • Sou
    Não Informado

Últimos Visitantes

2932 visualizações

honux's Achievements

  1. Você faz sprites ?quanto cobra? Gostaria de um spriter , para desenhar outfits de tibia, no tema de animes.  ex: dbz

  2. honux

    [Projeto] Mmorpg 2D

    Olá, Estou com um projeto pessoal de criar um jogo MMORPG 2D, estilo Tibia, e por isso estou começando a procurar uma equipe para me ajudar. Como estou sozinho como programador ( E não estou procurando nenhuma ajuda no momento ), o desenvolvimento do jogo está indo conforme eu consigo levar e para manter o projeto em pé, programo cerca de 4~8 horas todos os dias úteis. Não é muito, porém o cliente está da seguinte maneira: Como vocês podem perceber, o design do cliente está horrível e por este motivo estou aqui! Procuro um designer para fazer o estilo do cliente e um Spriter para fazer os sprites do jogo! Caso você se ache apto para o cargo, por favor poste neste tópico: Sobre o Designer O Designer tem o objetivo exclusivo de criar o estilo do jogo, como botões, estilo dos boxes, texturas e imagens a serem utilizadas no jogo. Exemplos: Algumas perguntas que já foram perguntadas quando eu postava aqui com mais freqüência: Tenho uma equipe que também está fazendo um jogo, já temos X sprites, Mapa, tudo! Só falta o programandor, quer entrar na nossa equipe? - Não, muito obrigado. Qual a previsão de lançamento do jogo? - Pretendo ter algo onde você possa pelo menos andar para um lado / outro e conversar com os amigos até o final de fevereiro, porém não é nada garantido, já em relação ao jogo 100% pronto, espero que até o final do ano ele esteja online. Nossa, sempre quis aprender a programar, como você fez para aprender? Você pode me ensinar? - Li sozinho e não dou aulas particulares, Google será seu pai.
  3. @Fusion a máquina não entende a nossa forma de escrita, portanto existe uma linguagem específica da máquina e essa máquina é através do número binário. TUDO que você digita é convertido para o número binário, desde os números até as letras! As letras são convertidas para os números binários através da tabela de códigos ASCII. Claro que o computador tem a sua própria maneira de diferenciar um número de uma letra e assim vai, mas não vamos entrar neste detalhe aqui, né? @Topic Existe uma maneira que pelo menos eu acho mais simples... Multiplique o número da casa ( 0 ou 1 ) por 2 elevado ao número da casa correspondente - 1, então vá somando! Exemplo: 1010101010 vamos somar da direita para a esquerda... 0x2^0 = 0; 1x2^1 = 2; 0x2^2 = 0; 1x2^3 = 8; 0x2^4 = 0; 1x2^5 = 32; 0x2^6 = 0; 1x2^7 = 128; 0x2^8 = 0; 1x2^9 = 512; 2 + 8 + 32 + 128 + 512 = 682 O número binário '1010101010' corresponde ao número 682. Apesar de que só vou utilizar isso lá pra frente... já é importante saber =P
  4. E eu dedico esse tutorial a mais um copy e paste do Nostradamus. Este tutorial é de FelipeMorais, usuário do fórum iEvolution. Link para o post original. Ahh, eu posso não entender de PHP e posso estar falando coisa errada... Porém Nostradamus, quem não usa DB utilizar um arquivo que guarda todas as senhas seria burrice, não? E este sistema é completamente 'hackiavel', já que ele pega o 'ok' do cookie, sendo que não há criptografia, código de segurança nem nada. Então pq não adicionar um cookie como home depois edita-lo para como se tivesse vindo de sua page com esse ok? é triste ver você falhando novamente nostra...
  5. honux

    Svn

    Boa kra ^^ mais já existe um programa que faz download ._. PS Não confundam a versão do SVN com a do CVS
  6. mais cedo ou mais tarde eu sabia que iam fazer este NPC... Já tenho esse sistema desde que existe o 7.1, a mto tempo antes de alguém liberar... porém meu code esta bem menor e mto mais fácil... Tem várias coisas que ainda podem ser simplificadas e resumidas... como... -- General function for getting the amount of entries in the tablefunction getTableSize(thisTable) local n = 0 local i = 1 while true do if(thisTable[i] == nil) then return n end n = n+1 i = i+1 endend poderia ser simplismente -- General function for getting the amount of entries in the tablefunction getTableSize(thisTable) local n=1 while thisTable[n] do n=n+1 end; n=n-1 return nend só resumi um qualquer de exemplo... porém ainda pode resumir muita coisa...
  7. Não sei se conheço esse Tatu Hunter.... Porém ele poderia ter amenizado algumas coisas.... como por exemplo no lugar desse if feio pra ver de qual cidade utilizar um switch.... e ter melhorado essa busca do SQL, ele fez duas sendo que pode ser utilizada somente uma.... porém parabéns...
  8. Boas.... Estive estudando um pouco PHP, e aprendi a utilizar a função "mail()", porém ela requer um servidor SMTP, e o hotmail infelizmente não tem suporte ao mesmo, então não consigo enviar o e-mail a uma boa parte da comunidade. Também consegui achar a função "imap_mail()", porém não consegui utilizar a mesma por diversas questões, uma delas porque não consegui configurar o servidor de IMAP direito... Gostaria de saber se alguém sabe como fazer de algum modo enviar um e-mail via Web que cujo mesmo consiga enviar ao hotmail. Grato pela atenção.
  9. Só passei aki pq um amigo me deu o link... @up Honestamente... Horrível... Cansei de bancar o bonzinho... Primeiro esse code que eu postei tá horrível... Você pode mto bem fazer uma list das bless, tirar 90% das funções que tem nela e ficar mto melhor... mais como vcs amama copy e paste é o que dá... ngm nunca aprende...
  10. Desde quando não me dei bem na moderação? acho que vc não lembrou o ocorrido... Logo que entrei, passou umas 2 semanas e magicamente meu pente de memória queimou. Então com o fato ocorrido, resolvi comunicar a equipe que ficaria ausente por um tempo. Fiquei uns 3 dias sem net, providenciei uma ram fraca para voltar, nem que fosse somente para entrar no fórum, e quando entro não sou mais nada da equipe. Não é que eu não me dei bem, já fui sub em mais 2 fóruns e ambos pedi demissão, em um eu não me dava bem com a equipe e no outro eu simplismente sai por motivos pessoais.
  11. @Kakimura Não vale a pena. Muito trabalho para pouca coisa, além do mais que graça teria em refazer algo pronto? Tudo bem que poderiamos diminuir os mem leaks, porém continuo achando que não vale a pena~
  12. Mesmo tendo parado com Open Tibia visito aqui diariamente. Essa equipe sempre me acolheu e demonstrou respeito, muito diferente de qualquer outro lugar. ( Desculpe por citar nomes ) Visito o OtFans e o OtservBR ( mais conhecido por mim como otnaubr ) freqüêntemente, porém em nenhum lugar sou tratado como sou aqui, tem a mesma organização que tem aqui, tem o mesmo coração. Aqui se você postar uma dúvida, a equipe esta preparada para te responder, lá ficam dias com a dúvida sem ninguém ajudar. Espero que o Xtibia continue crescendo sem parar, e que um dia ( quem sabe ) ser o Maior e melhor ( já é ) site sobre Open Tibia e quem sabe até sobre Tibia do mundo! ( pois do Brasil já é, não? ) abraços~
  13. Nossa... Eu conheci o "Tibiahelp", mais nunca tive interesse nele Então quando lanço o Xtibia eu resolvi me cadastra, ( depois que veio o fórum separado e não mais na página principal ) ai aqui to eu Quem aqui lembra do "Lipe" ? Um outro admin que na época do TibiaHelp tava junto com o Gus? ( que na época era Gusbronha ) Eu lembro de um post ( antigasssooo ) do Lipe, que na época num tinha grana pra compra o .com nem o .com.br ai ainda tava rodando no "xtibia.temtudohost.com" se eu não me engano, era moh engraçado O Gustavo ainda falava com algumas "gírias", como "vc", que hj em dia é raro :PPP Falando nisso, o que aconteceu com o Lipe? Boa gus
  14. @Lukus Jhor Bela aula ^^ Agora ensine as pessoas a fazerem documentos de Web com ele... por exemplo ( só sei isso xD ): <?xml version="1.0" encoding="ISO-8859-1"?><?xml-stylesheet type="text/xsl" href="HelloWorld.xsl" ?><text><string>Hallo, naub</string></text>
  15. Bom galera, como todo mundo sabe eu não curto a versão liberada pelo Open Tibia Server Team ( mais conhecido como CVS ), então a um tempo, eu resolvi começar um protocolo próprio, porém isso me trouxe problemas e perca de tempo.... Então eu parei, e deixei o projeto descontinuado, então para não ficar ocupando espaço aqui no meu computador, eu resolvi posta-los para vocês aprenderem e verem como eu fiz, quem sabe até continuar certo? O que tem o "Protocolo" : - Versão 7.1 ( prefiri pois não utiliza Criptografia para enviar dados, e sei lá, axo mais romântico ) - Char List; - GameWorld Connect. O que NÃO tem : - Poder "andar" no servidor; - Database ( quer dizer, sempre o mesmo char ); - Ações básicas. Agora vocês me perguntam.... Então, já que não tem nada, porque você liberou? Sei lá, pra vocês terem um conhecimento básico de como mecher com WinSocket... são somente 2 arquivos : main.cpp #include "NetworkMessage.h"#include "main.h"int main() { // Inicializa o Winsock. WSADATA wsaData; int iResult = WSAStartup( MAKEWORD(2,2), &wsaData ); if ( iResult != NO_ERROR ) std::cout << "Error at WSAStartup()\n" << std::endl; // Cria um novo Socket SOCKET m_socket; m_socket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP ); char Host[128]; hostent *HostEntry = NULL; if(gethostname(Host, 128) == 0){ HostEntry = gethostbyname(Host); if(HostEntry){ unsigned char** addr = (unsigned char**)HostEntry->h_addr_list; // Equivaleria ao IP do config.lua addr = (unsigned char**)HostEntry->h_addr_list; addr++; HosterIP = addr[0][0]+(addr[0][1] << 8) + (addr[0][2] << 16) + (addr[0][3] << 24); } } // Configura o novo Socket sockaddr_in service; service.sin_family = AF_INET; service.sin_port = htons(7171); service.sin_addr.s_addr = INADDR_ANY; if ( bind( m_socket, (SOCKADDR*) &service, sizeof(service) ) == SOCKET_ERROR ) { std::cout << "bind() failed.\n" << std::endl; closesocket(m_socket); return 0; } // Tenta ler o Socket if ( listen( m_socket, 1 ) == SOCKET_ERROR ) std::cout << "Error listening on socket.\n" << std::endl; // Aceita Conexões while (true) { // Aceita um novo Socket SOCKET s = accept( m_socket, NULL, NULL ); if(s > 0) // o Socket é válido ClientConect(s); } WSACleanup(); return 0;}int ClientConect(SOCKET s){ NetworkMessage msg; if(!msg.ReadFromSocket(s)) // O Socket enviado num tá correto... MANDEO PARA O INFERNO! return 0; unsigned short ProtocolID = msg.GetU16(); msg.Reset(); // Muda a posição de escrita pra 2 (depois dos 2 bytes da length) if(ProtocolID == 0x0201) // O CVS me deu uma ajudinha aqui :X { msg.AddByte(0x14); std::stringstream motd; motd << "1"; motd << "\n"; motd << "Mensagem"; msg.AddString(motd.str()); msg.AddByte(0x64); // Box da lista de chars msg.AddByte(1); // Número de Chars msg.AddString("Kyo"); msg.AddString("OpenTibia"); msg.AddU32(HosterIP); msg.AddU16(7171); msg.AddU16(999); // Premmy Days /* // Como mandar uma mensagem de erro... msg.AddByte(0x0A); // mensagem de erro ( "Sorry" ) msg.AddString("Conexão Correta."); */ } else if(ProtocolID == 0x020A) // GameWorld Connect { msg.AddByte(0x0A); msg.AddU32(10);//id msg.AddByte(0x32); msg.AddByte(0x00); // Adding the Player to the Map msg.AddByte(0x64); // Position Code msg.AddU16(50); msg.AddU16(50); msg.AddByte(7); for (int x = 0; x < 18; x++) for (int y = 0; y < 14; y++) { msg.AddU16(102); // ID do chão if ((x == 8) && (y == 6)) // Posição do Player { msg.AddByte(0x61); msg.AddByte(0x00); msg.AddU32(0); // ? msg.AddU32(10); // ID do player msg.AddString("Kyo"); // Nome do Player msg.AddByte(50); // Porcentagem de vida msg.AddByte(2); // Direção msg.AddByte(128); // Looktype msg.AddByte(114); msg.AddByte(114); msg.AddByte(114); msg.AddByte(114); msg.AddByte(0x00); // Luz ? msg.AddByte(0xDC); // Luz ? msg.AddU16(300); // Velocidade } if ((x != 18) || (y != 14)) { msg.AddByte(0); msg.AddByte(0xFF); } } // Multi-lvl bytes msg.AddByte(0xFF); msg.AddByte(0xFF); msg.AddByte(0xFF); msg.AddByte(0xFF); msg.AddByte(0xFF); msg.AddByte(0xFF); msg.AddByte(0xFF); msg.AddByte(0xFF); msg.AddByte(0xFF); msg.AddByte(0xFF); msg.AddByte(0xFF); msg.AddByte(0xFF); // World Light Level msg.AddByte(0xE4); // TODO Light level msg.AddByte(0xFF); // TODO Light Color // Status msg.AddByte(0xA0); msg.AddU16(1000); msg.AddU16(1000); msg.AddU16(300); msg.AddU32(100); msg.AddByte(1); msg.AddU16(1000); msg.AddU16(1000); msg.AddByte(100); // Player Light Level msg.AddByte(0x82); //Light Code msg.AddByte(0x6F); //Light Level msg.AddByte(0xd7); //Light Color // Player Inventory msg.AddByte(0xA1); // Skills msg.AddByte(10); msg.AddByte(10); msg.AddByte(10); msg.AddByte(10); msg.AddByte(10); msg.AddByte(10); msg.AddByte(10); msg.WriteToSocket(s); msg.Reset(); // Muda a posição de escrita pra 2 (depois dos 2 bytes da length) } else { // Retorna o Protocolo que foi enviado em Hex std::cout << "Unknow Protocol connect where ID = "; for (int i=2*sizeof(ProtocolID) - 1; i>=0; i--) { std::cout << "0123456789ABCDEF"[((ProtocolID >> i*4) & 0xF)]; } std::cout << std::endl; } // Envia o Socket para o Cliente msg.WriteToSocket(s);} main.h #ifndef _MAIN_H_#define _MAIN_H_#include "winsock2.h"#include <iostream>#include <sstream>int HosterIP;int ClientConect(SOCKET s);#endif E o "NetworkMessage.cpp" e "NetworkMessage.h" vocês podem usar o do CVS team, ou podem aprimora-lo que nem eu fiz ( ty Vitor por tem me ajudado ) Caso alguem pergunte, a única coisa que vai precisar pra compilar é colocar no "Linker" isso : -lwsock32 Kyo~*
  • Quem Está Navegando   0 membros estão online

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