NoExp Mejorado

Estás perdido? No tienes ni idea de que va esto? Has empezado a jugar pero no te acabas de aclarar? Dinos aquí cuales son tus dudas.
Reglas del Foro
Antes de postear asegurate de conocer las Normas

NoExp Mejorado

Notapor Seldaiendil el 08 Mar 2007 18:15

Bien, esta vez escribo para aclarar un trigger de los que traen mas de cabeza a los remorts según tengo entendido: Noexp.
(Nota: al final del texto está el código completo de la clase.)
El mayor problema es que al leer la experiencia el zMud también lee las comas (que deberian ser puntos) que separan cada tres cifras.
En caso que solo esté una coma lo interpretará como decimal, pero si tienes millares en el numero habrán dos comas y lo interpretará como simple texto.
Asi que lo que hace este es unir cada tres digitos de forma que sigan siendo numeros y se puedan comparar con 50000.

Siguiendo el ejemplo de mi prompt seria así:


Código: Seleccionar todo
#trigger {*mv &milexp,&{unidadexp}exp} {
   #math milexp @milexp*1000
   #math totalexp @milexp+@unidadexp
   if(@totalexp<50000){
      config +noexp
      #t- ""*mv &milexp,&{unidadexp}exp""
   }
}


Si tu prompt contiene millar este trigger no se ejecuta hasta que la experiencia faltante sea menor o igual a 999.999.
Si aún así quieres otro trigger aparte que al anterior que analize tu exp cuando aun sea más de un millon sería:


Código: Seleccionar todo
#trigger {*mv &millonexp,&milexp,&{unidadexp}exp} {
   #math millonexp @millonexp*1000000
   #math milexp @milexp*1000
   #math totalexp @millonexp+@milexp+@unidadexp
   if(@totalexp<5000000){
      config +noexp
      #t- ""*mv &milexp,&{unidadexp}exp""
   }
}


Como se ve, en este caso se compara con 5.000.000, no lo podemos comparar con 50.000 porque si fuese menor de 1.000.000 este trigger nisiquiera se ejecutaria.

Incluso podemos ir más lejos, este es parte del trigger que uso, que guarda en la memoria la exp que ya tienes adquirida.
La primera es para los que aún no tienen millar aunque no está de mas poner las dos.


Código: Seleccionar todo
#TRIGGER {^|| EXP : &sumaexpm,&sumaexpu(*)Pract} {
   #var sumaexpu %number( @sumaexpu)
   #math a @sumaexpm*1000
   #math sumaexp @sumaexpu+@a
   #math porexp @sumaexp/@totalexp*5
   #wait 150
   #if (@porexp < 80) {config -noexp} {config +noexp}
}

#TRIGGER {^|| EXP : &sumaexpmll,&sumaexpm,&sumaexpu(*)Pract} {
   #math sumaexpmll @sumaexpmll*1000
   #math sumaexpm @sumaexpm+@sumaexpmll
   #var sumaexpu %number( @sumaexpu)
   #math a @sumaexpm*1000
   #math sumaexp @sumaexpu+@a
   #math porexp @sumaexp/@totalexp*5
   #wait 150
   #if (@porexp < 80) {config -noexp} {config +noexp}
}


Según tengo entendido, al subir de nivel la experiencia faltante es un 20% de la experiencia adquirida, por eso el valor totalexp se multiplica por 5 (5 x 20 = 100%

Y puesto que cuando la exp más cambia es al matar no está de más tener esto:


Código: Seleccionar todo
#TRIGGER {ha muerto!&} {
   #math porexp @sumaexp/@totalexp*5
   #wait 150
   #if (@porexp < 80) {config -noexp} {config +noexp}
}


Al llegar al 10% de la experiencia que necesitabamos al entrar al nivel se bloquea.

En fin, aqui dejo el codigo completo, solo hay que pegarlo tal cual en tu zMud y para eliminaro hay que ir al botón "Classes" y borrar la carpeta llamada "Exp"
Por supuesto están incluidos los Triggers que anulan la clase cuando no puedes hacer más quests y la que lo reactiva al subir.
IMPORTANTE: reemplaza el texto "<<<|||ATENCIÓN, AQUÍ PON TU NOMBRE!!!|||>>>" por tu nombre, para evitar que se desactive cuando el questman le dice eso a otro jugador.

---

#CLASS {exp}
#ALIAS calculaExp {
#math a @sumaexpm*1000
#math sumaexp @sumaexpu+@a
#math porexp @sumaexp/@totalexp
#wait 1000
#if (@porexp < 80) {config -noexp} {config +noexp}
}
#TRIGGER {ha muerto!&} {calculaExp}
#TRIGGER {^El Questman dice 'Lo siento
<<<|||ATENCIÓN, AQUÍ PON TU NOMBRE!!!|||>>>, llevas demasiado tiempo en ese nivel para seguir haciendo quests'$} {
#T- exp
config -noexp
}
#TRIGGER {^|| EXP : &sumaexpm,&sumaexpu(*)Pract} {
#if (%number( @sumaexpm) = 0) {} {calculaExp}
}
#TRIGGER {^|| EXP : &sumaexpmll,&sumaexpm,&sumaexpu(*)Pract} {
#math sumaexpmll @sumaexpmll*1000
#math sumaexpm @sumaexpm+@sumaexpmll
#var sumaexpu %number( @sumaexpu)
calculaExp
}
#TRIGGER {*mv &milexp,&{unidadexp}exp} {
#if (%number( @milexp) = 0) {} {
#math milexp @milexp*1000
#math totalexp @milexp+@unidadexp
}
}
#TRIGGER {*mv &millexp,&milexp,&{unidadexp}exp} {
#math millexp @millexp*1000000
#math milexp @milexp*1000
#math totalexp @millexp+@milexp+@unidadexp
}
#CLASS 0
#TRIGGER {^HAS SUBIDO A NIVEL (*)} {#T+ exp}


---
Sel
Diesen liebe Der velt!
The northern lights is a bright rainbow
The northern lights shines everything
The northern lights in the starting night
Eternal Glory Northern Lights!
Seldaiendil
 
Mensajes: 8
Registrado: 20 Nov 2006 06:42
Ubicación: En un lugar de mi imaginacion

Notapor Kavian el 08 Mar 2007 21:30

manso webeo xD
pero gracias!
[BroKen SmiLe]
Avatar de Usuario
Kavian
 
Mensajes: 170
Registrado: 05 May 2005 22:44
Ubicación: stgo, Chile

Notapor Soulsurf el 09 Mar 2007 04:09

:shock:
'Podemos irnos juntos lejos de este mundo tu y yo...'
Avatar de Usuario
Soulsurf
Inmortal
 
Mensajes: 575
Registrado: 23 Oct 2004 10:54
Ubicación: O:)

Notapor viruta el 09 Mar 2007 05:41

LoL :shock:

Todo eso para kedarte pegadito de exp antes de subir de nivel?Me fio mas manualmente xDDDD

Pero algunos te lo agradeceran
Imagen
Nunca subestimes lo predecible que puede llegar a ser la estupidez.
Avatar de Usuario
viruta
 
Mensajes: 490
Registrado: 21 Mar 2005 17:09
Ubicación: Si te agachas..detras tuya enculandote ;)

Notapor Seldaiendil el 13 Mar 2007 05:40

Si xDD
Siempre sera mas fiable bloquearlo al subir, pero es q me aburria xD
---
Sel
Diesen liebe Der velt!
The northern lights is a bright rainbow
The northern lights shines everything
The northern lights in the starting night
Eternal Glory Northern Lights!
Seldaiendil
 
Mensajes: 8
Registrado: 20 Nov 2006 06:42
Ubicación: En un lugar de mi imaginacion

Notapor vardamir el 10 Sep 2007 00:33

#ALIAS subir {#t+ subir;config -noexp}
#TRIGGER {~) (%1)xp ~[} {exp=%concat( %1);#if (@exp<300000) {config +noexp;#t- experiencia}} {experiencia}
#TRIGGER {HAS SUBIDO A NIVEL (%*)!!!!!! :)} {#t+ experiencia} {subir}
A proposito de dados.
Imagen
Avatar de Usuario
vardamir
 
Mensajes: 269
Registrado: 15 Jul 2004 16:08
Ubicación: Tercera Roca despues del Sol



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados


cron