Mano,fiquei lendo o tutorial,no meio de tantas letra eu fiquei boiando asuahuhsuahs.
Mias tipo,ele copila uma versão que ainda não foi lançada?
Por Fusion32, 07 de jul. de 2008 em Tutoriais de Programação
Mano,fiquei lendo o tutorial,no meio de tantas letra eu fiquei boiando asuahuhsuahs.
Mias tipo,ele copila uma versão que ainda não foi lançada?
Editado Janeiro 8 por maligno
Ótimo , vlw
info
Grupo: Campones
Registrado: 16/06/07
Posts: 69
Reputação: +1
Char no Tibia: Conan Obarbaro

Muito Bom trabalho!!
info
Grupo: Conde
Registrado: 11/02/09
Posts: 559
Reputação: +7
Char no Tibia: Deep Druid

Brigadaoo Intendi Td Certinhu !!@@



Bom, após um tempo dando uma triste olhada nos tutoriais de compilação cheguei a conclusão de que nenhum está atual ou correto.
O tutorial explica corretamente como compilar um OTServ em mysql e sqlite (eu não sei usar pgsql ou odbc portanto nao vou explicar)
VIDEO: http://rapidshare.com/files/136634059/tutorial.rar.html
#1 09/09/2008 Atenção: apartir de hoje é EXTREMAMENTE necessario que a sua versão do boost seja atualizada. A versão mais recente ja esta nos arquivos para download e os linkers foram atualizados (!).
#2 12/09/2008 Atenção: eu atualizei os arquivos boost para uma VERSÃO STATIC, isto é, não será necessario o uso da dll do boost.
#3 10/12/2008 Atenção: não usem mais o AVESTA, ele ja foi adicionado completamente no TRUNK e por isso não será mais atualizado e sim o trunk.
Passo 1: Download dos arquivos
Eu juntei todas as livrarias e programas necessários e compactei-os em um só arquivo
Link: http://rapidshare.com/files/136870279/Dev-Cpp.rar.html
Passo 2: Preparando o Dev-Cpp
Primeiro instale o Dev-Cpp, instale todos os 'DevPak's e extraia o 'Boost', o 'lua-5.1' e o 'mysql 6.0' na pasta "C:\Dev-Cpp\".
Agora abra o Dev-Cpp, va em 'File' > 'New' > 'Project...' e em 'Name' ponha o nome que você quér para o projeto. Selecione 'Empty Project', 'C++ Project' e clique em 'Ok'.
Agora va em 'Project' > 'Project Options' > 'C++ compiler' e adicione o seguinte:
-D__DEBUG__WATINGLIST__ -D__DEBUG_PLAYERS__ -D__ENABLE_SERVER_DIAGNOSTIC__ -D__USE_LUALIBRARIES__ -D__SKULLSYSTEM__ -D__USE_MYSQL__ -D__USE_SQLITE__ -DXML_GCC_FREE -DBOOST_NO_EXCEPTIONS -D__OTSERV_ALLOCATOR__ -D__EXCEPTION_TRACER__
Agora em 'Project' > 'Project Options' > 'Linker' adicione o seguinte:
-llibxml2 -llua -llualib -lwsock32 -lsqlite3 -lmysql -lws2_32 -lasio -lboost_date_time -lboost_system -lboost_thread -lboost_regex -lgmp -s -Wl,-Map=otserv.map
E pronto o Dev-Cpp ja estará pronto para um projeto.
Passo 3: Preparando o Projeto
Primeiro de tudo você terá de decidir entre um OTServ ja pronto e que foi feito pro alguém ou começar o seu proprio OTServ (coisa que é mtu recomendada hoje em dia).
Caso você queria começar o seu proprio OTServ siga esse passos:
Baixe o Tortoise SVN: http://tortoisesvn.net/downloads
Agora faça o "Checkout" da seguinte maneira:
1º Crie uma pasta
2º Clique com o botão direito nela
3º Selecione "SVN Checkout"
4º Em 'URL Repository' ponha o seguinte endereço:
http://opentibia.svn.sourceforge.net/svnroot/opentibia/otserv/trunk/
5º Clique em 'Ok'
Agora de volta ao projeto, va em 'Project' > 'Add to Project' e va para a pasta onde tem os arquivos do OTServ e adicione todos os arquivos *.cpp e *.h. (agora caso você não defina pro exemplo __USE_DATABASETYPE__ o arquivo não será compilado e portanto nenhum arquivo precisa ser retirado) Caso dê erro, retire os arquivos databaseodbc e databasepgsql *.cpp *.h
Passo 4: Compilando o Projeto
Essa é a parte que eu mais gosto.
Aperte 'Ctrl+F9' para compilar ou aperte 'Ctrl+F11' para re-compilar tudo.
Fim
É isso pessoal. Caso ainda haja alguma duvida postem aqui que eu irei tentar resolve-la. Espero que com esse tutorial eu comece a ver mais servidores proprios e menos baseados em 'Evolutions'.
PS: dentre os arquivos que eu disponibilizei pra vocês ai, tem as DLLs que são necessárias para rodar o server.
tipo só uma duvida eu baxei um ot 8.4 e queria passa ele pra 8.41 ai andei pesquisando e me falaram que teria que compila ai achei esse tutorial mais não fala em nenhuma parte como que escolhe a versão, tipo eu não intendo muito então se puder responder eu agradeço
info
Grupo: Banidos
Registrado: 18/04/09
Posts: 16
Reputação: 0

Boa rapaz , parabéns pelo incrivel topico ![]()
info
Grupo: Campones
Registrado: 24/04/09
Posts: 1
Reputação: 0

muito bom
Não deu :X
In file included from ../Nova pasta/map.h:36,
from ../Nova pasta/creature.h:30,
from ../Nova pasta/player.h:25,
from ../Nova pasta/actions.cpp:23:
../Nova pasta/tools.h:24:27: libxml/parser.h: No such file or directory
In file included from ../Nova pasta/map.h:36,
from ../Nova pasta/creature.h:30,
from ../Nova pasta/player.h:25,
from ../Nova pasta/actions.cpp:23:
../Nova pasta/tools.h:46: error: `xmlNodePtr' was not declared in this scope
../Nova pasta/tools.h:46: error: expected primary-expression before "const"
../Nova pasta/tools.h:46: error: expected primary-expression before "int"
../Nova pasta/tools.h:46: error: initializer expression list treated as compound expression
../Nova pasta/tools.h:50: error: `xmlNodePtr' was not declared in this scope
../Nova pasta/tools.h:50: error: expected primary-expression before "const"
../Nova pasta/tools.h:50: error: expected primary-expression before '&' token
../Nova pasta/tools.h:50: error: `value' was not declared in this scope
../Nova pasta/tools.h:50: error: initializer expression list treated as compound expression
../Nova pasta/tools.h:51: error: `xmlNodePtr' was not declared in this scope
../Nova pasta/tools.h:51: error: expected primary-expression before "const"
../Nova pasta/tools.h:51: error: expected primary-expression before "float"
../Nova pasta/tools.h:51: error: initializer expression list treated as compound expression
../Nova pasta/tools.h:52: error: `xmlNodePtr' was not declared in this scope
../Nova pasta/tools.h:52: error: expected primary-expression before "const"
../Nova pasta/tools.h:52: error: expected primary-expression before '&' token
../Nova pasta/tools.h:52: error: `value' was not declared in this scope
../Nova pasta/tools.h:52: error: initializer expression list treated as compound expression
../Nova pasta/tools.h:53: error: `xmlNodePtr' was not declared in this scope
../Nova pasta/tools.h:53: error: expected primary-expression before '&' token
../Nova pasta/tools.h:53: error: `value' was not declared in this scope
../Nova pasta/tools.h:53: error: initializer expression list treated as compound expression
In file included from ../Nova pasta/creatureevent.h:26,
from ../Nova pasta/creature.h:36,
from ../Nova pasta/player.h:25,
from ../Nova pasta/actions.cpp:23:
../Nova pasta/baseevents.h:44: error: `xmlNodePtr' has not been declared
../Nova pasta/baseevents.h:44: error: ISO C++ forbids declaration of `p' with no type
../Nova pasta/baseevents.h:57: error: `configureEvent' declared as a `virtual' field
../Nova pasta/baseevents.h:57: error: expected `;' before '(' token
In file included from ../Nova pasta/creature.h:36,
from ../Nova pasta/player.h:25,
from ../Nova pasta/actions.cpp:23:
../Nova pasta/creatureevent.h:56: error: `xmlNodePtr' has not been declared
../Nova pasta/creatureevent.h:56: error: ISO C++ forbids declaration of `p' with no type
../Nova pasta/creatureevent.h:72: error: `configureEvent' declared as a `virtual' field
../Nova pasta/creatureevent.h:72: error: expected `;' before '(' token
In file included from ../Nova pasta/monster.h:26,
from ../Nova pasta/actions.cpp:24:
../Nova pasta/monsters.h:166: error: expected `;' before '(' token
../Nova pasta/monsters.h:170: error: expected `;' before '(' token
../Nova pasta/monsters.h:171: error: expected `;' before '(' token
In file included from ../Nova pasta/actions.cpp:25:
../Nova pasta/npc.h:514: error: expected `;' before '(' token
../Nova pasta/npc.h:515: error: expected `;' before '(' token
In file included from ../Nova pasta/spells.h:27,
from ../Nova pasta/actions.cpp:33:
../Nova pasta/actions.h:73: error: `xmlNodePtr' has not been declared
../Nova pasta/actions.h:73: error: ISO C++ forbids declaration of `p' with no type
../Nova pasta/actions.h:92: error: `configureEvent' declared as a `virtual' field
../Nova pasta/actions.h:92: error: expected `;' before '(' token
In file included from ../Nova pasta/spells.h:28,
from ../Nova pasta/actions.cpp:33:
../Nova pasta/talkaction.h:57: error: `xmlNodePtr' has not been declared
../Nova pasta/talkaction.h:57: error: ISO C++ forbids declaration of `p' with no type
../Nova pasta/talkaction.h:72: error: `configureEvent' declared as a `virtual' field
../Nova pasta/talkaction.h:72: error: expected `;' before '(' token
In file included from ../Nova pasta/actions.cpp:33:
../Nova pasta/spells.h:65: error: `xmlNodePtr' has not been declared
../Nova pasta/spells.h:65: error: ISO C++ forbids declaration of `p' with no type
../Nova pasta/spells.h:94: error: `configureEvent' declared as a `virtual' field
../Nova pasta/spells.h:94: error: expected `;' before '(' token
../Nova pasta/spells.h:97: error: expected `;' before "bool"
../Nova pasta/spells.h:114: error: expected `;' before '(' token
../Nova pasta/spells.h:171: error: `configureEvent' declared as a `virtual' field
../Nova pasta/spells.h:171: error: expected `;' before '(' token
../Nova pasta/spells.h:216: error: `configureEvent' declared as a `virtual' field
../Nova pasta/spells.h:216: error: expected `;' before '(' token
../Nova pasta/spells.h:253: error: `configureEvent' declared as a `virtual' field
../Nova pasta/spells.h:253: error: expected `;' before '(' token
../Nova pasta/actions.cpp:39:30: libxml/xmlmemory.h: No such file or directory
../Nova pasta/actions.cpp:103: error: `xmlNodePtr' has not been declared
../Nova pasta/actions.cpp:104: error: ISO C++ forbids declaration of `p' with no type
../Nova pasta/actions.cpp: In member function `virtual bool Actions::registerEvent(Event*, int)':
../Nova pasta/actions.cpp:110: error: `readXMLInteger' cannot be used as a function
../Nova pasta/actions.cpp:113: error: `readXMLInteger' cannot be used as a function
../Nova pasta/actions.cpp:116: error: `readXMLInteger' cannot be used as a function
../Nova pasta/actions.cpp: At global scope:
../Nova pasta/actions.cpp:522: error: `bool Action::configureEvent' is not a static member of `class Action'
../Nova pasta/actions.cpp:522: error: `xmlNodePtr' was not declared in this scope
../Nova pasta/actions.cpp:523: error: expected `,' or `;' before '{' token
make.exe: *** ["../Nova pasta/actions.o"] Error 1
Execução terminada
E agora?
info
Grupo: Campones
Registrado: 03/07/09
Posts: 3
Reputação: 0
Char no Tibia: draken85

Bom eu utilizo desde o começo microsoft C++ e queria saber se posso utiliza-lo?
Thxs a todos
Cara entra em contato comigo por favor o meu deu esse error
C:\Dev-Cpp\Makefile.win [build Error] ["../Documents and Settings/Nícolas/Meus documentos/OTI/actions.o"] Error 1
Cara no meu deu esse erro pode me ajudar ?
C:\Dev-Cpp\Makefile.win [build Error] ["../Documents and Settings/Nícolas/Meus documentos/OTI/actions.o"] Error 1
info
Grupo: Campones
Registrado: 11/04/08
Posts: 27
Reputação: 0
Char no Tibia: Herculles

Gostei vai ajudar muitas pessoas com esse tutorial
Continue sempre ajudando os xtibiano
Obrigado por trazer perfeito esse tutorial pro xtibia.
![]()
Vlw ai cara mas no final parece que o tutorial vai fica por aqui mesmo né..... E eu posso te afirmar que é o unico tutorial aqui que vai funciona com as ultimas revisoes do OpenTibia mas como ninguém qué sabe de compila server.....
que nada mano eu adooro compilar vou testar agora com esse teu tuto até agora n deu nada certo aUHuhuhu... ;D
muito bom teu tutorial parabéns!
mais ae ele funciona com a nova versão 8.5?
Tem umas coisas erradas nas sources do opentibia por isso que não está compilando... Tentem tirar isso do pré-processor:
-D__ENABLE_SERVER_DIAGNOSTIC__ -DXML_GCC_FREE
info
Grupo: Campones
Registrado: 13/11/09
Posts: 6
Reputação: 0
Char no Tibia: Xyeh

legal....
estou tentando aki, tomara q num de erro ![]()
info
Grupo: Campones
Registrado: 07/01/06
Posts: 86
Reputação: +1
na casa do caralho