Inicio Foros Clientes y programación ¿Algún scripter de ZMUD que me pueda dar unos consejos?

Mostrando 1 respuesta al debate
  • Autor
    Respuestas
    • Jesus
      Participante
      Número de entradas: 41

      Bueno, el caso es… que estoy creando un nikeador algo complejo.

      Lo sé, con el comando who hostil y un simple nikeador me basta; pero me ha dado por hacerlo algo más complejo.

      El caso es que de principio, escanea el comando diplomacia, detecta el nombre de la ciudad y unas variables llamadas «dnombredelaciudad» guardarán unos estados (ENEMIGO, NEUTRAL y ALIADO), según lo que haya escaneado un trigger con su patrón.

      El patrón no me ha dado problemas, ya que lo he testeado con:

      #SHOW %1

      #SHOW %2

      #SHOW %3

      #SHOW %4

      de todas maneras lo dejo: ^{~> |~] |}%s(%x)*~:%s(%w)%s(%x)*~:%s(%w)*$

      eso escanearia esto:

      Agnur : GUERRA Ak’Anon : AMISTAD
      Ancarak : GUERRA Andlief : NEUTRALIDAD
      Anduar : PAZ Ar’Kaindia : GUERRA
      Bendorf : GUERRA Danarpe : NEUTRALIDAD
      Dendra : GUERRA Eldor : PAZ
      Eloras : AMISTAD Glidbaloop : NEUTRALIDAD
      Golthur Orod: GUERRA Grimoszk : GUERRA
      Hithrim : AMISTAD Kattak : AMISTAD
      Keel : NEUTRALIDAD Kheleb : AMISTAD
      Mor Groddûr : GUERRA Shaunt : GUERRA
      Takome : AMISTAD Thorin : AMISTAD
      Vagabundo : NEUTRALIDAD Veleiron : AMISTAD

      Como código puse lo siguiente intentando comprimirlo algo con operadores logicos «or», pero las variables no se actualizaban con los datos, no sé por qué no funcionaban los or:

      #IF (%1=Agnur and %2=GUERRA or %3=Agnur and %4=GUERRA) {#DELNITEM dAgnur 1; #ADDITEM dAgnur ENEMIGO; #trigger {{@cAgnur}} {#cw red}}

      #IF ({%1=Agnur and %2=GUERRA|%3=Agnur and %4=GUERRA}) {#DELNITEM dAgnur 1; #ADDITEM dAgnur ENEMIGO; #trigger {{@cAgnur}} {#cw red}}

      #IF ({%1|%3}=Agnur and {%2|%4}=GUERRA) {#DELNITEM dAgnur 1; #ADDITEM dAgnur ENEMIGO; #trigger {{@cAgnur}} {#cw red}}

      Tres maneras diferentes de hacer lo mismo, pero no actualizaba «@dAgnur».

      Por lo que he tenido que hacerlo menos compacto:

      #IF (%1=Agnur and %2=GUERRA) {
      #DELNITEM dAgnur 1
      #ADDITEM dAgnur ENEMIGO
      #trigger {{@cAgnur}} {#cw red}
      }
      #IF (%3=Agnur and %4=GUERRA) {
      #DELNITEM dAgnur 1
      #ADDITEM dAgnur ENEMIGO
      #trigger {{@cAgnur}} {#cw red}
      }

      Y funciona… pero claro… te pegas la pasada escribiendo script, ya que despues tienes que hacerlo para NEUTRALIDAD, PAZ y AMISTAD. Y asi con cada ciudad.

       

      ¿Alguien sabe por qué no me funciona con el operador lógico «or» en zMUD?

    • eckol
      Superadministrador
      Número de entradas: 6799

      nickear x hostil

      nickear x hostil matar

      etc.

      Todos los filtros del comando «quien» funcionan también con nickear. Y automáticamente filtra a los noveles.

      Y no necesitas nada en la config  🙂

      Eckol el Alquimista de las Cien Formas

      • Jesus
        Participante
        Número de entradas: 41

        ¡Gracias! y… ¿tiene coloreador de nicks según hostilidad, neutralidad o cordialidad?

        • eckol
          Superadministrador
          Número de entradas: 6799

          No, pero es alto que podemos implementar. Ahora solo hay dos opciones para colorear: razas o bandos.

          Eckol el Alquimista de las Cien Formas

        • Jesus
          Participante
          Número de entradas: 41

          La opción de los colores de las razas sale auto; pero cuál es el comando para que se colorén por bandos.

        • Astel
          Participante
          Número de entradas: 705

          Se me ocurre que estaría bien que el jugador pudiera elegir el esquema de colores que se le muestra: por raza, por bando, por hostilidad, …. y poder cambiarlo cuando le convenga.

        • eckol
          Superadministrador
          Número de entradas: 6799

          Claro, ahora se puede elegir raza o bando. Se elige con el comando consentir.

          Eckol el Alquimista de las Cien Formas

Mostrando 1 respuesta al debate
  • Debes estar registrado para responder a este debate.