MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!

Participe do fórum, é rápido e fácil

MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!
MMORPG Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

[Tutorial] Atendimento On/Off

+4
TheKirin
dazateam
guifs
Lincoln
8 participantes

Ir para baixo

[Tutorial] Atendimento On/Off Empty [Tutorial] Atendimento On/Off

Mensagem por Lincoln Sex 07 Jun 2013, 17:51

O que é o sistema de atendimento On e Off?
Bom , a pedido de um amigo eu desenvolvi este sistema, ele funciona da seguinte forma, com o comando "/atendimentoon" , você ativa o atendimento e aparece uma mensagem global falando que o suporte está ativo, assim o player digitando "/atendimento" ele irá para a sala de atendimento onde será atendido pela staff, e digitando "/atendimentooff" aparece uma mensagem global falando que o atendimento foi finalizado, caso o player digite "/atendimento" ele será informado que não tem suporte ativo no momento.
Então, vamos ao tutorial !

Client~Side

No modEnumerations procure por
Código:
CPartyLeave

Abaixo adicione
Código:
CAtendimento
    CPAtendimento

no modInput procure por
Código:
Case "/debug"
                    If GetPlayerAccess(MyIndex) < ADMIN_CREATOR Then GoTo Continue

                    DEBUG_MODE = (Not DEBUG_MODE)

abaixo adicione
Código:
Case "/atendimentoon"
                    If GetPlayerAccess(MyIndex) > 0 Then
                        SendAtendimento (1)
                        
                     Else
                         AddText "Você não tem permissão para ativar o atendimento", HelpColor
                     End If
                    Case "/atendimentooff"
                     If GetPlayerAccess(MyIndex) > 0 Then
                         SendAtendimento (0)
                         Else
                         AddText "Você não tem permissão para desativar o atendimento", HelpColor
                    End If
                    
                        
                    Case "/atendimento"
                     SendPAtendimento (1)

no final do modclientTCP adicione
Código:
Sub SendAtendimento(ByVal valor As Long)
Dim Buffer As clsBuffer

    ' If debug mode, handle error then exit out
    If Options.Debug = 1 Then On Error GoTo errorhandler
    
    Set Buffer = New clsBuffer
    Buffer.WriteLong CAtendimento
    Buffer.WriteByte valor
    SendData Buffer.ToArray()
    Set Buffer = Nothing

    ' Error handler
    Exit Sub
errorhandler:
    HandleError "SendAtendimento", "modClientTCP", Err.Number, Err.Description, Err.Source, Err.HelpContext
    Err.Clear
    Exit Sub
End Sub


Sub SendPAtendimento(ByVal valor As String)
Dim Buffer As clsBuffer

    ' If debug mode, handle error then exit out
    If Options.Debug = 1 Then On Error GoTo errorhandler
    
    Set Buffer = New clsBuffer
    Buffer.WriteLong CPAtendimento
    Buffer.WriteByte valor
    SendData Buffer.ToArray()
    Set Buffer = Nothing

    ' Error handler
    Exit Sub
errorhandler:
    HandleError "SendPAtendimento", "modClientTCP", Err.Number, Err.Description, Err.Source, Err.HelpContext
    Err.Clear
    Exit Sub
End Sub

Fim do client~side.

Server~Side

no modEnumerations procure por
Código:
CPartyLeave

abaixo adicione
Código:
CAtendimento
    CPAtendimento

no final da modPlayer adicione

Código:
Function GetPlayerAtendimento(ByVal index As Long) As String
    GetPlayerAtendimento = Trim$(Player(index).SAtendimento)
End Function
 
Sub SetPlayerAtendimento(ByVal index As Long, ByVal SAtendimento As String)
 Dim i As Long
For i = 1 To MAX_PLAYERS

   Player(i).SAtendimento = SAtendimento
Next
End Sub

no modHandleData procure por
Código:
HandleDataSub(CPartyLeave) = GetAddress(AddressOf HandlePartyLeave)

Abaixo adicione
Código:
HandleDataSub(CAtendimento) = GetAddress(AddressOf HandleAtendimento)
    HandleDataSub(CPAtendimento) = GetAddress(AddressOf HandlePAtendimento)

no final da ModHandleData adicione
Código:
Sub HandleAtendimento(ByVal index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
  Dim Buffer As clsBuffer
  Dim Valor As String
  
Set Buffer = New clsBuffer
    Buffer.WriteBytes Data()
    
Valor = Buffer.ReadByte

    If Valor = 1 Then
        Call GlobalMsg("O atendimento foi ativado, apartir de agora os GM estarão atendendo, para obter suporte digite /atendimento.", Yellow)
        Call SetPlayerAtendimento(index, 1)
    End If

    If Valor = 0 Then
        Call GlobalMsg("O atendimento foi desativado, apartir de agora os GM não estarão atendendo.", Yellow)
        Call SetPlayerAtendimento(index, 0)
    End If

End Sub

Sub HandlePAtendimento(ByVal index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
  Dim Buffer As clsBuffer
  Dim verifica As String
  
Set Buffer = New clsBuffer
    Buffer.WriteBytes Data()
    
verifica = Buffer.ReadByte

        If verifica = 1 Then

             If GetPlayerAtendimento(index) = 1 Then
             Call PlayerWarp(index, 1, 7, 'dê as cordenadas 1 = mapa, 7 = x , 8 = y
             Call SendPlayerData(index)
             Else
             PlayerMsg index, "Nenhum GM disponível no momento.", BrightCyan
            End If

        End If

End Sub
Atenção: para mudar o mapa e o local que o player nasce edite essa parte Call PlayerWarp(index, 1, 7, Cool'dê as cordenadas 1 = mapa, 7 = x , 8 = y

no modTypes
procure por
Código:
Private Type PlayerRec

Antes do End type adicione
Código:
Atendimento As Byte
   SAtendimento As Byte

Fim!


Download da engine com o sistema


Créditos: Lincoln


Última edição por Lincoln em Qui 04 Jul 2013, 13:52, editado 3 vez(es)
Lincoln
Lincoln
Membro
Membro

Mensagens : 125

Ir para o topo Ir para baixo

[Tutorial] Atendimento On/Off Empty Re: [Tutorial] Atendimento On/Off

Mensagem por guifs Sex 07 Jun 2013, 18:59

nossa tutorias muito bons ultimamente em lincoln +1 merecido,mais aki ja q está atendendo pedido de player,gostaria de saber se poderia fazer um sistema de playershop ou mercado global e.e,se puder ficarei mt grato U.u
guifs
guifs
Membro Vitalicio
Membro Vitalicio

Mensagens : 561

Ir para o topo Ir para baixo

[Tutorial] Atendimento On/Off Empty Re: [Tutorial] Atendimento On/Off

Mensagem por dazateam Sex 07 Jun 2013, 20:26

muito bom +1 dinovo kk'

ñ sei pq mais fico tih confundindo com o the kirin hsuahsuahushau

Smile
dazateam
dazateam
Membro Vitalicio
Membro Vitalicio

Mensagens : 690

Ir para o topo Ir para baixo

[Tutorial] Atendimento On/Off Empty Re: [Tutorial] Atendimento On/Off

Mensagem por Lincoln Sex 07 Jun 2013, 21:03

guifs, já me pediram esse sistema, eu comecei a fazer ele , más estou um pouco sem tempo , esses que estou postando é porque eu já tinha feito Smile
Lincoln
Lincoln
Membro
Membro

Mensagens : 125

Ir para o topo Ir para baixo

[Tutorial] Atendimento On/Off Empty Re: [Tutorial] Atendimento On/Off

Mensagem por TheKirin Sex 07 Jun 2013, 21:13

Infuncional... Dá um erro logo na parte de mudar as coordenadas:

Call PlayerWarp

ModHandleData
TheKirin
TheKirin
Membro Vitalicio
Membro Vitalicio

Mensagens : 561

Ir para o topo Ir para baixo

[Tutorial] Atendimento On/Off Empty Re: [Tutorial] Atendimento On/Off

Mensagem por Lincoln Sex 07 Jun 2013, 21:27

TheKirin escreveu:Infuncional... Dá um erro logo na parte de mudar as coordenadas:

Call PlayerWarp

ModHandleData

Obrigado TheKirin, corrigido.

Lincoln
Lincoln
Membro
Membro

Mensagens : 125

Ir para o topo Ir para baixo

[Tutorial] Atendimento On/Off Empty Re: [Tutorial] Atendimento On/Off

Mensagem por Ahuriäm Sáb 08 Jun 2013, 00:08

Aqui não funfou não acho que é por causa do dx8
avatar
Ahuriäm
Membro Sênior
Membro Sênior

Mensagens : 426

Ir para o topo Ir para baixo

[Tutorial] Atendimento On/Off Empty Re: [Tutorial] Atendimento On/Off

Mensagem por Lincoln Sáb 08 Jun 2013, 08:05

marakgarin escreveu:Aqui não funfou não acho que é por causa do dx8
Não testei em Dx8 , só testei em uma EO 2.0 limpa, depois posto o Download dela.
Lincoln
Lincoln
Membro
Membro

Mensagens : 125

Ir para o topo Ir para baixo

[Tutorial] Atendimento On/Off Empty Re: [Tutorial] Atendimento On/Off

Mensagem por KURIZZARD² Sáb 08 Jun 2013, 08:30

Aqui deu erro nessa parte Sub SetPlayerAtendimento(ByVal index As Long, ByVal SAtendimento As String)
KURIZZARD²
KURIZZARD²
Membro
Membro

Mensagens : 238

Ir para o topo Ir para baixo

[Tutorial] Atendimento On/Off Empty Re: [Tutorial] Atendimento On/Off

Mensagem por Lincoln Sáb 08 Jun 2013, 10:20

Bom , você fez algo errado, em que momento acontece o erro? na hora do comando, de rodar o server..?
eu fiz em uma EO 2.0 LIMPA e funcionou perfeitamente, aqui está o Download dele
Download
dentro da source é só procurar por "sistema de atendimento", eu coloquei isso em todas as partes do código.
Lincoln
Lincoln
Membro
Membro

Mensagens : 125

Ir para o topo Ir para baixo

[Tutorial] Atendimento On/Off Empty Re: [Tutorial] Atendimento On/Off

Mensagem por Ahuriäm Sáb 08 Jun 2013, 15:31

e tipo se todo mundo do jogo quiser ir na mesma hora a sala não vai suporta e servidor vai cair
avatar
Ahuriäm
Membro Sênior
Membro Sênior

Mensagens : 426

Ir para o topo Ir para baixo

[Tutorial] Atendimento On/Off Empty Re: [Tutorial] Atendimento On/Off

Mensagem por KURIZZARD² Sáb 08 Jun 2013, 15:51

Aconteçe na hora de roda o server .... Tipo eu escrevco atendimentoon ae da erro naquela parte la
KURIZZARD²
KURIZZARD²
Membro
Membro

Mensagens : 238

Ir para o topo Ir para baixo

[Tutorial] Atendimento On/Off Empty Re: [Tutorial] Atendimento On/Off

Mensagem por TheKirin Sáb 08 Jun 2013, 15:59

Sistema Funcional... +1^^
TheKirin
TheKirin
Membro Vitalicio
Membro Vitalicio

Mensagens : 561

Ir para o topo Ir para baixo

[Tutorial] Atendimento On/Off Empty Re: [Tutorial] Atendimento On/Off

Mensagem por Lincoln Sáb 08 Jun 2013, 16:51

marakgarin escreveu:e tipo se todo mundo do jogo quiser ir na mesma hora a sala não vai suporta e servidor vai cair
marakgarin, a questão em que você está falando já seria do suporte de players do eclipse origins, más se quiser é só limitar o máximo de players no mapa.


KURIZZARD², tente refazer o tutorial, pois com os outros funcionou perfeitamente.
Lincoln
Lincoln
Membro
Membro

Mensagens : 125

Ir para o topo Ir para baixo

[Tutorial] Atendimento On/Off Empty Re: [Tutorial] Atendimento On/Off

Mensagem por DarkWolf Sáb 08 Jun 2013, 18:43

Aqui deu
Compile error
Method or data not found
.Satendimento
DarkWolf
DarkWolf
Membro Vitalicio
Membro Vitalicio

Mensagens : 628

Ir para o topo Ir para baixo

[Tutorial] Atendimento On/Off Empty Re: [Tutorial] Atendimento On/Off

Mensagem por dazateam Sáb 08 Jun 2013, 19:20

DarkWolf escreveu:Aqui deu
Compile error
Method or data not found
.Satendimento

vc deve t feito alguma coisa errado por que o sistema é funcional..

lincol eu tenho uma duvida aki tipoh c euquisé por um requerimento pro players ir la pro "atendimento"

tipoh um lv (pd c lv 10) como q eu fasço isso ? Smile
dazateam
dazateam
Membro Vitalicio
Membro Vitalicio

Mensagens : 690

Ir para o topo Ir para baixo

[Tutorial] Atendimento On/Off Empty Re: [Tutorial] Atendimento On/Off

Mensagem por Lincoln Dom 09 Jun 2013, 11:48

DarkWolf escreveu:Aqui deu
Compile error
Method or data not found
.Satendimento

você provavemente esqueceu dessa parte Dark
no modTypes
procure por
Código:
Private Type PlayerRec

Antes do End type adicione
Código:
Atendimento As Byte
  SAtendimento As Byte

dazateam escreveu:
DarkWolf escreveu:Aqui deu
Compile error
Method or data not found
.Satendimento

vc deve t feito alguma coisa errado por que o sistema é funcional..

lincol eu tenho uma duvida aki tipoh c euquisé por um requerimento pro players ir la pro "atendimento"

tipoh um lv (pd c lv 10) como q eu fasço isso ? Smile

Substitua o HandlePAtendimento por este
Código:
Sub HandlePAtendimento(ByVal index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
  Dim Buffer As clsBuffer
  Dim verifica As String
 
Set Buffer = New clsBuffer
    Buffer.WriteBytes Data()
   
verifica = Buffer.ReadByte

        If verifica = 1 Then

            If GetPlayerAtendimento(index) = 1 Then
            If GetPlayerLevel(index) <= 10 Then 'aqui o level que abaixo dele não poderá entrar(neste caso só entrar level 11 ou maior.)
playermsg index, "Você não tem o level necessário para entrar, o level minimo é 11.", BrightCyan
            Exit Sub
            End If
           
            Call PlayerWarp(index, 100, 5, 6, False) 'dê as cordenadas 100 = mapa, 5 = x , 6 = y
            Call SendPlayerData(index)
            Else
            PlayerMsg index, "Nenhum GM disponível no momento.", BrightCyan
            End If

        End If

End Sub
Lincoln
Lincoln
Membro
Membro

Mensagens : 125

Ir para o topo Ir para baixo

[Tutorial] Atendimento On/Off Empty Re: [Tutorial] Atendimento On/Off

Mensagem por SeNkEn Dom 09 Jun 2013, 12:16

Perfeito.. + Credito =)
SeNkEn
SeNkEn
Membro
Membro

Mensagens : 200

Ir para o topo Ir para baixo

[Tutorial] Atendimento On/Off Empty Re: [Tutorial] Atendimento On/Off

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos