Welcome to xTibia - Sua comunidade de Otserv e Tibia

Registre-se para utilizar nossas ferramentas e baixar conteúdos. Quando registrado e logado em sua conta, lhe garantimos uma experiência incrível em nossa comunidade!

Jovial

Tutorial De Luasql

20 posts neste tópico

Postado (editado)

[center][color="red"][size=7]Tutorial de LuaSQL[/size][/color]
[size=1]Créditos: Jovial[/size][/center]

Olá pessoal, estou aqui para ensinar um pouco de LuaSQL para vocês. Este tutorial foi feito por mim, Palmares me deu uma mão no fim, procurando erros. Espero que eu consiga explicar bem, para entender melhor o tutorial leia um tutorial ensinando os comandos de SQL(INSERT, CREATE, UPDATE, etc.).
Não são todos os servers que possuem o LuaSQL, você pode usar o Forgotten Server.

Para ver este tutorial em forma de imagem [url="http://img114.imageshack.us/img114/4632/tutorialluasqlsr7.jpg"]clique aqui[/url].


[size=5][color="blue"]O que é LuaSQL?[/size][/color]
LuaSQL é uma interface simples entre Lua e um sistema gerenciador de banco de dados (DBMS). Ela permite que um programa Lua:
* Conecte-se aos bancos de dados ODBC, ADO, Oracle, MySQL, SQLite, JDBC e PostgreSQL;
* Execute comandos arbritários do SQL;
* Recupere resultados no modo linha-a-linha de um cursor SQL.
LuaSQL é um software livre e utiliza a mesma licença do Lua 5.0.
Manual: [url="http://www.keplerproject.org/luasql/br/manual.html"]

Registre-se para ver link(s).



[color="blue"][size=5]Conexão[/size][/color]

Antes de você adicionar/modificar informações no seu banco de dados, você precisa se conectar a ele, primeiro tempos que criar o 'ambiente' de conexão, onde você ira definir que tipo de banco de dados está usando, Exemplo.
[code]assert(luasql.mysql()) para MySQL
assert(luasql.sqlite3()) para SQLite[/code]
Para fazer a conecção temos que salvar esse 'ambiente' em uma variável, Exemplo.
[code]environment = assert(luasql.mysql())
ou
environment = assert(luasql.sqlite3())[/code]
A função para se conectar com o banco de dados tem a seguinte sintaxe:
[code]connection = assert(environment:connect(mysqlDatabase, mysqlUser, mysqlPass, mysqlHost, mysqlPort)) para MySQL
ou
connection = assert(environment:connect(sqliteDatabase)) para SQLite[/code]
Como vocês podem ver, no exemplo acima eu 'guardei' a conexão em uma variável chamada 'connection', para poder executar os comandos depois.

[color="blue"][size=5]Variáveis da conexão em Mysql[/size][/color]

Como vocês podem ver na conexão com MySQL Precisamos saber 5 coisas mysqlDatabase, mysqlUser, mysqlPass, mysqlHost e mysqlPort.
[code]mysqlDatabase é o Banco o nome do Banco de Dados que você deseja usar, Exemplo: o Forgotten Server usa o 'theforgottenserver'(se você não alterou).
mysqlUser é o usuário usado para se conectar com o MySQL, geralmente é 'root'.
mysqlPass é a senha usada para a conexão com o Mysql.
mysqlHost é o ip de onde se encontra o servidor de MySQL, como ele deverá estar no seu computador deixe como 'localhost'.
mysqlPort é a porta usada para a conexão com o MySQL, use a porta '3306'.
Ficando:
connection = assert(environment:connect('theforgottenserver', 'root', 'minha senha', 'localhost', 3306))[/code]

[color="blue"][size=5]Variáveis da conexão em SQLite[/size][/color]

Para criar uma conexão só é preciso saber o sqliteDatabase, que no forgotten server é 'forgottenserver.s3db', como podem ver, é o nome do arquivo que ira abrigar o banco de dados.
Ficando:
[code]connection = assert(environment:connect('forgottenserver.s3db'))[/code]

[color="blue"][size=5]Finalizando uma conexão[/size][/color]

Para finalizar uma conexão você precisa usar os seguintes comandos:
[code]connection:close() para fechar sua conexão(troque connection pela variável que você armazenou sua conexão)
e
environment:close() para fechar seu 'ambiente' de conexão(troque environment pela variável que você armazenou seu 'ambiente')[/code]

[color="blue"][size=5]Executando comandos[/size][/color]

Para executar algum comando SQL em lua usamos uma função com a seguinte sintaxe:
[code]assert(connection:execute('Comando SQL'))[/code]
Exemplo:
[code]assert(connection:execute("INSERT INTO `accounts` (`id`, `password`, `type`, `premdays`) VALUES ('222222', 'tibia', '1', '365');"))
Isto irá criar uma conta 222222/tibia do tipo 1(conta normal) com 365 dias de premium.[/code]

[color="blue"][size=5]Pegando informações[/size][/color]

Para pegar alguma informação de seu banco de dados você precisará salvar seu comando em uma variável, Exemplo:
[code]cursor = assert(connection:execute("SELECT `password` FROM `accounts` WHERE `id` = '222222';"))
Nesse caso coloquei um comando que ira pegar o valor de 'password' na tabela accounts onde o id(numero da conta) for 222222.[/code]
Agora para pegar informações dessa variável, no caso 'cursor', você ira ter que usar algumas funções como:
[code]numrows() Retorna: o número de registros no resultado da busca.
fetch() Recupera o próximo registro do resultado.[/code]
Você ira ver como usá-los logo abaixo nos exemplos.

[color="blue"][size=5]Exemplos[/size][/color]

TalkAction que cria account.
Tag: <talkaction words="/createacc" script="account.lua"/>
Modo de usar: Dizer '/createacc "222222/tibia' isso irá criar uma conta 222222/tibia
[code]function onSay(cid, words, param)
--TalkAction by Jovial
if (getPlayerAccess(cid) > 3) then
tmp,tmp2,acc,pass = string.find(param,'(%d*)/(%w*)')
--Esta linha acima pega os valores digitados na fala do player e separa eles em account e senha.
--Tutorial de patterns em ingles: http://lua-users.org/wiki/PatternsTutorial
if (acc ~= nil and pass ~= nil) then
environment = assert(luasql.mysql())
--Criamos um ambiente de conexão
connection = assert(environment:connect('theforgottenserver', 'root', 'minha senha', 'localhost', 3306))
--Agora nos conectamso com o MySQL (não esqueça de colocar sua senha acima)

ccursor = assert(connection:execute("SELECT * FROM `accounts` WHERE `id` = `"..acc.."`;"))
--Esta linha seleciona os valores da tabela accounts onde o id(numero da conta) for igual ao que você digitou, para verificar se a conta existe.

if (cursor:numrows() == 0) then
--cursor:numrows() retorna a quantidade de resultados, neste caso se eel retornar mais de 0 é porque a conta ja existe, se retornar 0 ela não existe.
assert(connection:execute("INSERT INTO `accounts` (`id`, `password`, `type`, `premdays`) VALUES ("..acc..", "..pass..", 1, 0);"))
--Aqui ele ira criar a nova conta.
doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_RED,words..' "'..param..' (Account created.)')
else
doPlayerSendCancel(cid,'This account already exists.')
doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_RED,words..' "'..param..' (This account already exists.)')
end

connection:close()
--Fechando a conexão
environment:close()
--Fechando o ambiente de conexão
else
doPlayerSendCancel(cid,'Invalid account or password.')
doPlayerSendTextMessage(cid,MESSAGE_STATUS_CONSOLE_RED,words..' "'..param..' (Invalid account or password.)')
end
else
doPlayerSendCancel(cid,'You can not use this command.')
end
return FALSE
end[/code]

Rank por action.
Tag: <action itemid="id do item desejado" script="Rank.lua"/>
[code]function onUse(cid,item,frompos,item2,topos)
--Action by Jovial
local nomes = {}
local level = {}

environment = assert(luasql.mysql())
--Criamos um ambiente de conexão
connection = assert(environment:connect('theforgottenserver', 'root', 'minha senha', 'localhost', 3306))
--Agora nos conectamos com o MySQL (não esqueça de colocar sua senha acima)
cursor = assert(connection:execute("SELECT `name`,`level` FROM `players` ORDER BY `level` DESC LIMIT `0`, `10`;"))
--Aqui peguei os valores 'name' e 'level' dos 10 players com maior level, agora tenho que passar esse valor para uma tabela para que eu possa usá-los

--By Palmares
row = cursor:fetch ({}, "a")
--A variável 'row' virou uma tabela contendo os valores do primeiro player(o com level mais alto)
while row do
--Irá repetir enquanto existir valores em 'row'
table.insert(nomes, row.name)
--Irá adicionar o valor contido em 'row.name' que é o nome de um player na tabela nomes
table.insert(level, row.level)
--Irá adicionar o valor contido em 'row.level' que é o level de um player na tabela level
row = cursor:fetch(row, "a")
--Irá pegar os valores do próximo player
end
--/By Palmares

connection:close()
--Fechando a conexão
environment:close()
--Fechando o ambiente de conexão

msg = tableToList(nomes,level)
--Função criada por mim para passar os valores coletados para uma lista
doPlayerPopupFYI(cid, msg)
--Irá abri uma janela para o player, que irá mostrar o rank

return TRUE
end

function tableToList(nomes,level)
--Function by Jovial
local tmp
local str = ''

for tmp = 1,#nomes do
if (str == '') then
str = nomes[tmp]..'['..level[tmp]..']'
else
str = str .. '\n'..nomes[tmp]..'['..level[tmp]..']'
end
end
return str
end[/code]
Espero que vocês gostem! Qualquer dúvidas poste aqui.
Se achar algum erro no tutorial me avise, pois ele é bem grande e pode ter passado algo despercebido.

Abraço;

Jovial. Editado por Jovial

Compartilhar este post


Link para o post
Compartilhar em outros sites
Aprovado jovis...
xD...
bah me disculpa intrometer como voce é preguissoso e nao quer botar dai os noob vao se ###### vao chorar e vao para de programar porque não consegue ahesues :D.

[size=5]
Para fazer o query selecionar uma coluna ou tabela é usado ASSENTO ` NÂO AS ' << aspinha:
exemplo para notar:
("SELECT `rank_id` FROM `players` WHERE `name` = " .. p_name .. ";)
onde uma var é normal em todo lua.
:P
[/size]

Compartilhar este post


Link para o post
Compartilhar em outros sites
[b]@Jovial
@Palmares_[/b]
Legal ver vocês aqui.

Tomara que queiram fazer parte da familia XTibia

Ótimo tutorial

[b][size=5][color="#9ACD32"]SUPER APROVADO[/color][/size][/b]


Ps.: Se tiverem contato com
[quote][color="#FF0000"][b][V][/b][/color]Dragonheart[/quote]
PLX... peçam pra ele vir aqui no XTibia também

[img]http://www.mwr4ever.com.br/sapo/smile_bye.gif[/img]

Compartilhar este post


Link para o post
Compartilhar em outros sites
Fou falar pro Dragonheart aparecer por aki =D

Compartilhar este post


Link para o post
Compartilhar em outros sites
[quote name='Jovial' post='401302' date='15:54 - 11/10/2007 ']Fou falar pro Dragonheart aparecer por aki =D[/quote]
[img]http://i94.photobucket.com/albums/l99/iluminado_2006/aplauso.gif[/img]

[size=5]Te amuuuuuuuuuuuu[/size]

[img]http://www.mwr4ever.com.br/sapo/XTibia_smile.gif[/img]

Compartilhar este post


Link para o post
Compartilhar em outros sites
Muito bom tutorial, eu até leria, se não soubesse, como já sei tudo disso, só me resta comentar. :P

Compartilhar este post


Link para o post
Compartilhar em outros sites
s tambem gostei muito bem explicado e bem detalhado vlw ^^!

Compartilhar este post


Link para o post
Compartilhar em outros sites
@Jovial(pelo tuto) e Nostradamus(por participar da xfusion)
No site criado pela exfusion projects ele se conecta a database "otserv"(axo que é essa).
Pelo que vi, ele só funciona em SQL, para usa-lo em SQLite como faço???

É só mudar o modo de conecção e etc??
E como coloco uma DB de SQLite pra rodar em server(com o que o site se conecta),
pelo que sei, ele não precisa de um servidor separado.

Já que estamos em uma era de readaptaçoes, eu axo que seria bem melhor
esquecer-mos o SQL e ficar apenas com SQLite, poi eh bem mais pratico ;)

Grato, KingCPI

Compartilhar este post


Link para o post
Compartilhar em outros sites
Simplesmente formidável.

Tutorial com certeza aprovado e fixado ;D

Parabéns Jovial e palmares.

Está [img]http://www.xtibia.com/forum/style_images/skinoficia/rating_5_mini.gif[/img]


Sem mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites
@KingCPI
Eu não troco o tradicional mysql pelo sqlite, acho o mysql muito bom e mais prático, posso fazer oque eu quiser de qualquer lugar do mundo =D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora

  • Conteúdo Similar

    • Por Yordashe
      Contamos com orgs novas,:

      Sistemas de Teleport para: Minato Sensei, Yondaime, Madara, Izuna, Kakashi Sensei, Kakashi Anbu, Danzou e Tobi Rinnegan.
      Sistama de Kawarimi, mapa modificado, com MVP's espalhados pelo mapa, e muitos eventos. 

      7 Espadachins da Nevoa
      Rikudou Sennin
      E muito mais, só entrando para conferir 

      SANNIN's :
      Tsunade
      Jiraya
      Orochimaru
      (Reformulado)

      Senseis :
      Kurenai
      Anko
      Pakura (Sensei e Heroi da vila da Areia)
      Kakashi (ANBU)
      Kakashi Sensei

      Clans:

      Uchiha 3 tipos = Obito, Itachi e Sasuke
      Killer Bee (em Kumogakure)
      Yahiko, Konan e Nagato (Ainda em andamento)

      Vilas :
      Examine suas vilas, atalhos, porque após o test server, 
      apenas Mist, pela sua distancia terá teleport para Konoha,
      Quests Novas pelo mapa.

      SITE : narutowarriorlegends.tumblr.com || Site com todo o conforto para vocês players. lá vocês podem ver todas as novidades de nosso otserver.

      ---------------LEIA-------------


      Agora contamos com um sistema chamado CHARACTER WEEK. mas ADM Rikudou oque é isso ?

      Simples, bem simples no site TODA semana terá uma enquete e nela terá 3 personagens em que vocês vão votar em um deles
      o personagem mais votado iremos cria-lo.

      Mas como vamos pegar o personagem? Bem simples também, logo a votação dos personagens na mesma semana da escolha, o personagem mais votado poderá ser pego em um evento onde TODOS podem participar sem exceção de level. e não se preocupem o evento será elaborado para que todos os participantes do evento tenham uma mesma e única chance de ganhar.

      --------Importante------
      Client Próprio para não tomar Debug
      Registre-se para ver link(s).

       
      Aguardamos todos vocês!!
    • Por luciano0223
       Bom dia, boa tarde ou boa noite para vocês pessoal !!
       
       
      Venho aqui apresentar um trabalho que estou tentando formar mas com muito sacrifício e com o grande problema de ser leigo no quesito "programação". Porém, eu tenho algo muito melhor q isso, imaginação.
       
      Enfim, chega de falar de pontos negativos! Vamos mostrar a parte bonita da historia!
       
      Eu sempre quis um jogo onde a base fosse igual a tibia ( que eu sempre achei muito perfeito) mas com uma jogabilidade diferente, com opções beirando ao infinito. Foi assim que Elsun começou. Sendo meio ruim na questão programação (tá já entendi), eu tentei buscar e pedir várias scripts e fui colocando dentro do jogo. Porém é muito grande para uma pessoa só, então venho aqui procurar grandes guerreiros que desejam participar do meu grupo, da minha historia.
       

       
       
      Um pouco do jogo.
      As Vocações
       
      Humanos:




      Os humanos é a raça mais presente dentro do jogo. Suas incríveis capacidades de aprendizagem fizeram com que eles aperfeiçoassem vários tipos de artes e magias.

      Knight:


      Registre-se para ver link(s).


      São cavaleiros que além de ter força física e aguentar muito dano também são favorecidos por uma magia unica, magia divina.

       Outfit Inicial:

      Outfit Final: 

       

       

       Assassin:

      Registre-se para ver link(s).


      Uma classe que se esconde facilmente durante uma batalha. Ótima para pegar os inimigos desprevinidos!

      Outfit Inicial: 

       

      Outfit Final: 

       

      Sorcerer:

       



      Os grandes magos, que estudam muito para serem fortes e resistentes. Não é nada fácil a vida de um mago, porém isso faz com que eles sejam sempre muito sábios para tomar uma boa decisão!

      Outfit Inicial: 

       

      Outfit Final: 

       

      Druid:

       

      Registre-se para ver link(s).


       

      Os magos que defendem as florestas e seus animais. Fazem um pacto com especies diferentes e podem se transformar nelas e ganham os aspectos delas aumentados por causa do seu magic level, como a defesa de um urso, a velocidade de um tigre, a força de um lobo...

      Outfit Inicial: 

       

      Outfit Final: 

       

      Summoner:

      Registre-se para ver link(s).


      Ao contrário dos druids, que usam os animais, essa classe usa os elementos forçando-os a ajuda-los. Onde eles sumonam até 3 monstros elementais e controlam-os e curam-os. Não usa nem um tipo de arma, apenas shields ou spellbooks. Os elementais ficam mais fortes ou mais tanks, de acordo com o quanto ele upe eles com pedras especificas!

       

      Outfit Inicial: 

       

      Outfit Final: 

       

      Hunter:

       

      Registre-se para ver link(s).


       

      Amantes da tecnologia, essa classe usa tanto adagas quanto arco e flecha. Possuem pets bem treinados que compram nos melhores pet's shops. Diferente dos monstros sumonados pelo Summoner, esses pet's também possuem leveis.

      Outfit Inicial: 

       

      Outfit Final: 

       

      Priest:

       



       

      Grandes sacerdotes da paz, que ajudam seus companheiros curando-os e salvando-os de si mesmos. Porém, a guerra sempre andou próximo da maldição, por isso essa classe também pode ser corrompida.

      Outfit Inicial: 

       

      Outfit Final: 

       

      Barbarian:



       

       

      Uma classe muito brutal, dificilmente terá piedade dos seus inimigos. Possuem uma força absurda, além de magias que são esteroides para eles, ajudando a cura-los ou aumentando as suas forças! 

      Outfit Inicial: 

       

      Outfit Final: 

       

      Warrior:

      Registre-se para ver link(s).


       

      Diferentemente do Knight, os Warriors não possuem magias que os ajudem na batalha. Mas, não quer dizer que sejam mais fracos. Possuem uma imensa força, além de uma defesa surreal. Suas únicas magias são para ajudar o seu time e para aumentar seu ataque e sua defesa.

      Outfit Inicial: 

       

      Outfit Final: 

       

      Wizard:

       



       

      Diferentemente dos Sorcerers, essa classe já nasceu com o incrível dom da magia. Eles não precisaram estudar anos para aperfeiçoa-la, nem usar objetos para deixa-la mais forte. Porém, há uma maldição que corre no sangue dessa classe e quase sempre não acaba bem! 

      Outfit Inicial: 

       

      Outfit Final: 

         
       
      O Cliente
       
       
      Com base no otclient o cliente vai ser mais parecido com o cliente do tibia 11.0. Com alguns sistemas para as nossas áreas de pvp e jogos. Além de vários outros sistemas que só o Otclient disponibiliza 
      Registre-se para ver link(s).
       

       
       
       
       
       
      Sistemas para deixar o jogo menos cansativo:
      pvp:
       

       
      Além do pvp normal nas cidades/caves/estradas, como no wow, o meu jogo também existiria um sistema "player vs. player" com base no battlefield ou algo parecido.
      No otc com um botão você esperaria numa fila até juntar as 30 pessoas +ou- (você entra num chat onde conversa com outras pessoas na fila e/ou dentro do jogo e nesse chat avisa quantas pessoas faltam para jogar)
      Com premiações de xp e gold! Otima forma para farmar
       
       
       
       
      Dugeons:

      Dugeons são tipo umas quests, locais onde só pode entrar com time. Nessas dugeons aparece monstros mais fortes (elite e até lendários) e com muita quantidade deles.
       
       
       
      Tipos de monstros:

       
       Existem 3 tipos do mesmo monstro.
      Os comuns que são os normais
       
      Os de elite (mais fortes e mais mais agressivos, até mesmo com sua própria raça)
      Antes do nome vem (elite) e com a skull white 
      Ex : (elite) rotworm
       
      Os lendários (os monstros do tipo mais forte que existe, dependendo do monstro, é melhor chamar uma equipe para enfrentá-los)
      Antes do nome vem (legendary) e com a skull black 
      Ex : (legendary) rotworm
       
       Esses monstros são bem mais comuns em dugeons. Porém, eles podem aparecer aleatoriamente também.
       
       
       
       
      Além do enorme número de vocações, pretendo também acrescentar alguns items, alguns já tenho preparado:
                      
       
       
       
      Sou bom em fazer scripts e consigo manipular bem o Otclient.
       
      Preciso de:
      Mappers
      Scripters
      Spriters
      Websiters
       
      Enfim, sei que é muita loucura. Mas também sei que é possível com uma equipe boa. Se alguém estiver interessado responda nesse tópico que eu entro em contato ! 
       
       

      Registre-se para ver attachment(s).
       

      Registre-se para ver attachment(s).
    • Por thiagozika157

      Olá Xtibianos estou trazendo um novo Update do Real Server que eu sempre estou modificando corrigindo erros, adicionando novos sistemas


      entre outras coisas bom ae galera esta ae o novo Update com varios erros corrigidos Real Server modificado.



      O que mudou 1.1 Version- 1.2 Version?


      Bom foram feitas muitas modificações.


      Foi Adicionado System de não falar palavrão em que o char é multado por 1º min sem chat.


      (Créditos pelo Script Doidin)


      Foi Removido o System de Kick dos trainers.


      Nova Area de trainers ficou mais agradavel.


      Foi adicionado tubarões nos barcos de carlin.


      Foi removido o maior bug de mapa do servidor o de "calassa".


      Foi removido varios bug's de mapa.


      Foi adicionado uma mini ilha ao lado no Barco vip de carlin.


      Foi adicionado em carlin o NPC de teletransport VIP ao lado do barco de carlin.


      o NPC de teletransport VIP de thais continua no mesmo lugar até a proxima atualização.


      Foi modificadas as Potions estão healando balanceadamente.


      Itens VIP com os no de VIP mesmo exemplo: VIP Sword.


      Foi modificado o tanto que você ganha de exp de um player quando voce o killa para: 0.1 %


      Foi modificado a Config.lua em alguns lugares como mostra o Spoiler abaixo.



      Registre-se para ver spoiler(s).

    • Por luciano0223
      Boa noite galera !
       
      Eu venho hoje apresentar para vocês um projeto para vocês de um novo ot com uma jogabilidade única.

       
      Esse jogo ira contar com tudo de bom que existe (ou existiu) no tibia. Porém, com uma jogabilidade mais diferente e com um estilo mais puxado para jogos rpg's de grande escala.
       
       
      Primeiro o Cliente
       
       
      Com base no otclient o cliente vai ser mais parecido com o cliente do tibia 11.0. Com alguns sistemas para as nossas áreas de pvp e jogos. Além de vários outros sistemas que só o Otclient disponibiliza 
      Registre-se para ver attachment(s).
       
       
       
       
       
       
      As Vocações
       
      Humanos:




      Os humanos é a raça mais presente dentro do jogo. Suas incríveis capacidades de aprendizagem fizeram com que eles aperfeiçoassem vários tipos de artes e magias.

      Knight:


      Registre-se para ver link(s).


      São cavaleiros que além de ter força física e aguentar muito dano também são favorecidos por uma magia unica, magia divina.

       Outfit Inicial:

      Outfit Final: 

       

       

       Assassin:

      Registre-se para ver link(s).


      Uma classe que se esconde facilmente durante uma batalha. Ótima para pegar os inimigos desprevinidos!

      Outfit Inicial: 

       

      Outfit Final: 

       

      Sorcerer:

       



      Os grandes magos, que estudam muito para serem fortes e resistentes. Não é nada fácil a vida de um mago, porém isso faz com que eles sejam sempre muito sábios para tomar uma boa decisão!

      Outfit Inicial: 

       

      Outfit Final: 

       

      Druid:

       

      Registre-se para ver link(s).


       

      Os magos que defendem as florestas e seus animais. Fazem um pacto com especies diferentes e podem se transformar nelas e ganham os aspectos delas aumentados por causa do seu magic level, como a defesa de um urso, a velocidade de um tigre, a força de um lobo...

      Outfit Inicial: 

       

      Outfit Final: 

       

      Summoner:

      Registre-se para ver link(s).


      Ao contrário dos druids, que usam os animais, essa classe usa os elementos forçando-os a ajuda-los. Onde eles sumonam até 3 monstros elementais e controlam-os e curam-os. Não usa nem um tipo de arma, apenas shields ou spellbooks. Os elementais ficam mais fortes ou mais tanks, de acordo com o quanto ele upe eles com pedras especificas!

       

      Outfit Inicial: 

       

      Outfit Final: 

       

      Hunter:

       

      Registre-se para ver link(s).


       

      Amantes da tecnologia, essa classe usa tanto adagas quanto arco e flecha. Possuem pets bem treinados que compram nos melhores pet's shops. Diferente dos monstros sumonados pelo Summoner, esses pet's também possuem leveis.

      Outfit Inicial: 

       

      Outfit Final: 

       

      Priest:

       



       

      Grandes sacerdotes da paz, que ajudam seus companheiros curando-os e salvando-os de si mesmos. Porém, a guerra sempre andou próximo da maldição, por isso essa classe também pode ser corrompida.

      Outfit Inicial: 

       

      Outfit Final: 

       

      Barbarian:



       

       

      Uma classe muito brutal, dificilmente terá piedade dos seus inimigos. Possuem uma força absurda, além de magias que são esteroides para eles, ajudando a cura-los ou aumentando as suas forças! 

      Outfit Inicial: 

       

      Outfit Final: 

       

      Warrior:

      Registre-se para ver link(s).


       

      Diferentemente do Knight, os Warriors não possuem magias que os ajudem na batalha. Mas, não quer dizer que sejam mais fracos. Possuem uma imensa força, além de uma defesa surreal. Suas únicas magias são para ajudar o seu time e para aumentar seu ataque e sua defesa.

      Outfit Inicial: 

       

      Outfit Final: 

       

      Wizard:

       



       

      Diferentemente dos Sorcerers, essa classe já nasceu com o incrível dom da magia. Eles não precisaram estudar anos para aperfeiçoa-la, nem usar objetos para deixa-la mais forte. Porém, há uma maldição que corre no sangue dessa classe e quase sempre não acaba bem! 

      Outfit Inicial: 

       

      Outfit Final: 

         
       
      Sistemas para deixar o jogo menos cansativo:
      pvp:

       
      Além do pvp normal nas cidades/caves/estradas, como no wow, o meu jogo também existiria um sistema "player vs. player" com base no battlefield ou algo parecido.
      No otc com um botão você esperaria numa fila até juntar as 30 pessoas +ou- (você entra num chat onde conversa com outras pessoas na fila e/ou dentro do jogo e nesse chat avisa quantas pessoas faltam para jogar)
      Com premiações de xp e gold! Otima forma para farmar
       
       
       
       
      Dugeons:

      Dugeons são tipo umas quests, locais onde só pode entrar com time. Nessas dugeons aparece monstros mais fortes (elite e até lendários) e com muita quantidade deles.
       
       
       
      Tipos de monstros:

       
       Existem 3 tipos do mesmo monstro.
      Os comuns que são os normais
       
      Os de elite (mais fortes e mais mais agressivos, até mesmo com sua própria raça)
      Antes do nome vem (elite) e com a skull white 
      Ex : (elite) rotworm
       
      Os lendários (os monstros do tipo mais forte que existe, dependendo do monstro, é melhor chamar uma equipe para enfrentá-los)
      Antes do nome vem (legendary) e com a skull black 
      Ex : (legendary) rotworm
       
       Esses monstros são bem mais comuns em dugeons. Porém, eles podem aparecer aleatoriamente também.
       
       
       
      Enfim, esses são apenas uns dos muitos casos desse jogo. Porém, como vcs devem imaginar, eu estou com muitas dificuldades e se quiserem montar uma staff comigo para ajudar a criação desse novo jogo mandem pm ou escrevam no post na formação de equipes !
       
       
       

      Registre-se para ver link(s).