Olá pessoal da aldeia!
Não tem muitos tutoriais de Crystal Shire aki, então eu resolvi colocar alguns que eu achei na net.
Obs:Não tem uma area de CS:DE emtao resolvi postar aki msm...se n puder me desculpem
Esse tutoria faz o sistem de fog do jogo funcionar...(akelas neblina sabe...)
Client Side
No modTypes procure por Private Type Map Rec e antes do End Type adicione:
A seguir, na Sub SendMap ache:
Entre isso, abaixo do Buffer.WriteLong.Npc(x) adicione isso:
Agora na sub HandleMapData procure por:
Novamente abixo do Map.Npc(x) = Buffer.ReadLong, adicione isso:
Agora na Sub MapEditorProperties ache:
Abaixo adicione:
Procure e troque a Sub DrawFog() por essa aki abaixo:
Na sub SaveMap Procure por:
Abaixo adicione:
Na Sub LoadMap procure por:
Abaixo adicione:
Finalmente troque o seu frmEditor_MapProprietis com esse aqui:
[url=Clike aki para baixar]http://www.touchofdeathforums.com/smf/index.php?action=dlattach;topic=78116.0;attach=20342[/url]
SERVER SIDE
Procure pela Private Type MapRec e antes da End Type adicione:
Agora na Sub HandleMapData Ache:
Abaixo do Map(mapNum).Npc(x) = Buffer.ReadLong adicione:
Finalmente, na sub MapCache_Create ache:
E abaixo do Buffer.WriteLong Map(mapNum).Npc(x) adicione isso:
Na sub SaveMap procure por:
Abaixo adicione:
Finamente na Sub LoadMaps procure por:
Abaixo adicione:
E acabamos!
Agora deve estar assim
Creditos:
Robin por fazer o sistema.
Jcsnider por termina-lo.
Eu por traduzir e postar aqui.
Não tem muitos tutoriais de Crystal Shire aki, então eu resolvi colocar alguns que eu achei na net.
Obs:Não tem uma area de CS:DE emtao resolvi postar aki msm...se n puder me desculpem
Esse tutoria faz o sistem de fog do jogo funcionar...(akelas neblina sabe...)
Client Side
No modTypes procure por Private Type Map Rec e antes do End Type adicione:
- Código:
Fog As Byte
FogOpacity As Byte
FogBlendMode As Byte
A seguir, na Sub SendMap ache:
- Código:
With Map
For x = 1 To MAX_MAP_NPCS
Buffer.WriteLong .Npc(x)
Next
End With
Entre isso, abaixo do Buffer.WriteLong.Npc(x) adicione isso:
- Código:
Buffer.WriteByte Map.Fog
Buffer.WriteByte Map.FogOpacity
Buffer.WriteByte Map.FogBlendMode
Agora na sub HandleMapData procure por:
- Código:
For x = 1 To MAX_MAP_NPCS
Map.Npc(x) = Buffer.ReadLong
Next
Novamente abixo do Map.Npc(x) = Buffer.ReadLong, adicione isso:
- Código:
Map.Fog = Buffer.ReadByte
Map.FogOpacity = Buffer.ReadByte
Map.FogBlendMode = Buffer.ReadByte
Agora na Sub MapEditorProperties ache:
- Código:
.scrlBoss = Map.BossNpc
Abaixo adicione:
- Código:
.scrlFog.value = Map.Fog
.scrlFogOpacity.value = Map.FogOpacity
.scrlFogBlending.value = Map.FogBlendMode
Procure e troque a Sub DrawFog() por essa aki abaixo:
- Código:
Public Sub DrawFog()
Dim fogNum As Long, colour As Long, x As Long, y As Long, renderState As Long
fogNum = Map.Fog
If fogNum <= 0 Or fogNum > Count_Fog Then Exit Sub
renderState = Map.FogBlendMode + 1
colour = D3DColorARGB(Map.FogOpacity, 255, 255, 255)
' render state
Select Case renderState
Case 1 ' Additive
D3DDevice8.SetTextureStageState 0, D3DTSS_COLOROP, D3DTOP_MODULATE
D3DDevice8.SetRenderState D3DRS_DESTBLEND, D3DBLEND_ONE
Case 2 ' Subtractive
D3DDevice8.SetTextureStageState 0, D3DTSS_COLOROP, D3DTOP_SUBTRACT
D3DDevice8.SetRenderState D3DRS_SRCBLEND, D3DBLEND_ZERO
D3DDevice8.SetRenderState D3DRS_DESTBLEND, D3DBLEND_INVSRCCOLOR
End Select
For x = 0 To 4
For y = 0 To 3
'RenderTexture Tex_Fog(fogNum), (x * 256) + fogOffsetX, (y * 256) + fogOffsetY, 0, 0, 256, 256, 256, 256, colour
RenderTexture Tex_Fog(fogNum), (x * 256), (y * 256), 0, 0, 256, 256, 256, 256, colour
Next
Next
' reset render state
If renderState > 0 Then
D3DDevice8.SetRenderState D3DRS_SRCBLEND, D3DBLEND_SRCALPHA
D3DDevice8.SetRenderState D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA
D3DDevice8.SetTextureStageState 0, D3DTSS_COLOROP, D3DTOP_MODULATE
End If
End Sub
Na sub SaveMap Procure por:
- Código:
Put #f, , Map.BossNpc
Abaixo adicione:
- Código:
Put #f, , Map.Fog
Put #f, , Map.FogOpacity
Put #f, , Map.FogBlendMode
Na Sub LoadMap procure por:
- Código:
Get #f, , Map.BossNpc
Abaixo adicione:
- Código:
Get #f, , Map.Fog
Get #f, , Map.FogOpacity
Get #f, , Map.FogBlendMode
Finalmente troque o seu frmEditor_MapProprietis com esse aqui:
[url=Clike aki para baixar]http://www.touchofdeathforums.com/smf/index.php?action=dlattach;topic=78116.0;attach=20342[/url]
SERVER SIDE
Procure pela Private Type MapRec e antes da End Type adicione:
- Código:
Fog As Byte
FogOpacity As Byte
FogBlendMode As Byte
Agora na Sub HandleMapData Ache:
- Código:
For x = 1 To MAX_MAP_NPCS
Map(mapNum).Npc(x) = Buffer.ReadLong
Call ClearMapNpc(x, mapNum)
Next
Abaixo do Map(mapNum).Npc(x) = Buffer.ReadLong adicione:
- Código:
Map(mapNum).Fog = Buffer.ReadByte
Map(mapNum).FogOpacity = Buffer.ReadByte
Map(mapnum).FogBlendMode = Buffer.ReadByte
Finalmente, na sub MapCache_Create ache:
- Código:
For x = 1 To MAX_MAP_NPCS
Buffer.WriteLong Map(mapNum).Npc(x)
Next
E abaixo do Buffer.WriteLong Map(mapNum).Npc(x) adicione isso:
- Código:
Buffer.WriteByte Map(mapNum).Fog
Buffer.WriteByte Map(mapNum).FogOpacity
Buffer.WriteByte Map(mapNum).FogBlendMode
Na sub SaveMap procure por:
- Código:
Put #F, , Map(mapNum).BossNpc
Abaixo adicione:
- Código:
Put #F, , Map(mapNum).Fog
Put #F, , Map(mapNum).FogOpacity
Put #F, , Map(mapNum).fogblendmode
Finamente na Sub LoadMaps procure por:
- Código:
Get #F, , Map(i).BossNpc
Abaixo adicione:
- Código:
Get #F, , Map(i).Fog
Get #F, , Map(i).FogOpacity
Get #F, , Map(i).fogblendmode
E acabamos!
Agora deve estar assim
- Spoiler:
- Spoiler:
Creditos:
Robin por fazer o sistema.
Jcsnider por termina-lo.
Eu por traduzir e postar aqui.