perder moral al estar en el agua (?)

    Comparte
    avatar
    Rafalongo
    Modder
    Modder

    Mensajes : 471
    Edad : 27
    Facción : Reino de Swadia

    perder moral al estar en el agua (?)

    Mensaje por Rafalongo el Mar Mar 14, 2017 9:26 am

    Buenasss, quisiera saber si alguien sabe/tiene un codigo que haga que mis tropas al estar en el terreno "ford" que vendría a ser vado, agua cruzable (o en cualquier terreno) el ejercito pierda 1 punto de moral cada 1 segundo por ejemplo. Algo así como lo que pasa en el brytenwalda, ya que mi mod usa este terreno para navegar y no tiene gracia que sea absolutamente igual que andar por tierra.

    Gracias desde ya !
    avatar
    Rafalongo
    Modder
    Modder

    Mensajes : 471
    Edad : 27
    Facción : Reino de Swadia

    Re: perder moral al estar en el agua (?)

    Mensaje por Rafalongo el Lun Mar 20, 2017 5:49 am

    Bueno, encontré como hacerlo mirando el codigo de brytenwalda, aunque de forma imperfecta, a quien le sirva:


    Código:
          (try_begin),
            (display_message,"@Tus hombres se ponen nerviosos al cruzar el mar."),
          (call_script, "script_change_player_party_morale", -1),
          (try_end),
    meti esto dentro del codigo de ser barco al pisar agua.


    lo de perder dinero lo tuve que quitar porq me daba error al compilar ya que no encontraba la variable "money" ... ni idea.

    el problema que tengo ahora es que quita un punto de moral demaciado rapido, mas o menos 3 por segundo y no sé como espaciarlo (1 p/s estaría bien), si alguien tiene alguna idea se agradece ! scratch
    avatar
    Mikeboix
    Emperador
    Emperador

    : : wyrd bi∂ ful ārǣd
    Mensajes : 12000
    Facción : Imperio de Calradia

    Re: perder moral al estar en el agua (?)

    Mensaje por Mikeboix el Lun Mar 20, 2017 8:35 am

    Lo que se me ocurre sería modificar ese -1 con distintos valores a ver cómo afecta al cambio de moral. Igual si pones -0.5 o algo así... scratch


    _________________
    ~No olvides leer las [Tienes que estar registrado y conectado para ver este vínculo]. No resuelvo dudas de los juegos por mensaje privado.~




    Last Breath of Calradian Empire: Mod sobre el glorioso pasado de Calradia. ¡Apoya el desarrollo!
    avatar
    Faraday
    Espadachín
    Espadachín

    Mensajes : 137

    Re: perder moral al estar en el agua (?)

    Mensaje por Faraday el Lun Mar 20, 2017 1:42 pm

    No se nada de moding, pero se algo de programación (aunque no se en que esta programado esto), Imagino que ese -1 es una variable que luego utiliza el script pero para que? Si es una variable que controla en el incremento/decremento de la moral cambiando su valor como dice el jefe podria arrgelarlo, ahora bien ese -1 podria activar condiciones de dentro del script y no controlar ¨directamente'' la moral. El código del script puedes verlo? si es así ver que pone podría ser útil.

    Repito que hablo desde un punto de vista de programación general.


    _________________
    :engarde
    avatar
    Rafalongo
    Modder
    Modder

    Mensajes : 471
    Edad : 27
    Facción : Reino de Swadia

    Re: perder moral al estar en el agua (?)

    Mensaje por Rafalongo el Lun Mar 20, 2017 6:35 pm

    Ya había probado eso ayer! Le puse -0.5 y no  me dió ningun error, pero no funcionó, la moral se mantuvo igual.

    Faraday, es python y ese -1 quita 1 punto de moral. Ni idea de donde estan los scripts que invoca el module system...

    Cuando llegue a casa pongo el codigo completo. El que usa brytenwalda no vi que tuviese nada que hiciese tiempo sin embargo funciona bien, mas espaciado entre quita y quita

    Funciona bien, el tema sería saber como se agrega espera de tiempo para que vuelva a suceder la quita de moral al estar sobre el agua
    avatar
    Hernanxd16
    Caballero de la Orden
    Caballero de la Orden

    : :

    Mensajes : 1892
    Facción : Imperio Calrádico.

    Re: perder moral al estar en el agua (?)

    Mensaje por Hernanxd16 el Lun Mar 20, 2017 8:35 pm

    Hmm, yo miraria en el archivo header_operations.py, (Te recomendaria descargar el module system de Lav que está por Taleworlds, que está mejor ordenado, solo como referencia, claro) buscaria una linea que sea algo así como un temporizador y la pondria en tu codigo. Al menos, no perderias nada intentandolo.


    Y como una pequeña recomendación, desde mi punto de vista es demasiado un punto cada un segundo.


    _________________
    «Ten una sola mente y una sola fe, entonces podrás conquistar a tus enemigos y vivir una vida larga y feliz» Gengis Khan.
    «En realidad no me preocupa que quieran robar mis ideas, me preocupa que ellos no las tengan» Nikola Tesla.

    ¿Quieres crear un mod pero no sabes cómo? ¿O simplemente tienes una duda al crear tu propio mod? Visita el hilo de preguntas y respuestas: [Tienes que estar registrado y conectado para ver este vínculo]

    [Tienes que estar registrado y conectado para ver este vínculo]
    A New Era For Calradia: Mod sobre una Calradia del siglo XIV, en el que un Imperio la dominó, y le trajo nuevas tecnologías. ¡Apoya el desarrollo!
    avatar
    Rafalongo
    Modder
    Modder

    Mensajes : 471
    Edad : 27
    Facción : Reino de Swadia

    Re: perder moral al estar en el agua (?)

    Mensaje por Rafalongo el Mar Mar 21, 2017 1:41 am

    no vi nada util en header_operations, pero encontré esto ni bien se abre "module triggers, indicaciones, aunque no sé de que parte habla:


    ####################################################################################################################
    #  Each trigger contains the following fields:
    # 1) Check interval: How frequently this trigger will be checked
    # 2) Delay interval: Time to wait before applying the consequences of the trigger
    #    After its conditions have been evaluated as true.
    # 3) Re-arm interval. How much time must pass after applying the consequences of the trigger for the trigger to become active again.
    #    You can put the constant ti_once here to make sure that the trigger never becomes active again after it fires once.
    # 4) Conditions block (list). This must be a valid operation block. See header_operations.py for reference.
    #    Every time the trigger is checked, the conditions block will be executed.
    #    If the conditions block returns true, the consequences block will be executed.
    #    If the conditions block is empty, it is assumed that it always evaluates to true.
    # 5) Consequences block (list). This must be a valid operation block. See header_operations.py for reference.
    ####################################################################################################################

    ese punto 2 parece la clave, la cagada es que no se formular una linea de python, me guío por observacion copy and paste xD pero voy a mirar un poco mas...

    SOLUCIONADO tambien pude agregar lo de que cobren, resulta que donde se creaba la variable money que despues no me encontraba no lo habia agregado por estar fuera del "try begin, try end" especifico. al final terminé remplazando esta parte del codigo que usaba enteramente por el del brytenwalda (el viejo dle brytenwalda, xq en la ultima version utiliza otor diferente...), ya que note que al mio le faltaba la parte de neq "no igual a ser prisionero" así que supongo que si te metías al mar siendo prisionero con este cambio me iba a cobrar y desmoralizar.

    Lo del tiempo de espera creo que es por el principio de la primera linea, en mi codigo decia 0.1, en este dice 0.5, otro cambio no hay...

    así quedó

    Código:

    ## SEA BATTLES BEGIN
    (0.5, 0, 0, [(neq, "$g_player_icon_state", pis_ship),
                (neq, "$g_player_is_captive", 1),
                (party_get_current_terrain,":terrain","p_main_party"),
        (assign,reg1,":terrain"),
    ], # rt_steppe is an example for the name of your new water terrain
      [(try_begin),
          (troop_get_inventory_slot, ":cur_horse", "trp_player", 8), #horse slot
        (assign, ":new_icon", -1),

        (try_begin),
          (eq,reg1,7),
          (assign, ":new_icon", "icon_ship"),
        #(display_message,"@water"),
              (store_troop_gold,":money","trp_player"),
          (try_begin),
            (gt,":money",9),
          (troop_remove_gold, "trp_player", 10),
        (display_message,"@You hire a boat for the trip."),
            (display_message,"@Tus hombres se ponen nerviosos al cruzar el mar."),
          (call_script, "script_change_player_party_morale", -1),
        (else_try),
            (display_message,"@No tienes dinero suficiente para el viaje, pero obligas a unos pescadores a prestarte sus botes."),
            (call_script, "script_change_player_honor", -1),
            (display_message,"@Tus hombres se ponen nerviosos al cruzar el mar."),
          (call_script, "script_change_player_party_morale", -1),
          (try_end),
        (else_try),
          (eq, "$g_player_icon_state", pis_normal),
          (try_begin),
            (ge, ":cur_horse", 0),
            (assign, ":new_icon", "icon_player_horseman"),
            #(display_message,"@no water, horse"),
          (else_try),
            (assign, ":new_icon", "icon_player"),
            #(display_message,"@no water, no horse"),
          (try_end),
        (else_try),
          (eq, "$g_player_icon_state", pis_camping), # All of this is thanks to Lumos bein' generous, and not being as much of a lazy arse as I am
          (assign, ":new_icon", "icon_camp"),
        (try_end),
        (party_set_icon,"p_main_party", ":new_icon"),
    ]),
     

    :vikingo:

    Contenido patrocinado

    Re: perder moral al estar en el agua (?)

    Mensaje por Contenido patrocinado


      Fecha y hora actual: Dom Sep 24, 2017 1:36 am