honux
Campones-
Total de itens
71 -
Registro em
-
Última visita
Sobre honux
Informações
-
Forma que conheci o xTibia
Sites de Busca
-
Sou
Não Informado
Últimos Visitantes
2932 visualizações
honux's Achievements
-
Você faz sprites ?quanto cobra? Gostaria de um spriter , para desenhar outfits de tibia, no tema de animes. ex: dbz
-
deivisonamorim começou a seguir honux
-
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.
-
@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
-
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...
-
Boa kra ^^ mais já existe um programa que faz download ._. PS Não confundam a versão do SVN com a do CVS
-
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...
-
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...
-
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.
-
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...
-
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.
-
@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~
-
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~
-
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
-
@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>
-
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.