Yori Posted December 19, 2013 Report Share Posted December 19, 2013 Alguien sabria decirme como hago para poder mandar datos desde una gui del cliente a una quest? de la quest al cliente si he podido, pero del cliente a la quest no encuentro ningun ejemplo por el que guiarme. Muchas gracias Saludos Link to comment Share on other sites More sharing options...
Jfirewall Posted December 19, 2013 Report Share Posted December 19, 2013 tu por quest haces cmdchat(funcion dato) y en el python en commands pones funcion : y ya aqui la funcion de python que se ejecutara Link to comment Share on other sites More sharing options...
Yori Posted December 19, 2013 Author Report Share Posted December 19, 2013 pero eso es para hacerlo de quest hacia el cliente, yo quiero hacerlo del cliente hacia la quest Link to comment Share on other sites More sharing options...
SeMa™ Posted December 19, 2013 Report Share Posted December 19, 2013 net.SendQuestInputStringPacket(datos) ej: net.SendQuestInputStringPacket("funciona") quest sema begin state start begin when xxx.chat."hola" begin cmdchat("enviar dato a cliente y cliente a quest") local sema = input(cmdchat("datos")) if sema == "funciona" then chat("hola") else chat("adios") Link to comment Share on other sites More sharing options...
Yori Posted December 19, 2013 Author Report Share Posted December 19, 2013 net.SendQuestInputStringPacket(datos) ej: net.SendQuestInputStringPacket("funciona") quest sema begin state start begin when xxx.chat."hola" begin cmdchat("enviar dato a cliente y cliente a quest") local sema = input(cmdchat("datos")) if sema == "funciona" then chat("hola") else chat("adios") Muchas gracias, lo probare y te cuento Link to comment Share on other sites More sharing options...
SeMa™ Posted December 19, 2013 Report Share Posted December 19, 2013 Muchas gracias, lo probare y te cuento si tienes algun problem, me puedes encontrar por skype. Link to comment Share on other sites More sharing options...
Yori Posted December 19, 2013 Author Report Share Posted December 19, 2013 si tienes algun problem, me puedes encontrar por skype. he estado haciendo pruebas y no me termina de funcionar bien, de la quest al cliente si soy capaz de pasar datos, pero del cliente a la quest no soy capaz, ya que la funcion que me has dicho de python ya escribe el solo algo por el chat. Tengo hecho esto en el game, eso lo uso para pasar los datos al cliente: "pruebaSubastas" : self.__Subastas, def __Subastas(self,dato1,dato2,dato3): self.subastasWindow.asignarDato(dato1,dato2,dato3) net.SendQuestInputStringPacket("funciona") esos datos los meto en una lista y sin problemas. Y de momento tengo esta quest para ir probando: quest prueba_subastas begin state start begin when 20004.chat."prueba subastas" begin local nombre = {"prueba1","prueba2","prueba2"} for a=1,4,1 do cmdchat("pruebaSubastas "..nombre[1].." "..nombre[2].." "..nombre[3]) end local strPrueba = input(cmdchat("pruebaSubastas2")) chat(strPrueba) end endend Cuando activo la quest si me sale por el chat el "funciona", pero tmb me sale el input para que escriba algo, como hago para que no me salga?? PD: no tengo tu skype, asique te molestare por aqui xD Link to comment Share on other sites More sharing options...
PACI Posted December 19, 2013 Report Share Posted December 19, 2013 Es normal que te salga un input ya que estás enviando un input a la quest. Lo que tienes que hacer es otros 2 cmdchat para quitar el input. "GetInputStringStart" : self.GetInputStringStart, "GetInputStringEnd" : self.GetInputStringEnd, def GetInputStringStart(self): constInfo.INPUT_IGNORE = 1 def GetInputStringEnd(self): constInfo.INPUT_IGNORE = 0Y en el def OpenQuestWindow(self, skin, idx): def OpenQuestWindow(self, skin, idx): if constInfo.INPUT_IGNORE == 1: return self.interface.OpenQuestWindow(skin, idx)Luego en tu quest: quest prueba_subastas begin state start begin when 20004.chat."prueba subastas" begin local nombre = {"prueba1","prueba2","prueba2"} for a=1,4,1 do cmdchat("pruebaSubastas "..nombre[1].." "..nombre[2].." "..nombre[3]) end cmdchat("GetInputStringStart") local strPrueba = input(cmdchat("pruebaSubastas2")) cmdchat("GetInputStringEnd") chat(strPrueba) end endendPD: No es necesario decir que tienes que tener INPUT_IGNORE = 0 en el constinfo xD Link to comment Share on other sites More sharing options...
SeMa™ Posted December 19, 2013 Report Share Posted December 19, 2013 tal y como dijo paci Link to comment Share on other sites More sharing options...
Yori Posted December 20, 2013 Author Report Share Posted December 20, 2013 Muchisimas gracias a los dos, ya funciona bien, os mereceis un monumento!!!! #Solucionado Link to comment Share on other sites More sharing options...
Seru Posted December 20, 2013 Report Share Posted December 20, 2013 Muchísimas gracias por colaborar con #solucionado ! Muevo a dudas resueltas y cierro Link to comment Share on other sites More sharing options...
Recommended Posts