Distribuir pontos automaticamente ao passar de level!
3 participantes
MMORPG Brasil :: OPEN SOURCE ENGINES :: Outras Engines :: Elysium :: Tutoriais
Página 1 de 1
Distribuir pontos automaticamente ao passar de level!
Adicionar pontos automaticamente ao passar de level
Descrição
Ao passar de level, pontos irão ser automaticamente adicionados, level 20 ou igual será + 2 str e def, +1 agi e int. Maior que 20 até 60 é +5 str e def, 2 de int e agi. Maior que 60 é +10 str e def, +6 int e agi.
Tutorial
Client~Side
Vá na frmMirage, picStat, deixa invisível a lblPoints e as labels que contém o sinal de +.
Agora, procure por:
E apague todo o código até:
Server~Side
Mude a sub toda do Private Sub Command34_Click() por:
Depois mude a sub toda de Sub CheckPlayerLevelUp(ByVal Index As Long) por:
E agora, vá no Principal.txt e procure pela Sub PlayerLevelUp(index). Mude ela toda por:
Creditos: Lenon!.
Descrição
Ao passar de level, pontos irão ser automaticamente adicionados, level 20 ou igual será + 2 str e def, +1 agi e int. Maior que 20 até 60 é +5 str e def, 2 de int e agi. Maior que 60 é +10 str e def, +6 int e agi.
Tutorial
Client~Side
Vá na frmMirage, picStat, deixa invisível a lblPoints e as labels que contém o sinal de +.
Agora, procure por:
- Código:
' xxx Distribuição de Pontos por Comando xxx
E apague todo o código até:
- Código:
' xxx Fim da Distribuição de Pontos por Comando xxx
Server~Side
Mude a sub toda do Private Sub Command34_Click() por:
- Código:
Private Sub Command34_Click()
Dim Index As Long
Dim i As Long
Call GlobalMsg("O servidor deu um level grátis para todos!", BrightGreen)
For Index = 1 To MAX_PLAYERS
If IsPlaying(Index) = True Then
If GetPlayerLevel(Index) >= MAX_LEVEL Then
Call SetPlayerExp(Index, Experience(MAX_LEVEL))
Call SendStats(Index)
Else
Call SetPlayerLevel(Index, GetPlayerLevel(Index) + 1)
i = Int(GetPlayerSPEED(Index) / 10)
If i < 1 Then i = 1
If i > 3 Then i = 3
'Call SetPlayerPOINTS(Index, GetPlayerPOINTS(Index) + i)
If GetPlayerLevel(Index) <= 20 Then
Call SetPlayerstr(Index, GetPlayerstr(Index) + 2)
Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 2)
Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 1)
Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 1)
ElseIf GetPlayerLevel(Index) > 20 And GetPlayerLevel(Index) <= 60 Then
Call SetPlayerstr(Index, GetPlayerstr(Index) + 5)
Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 5)
Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 2)
Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 2)
ElseIf GetPlayerLevel(Index) > 60 And GetPlayerLevel(Index) <= 100 Then
Call SetPlayerstr(Index, GetPlayerstr(Index) + 10)
Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 10)
Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 6)
Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 6)
End If
Call BattleMsg(Index, "Seus pontos foram adicionados automaticamente.", 9, 0)
If GetPlayerLevel(Index) >= MAX_LEVEL Then
Call SetPlayerExp(Index, Experience(MAX_LEVEL))
Call SendStats(Index)
End If
Call SendStats(Index)
End If
End If
Next
End Sub
Depois mude a sub toda de Sub CheckPlayerLevelUp(ByVal Index As Long) por:
- Código:
Sub CheckPlayerLevelUp(ByVal Index As Long)
Dim i As Long
Dim d As Long
Dim C As Long
C = 0
If GetPlayerExp(Index) >= GetPlayerNextLevel(Index) Then
If GetPlayerLevel(Index) < MAX_LEVEL Then
If SCRIPTING = 1 Then
MyScript.ExecuteStatement "Scripts\Principal.txt", "PlayerLevelUp " & Index
Else
Do Until GetPlayerExp(Index) < GetPlayerNextLevel(Index)
DoEvents
If GetPlayerLevel(Index) < MAX_LEVEL Then
If GetPlayerExp(Index) >= GetPlayerNextLevel(Index) Then
d = GetPlayerExp(Index) - GetPlayerNextLevel(Index)
Call SetPlayerLevel(Index, GetPlayerLevel(Index) + 1)
i = Int(GetPlayerSPEED(Index) / 10)
If i < 1 Then i = 1
If i > 3 Then i = 3
Call SendDataTo(Index, "sound" & SEP_CHAR & "LevelUp" & END_CHAR)
'Call SetPlayerPOINTS(Index, GetPlayerPOINTS(Index) + i)
If GetPlayerLevel(Index) <= 20 Then
Call SetPlayerstr(Index, GetPlayerstr(Index) + 2)
Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 2)
Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 1)
Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 1)
ElseIf GetPlayerLevel(Index) > 20 And GetPlayerLevel(Index) <= 60 Then
Call SetPlayerstr(Index, GetPlayerstr(Index) + 5)
Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 5)
Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 2)
Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 2)
ElseIf GetPlayerLevel(Index) > 60 And GetPlayerLevel(Index) <= 100 Then
Call SetPlayerstr(Index, GetPlayerstr(Index) + 10)
Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 10)
Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 6)
Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 6)
End If
Call SetPlayerExp(Index, d)
C = C + 1
Else
Exit Do
End If
End If
Loop
If C > 1 Then
Call GlobalMsg(GetPlayerName(Index) & " ganhou " & C & " níveis!", 6)
Else
Call GlobalMsg(GetPlayerName(Index) & " ganhou um nível!", 6)
End If
'Call BattleMsg(Index, "Você possui " & GetPlayerPOINTS(Index) & " pontos.", 9, 0)
Call BattleMsg(Index, "Seus pontos foram adicionados automaticamente.", 9, 0)
End If
Call SendDataToMap(GetPlayerMap(Index), "levelup" & SEP_CHAR & Index & END_CHAR)
End If
If GetPlayerLevel(Index) = MAX_LEVEL Then
Call SetPlayerExp(Index, Experience(MAX_LEVEL))
End If
End If
Call SendHP(Index)
Call SendMP(Index)
Call SendSP(Index)
Call SendStats(Index)
End Sub
E agora, vá no Principal.txt e procure pela Sub PlayerLevelUp(index). Mude ela toda por:
- Código:
Sub PlayerLevelUp(index)
Dim I
Dim D
Dim C
C = 0
Do While GetPlayerExp(index) => GetPlayerNextLevel(index)
D = GetPlayerExp(index) - GetPlayerNextLevel(index)
Call SetPlayerLevel(index, GetPlayerLevel(index) + 1)
I = Int(GetPlayerSPEED(index) / 10)
If I < 1 Then I = 1
If I > 3 Then I = 3
'Call SetPlayerPOINTS(index, GetPlayerPOINTS(index) + I)
If GetPlayerLevel(Index) <= 20 Then
Call SetPlayerstr(Index, GetPlayerstr(Index) + 2)
Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 2)
Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 1)
Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 1)
ElseIf GetPlayerLevel(Index) > 20 And GetPlayerLevel(Index) <= 60 Then
Call SetPlayerstr(Index, GetPlayerstr(Index) + 5)
Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 5)
Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 2)
Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 2)
ElseIf GetPlayerLevel(Index) > 60 And GetPlayerLevel(Index) <= 100 Then
Call SetPlayerstr(Index, GetPlayerstr(Index) + 10)
Call SetPlayerDEF(Index, GetPlayerDEF(Index) + 10)
Call SetPlayerSPEED(Index, GetPlayerSPEED(Index) + 6)
Call SetPlayerMAGI(Index, GetPlayerMAGI(Index) + 6)
End If
Call SetPlayerExp(index, D)
C = C + 1
Loop
If C > 1 Then
'Call GlobalMsg(GetPlayerName(index) & " ganhou " & C & " níveis!", 6)
Else
'Call GlobalMsg(GetPlayerName(index) & " ganhou um nível!", 6)
End If
'Call BattleMsg(index, "Você tem " & GetPlayerPOINTS(index) & " pontos para gastar.", 9, 0)
Call BattleMsg(Index, "Seus pontos foram adicionados automaticamente.", 9, 0)
End Sub
Creditos: Lenon!.
Última edição por RenanR em Sex 10 Ago 2012, 00:22, editado 2 vez(es)
RenanR- Membro Veterano
- Mensagens : 1048
Re: Distribuir pontos automaticamente ao passar de level!
Fale mais sobre esse sistema, aliás, sempre que for postar um tutorial deixe uma descrição intuitiva do sistema!
-Kira- Membro Veterano
- Mensagens : 895
Re: Distribuir pontos automaticamente ao passar de level!
-Kira escreveu:Fale mais sobre esse sistema, aliás, sempre que for postar um tutorial deixe uma descrição intuitiva do sistema!
Adicionei uma descrição.
Obrigado!
Renan.
RenanR- Membro Veterano
- Mensagens : 1048
Re: Distribuir pontos automaticamente ao passar de level!
mt bom, lembro desse sistema q tinha no dbz legacy +1
É meu Fan? Gosta de Min? Então use:
OBS:
É meu Fan? Gosta de Min? Então use:
OBS:
KooringaBanido- Mensagens : 1361
Tópicos semelhantes
» Ganha 3 pontos ao passar de level
» como mudar a quantidade de pontos que ganha ao player passar de level
» Distribuir pontos pelo chat
» Atualizar automaticamente ao passar de mapa
» [ALL]Só passar se tiver level se n tiver volta 2 passos
» como mudar a quantidade de pontos que ganha ao player passar de level
» Distribuir pontos pelo chat
» Atualizar automaticamente ao passar de mapa
» [ALL]Só passar se tiver level se n tiver volta 2 passos
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