Pra um jogo AFK Idle, sabemos o tanto que tempo é moeda, seja ele online e principalmente offline.
O sistema basicamente conta os minutos que você fica offline e te dá com precisão.
Parte boa é que é so "Server~Side".
Vamos lá, abra seu "Server.Vbp" e em "ModPlayer" , na "Sub JoinGame" , abaixo de :
Declare:
Ainda nessa mesma sub, procure por:
E logo abaixo adicione isto:
Ainda nesse módulo "ModPlayer", agora procure pela "Sub LeftGame" , e abaixo de:
Adicione isto:
Agora, em "ModDatabase" , procure pela "Sub AddChar" , e abaixo disso:
Adicione isto:
Por fim, em "ModTypes", declare um tipo, na Type "Private Type PlayerRec" , logo abaixo antes do primeiro "End Type" , declare o tipo:
OBS IMPORTANTE: Se trata de um sistema que adiciona um valor no jogador e precisa checar, então contas precisarão ser refeitas, ou somente basta ter um editor de contas onde você abre a variável do jogador nova "LastDateOnline" e "LastHourOnline" e você preenche com dados zerados (Data de hoje e minuto de hoje) e pronto, que aí não precisa de deletar contas, porque TODA VEZ que o jogador loga ele checa o tempo que ele saiu com o último dia e minuto que ele estava, gravado na conta.
E pronto! Agora você tem um sistema de IdleProfit no seu jogo, onde você tem a contagem de minutos que o jogador ficou offline!
O que dá pra fazer com isso?
Bem, dá pra você usar no seu jogo e aí você escolhe se nessa parte:
O "Total" , você:
- Dá em exp -> Total x 100 = 100 de xp por minuto offline
- Dá em gold -> Total x 10 = 10 de gold por minuto offline
E seja feliz na sua criação de jogo online!! Avante com os projetos!!
O sistema basicamente conta os minutos que você fica offline e te dá com precisão.
Parte boa é que é so "Server~Side".
Vamos lá, abra seu "Server.Vbp" e em "ModPlayer" , na "Sub JoinGame" , abaixo de :
- Código:
Dim i As Long
Declare:
- Código:
Dim q As String
Dim t As Long, j As Long, Total As Long
Ainda nessa mesma sub, procure por:
- Código:
' Send a global message that he/she joined
If GetPlayerAccess(Index) <= ADMIN_MONITOR Then
Call GlobalMsg(GetPlayerName(Index) & " has joined " & Options.Game_Name & "!", JoinLeftColor)
Else
Call GlobalMsg(GetPlayerName(Index) & " has joined " & Options.Game_Name & "!", White)
End If
E logo abaixo adicione isto:
- Código:
q = Format(Now, "hh:mm:ss")
t = DateDiff("n", q, Player(Index).LastHourOnline)
j = DateDiff("n", Player(Index).LastDateOnline, Date)
Total = j - t
Call PlayerMsg(Index, "Você ficou offline por " & Total & " minuto(s)", White)
Ainda nesse módulo "ModPlayer", agora procure pela "Sub LeftGame" , e abaixo de:
- Código:
' leave party.
Party_PlayerLeave Index
Adicione isto:
- Código:
'IdleSys
Player(Index).LastDateOnline = Date
Player(Index).LastHourOnline = Format(Now, "hh:mm:ss")
Agora, em "ModDatabase" , procure pela "Sub AddChar" , e abaixo disso:
- Código:
Player(Index).Vital(Vitals.MP) = GetPlayerMaxVital(Index, Vitals.MP)
Adicione isto:
- Código:
'IdleSys
Player(Index).LastDateOnline = Date
Player(Index).LastHourOnline = Format(Now, "hh:mm:ss")
Por fim, em "ModTypes", declare um tipo, na Type "Private Type PlayerRec" , logo abaixo antes do primeiro "End Type" , declare o tipo:
- Código:
'IdleSys
LastHourOnline As String * 8
LastDateOnline As String * 10
OBS IMPORTANTE: Se trata de um sistema que adiciona um valor no jogador e precisa checar, então contas precisarão ser refeitas, ou somente basta ter um editor de contas onde você abre a variável do jogador nova "LastDateOnline" e "LastHourOnline" e você preenche com dados zerados (Data de hoje e minuto de hoje) e pronto, que aí não precisa de deletar contas, porque TODA VEZ que o jogador loga ele checa o tempo que ele saiu com o último dia e minuto que ele estava, gravado na conta.
E pronto! Agora você tem um sistema de IdleProfit no seu jogo, onde você tem a contagem de minutos que o jogador ficou offline!
O que dá pra fazer com isso?
Bem, dá pra você usar no seu jogo e aí você escolhe se nessa parte:
- Código:
q = Format(Now, "hh:mm:ss")
t = DateDiff("n", q, Player(Index).LastHourOnline)
j = DateDiff("n", Player(Index).LastDateOnline, Date)
Total = j - t
Call PlayerMsg(Index, "Você ficou offline por " & Total & " minuto(s)", White)
O "Total" , você:
- Dá em exp -> Total x 100 = 100 de xp por minuto offline
- Dá em gold -> Total x 10 = 10 de gold por minuto offline
E seja feliz na sua criação de jogo online!! Avante com os projetos!!