[Duda] sscanf
#1

Buenas amigos de SAMP, quisiera saber si ustedes me podrian explicar una duda, їComo hago que el sscanf cumpla una funciуn si solo se detecta un caracter, por ejemplo "_"?.

Bueno lo que quiero saber como combinar los parametros del sscanf para detectar un simbolo en una string y si solo este es detectado se cumpla una funciуn determinada.

pawn Код:
"S(_)[60]"
Este es el parametro que trato de usar para detectar el "_" en un string, pero este devuelve siempre la respuesta en false osea que siempre lanza el codigo negativo aunque el string contenga el "_" y yo quisiera saber como detectar el "_" correctamente.

Ejemplo:

pawn Код:
strfind(inputtext, "_", true) != -1
Con esta funciуn se detectaria si el string es insertado у no, en fнn lo que quiero es saber como detectar un simbolo o texto en sscanf como en strfind.

Muchisimas gracias por la ayuda.

Un saludo.
Reply
#2

Con sscanf no se puede creo.
їPodrнas poner una parte mбs completa del script dуnde usas strfind?
Reply
#3

Quote:
Originally Posted by [DOG]irinel1996
Посмотреть сообщение
Con sscanf no se puede creo.
їPodrнas poner una parte mбs completa del script dуnde usas strfind?
Claro, aunque mi script funciona perfectamente con strfind, pero solo es por curiosidad que quiero saber como detectar simbolos o textos en sscanf como si fuese strfind.

pawn Код:
// Removido
Esto solo es un codigo de un dialog el cual quiero usar sscanf pero este siempre devuelve el valor en false osea aunque inserte el "_" sigue enviando el valor en false en vez de enviarla en true.

Un saludo.
Reply
#4

Es curioso por que hace tiempo preguntй lo mismo, y las respuestas que me dieron es que no se podнa y que usarб strfind. Saca tus propias conclusiones ahora.

Lo que te quiero decir es que sscanf no se hizo para reemplazar todas esas funciones, sino que todas tienen su rol. sscanf ayuda a la hora de hacer textos formateados, con el format y demбs. Facilita mucho y ahorra muchas lнneas de cуdigo.
Reply
#5

Quote:
Originally Posted by [DOG]irinel1996
Посмотреть сообщение
Es curioso por que hace tiempo preguntй lo mismo, y las respuestas que me dieron es que no se podнa y que usarб strfind. Saca tus propias conclusiones ahora.
Muchas gracias, pero seguirй intentando aver si consigo detectarlos ya que me ahorraria muchas lineas de script principalmente en los comandos y a la vez lograria un poco mas de optimizaciуn, ya que eliminaria varias sentencias de comprobaciуn de algunos comandos.

Un saludo.
Reply
#6

Quote:
Originally Posted by oOFotherOo
Посмотреть сообщение
Muchas gracias, pero seguirй intentando aver si consigo detectarlos ya que me ahorraria muchas lineas de script principalmente en los comandos y a la vez lograria un poco mas de optimizaciуn, ya que eliminaria varias sentencias de comprobaciуn de algunos comandos.

Un saludo.
Te digo que por reemplazar strfind, strcmp, etc. con sscanf no conseguirбs optimizaciуn.
Depende de como sea tu script, pero el ejemplo que me pusiste, si fuera posible no estarнa mбs optimizado.

Mi consejo es que uses strfind.

PD: sscanf tiene un sistema de "bъsquedas" en cadenas de texto, pero ni de lejos tiene esta finalidad, de verificar si existe un carбcter en la cadena.
Reply
#7

Quote:
Originally Posted by [DOG]irinel1996
Посмотреть сообщение
Te digo que por reemplazar strfind, strcmp, etc. con sscanf no conseguirбs optimizaciуn.
Depende de como sea tu script, pero el ejemplo que me pusiste, si fuera posible no estarнa mбs optimizado.
Si lo sй, pero en este script que puse de ejemplo, no utilizo una sentencia de comprobaciуn adicional como por ejemplo en un comando de /jailoff, el cual su funciуn seria jailear un usuario desconectado mediante la modificaciуn de su cuenta almacenada y si por ejemplo tienes un servidor RP, entonces debes detectar el "_" del nombre del usuario y para esto crearias una sentencia con strfind para detectar el "_".

Yo diria que si con sscanf logro detectar un simbolo o caracter se optimizaria mas el script ya que como explique arriba, se eliminarian las sentencias de comprobaciуn y al momento de ejecutar el script se ahorraria el proceso de la sentencia y hay el script se ejecutaria mas rapido.

Un saludo.
Reply
#8

їY en ves de comprobar todo eso porquй no comprobas directo si la cuenta existe?

PD: Creo recordar que con ' ' se podнa buscar textos. Pocas veces he usado sscanf, asн que no creo poder ayudar.
Reply
#9

Quote:
Originally Posted by [J]ulian
Посмотреть сообщение
їY en ves de comprobar todo eso porquй no comprobas directo si la cuenta existe?
Amigo solo puse un ejemplo, ademas yo uso MySQL y mi GM es un RP y como ya usted sabe los nicks tienen que estar guardados en la DB con "_" y no me gusta enviar Querys innecesarias con nombres no permitidos y por eso creo esa sentencia pero igual verificу si esta o no en la DB en nombre insertado.

A lo que realmente me refiero Sr.Julian es, їComo detectar textos o simbolos en una string en sscanf?, solo quiero saber esto para evitar el uso del strfind y ahorrarme varias sentencias y al mismo tiempo ampliar mis conocimientos.

Un saludo.
Reply
#10

Como dije, pocas veces he usado sscanf asн que poco te puedo decir/ayudar. Buscб en el post original del plugin algo sobre ' ' (comillas simples).
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)