Jump to content

[QUEST]Anti-Exp


Edward™
 Share

Recommended Posts

Bueno he visto que mucha gente esta buscando una quest que les sirva para "bloquear" la experiencia.

Os voy a dejar la quest que he hecho para mi.

--Quest by Edward for www.alliance2.com
quest test begin
	state start begin
	  when 20094.chat."Anti-Exp" begin
		
		local opcion = select("Activar", "Dezactivar")
			if opcion == 1 then
				chat("Has activado el anti-exp")
				pc.setqf("antiexp", 1)
			else
				chat("Has dezactivado el anti-exp")
				pc.setqf("antiexp", 0)
			end
		end

		when kill with pc.getqf("antiexp") == 1 begin
			while pc.get_exp() > 100 do
				local exp = pc.get_exp()
				pc.give_exp2(-exp)
			end
		end
		
		when login begin
			if pc.getqf("antiexp") == 1 then
				chat("Tienes anti-exp activado")
			end	
			if pc.getqf("antiexp") == 0 then
				chat("Tienes anti-exp dezactivado")
			end
		end
	end
end 

Es muy simple pero funciona de maravilla.

 

PD: El texto lo editáis a vuestro gusto.

Link to comment
Share on other sites

Debes iniciar sesión para ver el contenido del enlace en esta publicación.

Me alegro de que sepas buscar en google :$

 

Pero bueno, solo te diré que cada quest tiene una cosa distinta. Si te gusta y la necesitas la usas y si no pues no la uses :) Mas simple imposible.

Link to comment
Share on other sites

Me alegro de que sepas buscar en google :$

 

Pero bueno, solo te diré que cada quest tiene una cosa distinta. Si te gusta y la necesitas la usas y si no pues no la uses :) Mas simple imposible.

 

A ver si aprendemos a buscar, aunque solo sea en Google, que por lo visto es algo que todavía no sabes ;). Y sí eres tan bueno, me explicas para que sirve o que función tiene este bucle de 'tu' quest?

while pc.get_exp() > 100 do
	local exp = pc.get_exp()
	pc.give_exp2(-exp)
end
Porque cada quest tiene cosas distinas sí, pero si son cosas inútiles, innecesarias, etc., es basura que hace que el servidor tenga que ejecutar, por si no lo sabías, buscalo en Google ;).
Link to comment
Share on other sites

 

A ver si aprendemos a buscar, aunque solo sea en Google, que por lo visto es algo que todavía no sabes ;). Y sí eres tan bueno, me explicas para que sirve o que función tiene este bucle de 'tu' quest?

while pc.get_exp() > 100 do
	local exp = pc.get_exp()
	pc.give_exp2(-exp)
end
Porque cada quest tiene cosas distinas sí, pero si son cosas inútiles, innecesarias, etc., es basura que hace que el servidor tenga que ejecutar, por si no lo sabías, buscalo en Google ;).

 

Que función tiene?

 

Cuando tienes mas de 100 exp te la quita :) Asi no vas a pasar de nivel.

Link to comment
Share on other sites

Que función tiene?

 

Cuando tienes mas de 100 exp te la quita :) Asi no vas a pasar de nivel.

A ver, a ver, a ver, que parece que estás un poco verde en el tema.

 

pc.give_exp2(-exp)
Esto te va a quitar toda la exp que tengas, ¿un bucle para que? ¿vas a quitar más de lo que hay? sí ya lo has quitado todo en la primera pasada, pero bueno, tu a lo tuyo.

 

Y

pc.get_exp() > 100
¿Porque solo cuando tengas + de 100 exp? Me lo puedes explicar, que aún no acabo de encontrarle el sentido.

 

 

 

Cuando tienes mas de 100 exp te la quita :) Asi no vas a pasar de nivel.

¿Y por tener más de 100 de exp vás a pasar de nivel? Me lo puedes explicar también por favor.

 

En fin, aqui los rangos los dan al dedillo.

Link to comment
Share on other sites

A ver, a ver, a ver, que parece que estás un poco verde en el tema.

 

pc.give_exp2(-exp)
Esto te va a quitar toda la exp que tengas, ¿un bucle para que? ¿vas a quitar más de lo que hay? sí ya lo has quitado todo en la primera pasada, pero bueno, tu a lo tuyo.

 

Y

pc.get_exp() > 100
¿Porque solo cuando tengas + de 100 exp? Me lo puedes explicar, que aún no acabo de encontrarle el sentido.

 

 

 

 

¿Y por tener más de 100 de exp vás a pasar de nivel? Me lo puedes explicar también por favor.

 

En fin, aqui los rangos los dan al dedillo.

 

Vamos a ver.

 

Cuando tu la activas y estas de metines y no quieres subir al metinero de nivel pues el bucle sirve para detectar que cuando tienes 100 exp o la que tu quieras te la reste para que no puedas pasar de nivel.

 

Si pones if solo solo te lo limpia 1 vez, pero si pones bucle te lo quita todo el rato que tengas mas de 100.

Link to comment
Share on other sites

Vamos a ver.

 

Cuando tu la activas y estas de metines y no quieres subir al metinero de nivel pues el bucle sirve para detectar que cuando tienes 100 exp o la que tu quieras te la reste para que no puedas pasar de nivel.

 

Si pones if solo solo te lo limpia 1 vez, pero si pones bucle te lo quita todo el rato que tengas mas de 100.

Madre mía chaval, cada vez la lías más.

 

¿Sabes como funciona esta función?

when kill with pc.getqf("antiexp") == 1 begin
Que me estás contando de un metinero, y mil tonterias, sí quitas toda la exp el bucle deja de funcionar porque no se cumple la condición, madre mía lo que hay que leer, la exp se quita cada vez que matas a un mob, pero tú a tu rollo.

 

Lo que hay que leer (...).

Link to comment
Share on other sites

Madre mía chaval, cada vez la lías más.

 

¿Sabes como funciona esta función?

when kill with pc.getqf("antiexp") == 1 begin
Que me estás contando de un metinero, y mil tonterias, sí quitas toda la exp el bucle deja de funcionar porque no se cumple la condición, madre mía lo que hay que leer, la exp se quita cada vez que matas a un mob, pero tú a tu rollo.

 

Lo que hay que leer (...).

 

Me estas diciendo que el bucle no sirve? 

 

Si tu quieres que por cada bicho que mates te quita esa exp que tengas bien. Si yo lo quiero poner en un bucle y solo la quite apartir de x exp pues lo pongo apartir de x exp.

 

Prueba la quest y me dices si funciona o no como yo te estoy diciendo.

 

Si tu quieres poner: when kill begin pc.give_exp2(-exp) --> Pues ponlo, pero como yo no quiero que por cada minion que mates te quita la exp pues no lo pongo asi y pongo el bucle y solo despues de unos cuantos minions.

Link to comment
Share on other sites

Me estas diciendo que el bucle no sirve? 

 

Si tu quieres que por cada bicho que mates te quita esa exp que tengas bien. Si yo lo quiero poner en un bucle y solo la quite apartir de x exp pues lo pongo apartir de x exp.

 

Prueba la quest y me dices si funciona o no como yo te estoy diciendo.

Lo vas pillando ya, poco a poco, el bucle no sirve, no.

 

Te repito

local exp = pc.get_exp()
pc.give_exp2(-exp)

Esto te quita toda la exp, y ese bucle hace la misma función que un IF, innecesario en este caso, y no hace falta que la pruebe, va a funcionar sí, pero como todas las cosas mal hechas, consumirá más recursos del servidor.

 

Además este tipo de 'anti exp' no valen, una cosa es quitar la exp, y otra muy diferente conjelarla.

Link to comment
Share on other sites

Lo vas pillando ya, poco a poco, el bucle no sirve, no.

 

Te repito

local exp = pc.get_exp()
pc.give_exp2(-exp)

Esto te quita toda la exp, y ese bucle hace la misma función que un IF, innecesario en este caso, y no hace falta que la pruebe, va a funcionar sí, pero como todas las cosas mal hechas, consumirá más recursos del servidor.

 

Además este tipo de 'anti exp' no valen, una cosa es quitar la exp, y otra muy diferente conjelarla.

Es lo mismo que pongas:

 

if pc.get_exp() > 100 then 

local exp = pc.get_exp()

pc.give_exp2(-exp)

 

Es lo mismo que el bucle si pongo when kill begin.

 

Pero si tu quieres poner if ponlo, yo prefiero el bucle.

 

Yo en ningún momento quiero bloquearla. Solo quiero que la quite y ya.

Link to comment
Share on other sites

  • 1 month later...

Es lo mismo que pongas:

 

if pc.get_exp() > 100 then 

local exp = pc.get_exp()

pc.give_exp2(-exp)

 

Es lo mismo que el bucle si pongo when kill begin.

 

Pero si tu quieres poner if ponlo, yo prefiero el bucle.

 

Yo en ningún momento quiero bloquearla. Solo quiero que la quite y ya.

Aver, se refiere que un bucle va a estar consumiendo recursos del servidor innecesariamente. Cuando esté activa la quest, estará ejecutando el bucle todo el rato hasta que encuentre la condición de que haya más de 100 exp. Aquí una quest hecha por pepineitor que te la congela:

--***By Pepineitor***--

quest exp_curse begin
    state start begin
        when 72501.use begin
            if pc.getqf("exp_block") == 1 then
                pc.setqf("exp_block", 0)
                syschat("Anillo Anti-Exp activado.")
                syschat("¡Ahora no ganarás experiencia!")
                syschat("Para volver a ganar experiencia utiliza otra vez el Anillo Anti-Exp.")
            else
                pc.setqf("exp_block", 1)
                pc.setqf("exp_last", pc.get_exp())
                syschat("Anillo Anti-Exp desactivado.")
                syschat("¡Ahora ganarás experiencia!")
                syschat("Para no ganar experiencia utiliza otra vez el Anillo Anti-Exp.")
            end
        end
        
        when kill or party_kill with pc.getqf("exp_block") == 1 and not npc.is_pc() begin
            pc.give_exp2(-(pc.get_exp()-pc.getqf("exp_last")))
        end
    end
end
Link to comment
Share on other sites

  • 5 years later...
En 5/1/2015 a las 16:24, pepineitor dijo:

Madre mía chaval, cada vez la lías más.

 

¿Sabes como funciona esta función?

 

when kill with pc.getqf("antiexp") == 1 begin

Que me estás contando de un metinero, y mil tonterias, sí quitas toda la exp el bucle deja de funcionar porque no se cumple la condición, madre mía lo que hay que leer, la exp se quita cada vez que matas a un mob, pero tú a tu rollo.

 

Lo que hay que leer (...).

Cada quien tiene su manera de codificar, un mismo problema tiene distintas formas de solucionarse

Cada uno a su estilo 🙂 

Link to comment
Share on other sites

  • 6 months later...
hace 17 horas, Miixxxx2 dijo:

Tu quest me dejó los pjs permanentemente bajandole la exp cada que llegan a 100 puntos de exp(los que ejecutaron la quest).. gracias.

en eso consiste la quest el problema no es la quest es que la activaste y no la desactivaste por lo que continuamente te retira la experiencia

tienes que mirar tambien la parte de desactivar la funcion de retirar experiencia asi la activas y desactivas cuando quieras

Link to comment
Share on other sites

En 1/7/2021 a las 13:17, metin2lion.com dijo:

en eso consiste la quest el problema no es la quest es que la activaste y no la desactivaste por lo que continuamente te retira la experiencia

tienes que mirar tambien la parte de desactivar la funcion de retirar experiencia asi la activas y desactivas cuando quieras

El problema era que en la parte de desactivar el Anti-Exp, no está asignado para que deje de quitar exp..

De todas formas ya lo solucioné y tengo una mejor 😄

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...