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.

[ALL]'Sistema de Cash'

+9
Texak
jeansales
Ks_dark
AluCarD [FM]
klinton-1234
Rio Absolut
Zeus
Lendário
Demi
13 participantes

Ir para baixo

[ALL]'Sistema de Cash' Empty [ALL]'Sistema de Cash'

Mensagem por Demi Dom 01 Nov 2009, 01:16

Well, primeiro venho lhes dizer que não é um sistema completo (*olhamos para o shop), na verdade, esse sistema irá apenas mostar o cash do player na frmMirage e no server será possível editar o cash que o usuário tiver. Already?

Client~Side

Na frmMirage, crie uma label e coloque o nome de lblCash. Agora no modClientTCP procure por:
Código:
    ' :::::::::::::::::::::::::
    ' :: Player Stats Packet ::
    ' :::::::::::::::::::::::::
E embaixo de:
Código:
frmMirage.lblLevel.Caption = "Level " & Val(Parse(7))

Coloque:
Código:
frmMirage.lblCash.Caption = "Meus Cash: " & Val(Parse(8))

Ok, parte client~side pronta.

Server~Side

Na frmServer, aba Jogadores, na picStats copie a label CharInfo(20) e cole-a novamente, tornando-a label CharInfo(23), isso é automaticamente.
Procure por (ainda na frmServer):
Código:
CharInfo(20).Caption = "Index: " & Index

E embaixo adicione:
Código:
CharInfo(23).Caption = "Cash: " & GetPlayerCash(Index)

No modDatabase, procure por:
Código:
Sub AddAccount(ByVal Index As Long, _
  ByVal Name As String, _
  ByVal Password As String)
    Dim i As Long

    Player(Index).Login = Name
    Player(Index).Password = Password

    For i = 1 To MAX_CHARS
        Call ClearChar(Index, i)
    Next

    Call SavePlayer(Index)
End Sub

E mude a Sub toda por:
Código:
Sub AddAccount(ByVal Index As Long, _
  ByVal Name As String, _
  ByVal Password As String, _
  ByVal Cash As Long)
    Dim i As Long

    Player(Index).Login = Name
    Player(Index).Password = Password
    Player(Index).Cash = Cash

    For i = 1 To MAX_CHARS
        Call ClearChar(Index, i)
    Next

    Call SavePlayer(Index)
End Sub

Ainda no modDatabase, na Sub LoadPlayer, procure por:
Código:
Player(Index).Password = GetVar(FileName, "GENERAL", "Password")

Embaixo adicione:
Código:
Player(Index).Cash = Val(GetVar(FileName, "GENERAL", "Cash"))

Ainda no modDatabase, na Sub SavePlayer, procure por:
Código:
Call PutVar(FileName, "GENERAL", "Password", Trim$(Player(Index).Password))

Embaixo adicione:
Código:
Call PutVar(FileName, "GENERAL", "Cash", STR(Player(Index).Cash))

No modTypes, ache:
Código:
Password As String * NAME_LENGTH

Embaixo adicione:
Código:
Cash As Long

Ainda no modTypes, na Sub ClearPlayer, ache:
Código:
Player(Index).Password = vbNullString

Embaixo adicione:
Código:
Player(Index).Cash = 0

Continuando no modTypes, procure por:
Código:
' //////////////////////
' // PLAYER FUNCTIONS //
' //////////////////////
Function GetPlayerLogin(ByVal Index As Long) As String
    GetPlayerLogin = Trim$(Player(Index).Login)
End Function

Logo embaixo coloque:
Código:
Function GetPlayerCash(ByVal Index As Long) As Long
    GetPlayerCash = Player(Index).Cash
End Function

Sub SetPlayerCash(ByVal Index As Long, _
  ByVal Cash As Long)
    Player(Index).Cash = Cash
End Sub

No modGameLogic, na Sub JoinGame, procure por:
Código:
    ' Mandar quem está online
    Call SendWhosOnline(Index)
    Call ShowPLR(Index)

Embaixo coloque:
Código:
Call UsersCash(Index)

Ainda no modGameLogic, na Sub LeftGame, procure por:
Código:
        Call SavePlayer(Index)
        Call TextAdd(frmServer.txtText(0), GetPlayerName(Index) & " saiu do " & GAME_NAME & ".", True)
        Call SendLeftGame(Index)
        Call RemovePLR

        For N = 1 To MAX_PLAYERS
            Call ShowPLR(N)
        Next

Mude para:
Código:
        Call SavePlayer(Index)
        Call TextAdd(frmServer.txtText(0), GetPlayerName(Index) & " saiu do " & GAME_NAME & ".", True)
        Call SendLeftGame(Index)
        Call RemovePLR
        Call RemoveUsersCash

        For N = 1 To MAX_PLAYERS
            Call ShowPLR(N)
            Call UsersCash(N)
        Next

No modGameLogic, procure por:
Código:
Public Sub RemovePLR()
    frmServer.lvUsers.ListItems.Clear
End Sub

Embaixo coloque:
Código:
Public Sub RemoveUsersCash()
    frmCash.lvUsersCash.ListItems.Clear
End Sub

Continuando no modGameLogic, procure pela Public Sub ShowPLR(ByVal Index As Long) e depois dessa Sub, adicione:
Código:
Public Sub UsersCash(ByVal Index As Long)
Dim ls As ListItem

    On Error Resume Next

    If frmCash.lvUsersCash.ListItems.Count > 0 And IsPlaying(Index) = True Then
        frmCash.lvUsersCash.ListItems.Remove Index
    End If

    Set ls = frmCash.lvUsersCash.ListItems.add(Index, , Index)

    If IsPlaying(Index) = False Then
        ls.SubItems(1) = vbNullString
        ls.SubItems(2) = vbNullString
    Else
        ls.SubItems(1) = GetPlayerLogin(Index)
        ls.SubItems(2) = GetPlayerCash(Index)
    End If
End Sub

No modGeneral, na Sub InitServer(), procure por:
Código:
    For i = 1 To MAX_PLAYERS
        Call ShowPLR(i)
    Next

E mude para:
Código:
    For i = 1 To MAX_PLAYERS
        Call ShowPLR(i)
        Call UsersCash(i)
    Next

No modServerTCP, procure por:
Código:
Sub HandleData(ByVal Index As Long, ByVal Data As String)
    Dim Parse() As String ' MODO DE SEGURANÇA -- "Descomente" para DESLIGÁ-LO, comente para LIGÁ-LO
    Dim Name As String
    Dim Password As String
    Dim Sex As Long
    Dim Class As Long
    Dim CharNum As Long
    Dim Msg As String
    Dim MsgTo As Long
    Dim Dir As Long
    Dim InvNum As Long
    Dim Amount As Long
    Dim Damage As Long
    Dim PointType As Byte
    Dim PointQuant As Integer
    Dim Movement As Long
    Dim i As Long, N As Long, x As Long, y As Long, f As Long
    Dim MapNum As Long
    Dim s As String
    Dim ShopNum As Long, ItemNum As Long
    Dim DurNeeded As Long, GoldNeeded As Long
    Dim z As Long
    Dim Packet As String
    Dim o As Long
    Dim C As Long

E mude para:
Código:
Sub HandleData(ByVal Index As Long, ByVal Data As String)
    Dim Parse() As String ' MODO DE SEGURANÇA -- "Descomente" para DESLIGÁ-LO, comente para LIGÁ-LO
    Dim Name As String
    Dim Password As String
    Dim Cash As Long
    Dim Sex As Long
    Dim Class As Long
    Dim CharNum As Long
    Dim Msg As String
    Dim MsgTo As Long
    Dim Dir As Long
    Dim InvNum As Long
    Dim Amount As Long
    Dim Damage As Long
    Dim PointType As Byte
    Dim PointQuant As Integer
    Dim Movement As Long
    Dim i As Long, N As Long, x As Long, y As Long, f As Long
    Dim MapNum As Long
    Dim s As String
    Dim ShopNum As Long, ItemNum As Long
    Dim DurNeeded As Long, GoldNeeded As Long
    Dim z As Long
    Dim Packet As String
    Dim o As Long
    Dim C As Long

Nesta mesma Sub, procure por:
Código:
                    If Not AccountExist(Name) Then
                        Call PlainMsg(Index, "Sua conta foi criada com sucesso.", 1)
                        Call AddAccount(Index, Name, Password)
                        Call TextAdd(frmServer.txtText(0), "Conta " & Name & " foi criada.", True)
                        Call AddLog("Conta " & Name & " foi criada.", PLAYER_LOG)
                        Call CloseSocket(Index)
                    Else
                        Call PlainMsg(Index, "Desculpe, essa conta já foi pega!", 1)
                    End If
                End If

Troque para:
Código:
                    If Not AccountExist(Name) Then
                        Call PlainMsg(Index, "Sua conta foi criada com sucesso.", 1)
                        Call AddAccount(Index, Name, Password, Cash)
                        Call TextAdd(frmServer.txtText(0), "Conta " & Name & " foi criada.", True)
                        Call AddLog("Conta " & Name & " foi criada.", PLAYER_LOG)
                        Call CloseSocket(Index)
                    Else
                        Call PlainMsg(Index, "Desculpe, essa conta já foi pega!", 1)
                    End If
                End If

Continuando no modServerTPC, procure pela Case:
Código:
Case "playerinforequest"

E mude ela toda por:
Código:
        Case "playerinforequest"
            Name = Parse(1)
            i = FindPlayer(Name)

            If i > 0 Then
                Call PlayerMsg(Index, "Conta: " & Trim$(Player(i).Login) & ", Nome: " & GetPlayerName(i), BrightGreen)

                If GetPlayerAccess(Index) > ADMIN_MONITER Then
                    Call PlayerMsg(Index, "-=- Status de " & GetPlayerName(i) & " -=-", BrightGreen)
                    Call PlayerMsg(Index, "Level: " & GetPlayerLevel(i) & "  Exp: " & GetPlayerExp(i) & "/" & GetPlayerNextLevel(i), BrightGreen)
                    Call PlayerMsg(Index, "HP: " & GetPlayerHP(i) & "/" & GetPlayerMaxHP(i) & "  MP: " & GetPlayerMP(i) & "/" & GetPlayerMaxMP(i) & "  SP: " & GetPlayerSP(i) & "/" & GetPlayerMaxSP(i), BrightGreen)
                    Call PlayerMsg(Index, "FOR: " & GetPlayerstr(i) & "  DEF: " & GetPlayerDEF(i) & "  MAG: " & GetPlayerMAGI(i) & "  AGI: " & GetPlayerSPEED(i), BrightGreen)
                    N = Int(GetPlayerstr(i) / 2)  Int(GetPlayerLevel(i) / 2)
                    i = Int(GetPlayerDEF(i) / 2)  Int(GetPlayerLevel(i) / 2)

                    If N > 100 Then N = 100
                    If i > 100 Then i = 100
                    Call PlayerMsg(Index, "Chance de Dano Crítico: " & N & "%, Chance de Bloqueio: " & i & "%", BrightGreen)
                ElseIf GetPlayerAccess(Index) >= ADMIN_CREATOR Then
                    Call PlayerMsg(Index, "-=- Status de " & GetPlayerName(i) & " -=-", BrightGreen)
                    Call PlayerMsg(Index, "Level: " & GetPlayerLevel(i) & "  Exp: " & GetPlayerExp(i) & "/" & GetPlayerNextLevel(i), BrightGreen)
                    Call PlayerMsg(Index, "CASH: " & GetPlayerCash(i), BrightGreen)
                    Call PlayerMsg(Index, "HP: " & GetPlayerHP(i) & "/" & GetPlayerMaxHP(i) & "  MP: " & GetPlayerMP(i) & "/" & GetPlayerMaxMP(i) & "  SP: " & GetPlayerSP(i) & "/" & GetPlayerMaxSP(i), BrightGreen)
                    Call PlayerMsg(Index, "FOR: " & GetPlayerstr(i) & "  DEF: " & GetPlayerDEF(i) & "  MAG: " & GetPlayerMAGI(i) & "  AGI: " & GetPlayerSPEED(i), BrightGreen)
                    N = Int(GetPlayerstr(i) / 2)  Int(GetPlayerLevel(i) / 2)
                    i = Int(GetPlayerDEF(i) / 2)  Int(GetPlayerLevel(i) / 2)

                    If N > 100 Then N = 100
                    If i > 100 Then i = 100
                    Call PlayerMsg(Index, "Chance de Dano Crítico: " & N & "%, Chance de Bloqueio: " & i & "%", BrightGreen)
                End If

            Else
                Call PlayerMsg(Index, "O jogador não está online.", White)
            End If

            Exit Sub

Ainda no modServerTPC, procure por:
Código:
                    ' Change target
                    If GetPlayerAccess(Index) <= 2 Then
                        Player(Index).Target = i
                        Player(Index).TargetType = TARGET_TYPE_PLAYER
                        Call PlayerMsg(Index, "Seu alvo agora é " & GetPlayerName(i) & ".", Yellow)
                    Exit Sub
                End If
                End If

E mude para:
Código:
                    ' Change target
                    If GetPlayerAccess(Index) <= 2 Then
                        Player(Index).Target = i
                        Player(Index).TargetType = TARGET_TYPE_PLAYER
                        Call PlayerMsg(Index, "Seu alvo agora é " & GetPlayerName(i) & ".", Yellow)
                    ElseIf GetPlayerAccess(Index) >= 5 Then
                        Player(Index).Target = i
                        Player(Index).TargetType = TARGET_TYPE_PLAYER
                        Call PlayerMsg(Index, "Seu alvo agora é " & GetPlayerName(i) & ".", Yellow)
                        Call PlayerMsg(Index, "Jogador possuí: " & GetPlayerCash(i) & " de Cash.", Yellow)
                    Exit Sub
                End If
                End If

Ainda no modServerTCP, procure por:
Código:
Sub SendStats(ByVal Index As Long)

E mude a Sub toda por:
Código:
Sub SendStats(ByVal Index As Long)
    Dim Packet As String

    Packet = "PLAYERSTATSPACKET" & SEP_CHAR & GetPlayerstr(Index) & SEP_CHAR & GetPlayerDEF(Index) & SEP_CHAR & GetPlayerSPEED(Index) & SEP_CHAR & GetPlayerMAGI(Index) & SEP_CHAR & GetPlayerNextLevel(Index) & SEP_CHAR & GetPlayerExp(Index) & SEP_CHAR & GetPlayerLevel(Index) & SEP_CHAR & GetPlayerCash(Index) & END_CHAR
    Call SendDataTo(Index, Packet)
End Sub

Agora, na frmServer, aba Painel de Controle, adicione um CommandButton e no evento Click dele adicione:
Código:
    frmCash.Visible = True

Agora é só baixar a form, clicando aqui, e adicionar no servidor.

Preview, basta clicar D:

Bem, não tem o shop cash e/ou edição de cash pelo cliente pois será exclusivo do jogo Dragon Ball Breakout... Bem, qualquer coisa joguem pedras no Ranieri Laughing

Qualquer erro é só avisar aqui no fórum, aliás, peço para que não postem coisas do tipo:
Quando você irá adicionar no tutorial o que ficou de fora?

Me passa o "resto" do tutorial por MSN/MP?

Me adiciona no MSN e tira minhas dúvidas?

Obrigado e até a próxima!
Demi
Demi
Membro
Membro

Mensagens : 113

http://prodevnetwork.com

Ir para o topo Ir para baixo

[ALL]'Sistema de Cash' Empty Re: [ALL]'Sistema de Cash'

Mensagem por Lendário Dom 01 Nov 2009, 07:45

Obrigado por disponibilizar mais 1 de CRED.
Eu tava esperando esse sistema msm. xD
Lendário
Lendário
Administrador Lendário
Administrador Lendário

Mensagens : 1958

Ir para o topo Ir para baixo

[ALL]'Sistema de Cash' Empty Re: [ALL]'Sistema de Cash'

Mensagem por Demi Dom 01 Nov 2009, 07:50

Disponha Smile
Demi
Demi
Membro
Membro

Mensagens : 113

http://prodevnetwork.com

Ir para o topo Ir para baixo

[ALL]'Sistema de Cash' Empty Re: [ALL]'Sistema de Cash'

Mensagem por Zeus Seg 02 Nov 2009, 15:49

Legal esse sistema, acho melhor que vip ;D
Zeus
Zeus
Membro Vitalicio
Membro Vitalicio

Mensagens : 711

Ir para o topo Ir para baixo

[ALL]'Sistema de Cash' Empty Re: [ALL]'Sistema de Cash'

Mensagem por Rio Absolut Seg 02 Nov 2009, 18:17

Assim , eu posso depositar os cash para o personagen sem desligar o serve ?
Outra coisa tem como fazer o shop cash Ex : o palyer compra 1 VIP no shop cash quando ele compra e ativa o itens o aceso dele muda EX: Acese VIP =1 Aceso do player = 0


Entende obrigado
Rio Absolut
Rio Absolut
Membro Vitalicio
Membro Vitalicio

Mensagens : 655

Ir para o topo Ir para baixo

[ALL]'Sistema de Cash' Empty Re: [ALL]'Sistema de Cash'

Mensagem por Demi Seg 02 Nov 2009, 19:45

Geração Desing escreveu:Assim , eu posso depositar os cash para o personagen sem desligar o serve ?

Exato. Se você fez o tutorial ou viu a preview, entenderá. Lembre-se que o o "servidor" precisa ser salvo para permanecer salvar o cash também Wink

Geração Desing escreveu:Outra coisa tem como fazer o shop cash Ex : o palyer compra 1 VIP no shop cash quando ele compra e ativa o itens o aceso dele muda EX: Acese VIP =1 Aceso do player = 0


Entende obrigado


HatakeAzzi escreveu:Bem, não tem o shop cash e/ou edição de cash pelo cliente pois será exclusivo do jogo Dragon Ball Breakout... Bem, qualquer coisa joguem pedras no Ranieri Laughing

Qualquer erro é só avisar aqui no fórum, aliás, peço para que não postem coisas do tipo:

Quando você irá adicionar no tutorial o que ficou de fora?

Me passa o "resto" do tutorial por MSN/MP?

Me adiciona no MSN e tira minhas dúvidas?

Obrigado e até a próxima!
Demi
Demi
Membro
Membro

Mensagens : 113

http://prodevnetwork.com

Ir para o topo Ir para baixo

[ALL]'Sistema de Cash' Empty Re: [ALL]'Sistema de Cash'

Mensagem por Rio Absolut Seg 02 Nov 2009, 19:54

ata ok
Rio Absolut
Rio Absolut
Membro Vitalicio
Membro Vitalicio

Mensagens : 655

Ir para o topo Ir para baixo

[ALL]'Sistema de Cash' Empty Re: [ALL]'Sistema de Cash'

Mensagem por klinton-1234 Dom 31 Jan 2010, 09:23

puts nao acredito fiquei meia hora lendo esse tutorial fiz tudo na hora de baixar o link nao presta kkkkkkkk xD + 1 de cred so por fazer isso
avatar
klinton-1234
Membro
Membro

Mensagens : 220

Ir para o topo Ir para baixo

[ALL]'Sistema de Cash' Empty Re: [ALL]'Sistema de Cash'

Mensagem por AluCarD [FM] Seg 11 Out 2010, 14:11

Hatake tem como você cria um tutorial de como por esse msm sistema no FrmAdmin
por exemplo em vez de abrir o server e editar o cash do player
o adm aperta F1 e tera um botão la escrito Editar CASH e quando clicar la abrir a FrmCash

Tem Como fase isso?
AluCarD [FM]
AluCarD [FM]
Membro Junior
Membro Junior

Mensagens : 59

Ir para o topo Ir para baixo

[ALL]'Sistema de Cash' Empty Re: [ALL]'Sistema de Cash'

Mensagem por Ks_dark Sex 12 Nov 2010, 10:49

afsssss link quebrado

[ALL]'Sistema de Cash' Important The file link that you requested is not valid. Please contact link publisher or try to make a search.
vsf to meira hora faseno isso agora n vai o link merda memo vio
Ks_dark
Ks_dark
Membro Junior
Membro Junior

Mensagens : 50

http://roxdbz.tk

Ir para o topo Ir para baixo

[ALL]'Sistema de Cash' Empty Re: [ALL]'Sistema de Cash'

Mensagem por jeansales Dom 02 Jan 2011, 17:30

pow coloko o link pra funcionar velho que merda fiquei colokando esse codig e a porra do link nao funciona porfavor coloken ai oks
jeansales
jeansales
Membro Junior
Membro Junior

Mensagens : 50

Ir para o topo Ir para baixo

[ALL]'Sistema de Cash' Empty Re: [ALL]'Sistema de Cash'

Mensagem por Texak Sex 07 Jan 2011, 16:41

Link quebrado --'
Texak
Texak
Membro
Membro

Mensagens : 147

Ir para o topo Ir para baixo

[ALL]'Sistema de Cash' Empty Re: [ALL]'Sistema de Cash'

Mensagem por SkyZero Sex 07 Jan 2011, 18:14

Não compensa fazer pois está incompleto , não tem loja Cash ainda o que vai adiantar ter Sistema de Cash , se não tem a Loja ?
SkyZero
SkyZero
Membro Veterano
Membro Veterano

Mensagens : 890

Ir para o topo Ir para baixo

[ALL]'Sistema de Cash' Empty Re: [ALL]'Sistema de Cash'

Mensagem por hardsfree Qua 13 Abr 2011, 23:18

o meu nao ta assim
Código:
Sub AddAccount(ByVal Index As Long, _
  ByVal Name As String, _
  ByVal Password As String)
    Dim i As Long

    Player(Index).Login = Name
    Player(Index).Password = Password

    For i = 1 To MAX_CHARS
        Call ClearChar(Index, i)
    Next

    Call SavePlayer(Index)
End Sub

ta assim:
Código:
Sub AddAccount(ByVal Index As Long, _
  ByVal Name As String, _
  ByVal Password As String, _
  ByVal Codigo As String, _
  ByVal VIP As String, _
  ByVal InícioVIP As String, _
  ByVal DiasVIP As Long)
    Dim i As Long

    Player(Index).Login = Name
    Player(Index).Password = Password
    Player(Index).Codigo = Codigo
    Player(Index).VIP = VIP
    Player(Index).InícioVIP = InícioVIP
    Player(Index).DiasVIP = DiasVIP
    Player(Index).Cash = Cash

    For i = 1 To MAX_CHARS
        Call ClearChar(Index, i)
    Next

    Call SavePlayer(Index)
End Sub
avatar
hardsfree
Membro
Membro

Mensagens : 198

http://www.dbzaf.hd1.com.br/

Ir para o topo Ir para baixo

[ALL]'Sistema de Cash' Empty Re: [ALL]'Sistema de Cash'

Mensagem por Lucas Roberto Qui 14 Abr 2011, 13:20

e pq tem Sistemas que eu pois esse e source da perfect editada por isso esta assim
Lucas Roberto
Lucas Roberto
Membro Veterano
Membro Veterano

Mensagens : 1794

http://universogamesmmo.forumeiros.com/forum

Ir para o topo Ir para baixo

[ALL]'Sistema de Cash' Empty Re: [ALL]'Sistema de Cash'

Mensagem por Mystic Qui 14 Abr 2011, 18:07

o sistema de "cash" que eu vi o cara compra os creditos pelo allopass e ae é tipo tudo online, comprar itens e talz

obs: topico bem velho em '-'
Mystic
Mystic
Membro Sênior
Membro Sênior

Mensagens : 367

Ir para o topo Ir para baixo

[ALL]'Sistema de Cash' Empty Re: [ALL]'Sistema de Cash'

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