Estou pensando em um sistema onde o jogador receberá dano se não estiver usando uma armadura em determinados mapas como no gelo (receber dano por causa do congelamento). Alguém tem uma base para eu poder me espelhar ou conhece algum metodo funcional?.
4 participantes
[Dúvida] Receber dano sem equip.
- Mensagem nº1
[Dúvida] Receber dano sem equip.
_________________
using C# and import Python developer || Expert in Unity Engine IDE. || 2D pixel games.
- Mensagem nº2
Re: [Dúvida] Receber dano sem equip.
Vamo lá então
Abra o Serve-side.
Em modConstant procure por:
Abaixo adicione:
Agora em modServerLoop na Sub ServerLoop() procure por:
Acima adicione:
Ainda nessa mesma sub procura por:
Acima adicione:
Agora no Client-Side
Vá no frmEditor_MapProperties e na cmbMoral na propriedade "List"
adicione: Damage Zone
pronto, não testei fiz agr, então
Abra o Serve-side.
Em modConstant procure por:
- Código:
Public Const MAP_MORAL_SAFE As Byte = 1
Abaixo adicione:
- Código:
Public Const MAP_MORAL_DAMAGE As Byte = 2
Agora em modServerLoop na Sub ServerLoop() procure por:
- Código:
ServerOnline = True
Acima adicione:
- Código:
Dim TickDamage as long
Ainda nessa mesma sub procura por:
- Código:
' Check for disconnections every half second
If Tick > tmr500 Then
Acima adicione:
- Código:
If Tick > TickDamage Then
For i = 1 To Player_HighIndex
If Map(GetPlayerMap(i)).Moral = MAP_MORAL_DAMAGE Then
SetPlayerVital i, HP, GetPlayerVital(i, HP) - 10 ' Onde tem 10 mude para o valor do dano
SendActionMsg GetPlayerMap(i), "-10 HP", BrightRed, ACTIONMSG_SCROLL, GetPlayerX(i) * 32, GetPlayerY(i) * 32, 1
End If
Next
TickDamage = GetTickCount + 1000 ' onde tem 1000 mude para o tempo q vc queira q dê o dando 1000 = 1s
End If
Agora no Client-Side
Vá no frmEditor_MapProperties e na cmbMoral na propriedade "List"
adicione: Damage Zone
pronto, não testei fiz agr, então
- Mensagem nº3
Re: [Dúvida] Receber dano sem equip.
Esta dando problema :
https://i.imgur.com/QqUbhT9.png
Depois que eu salvo o mapa ele salva como damage zone mas quando fecho o editor ele da esse problema acima, mas mesmo com o problema, dentro do jogo ele detecta o mapa, causa o dano mas depois de um tempo da o erro tbm.
https://i.imgur.com/QqUbhT9.png
Depois que eu salvo o mapa ele salva como damage zone mas quando fecho o editor ele da esse problema acima, mas mesmo com o problema, dentro do jogo ele detecta o mapa, causa o dano mas depois de um tempo da o erro tbm.
_________________
using C# and import Python developer || Expert in Unity Engine IDE. || 2D pixel games.
gui408- Ocasional
- Mensagens : 227
Créditos : 10
- Mensagem nº4
Re: [Dúvida] Receber dano sem equip.
Vc coloco sistema e deletou todos os maps antes?
- Mensagem nº5
Re: [Dúvida] Receber dano sem equip.
sim e não surtiu efeito, persiste o erro.
_________________
using C# and import Python developer || Expert in Unity Engine IDE. || 2D pixel games.
- Mensagem nº6
Re: [Dúvida] Receber dano sem equip.
GallighanMaker escreveu:sim e não surtiu efeito, persiste o erro.
Não precisa apagar mapas!
mude o codigo para esse:
- Código:
If Tick > TickDamage Then
For i = 1 To Player_HighIndex
If IsPlaying(i) Then
If Map(GetPlayerMap(i)).Moral = MAP_MORAL_DAMAGE Then
SetPlayerVital i, HP, GetPlayerVital(i, HP) - 10 ' Onde tem 10 mude para o valor do dano
SendActionMsg GetPlayerMap(i), "-10 HP", BrightRed, ACTIONMSG_SCROLL, GetPlayerX(i) * 32, GetPlayerY(i) * 32, 1
SendVital i, HP
End If
End If
Next
TickDamage = GetTickCount + 1000 ' onde tem 1000 mude para o tempo q vc queira q dê o dando 1000 = 1s
End If
- Mensagem nº7
Re: [Dúvida] Receber dano sem equip.
Agora aparentemente esta tudo ok e funcionando, para quem quiser usar aqui o codigo com a verificação da armadura e adicionei a funcao KillPlayer quando o hp chegar a 0.
Demonstração (GIF):
..
Pedido/Dúvida atendido, pode trancar o tópico se quiser.
- Código:
'Damege map cold
If Tick > TickDamage Then
For i = 1 To Player_HighIndex
If IsPlaying(i) Then
If Map(GetPlayerMap(i)).Moral = MAP_MORAL_DAMAGE Then
If GetPlayerEquipment(i, Armor) <= 0 Then 'Verifica se esta usando uma armadura
SetPlayerVital i, HP, GetPlayerVital(i, HP) - 10 ' Onde tem 10 mude para o valor do dano
SendActionMsg GetPlayerMap(i), "-10 HP", BrightRed, ACTIONMSG_SCROLL, GetPlayerX(i) * 32, GetPlayerY(i) * 32, 1
PlayerMsg i, "You lost 10 HP because of the cold, put on a armor for warmth.", BrightRed
SendVital i, HP
If GetPlayerVital(i, HP) <= 0 Then
KillPlayer i
PlayerMsg i, "You're killed by a cold.", BrightRed
End If
End If
End If
End If
Next
TickDamage = timeGetTime + 10000 ' onde tem 1000 mude para o tempo q vc queira q dê o dando 1000 = 1s
End If
Demonstração (GIF):
..
Pedido/Dúvida atendido, pode trancar o tópico se quiser.
_________________
using C# and import Python developer || Expert in Unity Engine IDE. || 2D pixel games.
joaopaulo98- Experiente
- Mensagens : 632
Créditos : 45
- Mensagem nº8
Re: [Dúvida] Receber dano sem equip.
GallighanMaker escreveu:Agora aparentemente esta tudo ok e funcionando, para quem quiser usar aqui o codigo com a verificação da armadura e adicionei a funcao KillPlayer quando o hp chegar a 0.
- Código:
'Damege map cold
If Tick > TickDamage Then
For i = 1 To Player_HighIndex
If IsPlaying(i) Then
If Map(GetPlayerMap(i)).Moral = MAP_MORAL_DAMAGE Then
If GetPlayerEquipment(i, Armor) <= 0 Then 'Verifica se esta usando uma armadura
SetPlayerVital i, HP, GetPlayerVital(i, HP) - 10 ' Onde tem 10 mude para o valor do dano
SendActionMsg GetPlayerMap(i), "-10 HP", BrightRed, ACTIONMSG_SCROLL, GetPlayerX(i) * 32, GetPlayerY(i) * 32, 1
PlayerMsg i, "You lost 10 HP because of the cold, put on a armor for warmth.", BrightRed
SendVital i, HP
If GetPlayerVital(i, HP) <= 0 Then
KillPlayer i
PlayerMsg i, "You're killed by a cold.", BrightRed
End If
End If
End If
End If
Next
TickDamage = timeGetTime + 10000 ' onde tem 1000 mude para o tempo q vc queira q dê o dando 1000 = 1s
End If
Demonstração (GIF):
..
Pedido/Dúvida atendido, pode trancar o tópico se quiser.
TickDamage = timeGetTime + 10000 ' onde tem 1000 mude para o tempo q vc queira q dê o dando 1000 = 1s
timeGetTime " erro variavel não definida "
_________________
- Dancinha:
METAS 2020.
- APRENDER TOCAR VIOLINO ||||||||||
- FAZER ETEC DESENVOLVIMENTO EM SISTEMA ||||||||||
- CRIAR UM APLICATIVO RENTÁVEL||||||||||
- GANHAR DINHEIRO PROGRAMANDO ||||||||||
- Mensagem nº9
Re: [Dúvida] Receber dano sem equip.
é que a engine que eu uso utiliza timeGetTime no seu caso tente com:
- Código:
TickDamage = GetTickCount + 10000 ' onde tem 1000 mude para o tempo q vc queira q dê o dando 1000 = 1s
_________________
using C# and import Python developer || Expert in Unity Engine IDE. || 2D pixel games.
joaopaulo98- Experiente
- Mensagens : 632
Créditos : 45
- Mensagem nº10
Re: [Dúvida] Receber dano sem equip.
funcionou vlw mano
_________________
- Dancinha:
METAS 2020.
- APRENDER TOCAR VIOLINO ||||||||||
- FAZER ETEC DESENVOLVIMENTO EM SISTEMA ||||||||||
- CRIAR UM APLICATIVO RENTÁVEL||||||||||
- GANHAR DINHEIRO PROGRAMANDO ||||||||||