Eyhra Posted April 6, 2016 Group: Members Topic Count: 28 Topics Per Day: 0.01 Content Count: 73 Reputation: 7 Joined: 04/30/14 Last Seen: Friday at 01:18 PM Share Posted April 6, 2016 (edited) Bueno Tengo un npc para los GM asi no tengo que darles sierto items por semana sino que llevo un registro pero en vez de poner el nombre del personaje para entregar el premio podria ser que se pueda poner como un menu con todos los usuarios conectados en el server y darle click en el personaje para seleccionarlo y entregarle su premio por ultimo les dejo el scrpt gracias Disculpen Mande uno que estube probando les dejo el limpio Solucionado solo con el siguiente problema [Warning]: script:getelementofarray: index out of range (-1) [Debug]: Data: variable name='@nomer$' index=0 [Debug]: Source (NPC): Premiador at prontera (124,171) premioevent (1).txt Edited April 11, 2016 by razmux Quote Link to comment Share on other sites More sharing options...
juanfu Posted April 14, 2016 Group: Members Topic Count: 4 Topics Per Day: 0.00 Content Count: 40 Reputation: 4 Joined: 01/13/13 Last Seen: April 26, 2020 Share Posted April 14, 2016 set.@nb$, query_sql("select char_id,name from `player` ORDER BY char_id DESC LIMIT 200", .@namer$, @nomer$); estas seleccionando las ids y nombres de los ultimos 200 jugadores, no de los que estan online, y de la tabla `player` (tabla que no existe a menos que me digas cual es) otro detalle es la variable @nomer$ que esta como temporal de player, yo preferiria dejarla temp. de npc set.@nb$, query_sql("select char_id,name from `char` WHERE `online`=1 and group ORDER BY name ASC LIMIT 200", .@namer$, .@nomer$); buscar y remplazar -> @nomer$ -> .@nomer$ con esto seleccionaria los 200 jugadores en orden alfabetico (a -> z) si esque estan conectados luego ademas, en teoria no deberia retornar nunca nulo si hay un gm usando el npc (ya que el estaria en online) ademas siguiendo con el script te recomendaria validar linea 27 input .@reason$; para evitar algun tipo de inyeccion sql ej validar solo letras y espacio y tambien la cantidad maxima que le hayas puesto en la tabla (ej varchar 30) limita los 30 caracteres Quote Link to comment Share on other sites More sharing options...
Eyhra Posted April 15, 2016 Group: Members Topic Count: 28 Topics Per Day: 0.01 Content Count: 73 Reputation: 7 Joined: 04/30/14 Last Seen: Friday at 01:18 PM Author Share Posted April 15, 2016 Gracias en la linea 127 le dice que si no existe esa tabla sele crea automatica mente es temporal porque al momento de salir un user se borra de la tabla payer otra cosa solo ese error me da al momento de entregar el premio pero no se que sea la razon Quote Link to comment Share on other sites More sharing options...
juanfu Posted April 15, 2016 Group: Members Topic Count: 4 Topics Per Day: 0.00 Content Count: 40 Reputation: 4 Joined: 01/13/13 Last Seen: April 26, 2020 Share Posted April 15, 2016 ah ya vi, en esa tabla almacenas los players que se van conectando y van saliendo, de la forma que te lo puse los saca directo de la tabla char en base a si el status es online asi que es practicamente lo mismo. ese mensaje te sale al momento de que se genera la lista de los players? si es asi, prueba cambiar la linea 16 (con la variable como dije ) por if(!(query_sql("select char_id,name from `char` WHERE `online`=1 and group ORDER BY name ASC LIMIT 200", .@namer$, .@nomer$)>0)){ mes "error, no hay registros"; close; } lo que haria es:SI NO retorna ningun registro dira error Quote Link to comment Share on other sites More sharing options...
Eyhra Posted July 19, 2016 Group: Members Topic Count: 28 Topics Per Day: 0.01 Content Count: 73 Reputation: 7 Joined: 04/30/14 Last Seen: Friday at 01:18 PM Author Share Posted July 19, 2016 gracias y como hago lo de esta linea que me dijo esque es algo que no se bien que hacer la verda me tiene algo molesto xD que no puedo terminar el script xD input .@reason$; GRACIAS Quote Link to comment Share on other sites More sharing options...
juanfu Posted July 19, 2016 Group: Members Topic Count: 4 Topics Per Day: 0.00 Content Count: 40 Reputation: 4 Joined: 01/13/13 Last Seen: April 26, 2020 Share Posted July 19, 2016 Input For strings min and max specify the minimum and maximum string length. The return value is -1, if the string was too short, 1, if it was too long, otherwise 0.tu tabla tiene `reason` char(50)osea input .@reason$,1,50; //el max es del tamaño que permite tu tabla Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.