[ALL]Escolhendo Servidor [Funcionado ]
+5
Thales12
hardsfree
Karlos
Lendário
Rio Absolut
9 participantes
MMORPG Brasil :: OPEN SOURCE ENGINES :: Outras Engines :: Elysium :: Tutoriais
Página 1 de 1
[ALL]Escolhendo Servidor [Funcionado ]
Esse código é indicado para quem tem dois IPs diferentes em dois servidores e quer fazer com que o jogador escolha algum dos servidores para jogar.
Atenção: esse código não é de integração de servidores.
Dificuldade: 1/5
Crie um arquivo chamado servidores.ini e coloque o seguinte código lá:
Mude o "#" pelo número do servidor (exemplo: se o número acima for [SERVER3], esse será [SERVER4]. Comece pelo SERVER0 e coloque quantos bem entender).
Bom, vá ao VB6, crie um form chamado frmEServer e crie uma listbox chamada lstServer. Faça também dois botões, um chamado de cmdOk e o outro de cmdCancelar (acho que dá pra entender o que cada um vai fazer, só pelo nome ).
Bom, procure pelo Sub Main() e mude:
Para:
Adicione isso próximo ao topo do Sub Main():
Vá ao frmEServer, na parte de código, e insira o seguinte código:
Perto do topo do modGameLogic, adicione:
No sub HandleData, em qualquer lugar (modClientTCP), adicione:
Finalmente vá ao menu e delete a label "Escolher IP" ;P.
~ Server-Side
Ache
Abaixo, adicione:
Crie um novo módulo chamado modINI e coloque o seguinte código:
Código:
Creditos : Eu que desemvolvi o Progama , na MMODEV tem 1 parecido com esse nunca testei esse eu peguei de 1 amigo que encinou qualquer duvida poste !
Atenção: esse código não é de integração de servidores.
Dificuldade: 1/5
Crie um arquivo chamado servidores.ini e coloque o seguinte código lá:
- Código:
Código:
[SERVER#]
Nome=
IP=
Porta=
Mude o "#" pelo número do servidor (exemplo: se o número acima for [SERVER3], esse será [SERVER4]. Comece pelo SERVER0 e coloque quantos bem entender).
Bom, vá ao VB6, crie um form chamado frmEServer e crie uma listbox chamada lstServer. Faça também dois botões, um chamado de cmdOk e o outro de cmdCancelar (acho que dá pra entender o que cada um vai fazer, só pelo nome ).
Bom, procure pelo Sub Main() e mude:
- Código:
Código:
frmMainMenu.Visible = True
Para:
- Código:
Código:
Call SetStatus("Checando o status dos servidores'...")
frmEServer.Show
Adicione isso próximo ao topo do Sub Main():
- Código:
Código:
If FileExist("servidores.ini") = False Then
WriteINI "SERVER0", "Nome", "Server 0", App.Path & "\servidores.ini"
WriteINI "SERVER0", "IP", "127.0.0.1", App.Path & "\servidores.ini"
WriteINI "SERVER0", "Porta", "4000", App.Path & "\servidores.ini"
End If
Vá ao frmEServer, na parte de código, e insira o seguinte código:
- Código:
Código:
Option Explicit
Dim GAME_IP As String, GAME_PORT As Long
Private Sub cmdCancel_Click()
Call GameDestroy
End Sub
Private Sub cmdOk_Click()
If lstServers.ListCount <= 0 Then Exit Sub
GAME_IP = ReadINI("SERVER" & lstServers.ListIndex, "IP", App.Path & "\servidores.ini")
GAME_PORT = Val(ReadINI("SERVER" & lstServers.ListIndex, "PORTA", App.Path & "\servidores.ini"))
Me.Caption = "Escolhedor de Servidores - Checando Status..."
If CheckServerStatus = False Then
Me.Caption = "Escolhedor de Servidores - Servidor Desligado!"
cmdOk.Enabled = True
Exit Sub
End If
cmdOk.Enabled = True
Me.Caption = "Escolhedor de Servidores - Conectado!"
frmMirage.Socket.Close
frmMirage.Socket.RemoteHost = GAME_IP
frmMirage.Socket.RemotePort = GAME_PORT
frmMainMenu.Show
Unload Me
End Sub
Private Sub Form_Load()
Dim FileName As String
Dim i As Long, c As Long
On Error Resume Next
frmServerChooser.Visible = True
FileName = App.Path & "\servidores.ini"
i = 0
c = 0
CHECK_WAIT = False
lstServers.Clear
cmdOk.Enabled = False
Me.Caption = "Escolhedor de Servidores - Checando os status dos servidores'..."
Do Until c = 1
DoEvents
If CHECK_WAIT = False Then
If ReadINI("SERVER" & i, "IP", FileName) <> "" And ReadINI("SERVER" & i, "PORTA", FileName) <> "" Then
GAME_IP = ReadINI("SERVER" & i, "IP", FileName)
GAME_PORT = Val(ReadINI("SERVER" & i, "PORTA", FileName))
If CheckServerStatus = True Then
CHECK_WAIT = True
Call SendData("serverresults" & SEP_CHAR & i & SEP_CHAR & END_CHAR)
Else
lstServers.AddItem ReadINI("SERVER" & i, "Name", FileName) & " - Desligado!"
End If
i = i + 1
Else
c = 1
End If
End If
Loop
cmdOk.Enabled = True
Me.Caption = "Escolhedor de Servidores - Completo!"
End Sub
Function CheckServerStatus() As Boolean
frmMirage.Socket.Close
frmMirage.Socket.RemoteHost = GAME_IP
frmMirage.Socket.RemotePort = GAME_PORT
cmdOk.Enabled = False
CheckServerStatus = False
If ConnectToServer = True Then
CheckServerStatus = True
End If
End Function
Perto do topo do modGameLogic, adicione:
- Código:
Código:
Public CHECK_WAIT As Boolean
No sub HandleData, em qualquer lugar (modClientTCP), adicione:
- Código:
Código:
If LCase(Parse(0)) = "serverresults" Then
frmServerChooser.lstServers.AddItem ReadINI("SERVER" & Val(Parse(1)), "Name", App.Path & "\servidores.ini") & " - Ligado! (" & Val(Parse(2)) & "/" & Val(Parse(3)) & ")"
CHECK_WAIT = False
Exit Sub
End If
Finalmente vá ao menu e delete a label "Escolher IP" ;P.
~ Server-Side
Ache
- Código:
Código:
' Parse sem estar online
If Not IsPlaying(index) Then
Select Case LCase(Parse(0))
Abaixo, adicione:
- Código:
Código:
Case "serverresults"
Call SendDataTo(index, "serverresults" & SEP_CHAR & Val(Parse(1)) & SEP_CHAR & TotalOnlinePlayers & SEP_CHAR & MAX_PLAYERS & SEP_CHAR & END_CHAR)
Exit Sub
Crie um novo módulo chamado modINI e coloque o seguinte código:
Código:
- Código:
Option Explicit
Public Declare Function WritePrivateProfileString& Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal AppName$, ByVal KeyName$, ByVal keydefault$, ByVal FileName$)
Public Declare Function GetPrivateProfileString& Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal AppName$, ByVal KeyName$, ByVal keydefault$, ByVal ReturnedString$, ByVal RSSize&, ByVal FileName$)
Public Sub WriteINI(INISection As String, INIKey As String, INIValue As String, INIFile As String)
Call WritePrivateProfileString(INISection, INIKey, INIValue, INIFile)
End Sub
Public Function ReadINI(INISection As String, INIKey As String, INIFile As String) As String
Dim StringBuffer As String
Dim StringBufferSize As Long
StringBuffer = Space$(255)
StringBufferSize = Len(StringBuffer)
StringBufferSize = GetPrivateProfileString(INISection, INIKey, "", StringBuffer, StringBufferSize, INIFile)
If StringBufferSize > 0 Then
ReadINI = Left$(StringBuffer, StringBufferSize)
Else
ReadINI = ""
End If
End Function
Creditos : Eu que desemvolvi o Progama , na MMODEV tem 1 parecido com esse nunca testei esse eu peguei de 1 amigo que encinou qualquer duvida poste !
Rio Absolut- Membro Vitalicio
- Mensagens : 655
Re: [ALL]Escolhendo Servidor [Funcionado ]
+1 de CRED pela colaboração
Lendário- Administrador Lendário
- Mensagens : 1958
Re: [ALL]Escolhendo Servidor [Funcionado ]
Parabens Mano, Grande Tutorial , +1 Cred.
@EDIT
Bom eu fui testar aqui ne.. kkkk e deu um errinho .-.
Alem de Precisar Adicionar o modINI no Cliente tambem como nao tinha dito se nao da erro tem que arruma mais esse errinho tambem.. ;*
Bom eu nao vou resolver por que ... Tenho outras coisas pra fazer
@EDIT
Bom eu fui testar aqui ne.. kkkk e deu um errinho .-.
Alem de Precisar Adicionar o modINI no Cliente tambem como nao tinha dito se nao da erro tem que arruma mais esse errinho tambem.. ;*
Bom eu nao vou resolver por que ... Tenho outras coisas pra fazer
Rafael xD- Novato
- Mensagens : 31
Re: [ALL]Escolhendo Servidor [Funcionado ]
Parabens Mano, Grande Tutorial , +1 Cred.
@EDIT
Bom eu fui testar aqui ne.. kkkk e deu um errinho .-.
Alem de Precisar Adicionar o modINI no Cliente tambem como nao tinha dito se nao da erro tem que arruma mais esse errinho tambem.. ;*
achu que ta faltando umas form cara
olha o nome que esta dando erro
--
e revivendo topico
aff
"modINI"
uu rindo ate agora me desculpe
cara aquele erro nao tem nada aver com "modINI"
olha so esta faltando um form
- Código:
frmServerChooser.Visible = True
frmServerChooser.Visible = True
frmServerChooser
as form
Re: [ALL]Escolhendo Servidor [Funcionado ]
Lucas Roberto escreveu:Parabens Mano, Grande Tutorial , +1 Cred.
@EDIT
Bom eu fui testar aqui ne.. kkkk e deu um errinho .-.
Alem de Precisar Adicionar o modINI no Cliente tambem como nao tinha dito se nao da erro tem que arruma mais esse errinho tambem.. ;*
achu que ta faltando umas form cara
olha o nome que esta dando erro
--
e revivendo topico
aff
"modINI"
uu rindo ate agora me desculpe
cara aquele erro nao tem nada aver com "modINI"
olha so esta faltando um form
- Código:
frmServerChooser.Visible = True
frmServerChooser.Visible = True
frmServerChooser
as form
sim mano, so que eu nao to falando que o modINI tem aver com o suposto erro , eu estou dizendo que se eu nao adiciono ele no cliente ele da outro erro entendeu? ele da um erro com o servidores.ini , ai eu ja dei uma dica pra adicionar ele ;D
e esse frmserverchooser , deve ser do eclipse... e isso o que eu to tentando dizer e.e
nao confunda as coisas ,e leia direito u.u
Rafael xD- Novato
- Mensagens : 31
Re: [ALL]Escolhendo Servidor [Funcionado ]
No futuro eu irei rir disso T.T
Megagengar By guii- Novato
- Mensagens : 11
Re: [ALL]Escolhendo Servidor [Funcionado ]
O tutorial está funcionando sem erros? e tenho uma duvida pode escolher entre 2 servidores tipo no client1 e client2 ou um só client e tambem cade servidor ter mapas diferente?
hornet600- Novato
- Mensagens : 31
Tópicos semelhantes
» [ALL]Escolhendo Vila
» Escolhendo Milesimos de Um Timer
» [EE]Escolhendo Local da Morte Por Classe :P
» Servidor On
» Alguém Tem Servidor a e?
» Escolhendo Milesimos de Um Timer
» [EE]Escolhendo Local da Morte Por Classe :P
» Servidor On
» Alguém Tem Servidor a e?
MMORPG Brasil :: OPEN SOURCE ENGINES :: Outras Engines :: Elysium :: Tutoriais
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Dom 08 Abr 2018, 18:40 por JorgeZinhoo002
» Ojkjeeeee
Seg 10 Out 2016, 23:19 por Frozen
» Naruto Great Ninja Batle
Dom 09 Out 2016, 14:29 por GuiinhoLP
» Recrutamento de um Designer para jogo de CDZ.
Sex 23 Set 2016, 18:37 por newbie123
» Serviços de suporte maker( Programação , Design , PixelArt ) E Vendas de Jogos
Qui 22 Set 2016, 20:11 por Eduardo
» Serviços de suporte maker( Programação , Design , PixelArt ) E Vendas de Jogos
Qui 22 Set 2016, 20:11 por Eduardo
» Serviços de suporte maker( Programação , Design , PixelArt ) E Vendas de Jogos
Qui 22 Set 2016, 20:09 por Eduardo
» Projeto Dbz
Qua 31 Ago 2016, 23:46 por 157
» Avaliação - Sprites Naruto
Qua 31 Ago 2016, 17:09 por 157
» [Sprites] DBZ (Plix)
Qua 31 Ago 2016, 14:13 por 157
» Super Pack - Bleach V.2
Qua 31 Ago 2016, 13:02 por 157
» [PEDIDO][PROJETO][RECRUTAMENTO] DYNISTYGAMES
Ter 30 Ago 2016, 10:04 por 157
» [PEDIDO][PROJETO][RECRUTAMENTO] DYNISTYGAMES
Ter 30 Ago 2016, 10:03 por 157
» [PEDIDO][PROJETO][RECRUTAMENTO] DYNISTYGAMES
Ter 30 Ago 2016, 10:02 por 157
» [Pedido] Contador de resets na FrmMain
Sáb 13 Ago 2016, 17:45 por killers97
» [Recrutamento]
Qua 10 Ago 2016, 23:09 por Monsters
» Ajuda erro no Cliente e Servidor do EEB 2.6!
Qua 20 Jul 2016, 19:53 por Binholx
» Como criar tilesets para Eclipse Origins 3.0 (POKÉMON)
Qua 29 Jun 2016, 19:46 por Sir Aaron
» Recursos Pokemons
Qua 29 Jun 2016, 19:34 por Sir Aaron
» erro frm flash
Qua 25 maio 2016, 13:51 por vava123
» Pedido - Pack de star wars
Qui 19 maio 2016, 05:06 por edsonpet
» [Ajuda] Sobre como por o servidor on por ip fixo
Ter 17 maio 2016, 16:14 por vava123
» Illusion Dimension - O Misterio do ID: BETA TESTE ONLINE
Sex 06 maio 2016, 20:02 por LksFlorencio
» [NSME] Naruto Shinobi Maker Engine
Qua 23 Mar 2016, 15:11 por luana1457
» Script /base,/casa Igual DBZ Forces
Dom 21 Fev 2016, 07:34 por JorgeZinhoo002
» [Pedido]Colar Tsunade item sprite eclipse origin
Qui 21 Jan 2016, 07:38 por lawllietbr
» [Pedido] Elysium
Sáb 19 Dez 2015, 11:31 por luana1457
» Naruto - Recruta
Ter 15 Dez 2015, 18:40 por Uchiha ~
» [Avaliação] - Kirito from Sword Art Online; Red and Pikachu from Pokemon.
Qua 25 Nov 2015, 13:43 por Thanakii
» [Avaliação] - Kenpachi Zaraki from Bleach; Libra Shiryu From Saint Seiya.
Qua 25 Nov 2015, 12:55 por Thanakii
» Demonstração de Sprites (Á VENDA!)
Qua 25 Nov 2015, 12:40 por Thanakii
» [Sistema de Reset]Para Eclipse .
Ter 24 Nov 2015, 16:51 por VithorUchi
» Cada Guild Nascer em Certo Mapa
Qui 12 Nov 2015, 06:13 por fabiofeijó_HIT
» Dragon Ball z Fusion A Grande Volta
Qui 29 Out 2015, 15:17 por fabiofeijó_HIT
» Ajuda com Ip fixo
Seg 26 Out 2015, 16:07 por GalaxyHells15
» Como Fazer um GUI no Eclipse Origins
Dom 18 Out 2015, 22:10 por Jeanleee
» Shisui Susanoo
Dom 18 Out 2015, 20:23 por Jeanleee
» Fantasy Art Online
Dom 18 Out 2015, 16:41 por daviih123
» Ajuda !!
Seg 05 Out 2015, 12:13 por andersonzika
» como passar o usuário e senha para o MainMenu?
Seg 28 Set 2015, 22:03 por Bëzerk
» Ru time ero 13 Type mismatch
Seg 28 Set 2015, 09:08 por andredarle
» Jarvis 1.3 Download
Qua 23 Set 2015, 18:42 por soares125
» [Avaliação/Disponibilização]Árvore 64x64
Qua 23 Set 2015, 15:15 por Over~
» Mlk's Zikas Signatures
Ter 22 Set 2015, 21:15 por Aikawa Reborn'
» Pedido de Sistemas
Dom 20 Set 2015, 18:05 por cleyton_05
» [AjudaEEB]Gerador de EXP
Qua 16 Set 2015, 14:04 por Over~
» [Avaliar] Base, Humano e Goblin.
Seg 14 Set 2015, 22:51 por .iBlaz3.
» Fabrica do Tio Cronos!
Dom 13 Set 2015, 21:31 por [ADM]Cronos
» [PixelArt] Minion - Meu malvado favorito
Dom 13 Set 2015, 12:51 por [ADM]Cronos
» [Avaliar] Goku Dragon Ball Z
Qua 05 Ago 2015, 21:36 por Setrux