Jump to content

Ayuda string.byte


PDMTA

Recommended Posts

Ayuda con esto, necesito que mi spawn recuerde el ultimo team seleccionado en el spawn, de manera que cuando muera aparezca el spawn nuevamente pero que no tenga que seleccionar otra vez la categoria y el team sino que solamente se tenga que dar click al boton "SPAWN"

La wiki no tiene mucha informacion sobre esto y queria que me ayudaran diciendo que significa la linea completa de la sintaxis.

Link: https://wiki.multitheftauto.com/wiki/String.byte

Sintaxis:

int string.byte(s [, i [, j]]) 

Gracias.

Link to comment
  • Discord Moderators

No sé muy bien por qué te planteas usar esa función para guardar el equipo y categoría de un jugador. A no ser que el script quite al jugador del equipo cuando muere, no sé para qué necesitas guardar aparte esa información en primer lugar, ya que no se elimina al morir a no ser que el script lo quiera explícitamente.

Por otro lado, la función string.byte devuelve el equivalente decimal de uno o varios bytes contenidos en una cadena (string). Si no entiendes muy bien lo que acabo de decir, tienes que asegurarte de que entiendes qué es un byte, cómo se relaciona eso con el texto de una cadena y con el sistema de numeración decimal.

Un byte es un grupo de 8 bits, y a su vez un bit es uno de los dos posibles dígitos que representan la información binaria con la que trabajan los ordenadores convencionales: 0 o 1. En este contexto, información binaria no es más que una representación de una cantidad numérica. Un bit tiene una correspondencia inmediata con el sistema decimal, ya que al valor binario 0 le asignamos el número 0 y al valor binario 1 el número 1, sin más rodeos. Sin embargo, cuando tenemos más de un bit, podemos aspirar a representar un mayor abanico de números, ya que podemos asignarle a cada combinación posible de ceros y unos un número decimal arbitrario. En particular, un byte es capaz de representar 2^8 bits = 256 números diferentes, que normalmente se toman en el intervalo 0-255.

Pero si un byte es solo una representación numérica que puede tomar 256 valores diferentes, ¿cómo es posible que un ordenador interprete un texto? Muy fácil: al igual que es posible asignarle a cada combinación binaria un número decimal, también es posible asignarle a cada combinación binaria un carácter de texto. Por ejemplo, según el estándar ASCII para la representación de texto, el símbolo "@" equivaldría al número 64. Si lo transformamos a binario y tenemos en cuenta que cada carácter de este estándar ocupa un byte, cada bit que formaría ese byte sería 01000000.

Y precisamente ahí está la utilidad de string.byte: dado un texto que se supone que sigue el estándar ASCII, extraer de cada carácter su valor numérico. Eso es muy útil para guardar al disco duro archivos binarios, que tratan la información de manera que se pueda leer e interpretar gracias a la información contenida en cada byte. En consonancia con lo dicho, el primer argumento de string.byte es pues la cadena de texto (string) de la que extraer el valor de los bytes, y los parámetros i y j determinan dónde quieres empezar a leer bytes y dónde quieres acabar. Si quieres información más precisa, te sugiero visitar el manual de referencia de Lua 5.1.

Explicado todo esto, he de decir que no le encuentro mucha utilidad a esa función para lo que tú quieres hacer, pero ya que has cómo interpretar su sintaxis he aprovechado para explicarte todo lo que debes de saber acerca de ella.

Link to comment

Yo te aclare la duda del string.byte, ahora para el spawn puedes usar un setElementData o simplemente crear una base de datos para guardar las preferencias del usuario. Puedes usar sql, xml, o la de mta.

PD: el setElementData no te dejara guardadas las preferencias despues de reiniciar el server.

Link to comment
  • Recently Browsing   0 members

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