Auras Dx7

madmaiik

Informante
Queriendo poner el sistema de auras dx7 de El_santo43

http://www.gs-zone.org/temas/auras-dx7.91852/

me tira error al querer logear con el personaje

"error de compilacion:
se esperaba una variable o un procedimiento, no un modulo"

y me marca la siguiente linea:

.aura(parte).AuraGrh.GrhIndex = Auras(aura1).AuraGrh.GrhIndex

esta linea lo coloque al final de modulo protocol del cliente, y como soy un cono en programacion no supe arreglarlo, la unica forma de poder logear es quitando las 3 lineas:
Código:
  .aura(parte).AuraGrh.GrhIndex = Auras(aura1).AuraGrh.GrhIndex
  .aura(parte).OffsetX = Auras(aura1).OffsetX
  .aura(parte).OffsetY = Auras(aura1).OffsetY

pero mi idea era poder poner las auras por mas que segun me dijeron las dx7 son horribles, por favor si alguien me puede dar una mano estaria muy agradecido
 
G

G Toyz

Invitado
Tu módulo se debe llamar "Auras" y la variable se ve que se llama "Aura" con la información que te di corregí eso :p
 

madmaiik

Informante
Tu módulo se debe llamar "Auras" y la variable se ve que se llama "Aura" con la información que te di corregí eso :p

bueno buenisimo, ahora pude entrar pero al instante tiro otro error jaja

me dice que el subindice esta fuera de intervalo y me marca esto:

CurrentGrhIndex = GrhData(Grh.GrhIndex).Frames(Grh.FrameCounter)

creo que en el sub de alphablending, creo
 
G

G Toyz

Invitado
Y sí, tenés que crear un aura sino manda el grhindex 0.
 

madmaiik

Informante
Y sí, tenés que crear un aura sino manda el grhindex 0.

el tema es que le puse un aura, agarre el grh 250 que era un movimiento del apoca y lo puse en el ini del init
Código:
[INIT]
MAXAURAS=1

[AURA1]
GRH= 249
OFFSETX= 1
OFFSETY= 1

se lo puse a una vestimenta dateando el aura=1 y me tira eso, hay algo que me estoy olvidando?
 
G

G Toyz

Invitado
Poné un punto de interrupción en los datos que envía PrepareMessageSendAura (seguro manda un id EDIT: Call .WriteByte(Aurag), ahí poné punto de interrupción) y decime qué valor tiene.

En el cliente aura1 = incomingData.ReadByte y decime qué valor llega.

EDIT:
Bueno, me pasé por el aporte para ver bien el código, el nombre del módulo cambio por uno cualquiera (mientras que no sea Auras está perfecto) ahora andá al handle que publicaste y dejalo tal cual estaba el aporte. Ahí debería funcionar.

El tema es que al poner eso de arriba siempre te iba a tirar 0 porque eso mismo le asignabas.
 

madmaiik

Informante
Poné un punto de interrupción en los datos que envía PrepareMessageSendAura (seguro manda un id EDIT: Call .WriteByte(Aurag), ahí poné punto de interrupción) y decime qué valor tiene.

En el cliente aura1 = incomingData.ReadByte y decime qué valor llega.

EDIT:
Bueno, me pasé por el aporte para ver bien el código, el nombre del módulo cambio por uno cualquiera (mientras que no sea Auras está perfecto) ahora andá al handle que publicaste y dejalo tal cual estaba el aporte. Ahí debería funcionar.

El tema es que al poner eso de arriba siempre te iba a tirar 0 porque eso mismo le asignabas.

eu muchas gracias por darme pelota jaja, marque los puntos de interrupcion pero no marcaba ningun valor y el handle lo puse tal cual estaba, igual nunca lo cambie, y nada, sigue tirando el mismo error

EDIT: ahi cuando tira el error me marca el punto del servidor y el valor es:

Aurag = 1
 
G

G Toyz

Invitado
Lo de punto interrupción olvidate. Fijate en cambiarle el nombre al módulo del cliente y poner nuevamente el handle que está en el aporte (acordate que lo había editado arriba).
 
G

G Toyz

Invitado
Bueno genial, entonces si debe tener un error el código. Dejame ver que lo implemento y lo chequeo, encuentro el error y te paso la solución por acá :p
 
G

G Toyz

Invitado
Jaja, no tuve que ni implementarlo para percatarme del problema justo cuando vi el código de la carga en el cliente y tu init vi que vos estás poniendo mal en el editor de texto.

Respetá las mayúsculas y minúsculas en el archivo de auras en el init porque en eso en sensitive case

Código:
[LIST=1]
[*]    MaxAuras = Val(GetVar(AuraPath, "INIT", "MaxAuras"))
[*]   If MaxAuras > 0 Then
[*]       ReDim Auras(1 To MaxAuras) As tAuras
[*]

[*]       For LoopC = 1 To MaxAuras
[*]           With Auras(LoopC)
[*]                .AuraGrh.GrhIndex = Val(GetVar(AuraPath, "AURA" & LoopC, "GRH"))
[*]                .OffSetX = Val(GetVar(AuraPath, "AURA" & LoopC, "OffSetX"))
[*]                .OffSetY = Val(GetVar(AuraPath, "AURA" & LoopC, "OffSetY"))
[/LIST]
 

madmaiik

Informante
Jaja, no tuve que ni implementarlo para percatarme del problema justo cuando vi el código de la carga en el cliente y tu init vi que vos estás poniendo mal en el editor de texto.

Respetá las mayúsculas y minúsculas en el archivo de auras en el init porque en eso en sensitive case

Código:
[LIST=1]
[*]    MaxAuras = Val(GetVar(AuraPath, "INIT", "MaxAuras"))
[*]   If MaxAuras > 0 Then
[*]       ReDim Auras(1 To MaxAuras) As tAuras
[*]

[*]       For LoopC = 1 To MaxAuras
[*]           With Auras(LoopC)
[*]                .AuraGrh.GrhIndex = Val(GetVar(AuraPath, "AURA" & LoopC, "GRH"))
[*]                .OffSetX = Val(GetVar(AuraPath, "AURA" & LoopC, "OffSetX"))
[*]                .OffSetY = Val(GetVar(AuraPath, "AURA" & LoopC, "OffSetY"))
[/LIST]

Ahi hice lo que me dijiste, cambie el ini y quedo asi:

Código:
[INIT]
MaxAuras=1

[AURA1]
GRH=245
OffSetX=1
OffSetY=1

pero me sigue tirando el mismo error
 
G

G Toyz

Invitado
En el obj.dat en el objeto que elegiste poner el Aura pusiste: Aura=ID en vez de AURA=ID?
 
G

G Toyz

Invitado
Lo implementé, cambié esto: AuraPath = App.path & "\INIT\Auras.ini por esto: AuraPath = App.path & "\INIT\Auras.dat y funcionó. Estaba leyendo mal la carga :p
 

madmaiik

Informante
Lo implementé, cambié esto: AuraPath = App.path & "\INIT\Auras.ini por esto: AuraPath = App.path & "\INIT\Auras.dat y funcionó. Estaba leyendo mal la carga :p

probe y no me leyo el aura tirandome un error, dsp como tarado que soy me di cuenta que tenia que cambiar el .ini a .dat, lo hice y ahora me volvio a tirar el mismo error.. soy un caso perdido
 
G

G Toyz

Invitado
Fijate si el archivo realmente es un DAT.

Mirá:

2iiv91y.png
 
Arriba