JVLIVS CAESAR MODS FORUM
Estimado usuario invitado: Si se registra/conecta podrá tener la mejor ventaja, postear en el foro, ya que los invitados solo pueden leer.

JVLIVS CAESAR MODS FORUM

Imperium III Mods Forvm. Último Mod - MCI 9.0!
 
ÍndiceÍndice  FAQFAQ  BuscarBuscar  RegistrarseRegistrarse  ConectarseConectarse  

Comparte | 
 

 ¿Hé alcanzado el límite?

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Ferónidas
Pretoriano
Pretoriano
avatar

Cantidad de envíos : 55
Reputación : 3
Fecha de inscripción : 02/01/2011

MensajeTema: ¿Hé alcanzado el límite?   Lun Ene 12, 2015 9:26 pm

gbr.exe dejó de funcionar

El error mas temido. No es que el juego se cierre sin avisar, que ya sabemos que puede ser por una área mal escrita o despistes por el estilo, es que el juego no puede con ello.

Tenía una idea para el mapa con el que estoy y la única manera de hacerlo era mediante una secuencia que lleva a una conversación que ejecuta una secuencia que ejecuta otra secuencia y un while(1){ con otra secuencia dentro, llevándonos la primera a una conversación que ejetuca una última secuencia. Vamos, un lío, y el caso es que éste proceso se repite 6 veces. Al hacer el primer "combo" guardo, le doy a probar y gbr.exe dejó de funcionar.

He comprobado las secuencias y conversaciones y están todas bien. ¿Alguna teoría o consejo?
Volver arriba Ir abajo
faustoliveira
Legionario
Legionario


Cantidad de envíos : 11
Reputación : 4
Fecha de inscripción : 09/01/2011

MensajeTema: Re: ¿Hé alcanzado el límite?   Mar Ene 13, 2015 2:40 am

Intenta utilizar eventos en lugar de secuencias.
Volver arriba Ir abajo
Asur
Veterano
Veterano
avatar

Cantidad de envíos : 464
Reputación : 75
Fecha de inscripción : 20/04/2014

MensajeTema: Re: ¿Hé alcanzado el límite?   Mar Ene 13, 2015 11:52 am

Coloca un sleep aunque sea de unas décimas antes de iniciar cada secuencia. A mi me pasaba algo así con un objeto que hice que se transformaba en otro que a su vez podía volver a transformarse en el primero, sin poner pausas me daba error y me echaba del juego, es como si intentase hacer dos cosas contrarias a la vez y el juego se peta.
Volver arriba Ir abajo
http://www.moddb.com/mods/asurmod
Ferónidas
Pretoriano
Pretoriano
avatar

Cantidad de envíos : 55
Reputación : 3
Fecha de inscripción : 02/01/2011

MensajeTema: Re: ¿Hé alcanzado el límite?   Mar Ene 13, 2015 2:37 pm

He probado línea a línea a ver donde falla y es cuando se ejecuta la secuencia de mas abajo. Necesito ayuda en una cosa: ¿"ol" se supone que es una variable? Si es así ¿no puedo tener dos secuencias como la de abajo para unidades distintas? Mirar a ver si mi traducción de lo que significa está bien.

Unit ol; la variable ol es una unidad
ol = SpawnNamed("princep5").AsUnit(); la variable ol es la unidad llamada princep5
ol.SetSpecial(5, false); cambio de habilidades
ol.SetSpecial(15, false);
cambio de habilidades
ol.SetSpecial(4, true); cambio de habilidades

Mi pregunta es si donde pone "ol" puedo poner "ol1", "ol2", "ol3", etc.
Volver arriba Ir abajo
Gigoras
Veterano
Veterano
avatar

Cantidad de envíos : 357
Edad : 47
Location : Salmantica.
Reputación : 127
Fecha de inscripción : 28/11/2010

MensajeTema: Re: ¿Hé alcanzado el límite?   Mar Ene 13, 2015 6:33 pm

Otro ejemplo de lo que te puede estar pasando(el 1º POST):
Que no le hayas puesto limite al while , y que por lo tanto el ordenador repita hasta petarse una acción , y no solamente una vez ,como suele ser la intención,ejem:
EnvWriteInt("zcontrol", 0);
while(1){
if((zheroe.obj.AsHero().level>=15)&&(EnvReadInt("zcontrol")<=0)){
Sleep(1000);
RunConv("zmase");
Sleep(100);
SpawnGroup("ZGMas15");
EnvWriteInt("zcontrol", 1);
}
if((zheroe.obj.AsHero().level>=20)&&(EnvReadInt("zcontrol")<=1)){
Sleep(1000);
RunConv("zarcherse");
Sleep(100);
SpawnGroup("ZGarqueros");
EnvWriteInt("zcontrol", 2);
}
}
Así evitas que la conversación "zmase" y la aparición del grupo "ZGMas15" se estè repitiendo en cuanto el heroe llegue al nivel 15 (La variable de entorno para esa "peonza")
En cuanto a tu 2º POST(el de la declaración de la unidad como ol ):
Eso es una de mis muchas "asignaturas pendientes" , yo cambiaría el ("ol" tipiquisimo) , por cualquier otra "expresion".
No solo en la misma secuencia , sino un solo "ol" por mapa, "pa por sí" . Será por palabras!!! pa poner!!!
Volver arriba Ir abajo
Ferónidas
Pretoriano
Pretoriano
avatar

Cantidad de envíos : 55
Reputación : 3
Fecha de inscripción : 02/01/2011

MensajeTema: Re: ¿Hé alcanzado el límite?   Mar Ene 13, 2015 6:41 pm

Tengo una condición dentro de mi while, una especie de detonador. Mientras "personaje" esté vivo, el while se ejecuta y cuando muera el while se para.

El problema por el que me explota el juego es por la secuancia del "ol". Dejaré que se enfrie un poco, por que no veo solución.
Volver arriba Ir abajo
Camarada
Equipo de Diseño
Equipo de Diseño
avatar

Cantidad de envíos : 298
Location : España
Reputación : 122
Fecha de inscripción : 01/05/2010

MensajeTema: Re: ¿Hé alcanzado el límite?   Miér Ene 14, 2015 11:44 am

Ferónidas escribió:
He probado línea a línea a ver donde falla y es cuando se ejecuta la secuencia de mas abajo. Necesito ayuda en una cosa: ¿"ol" se supone que es una variable? Si es así ¿no puedo tener dos secuencias como la de abajo para unidades distintas? Mirar a ver si mi traducción de lo que significa está bien.

Unit ol; la variable ol es una unidad
ol = SpawnNamed("princep5").AsUnit(); la variable ol es la unidad llamada princep5
ol.SetSpecial(5, false); cambio de habilidades
ol.SetSpecial(15, false);
cambio de habilidades
ol.SetSpecial(4, true); cambio de habilidades

Mi pregunta es si donde pone "ol" puedo poner "ol1", "ol2", "ol3", etc.

Esta secuencia está bien , almenos este trozo .
Si te da error Asegurate de que la variable "ol" ,no la estás usando en otro sitio , no debería darte error , ya que en condiciones normales se sobreescribiría , pero para por si acaso revisalo .

Revisa las pausas "Sleep(1000);" , por que podría ser que se acolapse el sistema si no tiene pausas.

Revisa los "While(1) ", para mí, son una principal causa de petaciones , sobretodo si no se saben usar bien . Si tus scrips están dentro de un "While" , podría ser perfectamente la causa del error.

---------------------------------------
No te entiendo muy bien con eso de ol1, ol2....
Si te refieres a ésto:    Unit ol , ol1 , ol2 , ol3 , ol4 ;    -si se puede usar.

Pero , ésto otro    ol[i].AsUnit().......    , yo por lo menos , yo nunca he podido , esta havilidad sólo he podido usarla cuando la variable hace referencia a un "ObjList" no a "Unit".
Volver arriba Ir abajo
Ferónidas
Pretoriano
Pretoriano
avatar

Cantidad de envíos : 55
Reputación : 3
Fecha de inscripción : 02/01/2011

MensajeTema: Re: ¿Hé alcanzado el límite?   Jue Ene 15, 2015 1:07 pm

Ok gracias por la ayuda.
Por cierto he hecho un descubrimiento muy interesante: cuando una secuencia llega a 1000 líneas gbr.exe dejó de funcionar
Volver arriba Ir abajo
Ferónidas
Pretoriano
Pretoriano
avatar

Cantidad de envíos : 55
Reputación : 3
Fecha de inscripción : 02/01/2011

MensajeTema: Re: ¿Hé alcanzado el límite?   Jue Ene 15, 2015 5:20 pm

¡BINGO! He descubierto el fallo, despues de una semana, muchos dolores de cabeza y muchas pruebas he conseguido sacar mis ideas adelante.

Todas las secuencias y conversaciones estaban correctas pero el problema estaba en la secuencia principal.

La primera de esa serie de secuencias salía de la línea 600 de la secuencia principal cuando ésta tenía una 990 líneas. Al añadir algunas cosas me salía el gbr.exe dejó de funcionar pero era sólo porque esa secuencia era demasiado larga. La corté por la línea 900 y aún daba error. La corté por la línea 600, justo después de el RunSequence clave y funciona perfectamente.

Espero que os sirva de ayuda.
Volver arriba Ir abajo
Contenido patrocinado




MensajeTema: Re: ¿Hé alcanzado el límite?   

Volver arriba Ir abajo
 
¿Hé alcanzado el límite?
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» Velocidad Limite de BOX
» Si tienes infestaciones de bandidos de nivel DIOS LEE ESTE POST
» Límite de conductores a contratar
» SERVIDORES GRATUITOS PARA SUBIR ARCHIVOS
» Descarga sin límite con MEGA. ¡Entra aquí!

Permisos de este foro:No puedes responder a temas en este foro.
JVLIVS CAESAR MODS FORUM :: Modding en General :: Modding en General :: Editor-
Cambiar a: