Foro especializado en Warcraft III y su editor
 
BuscarEntrar al ChatboxPortal del foroÍndiceSpellsRegistrarseConectarseGrupos de Usuarios
Eventos Actuales
¡ Bienvenido Invitado!

Editar Perfil

Tus temas
Tus Mensajes ()

Enlaces rápidos








Comparte | .
 

 Solo una duda

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Kurookami
Peón
avatar


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

Mensajes Mensajes : 39
Reputación Reputación : 0
Monedas de oro : 115
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Solo una duda Mar Mayo 15, 2018 10:37 pm

Bueno, pasa que hice un sistema para que los árboles del mapa se regeneren (revivan) si mueren después de 30 seg. del juego. Desde entonces el juego corre normal al principio pero cuando estoy por la mitad del juego se laggea demasiado y me es casi imposible jugarlo. Algo me dice que es eso y si tengo razón me gustaría saber cómo arreglarlo. Gracias
Volver arriba Ir abajo
Marcos_M

avatar


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

Mensajes Mensajes : 3019
Reputación Reputación : 500
Monedas de oro : 9283
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: Solo una duda Mar Mayo 15, 2018 10:42 pm

Si posteas el detonador te podré decir si es eso lo que te laguea o si es en realidad otra cosa. Un ejemplo de detonador que hace un trabajo similar al tuyo es este:

[gui]Arboles
   Acontecimientos
       Tiempo - Elapsed game time is 5.00 seconds
   Condiciones
   Acciones
       -------- Este es un sistema "Simple" para árboles luego de un tiempo --------
       -------- Primero tomamos cada destructible en el mapa --------
       Destructible - Pick every destructible in (Entire map) and do (Actions)
           Bucle: Acciones
               -------- ESTO ES MUY IMPORTANTE --------
               -------- Luego revisamos en un If que el destructible sea un árbol --------
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       (Destructible-type of (Picked destructible)) Igual a (==) Pared de árboles en ruinas
                   Entonces: Acciones
                       -------- Y luego creamos un evento en el siguiente detonador para cuando ese árbol muera --------
                       Detonador - Add to Arboles Revivir the event (Destructible - (Picked destructible) dies)
                   Otros: Acciones
[/gui]

[gui]Arboles Revivir
   Acontecimientos
   Condiciones
   Acciones
       -------- Este detonador es corto, pero posiblemente no lo entiendas --------
       -------- "local destructable": Esto significa que crearemos una variable LOCAL(revisar Explicación A) del tipo "destructable" o sea, destructible --------
       -------- luego sigue "BADTREE", esto simplemente es el nombre, puede ser cualquiera mientras no coloquen un espacio en el nombre --------
       -------- "BADTREE = GetDyingDestructable()" es una variable, y el "=" indica que le asignamos un valor, en este caso "GetDyingDestructable()" --------
       -------- Si sos adepto en el ingles, sabes que eso significa "Obtener destructible muriendo", si recuerdan nuestro detonador anterior --------
       -------- agregamos un evento a ESTE detonador, que decía "Destructible - (Picked destructible) dies" o sea que se activa cuando un destructible muere --------
       Custom script:   local destructable BADTREE = GetDyingDestructable()
       -------- Aquí esperamos 30 segundos --------
       -------- Pero por que dice "Wait 29.8 seconds"?? Bueno, es porque los waits, demoran 0.2 a 0.35 segundos más de lo que se indique en el número --------
       Wait 29.80 seconds
       -------- Por último, otro custom script. "call" significa que llamaremos una función del juego --------
       -------- Esta función será "DestructableRestoreLife". Esta función no es otra cosa que "Destructible - Resurrect" --------
       -------- Pero por que usamos la versión en JASS, si tenemos nuestra bonita acción en GUI? --------
       -------- Simple, porque nosotros declaramos una variable local, BADTREE, y GUI no nos permite pasarle este valor a la función --------
       -------- Entonces, por que no usamos GUI? Si BADTREE no es otra cosa que el destructible que murió? --------
       -------- Y esta es la parte importante de todo esto: --------
       -------- Porque los waits BUGUEAN, a menos que recurramos a las variables locales. Es la única razón por la que recurrimos a todos estos custom scripts --------
       Custom script:   call DestructableRestoreLife( BADTREE, GetDestructableMaxLife(BADTREE), true )
[/gui]


Última edición por Marcos_M el Mar Mayo 15, 2018 11:13 pm, editado 2 veces
Volver arriba Ir abajo
Kurookami
Peón
avatar


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

Mensajes Mensajes : 39
Reputación Reputación : 0
Monedas de oro : 115
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: Solo una duda Mar Mayo 15, 2018 11:07 pm

[GUI]Detonador arbol
   Acontecimientos
       Map initialization
   Condiciones
   Acciones
       Destructible - Pick every destructible in (Entire map) and do (Actions)
           Bucle: Acciones
               Detonador - Add to Regeneracion de arbol the event (Destructible - (Picked destructible) dies)
[/GUI]

[GUI]Regeneracion de arbol
   Acontecimientos
   Condiciones
       (Destructible-type of (Dying destructible)) Igual a Pared de árbol nevada
   Acciones
       Wait 30.00 game-time seconds
       Destructible - Resurrect (Dying destructible) with (Max life of (Dying destructible)) life and Mostrar birth animation
[/GUI]

Aquí está la información muchas gracias Very Happy
Supongo que es muy simple y tendrá sus correcciones pero así se empieza xd
Volver arriba Ir abajo
Marcos_M

avatar


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

Mensajes Mensajes : 3019
Reputación Reputación : 500
Monedas de oro : 9283
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: Solo una duda Mar Mayo 15, 2018 11:13 pm

Bueno, sí, básicamente lo mismo. Lo que sucede es que los waits ocasionan bugs y leaks, lo que es seguramente lo que te sucede aquí. Trata de copiar el detonador que te pasé, son sólo 3 funciones, todo lo demás es comentario
Volver arriba Ir abajo
cholotito
Capitán
avatar


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

Mensajes Mensajes : 190
Reputación Reputación : 5
Monedas de oro : 555
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: Solo una duda Miér Mayo 16, 2018 1:36 am

@Marcos_M escribió:
Bueno, sí, básicamente lo mismo. Lo que sucede es que los waits ocasionan bugs y leaks, lo que es seguramente lo que te sucede aquí. Trata de copiar el detonador que te pasé, son sólo 3 funciones, todo lo demás es comentario

Que pasa con los detonadores de habilidades que contiene waits....tambien provocan lags???
Volver arriba Ir abajo
Marcos_M

avatar


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

Mensajes Mensajes : 3019
Reputación Reputación : 500
Monedas de oro : 9283
Monedas de Platino : 0

Inventario :



Mensaje(#) Tema: Re: Solo una duda Miér Mayo 16, 2018 10:57 am

@cholotito escribió:
@Marcos_M escribió:
Bueno, sí, básicamente lo mismo. Lo que sucede es que los waits ocasionan bugs y leaks, lo que es seguramente lo que te sucede aquí. Trata de copiar el detonador que te pasé, son sólo 3 funciones, todo lo demás es comentario

Que pasa con los detonadores de habilidades que contiene waits....tambien provocan lags???  

Sí, pero siempre depende del alcance del detonador. Un detonador que afecta a todos los arboles del mapa no es lo mismo que un detonador que se usa para un hechizo de un héroe único en el mapa. Lo mejor es siempre hacer las cosas bien al 100% cuando no se entiende de alcances del detonador o de que tanto se impacta al perfomance del juego
Volver arriba Ir abajo
Contenido patrocinado




Mensaje(#) Tema: Re: Solo una duda

Volver arriba Ir abajo
 

Solo una duda

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

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