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.

[E.O 2.0]Battle Log 1.2

+3
Pablo
serafin3ddd
Lord Pegason
7 participantes

Ir para baixo

[E.O 2.0]Battle Log 1.2 Empty [E.O 2.0]Battle Log 1.2

Mensagem por Lord Pegason Ter 23 Out 2012, 13:46

Bem, hoje vou trazer um sisteminha diferente.

O Log de Batalha. Sabe quando você quer saber quanto foi o seu dano no bixo? e/ou qual foi o loot que você conseguiu?

Então, foi nessa linha que eu pensei sobre esse projeto.

Primeiro eu fiz um sistema simples de "abas" (Main = principal que nós utilizamos / Log = Com os dados desse sistema desenvolvido).

O sistema foi baseado em: http://www.touchofdeathforums.com/community/index.php?/topic/129743-battle-log/

Portanto eu "aperfeiçoei-o" (ou não, talvez.)

Atualizei para a versão 1.2 pois agora é possível ver a "hora" no log, quantidade de item dropado e verificação "singular/plural"

OBSERVAÇÃO:

EM ALGUNS ECLIPSES ORIGINS A VARIÁVEL Npc(npcNum).DropItemValue É TRATADA COMO r (caso tenham feito tutorial de gerar quantidade aleatória de item", então no passo 6 do SERVER SIDE, caso dê erro trocar a variável Npc(npcNum).DropItemValue por r.







~Client Side

1- Ir até ModEnumerations Procurar por:

Código:
Public Enum ServerPackets

Em:

Código:
' Make sure SMSG_COUNT is below everything else
    SMSG_COUNT

Adicionar ACIMA:

Código:
SBattleMsg

2 - Ir até frmMain e adicionar uma Richtextbox "dentro de txtchat" com o nome txtBattleLog. Setar a opção "visible como false"

3 - Adicionar 2 CommandButton: cmdMain / cmdLog

Ficará dessa forma:

Main(Chat):

[E.O 2.0]Battle Log 1.2 Fcxcnz1ggw1sh37kso5x

Log:


[E.O 2.0]Battle Log 1.2 Fpuer065qm6a8n9una6a


4 - Dar 2 clicks no botão cmdMain e colar:

Código:
txtBattleLog.Visible = False
txtChat.Visible = True
txtMyChat.Visible = True

5 - Dar 2 clicks no botão cmdLog e colar:

Código:
txtBattleLog.Visible = True
txtChat.Visible = False
txtMyChat.Visible = False

6 - Ir até modHandledata e procurar por:

Código:
Public Sub InitMessages()

7 - Antes de:

Código:
 ' Error handler
    Exit Sub

8 - Adicionar:

Código:
HandleDataSub(SBattleMsg) = GetAddress(AddressOf HandleBattleMsg)


9 - Adicionar isso no final do modulo modHandledata:

Código:
Private Sub HandleBattleMsg(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
Dim Buffer As clsBuffer
Dim Name As String
Dim message As String
Dim saycolour As Long

' If debug mode, handle error then exit out
If Options.Debug = 1 Then On Error GoTo errorhandler

Set Buffer = New clsBuffer
Buffer.WriteBytes Data()

Name = Buffer.ReadString
message = Buffer.ReadString
saycolour = Buffer.ReadLong

frmMain.txtBattleLog.SelStart = Len(frmMain.txtBattleLog.text)
frmMain.txtBattleLog.SelColor = QBColor(saycolour)
frmMain.txtBattleLog.SelText = vbNewLine & message
frmMain.txtBattleLog.SelStart = Len(frmMain.txtBattleLog.text) - 1

Set Buffer = Nothing

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



~ Server Side:

1- Ir até ModEnumerations Procurar por:

Código:
Public Enum ServerPackets

Em:

Código:
' Make sure SMSG_COUNT is below everything else
    SMSG_COUNT

Adicionar ACIMA:

Código:

SBattleMsg

2- Ir até modServerTCP e adicionar isso no final:

Código:
Sub SayMsg_Battle(ByVal mapNum As Long, ByVal index As Long, ByVal message As String, ByVal saycolour As Long)
Dim Buffer As clsBuffer

Set Buffer = New clsBuffer
Buffer.WriteLong SBattleMsg
Buffer.WriteString GetPlayerName(index)
Buffer.WriteString message
Buffer.WriteLong saycolour

SendDataToMap mapNum, Buffer.ToArray()

Set Buffer = Nothing
End Sub

3- Agora ir no modCombat ir para a Sub PlayerAttackNPC e procurar por:

Código:
Name = Trim$(Npc(npcNum).Name)

4- Adicionar na linha debaixo:

Código:
SayMsg_Battle mapNum, attacker, "[" & Time & "]" & " " & Trim$(Player(attacker).Name) & " has dealt " & Damage & " Damage To " & Trim$(Name), BrightRed

5- Procurar por:

Código:
Call SpawnItem(Npc(npcNum).DropItem, Npc(npcNum).DropItemValue, mapNum, MapNpc(mapNum).Npc(mapNpcNum).x, MapNpc(mapNum).Npc(mapNpcNum).y)

6- E adicionar na linha debaixo:

Código:
If Npc(npcNum).DropItemValue = 1 Then
            SayMsg_Battle mapNum, attacker, "[" & Time & "]" & " Loot: " & Npc(npcNum).DropItemValue & " " & Trim$(Item(Npc(npcNum).DropItem).Name), Green
            Else
            SayMsg_Battle mapNum, attacker, "[" & Time & "]" & " Loot: " & Npc(npcNum).DropItemValue & " " & Trim$(Item(Npc(npcNum).DropItem).Name) & Trim$("s"), Green
        End If

PRONTO, SEU SISTEMA FICARÁ DESSE JEITO:

[E.O 2.0]Battle Log 1.2 0p3txdi5i64kyafjv31n


Espero que gostem !




Última edição por rodrigomarquesz em Ter 23 Out 2012, 21:10, editado 6 vez(es)
Lord Pegason
Lord Pegason
Membro Sênior
Membro Sênior

Mensagens : 300

Ir para o topo Ir para baixo

[E.O 2.0]Battle Log 1.2 Empty Re: [E.O 2.0]Battle Log 1.2

Mensagem por serafin3ddd Ter 23 Out 2012, 13:54

muito bom +1 credito
serafin3ddd
serafin3ddd
Membro
Membro

Mensagens : 196

Ir para o topo Ir para baixo

[E.O 2.0]Battle Log 1.2 Empty Re: [E.O 2.0]Battle Log 1.2

Mensagem por Pablo Ter 23 Out 2012, 14:00

Opa bem legal o sistema, quando eu não sabia programar, sempre quis fazer um desse, hoje em dia fiz até um no elysium para um amigo aqui do fórum, mais mesmo assim levou meu +1 pela grande contribuição, já que muitos não ajudam o fórum mais.

Atenciosamente,
Pablo
Pablo
Pablo
Moderador Global
Moderador Global

Mensagens : 1371

Ir para o topo Ir para baixo

[E.O 2.0]Battle Log 1.2 Empty Re: [E.O 2.0]Battle Log 1.2

Mensagem por Over~ Ter 23 Out 2012, 16:49

Ótimo Sistema Parabéns.
Over~
Over~
Membro Vitalicio
Membro Vitalicio

Mensagens : 565

Ir para o topo Ir para baixo

[E.O 2.0]Battle Log 1.2 Empty Re: [E.O 2.0]Battle Log 1.2

Mensagem por alenzinho Ter 23 Out 2012, 16:53

Muito Bom Parabéns!! 1+Cred
alenzinho
alenzinho
Membro Veterano
Membro Veterano

Mensagens : 893

Ir para o topo Ir para baixo

[E.O 2.0]Battle Log 1.2 Empty Re: [E.O 2.0]Battle Log 1.2

Mensagem por xurana321 Qua 12 Dez 2012, 18:19

eu sou ameba ta gente kkkk mas pra que serve mesmo esse sistema?
xurana321
xurana321
Membro Sênior
Membro Sênior

Mensagens : 297

Ir para o topo Ir para baixo

[E.O 2.0]Battle Log 1.2 Empty Re: [E.O 2.0]Battle Log 1.2

Mensagem por Over~ Qua 12 Dez 2012, 18:25

Olha A Data Do Tópcio Man Isso Já Faz Muito Tempo Você Poderá Ser Punido!
Over~
Over~
Membro Vitalicio
Membro Vitalicio

Mensagens : 565

Ir para o topo Ir para baixo

[E.O 2.0]Battle Log 1.2 Empty Re: [E.O 2.0]Battle Log 1.2

Mensagem por Storm™ Qua 12 Dez 2012, 19:08

Otimo Bom Tutorial Irei Testa mais de PRIMA vou da logo +1 Credito.
Storm™
Storm™
Moderador Global
Moderador Global

Mensagens : 2155

http://senningames.com

Ir para o topo Ir para baixo

[E.O 2.0]Battle Log 1.2 Empty Re: [E.O 2.0]Battle Log 1.2

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