Necesito ayuda con una quest

Topic created · 10 Mensajes · 869 Visitas
  • Hola, he creado un objeto como si fuese otro cualquiera, le he agregado todas las propiedades en mysql y en el cliente, y lo puedo ver y apilarlos.

    Pero mi problema es cuando quiero darle a ese objeto una funcion. Es decir, quiero que ese objeto funcione de una determinada forma, par eso so las quests, pero al darle click derecho, no funciona la quest,y no da errores al hacer make.sh ni nada.

    El objeto en si se llama "Puntos Skull", y tiene el valor numérico de 90013. Por si alguno se el ocurre, si, lo tengo metido en hongkong_link, y puedo ver como carga en la pantalla al hacer make.sh.

    quest puntosskull begin
    	state start begin
    		when 90013.use begin
    		say_title("Puntos Skull")
    		say("¿Deseas subir de rango?")
    		say("")
    			local s = select("Si", "No")
    			if 1 == s then
    				notice_all("Has subido de rango.")
    			if 2 == s then
    				return
    			end
    		end
    	end
    end
    

    haber si me podéis ayudar como hacerlo funcionar.

    Salu2!

  • en las condiciones if pon primer la variable, osea s, y luego la opción, que lo pusistes al revés, nose si tendrá algo más porque estoy desde el móvil, pero si sigue sin irte esta tarde cuando esté al pc la miro que como está con code no me deja verla entera xD

  • Eso no es. Si la variable s vale 5 (aunque sea imposible, es por poner un ejemplo) es lo mismo comparar 5 con 1 que 1 con 5. Ambas comparaciones dan como resultado false.

  • Lo que yo estaba pensando, es lo mismo comparar si S es igual a 1, que si 1 es igual a S. De todas formas, lo he probado, y no funciona.

    Haber si alguien me puede ayudar xD.

    Salu2

  • A simple vista creo que está mal esto

     local s = select("Si", "No")
             if 1 == s then
                notice_all("Has subido de rango.")
             if 2 == s then
    

    Sería cambiar la opción por la variable

     local s = select("Si", "No")
             if s == 1 then
                notice_all("Has subido de rango.")
             if s == 2 then
    

    Un abrazo feo :icon_razz:

  • Anghi, cuanto tiempo xD, pues te lo repito, es lo mismo comparar si la variable S es igual a 1, que si 1 es igual a la variable 1.

    he probado como lo dices tu y djzed, y es lo mismo, no funciona.

    Lo que me esta surgiendo a la cabeza, si es porque el objeto tiene unas características especiales en la base de datos.

  • Otra cosa que puedes probar, usa else en vez de if en la opción 2 de la variable s aver :miau:

  • el problema no esta en la quest, el problema esta en la query del item, no recuerdo que campo es pero si no esta puesto correctamente el item no puede utilizarse.

    Te recomiendo que tomes la query de de un objeto como la bolsa del almacen que si se puede utilizar y coloques los campos iguales, asi ya lo podras utilizar, a mi me pasaba eso con un item y asi lo solucione.

  • Hola, pues aquiles, lo he intentado con una poción roja, pero no hay manera, estas son las querys del cliente, las del servidor son las mismas. Haber si encontráis algún error o algo asi, porque que yo sera, esta bien...
    Lo único que cuando tengo un pack de 20 puntos, al pinchar con el botón derecho, se van consumiendo los puntos, así que imagino que tiene que ser fallo de la quest. También os lo dejare, estoy intentando con una quest parecida...

    Quest:

    quest puntosskull begin
    	state start begin
    		when 90013 . use begin
    			pc.give_item( 90014 , 1 )
    		end
    	end
    end
    

    Query Cliente:

    Salu2!

  • mira la pocio no creo que te sirva, porque ellas son un tipo de item en concreto, en cambio la bolsa de almacen es del tipo de items que estan hechos para utilizarse en quest, anda a la db copias todos los campos de la bolsa de almacen (creo que es 50512 o algo asi) y pegas eso en el item qeu quieras (excepto el vnum claro esta) y asi ya te ira bien 100% seguro porque una quest tan simple no tiene fallo.