Foro especializado en Warcraft III y su editor
 
BuscarEntrar al ChatboxPortal del foroÍndiceSpellsRegistrarseConectarse
Eventos Actuales
No hay eventos actualmente
¡ Bienvenido Invitado !

Editar Perfil

Tus temas
Tus Mensajes ()

Enlaces rápidos








Comparte
 

 Problema-Crash con el SemiUniversal Proyectile Spell

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Rasamayu
Soldado


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 110
Reputación Reputación : 3
Monedas de oro : 334
Monedas de Platino : 0 Problema-Crash con el SemiUniversal Proyectile Spell  Empty

Inventario :
Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10
Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10

Problema-Crash con el SemiUniversal Proyectile Spell  Empty
Mensaje(#) Tema: Problema-Crash con el SemiUniversal Proyectile Spell Problema-Crash con el SemiUniversal Proyectile Spell  Clock10Sáb Nov 13, 2021 2:08 am

Buenas noches, hace días estaba consultando sobre si el damage engine podría generar crash y dije que si encontraba el error del crash volvería a consultar.

Eh estado probando las habilidades, y descubrí el error, el SemiUniversal Proyectile Spell al darle demasiada distancia de recorrido al misil, hasta el punto de pasar el mapa, genera que el juego se crashee.

El crash no ocurre solamente si el proyectil traspasa el mapa jugable, sino si es que lo traspasa DEMASIADO, por ejemplo un recorrido de 10000 crasheara el mapa al 16 avo lanzamiento fuera del mapa, mientras un recorrido de 2000 fuera del mapa no lo hará.

La solución que se me ocurrió, es comprobar si el misil se encuentra fuera del mapa, entonces hacer que el dummy se destruya o setear la distancia a 0. No sabría como implementar estas modificaciones y es por eso que consulto, gracias.

PD: El mapa que poseo es demasiado grande, y mi spell se trata de un misil global punto selección, es por ello que le di demasiado rango de lanzamiento.


Última edición por Rasamayu el Sáb Nov 13, 2021 11:30 pm, editado 1 vez
Volver arriba Ir abajo
En línea
Marcos_M

Marcos_M


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 3618
Reputación Reputación : 704
Monedas de oro : 11133
Monedas de Platino : 0 Problema-Crash con el SemiUniversal Proyectile Spell  Empty

Inventario :
Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10
Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10

Problema-Crash con el SemiUniversal Proyectile Spell  Empty
Mensaje(#) Tema: Re: Problema-Crash con el SemiUniversal Proyectile Spell Problema-Crash con el SemiUniversal Proyectile Spell  Clock10Sáb Nov 13, 2021 8:35 pm

Tuve que darle más vueltas de lo necesario pero ya lo arreglé. Actualicé el sistema así que tienes que reimportarlo a tu map.

https://www.epicwar.com/maps/318446/

Para marcarte los cambios, creé estas nuevas variables

[gui]SemiUniversal Proy Config
Acontecimientos
Map initialization
Condiciones
Acciones
Set WORLD_BORDER_WIDTH = 256.00
Set WORLD_BORDER_MAX_X = (Max X of (Entire map))
Set WORLD_BORDER_MAX_X = (WORLD_BORDER_MAX_X - WORLD_BORDER_WIDTH)
Set WORLD_BORDER_MAX_Y = (Max Y of (Entire map))
Set WORLD_BORDER_MAX_Y = (WORLD_BORDER_MAX_Y - WORLD_BORDER_WIDTH)
Set WORLD_BORDER_MIN_X = (Min X of (Entire map))
Set WORLD_BORDER_MIN_X = (WORLD_BORDER_MIN_X + WORLD_BORDER_WIDTH)
Set WORLD_BORDER_MIN_Y = (Min Y of (Entire map))
Set WORLD_BORDER_MIN_Y = (WORLD_BORDER_MIN_Y + WORLD_BORDER_WIDTH)
-------- --------------------------------- --------------------------------- --------------------------------- --------
[/gui]
Y agregué una función a la Utilidad

[jass] function SetPointInBorders takes location l returns nothing
local real x = GetLocationX(l)
local real y = GetLocationY(l)
local real nx = x
local real ny = y

if x > udg_WORLD_BORDER_MAX_X then
set nx = udg_WORLD_BORDER_MAX_X
elseif x < udg_WORLD_BORDER_MIN_X then
set nx = udg_WORLD_BORDER_MIN_X
endif

if y > udg_WORLD_BORDER_MAX_Y then
set ny = udg_WORLD_BORDER_MAX_Y
elseif y < udg_WORLD_BORDER_MIN_Y then
set ny = udg_WORLD_BORDER_MIN_Y
endif

call MoveLocation(l,nx,ny)
endfunction[/jass]

Realmente, todos los sistemas de misiles tienen algo así, pero me olvidé de implementarlo cuando lo hice. Y no es que crasheaba al 16 avo lanzamiento. Simplemente que si lanzas un misil en dirección a la esquina del mapa, genera un crash pero si no es en las esquinas no siempre crashea
Volver arriba Ir abajo
Rasamayu
Soldado


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 110
Reputación Reputación : 3
Monedas de oro : 334
Monedas de Platino : 0 Problema-Crash con el SemiUniversal Proyectile Spell  Empty

Inventario :
Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10
Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10

Problema-Crash con el SemiUniversal Proyectile Spell  Empty
Mensaje(#) Tema: Re: Problema-Crash con el SemiUniversal Proyectile Spell Problema-Crash con el SemiUniversal Proyectile Spell  Clock10Sáb Nov 13, 2021 11:30 pm

@Marcos_M escribió:
Tuve que darle más vueltas de lo necesario pero ya lo arreglé. Actualicé el sistema así que tienes que reimportarlo a tu map.

https://www.epicwar.com/maps/318446/

Para marcarte los cambios, creé estas nuevas variables

[gui]SemiUniversal Proy Config
   Acontecimientos
       Map initialization
   Condiciones
   Acciones
       Set WORLD_BORDER_WIDTH = 256.00
       Set WORLD_BORDER_MAX_X = (Max X of (Entire map))
       Set WORLD_BORDER_MAX_X = (WORLD_BORDER_MAX_X - WORLD_BORDER_WIDTH)
       Set WORLD_BORDER_MAX_Y = (Max Y of (Entire map))
       Set WORLD_BORDER_MAX_Y = (WORLD_BORDER_MAX_Y - WORLD_BORDER_WIDTH)
       Set WORLD_BORDER_MIN_X = (Min X of (Entire map))
       Set WORLD_BORDER_MIN_X = (WORLD_BORDER_MIN_X + WORLD_BORDER_WIDTH)
       Set WORLD_BORDER_MIN_Y = (Min Y of (Entire map))
       Set WORLD_BORDER_MIN_Y = (WORLD_BORDER_MIN_Y + WORLD_BORDER_WIDTH)
       -------- ---------------------------------     ---------------------------------     ---------------------------------      --------
[/gui]
Y agregué una función a la Utilidad

[jass]    function SetPointInBorders takes location l returns nothing
       local real x = GetLocationX(l)
       local real y = GetLocationY(l)
       local real nx = x
       local real ny = y
       
       if x > udg_WORLD_BORDER_MAX_X then
           set nx = udg_WORLD_BORDER_MAX_X
       elseif x < udg_WORLD_BORDER_MIN_X then
           set nx = udg_WORLD_BORDER_MIN_X
       endif
       
       if y > udg_WORLD_BORDER_MAX_Y then
           set ny = udg_WORLD_BORDER_MAX_Y
       elseif y < udg_WORLD_BORDER_MIN_Y then
           set ny = udg_WORLD_BORDER_MIN_Y
       endif
       
       call MoveLocation(l,nx,ny)
   endfunction[/jass]

Realmente, todos los sistemas de misiles tienen algo así, pero me olvidé de implementarlo cuando lo hice. Y no es que crasheaba al 16 avo lanzamiento. Simplemente que si lanzas un misil en dirección a la esquina del mapa, genera un crash pero si no es en las esquinas no siempre crashea

Gracias Marcos, en la utilidad, puedo copiar todo el código de la utilidad nueva y pegarlo sobre el que ya tengo ? o provocara algún error ?

Otra duda, en las nuevas variables de config, son contantes o se deben modificar dependiendo del mapa.

Gracias
Volver arriba Ir abajo
En línea
Marcos_M

Marcos_M


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 3618
Reputación Reputación : 704
Monedas de oro : 11133
Monedas de Platino : 0 Problema-Crash con el SemiUniversal Proyectile Spell  Empty

Inventario :
Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10
Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10

Problema-Crash con el SemiUniversal Proyectile Spell  Empty
Mensaje(#) Tema: Re: Problema-Crash con el SemiUniversal Proyectile Spell Problema-Crash con el SemiUniversal Proyectile Spell  Clock10Dom Nov 14, 2021 12:20 am

@Rasamayu escribió:
@Marcos_M escribió:
Tuve que darle más vueltas de lo necesario pero ya lo arreglé. Actualicé el sistema así que tienes que reimportarlo a tu map.

https://www.epicwar.com/maps/318446/

Para marcarte los cambios, creé estas nuevas variables

[gui]SemiUniversal Proy Config
   Acontecimientos
       Map initialization
   Condiciones
   Acciones
       Set WORLD_BORDER_WIDTH = 256.00
       Set WORLD_BORDER_MAX_X = (Max X of (Entire map))
       Set WORLD_BORDER_MAX_X = (WORLD_BORDER_MAX_X - WORLD_BORDER_WIDTH)
       Set WORLD_BORDER_MAX_Y = (Max Y of (Entire map))
       Set WORLD_BORDER_MAX_Y = (WORLD_BORDER_MAX_Y - WORLD_BORDER_WIDTH)
       Set WORLD_BORDER_MIN_X = (Min X of (Entire map))
       Set WORLD_BORDER_MIN_X = (WORLD_BORDER_MIN_X + WORLD_BORDER_WIDTH)
       Set WORLD_BORDER_MIN_Y = (Min Y of (Entire map))
       Set WORLD_BORDER_MIN_Y = (WORLD_BORDER_MIN_Y + WORLD_BORDER_WIDTH)
       -------- ---------------------------------     ---------------------------------     ---------------------------------      --------
[/gui]
Y agregué una función a la Utilidad

[jass]    function SetPointInBorders takes location l returns nothing
       local real x = GetLocationX(l)
       local real y = GetLocationY(l)
       local real nx = x
       local real ny = y
       
       if x > udg_WORLD_BORDER_MAX_X then
           set nx = udg_WORLD_BORDER_MAX_X
       elseif x < udg_WORLD_BORDER_MIN_X then
           set nx = udg_WORLD_BORDER_MIN_X
       endif
       
       if y > udg_WORLD_BORDER_MAX_Y then
           set ny = udg_WORLD_BORDER_MAX_Y
       elseif y < udg_WORLD_BORDER_MIN_Y then
           set ny = udg_WORLD_BORDER_MIN_Y
       endif
       
       call MoveLocation(l,nx,ny)
   endfunction[/jass]

Realmente, todos los sistemas de misiles tienen algo así, pero me olvidé de implementarlo cuando lo hice. Y no es que crasheaba al 16 avo lanzamiento. Simplemente que si lanzas un misil en dirección a la esquina del mapa, genera un crash pero si no es en las esquinas no siempre crashea

Gracias Marcos, en la utilidad, puedo copiar todo el código de la utilidad nueva y pegarlo sobre el que ya tengo ? o provocara algún error ?

Otra duda, en las nuevas variables de config, son contantes o se deben modificar dependiendo del mapa.

Gracias

Copiando y pegando basta. Y las variables esas se configurarán solas dependiendo del mapa
Volver arriba Ir abajo
Rasamayu
Soldado


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 110
Reputación Reputación : 3
Monedas de oro : 334
Monedas de Platino : 0 Problema-Crash con el SemiUniversal Proyectile Spell  Empty

Inventario :
Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10
Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10 Problema-Crash con el SemiUniversal Proyectile Spell  Empysl10

Problema-Crash con el SemiUniversal Proyectile Spell  Empty
Mensaje(#) Tema: Re: Problema-Crash con el SemiUniversal Proyectile Spell Problema-Crash con el SemiUniversal Proyectile Spell  Clock10Dom Nov 14, 2021 1:22 am

@Marcos_M escribió:
@Rasamayu escribió:
@Marcos_M escribió:
Tuve que darle más vueltas de lo necesario pero ya lo arreglé. Actualicé el sistema así que tienes que reimportarlo a tu map.

https://www.epicwar.com/maps/318446/

Para marcarte los cambios, creé estas nuevas variables

[gui]SemiUniversal Proy Config
   Acontecimientos
       Map initialization
   Condiciones
   Acciones
       Set WORLD_BORDER_WIDTH = 256.00
       Set WORLD_BORDER_MAX_X = (Max X of (Entire map))
       Set WORLD_BORDER_MAX_X = (WORLD_BORDER_MAX_X - WORLD_BORDER_WIDTH)
       Set WORLD_BORDER_MAX_Y = (Max Y of (Entire map))
       Set WORLD_BORDER_MAX_Y = (WORLD_BORDER_MAX_Y - WORLD_BORDER_WIDTH)
       Set WORLD_BORDER_MIN_X = (Min X of (Entire map))
       Set WORLD_BORDER_MIN_X = (WORLD_BORDER_MIN_X + WORLD_BORDER_WIDTH)
       Set WORLD_BORDER_MIN_Y = (Min Y of (Entire map))
       Set WORLD_BORDER_MIN_Y = (WORLD_BORDER_MIN_Y + WORLD_BORDER_WIDTH)
       -------- ---------------------------------     ---------------------------------     ---------------------------------      --------
[/gui]
Y agregué una función a la Utilidad

[jass]    function SetPointInBorders takes location l returns nothing
       local real x = GetLocationX(l)
       local real y = GetLocationY(l)
       local real nx = x
       local real ny = y
       
       if x > udg_WORLD_BORDER_MAX_X then
           set nx = udg_WORLD_BORDER_MAX_X
       elseif x < udg_WORLD_BORDER_MIN_X then
           set nx = udg_WORLD_BORDER_MIN_X
       endif
       
       if y > udg_WORLD_BORDER_MAX_Y then
           set ny = udg_WORLD_BORDER_MAX_Y
       elseif y < udg_WORLD_BORDER_MIN_Y then
           set ny = udg_WORLD_BORDER_MIN_Y
       endif
       
       call MoveLocation(l,nx,ny)
   endfunction[/jass]

Realmente, todos los sistemas de misiles tienen algo así, pero me olvidé de implementarlo cuando lo hice. Y no es que crasheaba al 16 avo lanzamiento. Simplemente que si lanzas un misil en dirección a la esquina del mapa, genera un crash pero si no es en las esquinas no siempre crashea

Gracias Marcos, en la utilidad, puedo copiar todo el código de la utilidad nueva y pegarlo sobre el que ya tengo ? o provocara algún error ?

Otra duda, en las nuevas variables de config, son contantes o se deben modificar dependiendo del mapa.

Gracias

Copiando y pegando basta. Y las variables esas se configurarán solas dependiendo del mapa

Ok, Gracias nuevamente Marcos Very Happy
Volver arriba Ir abajo
En línea
Contenido patrocinado




Problema-Crash con el SemiUniversal Proyectile Spell  Empty
Mensaje(#) Tema: Re: Problema-Crash con el SemiUniversal Proyectile Spell Problema-Crash con el SemiUniversal Proyectile Spell  Clock10

Volver arriba Ir abajo
 

Problema-Crash con el SemiUniversal Proyectile Spell

Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.

 Temas similares

-
» Documental: This World BBC 2012 The Great Spanish Crash
» Problema para iniciar el Pokemmo
» Problma en mi ordenador
» Taquigrafía
» Problema de HaxBallTube

Permisos de este foro:No puedes responder a temas en este foro.
Warcraft III - WorldEditor :: Zona de Aprendizaje(Dudas) :: GUI (Detonadores)-