Sistema de tormentas 13.0

Ir abajo

Sistema de tormentas 13.0

Mensaje por zaicko el 12/8/2013, 9:27 pm

por si no entendieron :

Cada el tiempo que quieran ustedes (en este ejemplo 1 hora) , una "Tormenta" , que se elige el tipo random, puede ser "Apocaliptica (?)", "Eléctrica" ó "De fuego" se eligirá unas cordenadas al azar, y en esas cordenadas caerá un FX, como bien vieron en las fotos, ha, y si hay un usuario "Call UserDie" , osea PUM , muerto.

cliente :

agregan al final del modulo tileengine

Código:
Public Sub SetFX(ByVal X As Integer, ByVal Y As Integer, ByVal Fx As Integer, ByVal LOOPS As Integer)
 
MapData(X, Y).FxI = Fx
 
InitGrh MapData(X, Y).Fx, FxData(Fx).Animacion
 
End Sub
agregan al type Mapblock

Código:
 FxI as integer
   Fx as grh
ahora buscan

Código:
'Char layer ************************************
                If .CharIndex <> 0 Then
                    Call CharRender(.CharIndex, PixelOffsetXTemp, PixelOffsetYTemp)
                End If
                '*************************************************
arriba ponen

Código:
If .FxI > 0 Then
                DDrawTransGrhtoSurface .Fx, PixelOffsetXTemp, PixelOffsetYTemp, 1, 1
                End If
agregan esto al final del protocol.bas

Código:
Private Sub HandleSendTorment()
With incomingData
 
Call .ReadByte
 
Dim PosX As Byte
Dim Posy As Byte
Dim Fx As Byte
Dim Loopx As Byte
Dim Destroy As Boolean
PosX = .ReadByte
Posy = .ReadByte
Fx = .ReadByte
Loopx = .ReadInteger
Destroy = .ReadBoolean
 
If Not Destroy Then
MapData(PosX, Posy).FxI = 0
Else
SetFX CInt(PosX), CInt(Posy), CInt(Fx), Loopx
End If
 
End With
 
End Sub
buscamos

Código:
Case ServerPacketID.RainToggle              ' LLU
            Call HandleRainToggle
abajo va:

Código:
Case ServerPacketID.SendTORMENT
            Call HandleSendTorment
buscamos:

Código:
RainToggle              ' LLU
Abajo

Código:
SendTORMENT             ' SND
servidor.

repetimos el anterior paso, osea.

buscamos

Código:
 RainToggle              ' LLU
Abajo

Código:
SendTORMENT             ' SND
ahora buscamos

Código:
Public Function PrepareMessagePauseToggle() As String
'***************************************************
'Author: Juan Martín Sotuyo Dodero (Maraxus)
'Last Modification: 05/17/06
'Prepares the "PauseToggle" message and returns it
'***************************************************
    With auxiliarBuffer
        Call .WriteByte(ServerPacketID.PauseToggle)
        PrepareMessagePauseToggle = .ReadASCIIStringFixed(.length)
    End With
End Function
abajo de su "End Function" ponemos

Código:
Public Function PrepareSendTorment(ByVal X As Byte, ByVal Y As Byte, ByVal FXZ As Byte, ByVal LOOPX As Integer) As String
With auxiliarBuffer
 
Call .WriteByte(ServerPacketID.SendTorment)
Call .WriteByte(X)
Call .WriteByte(Y)
Call .WriteByte(FXZ)
Call .WriteInteger(LOOPX)
Call .WriteBoolean(Tormenta)
 
PrepareSendTorment = .ReadASCIIStringFixed(.length)
 
End With
 
End Function
ahora buscaremos el

Código:
Sub PasarSegundo()
y abajo de eso, pondremos

Código:
If faltaTormenta > 0 then
faltatormenta = faltatormenta + 1
if faltatormenta >= 60 then
subtormenta
faltatormenta=0
end if
end if
en el módulo declaraciones, pondremos

Código:
Public Tormenta as boolean
Public FaltaTormenta as byte
agregan esto en algún módulo..

Código:
Sub SubTormenta()
 
Dim X As Byte
Dim Y As Byte
Dim TmpFX As Byte
Dim Loops As Integer
Dim RandC As Integer
Dim ArrayK(7 To 13) As String
ArrayK(7) = "La tormenta de fuego"
ArrayK(11) = "La tormenta eléctrica"
ArrayK(13) = "La tormenta apocalíptica"
RandC = Ciudades(RandomNumber(1, 5)).map
X = RandomNumber(35, 55)
Y = RandomNumber(35, 55)
 
If RandomNumber(1, 3) = 1 Then
'Tormenta eléctrica o.O
TmpFX = 11
ElseIf RandomNumber(1, 3) = 2 Then
'tormenta fuego xd
TmpFX = 7
Else
'tormenta apocaliptica
TmpFX = 13
End If
 
Loops = 100
 
Tormenta = Not Tormenta
 
SendData SendTarget.toMap, 1, PrepareSendTorment(X, Y, TmpFX, Loops)
 
If MapData(RandC, X, Y).UserIndex > 0 Then 'ups, lo shiento!
UserDie UserIndex
WriteConsoleMsg UserIndex, ArrayK(TmpFX) & " Te ha matado!!", FontTypeNames.FONTTYPE_GUILD
End If
 
End Sub
FUENTE GS-ZONE

zaicko
Nivel 4
Nivel 4

¿BANEADO? : No.
Premios : Ninguno.
Cantidad de envíos : 145
Localización : mar del plata
Fecha de inscripción : 22/03/2012

Ver perfil de usuario

Volver arriba Ir abajo

Re: Sistema de tormentas 13.0

Mensaje por MwM el 12/8/2013, 9:43 pm

Seguís con los aportes de 13.0! que groso que sos man otra cosa para implementar...
Muchísimas gracias por estos aportes
avatar
MwM
Retirado
Retirado

¿BANEADO? : No.
Premios :
[1º P]Literatura
[1ºP]Torneo de LoL por equipos.
Cantidad de envíos : 1965
Edad : 20
Localización : #Rafaela
Fecha de inscripción : 10/06/2013

Ver perfil de usuario

Volver arriba Ir abajo

Re: Sistema de tormentas 13.0

Mensaje por kHALED el 12/8/2013, 10:01 pm

+Plus rayo - indexación

GrhX=1-1-0-0-512-650 'Cambiar "X" por ultimo Grh


Lindo aporte, al estilo blisse AO
avatar
kHALED
Retirado
Retirado

Premios :
[1º P]Diseñador gráfico.
[1º P]Concurso de físico.
[1º P]Diseño de interfaces.
[1º P]Gráfica Manual Sketch.
[1º P]Diseñador gráfico manual.
[1º P]Torneo de LoL por equipos.
[1ºP]Concurso banner Halloween 2014
[2ºP]Torneo 1vs1 [LoL]
Cantidad de envíos : 10428
Edad : 20
Localización : Valhala
Fecha de inscripción : 09/03/2012

Ver perfil de usuario http://www.aesir-online.com/forum/

Volver arriba Ir abajo

Re: Sistema de tormentas 13.0

Mensaje por ivodamian el 5/7/2018, 10:27 am

Hola buenas encontre un herror por el cual a mucha gente no le puede aparecer debe ser un herror de o una tecla mas escrita
en la siguiente linea

Case ServerPacketID.RainToggle ' LLU
Call HandleRainToggle

Yo lo pondria en Select Case Packet
Case ServerPacketID.logged ' LOGGED
Call HandleLogged
Puede ser?

ivodamian
Nivel 1
Nivel 1

¿BANEADO? : No.
Premios : Ninguno.
Cantidad de envíos : 13
Localización : buenos aires
Fecha de inscripción : 22/03/2015

Ver perfil de usuario

Volver arriba Ir abajo

Re: Sistema de tormentas 13.0

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.