4 participantes

    perder moral al estar en el agua (?)

    Rafalongo
    Rafalongo
    Modder
    Modder


    Mensajes : 696
    Facción : Imperio Calrádico del Sur

    perder moral al estar en el agua (?) Empty perder moral al estar en el agua (?)

    Mensaje por Rafalongo Mar Mar 14, 2017 3: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 !
    Rafalongo
    Rafalongo
    Modder
    Modder


    Mensajes : 696
    Facción : Imperio Calrádico del Sur

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

    Mensaje por Rafalongo Dom Mar 19, 2017 11:49 pm

    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
    Mikeboix
    Mikeboix
    Emperador
    Emperador


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

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

    Mensaje por Mikeboix Lun Mar 20, 2017 2: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.~

    [Tienes que estar registrado y conectado para ver este vínculo]perder moral al estar en el agua (?) Hopesp10
    Faraday
    Faraday
    Espadachín
    Espadachín


    Mensajes : 194
    Facción : Rebeldes

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

    Mensaje por Faraday Lun Mar 20, 2017 7:42 am

    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.


    _________________
    perder moral al estar en el agua (?) 281px-Raven_Banner.svg
    :engarde
    Rafalongo
    Rafalongo
    Modder
    Modder


    Mensajes : 696
    Facción : Imperio Calrádico del Sur

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

    Mensaje por Rafalongo Lun Mar 20, 2017 12: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
    Hernanxd16
    Hernanxd16
    Modder
    Modder


    : : perder moral al estar en el agua (?) ZCUOK
    Mensajes : 2976
    Facción : Imperio Calrádico - República de Polonia

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

    Mensaje por Hernanxd16 Lun Mar 20, 2017 2: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.


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


    Mensajes : 696
    Facción : Imperio Calrádico del Sur

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

    Mensaje por Rafalongo Lun Mar 20, 2017 7:41 pm

    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


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

    Mensaje por Contenido patrocinado


      Fecha y hora actual: Dom Nov 17, 2024 9:35 am