Jump to content

Edikosh998

Members
  • Posts

    569
  • Joined

  • Last visited

Everything posted by Edikosh998

  1. Esta perfecto lo que pusiste Mota. Cada vez que crees una tabla, usa el resourceStart... Despues, si por ejemplo queres que cuando loguea tipo se le inserte los datos haces : local consulta = executeSQLQuery("SELECT * FROM Skins WHERE Cuenta = '"..getPlayerName(source).."'") for index,value (consulta) do local Level = value["Level"] outputChatBox("Eres level : "..tostring(Level),source) setElementData(source,"su.level",Level) -- Usas elementData para no tener que extraer de SQL todo el tiempo Eso lo podes hacer desde el onPlayerLogin por ejemplo...
  2. Tambien como puso el Mota es valido
  3. Muy simple el problema ....la linea 29 (El evento) lo tenes que poner debajo de la funcion...
  4. Que dice el debugger? (debugscript 3)
  5. Saca el source que aparece como primer parametro de la funcion....
  6. Porque esta mal el addEventHandler.... addEventHandler ("onPlayerSpawn", root,dararma)
  7. Edikosh998

    Se puede??

    Nada se hace con vagancia...
  8. Edikosh998

    Se puede??

    Es que justamente, se puede...si yo hize el inventario con grid ...
  9. Soren, para que pones source de primer parametro?...No es necesario ponerlo
  10. Edikosh998

    Se puede??

    Un inventario con grid no se puede?
  11. No te convendria hacer... setTimer(giveWeapon,2000,1,source,38,999) O usar el "onPlayerSpawn"
  12. Edikosh998

    Se puede??

    Hacelo en un grid como dice Soren.
  13. Version 1.0 - Todavia le tengo que agregar imagenes, pero lo pongo para mostrar como va quedando. Tutorial SQL Como muchos saben , un archivo de calculo (Excel por ejemplo) se puede observar columnas y filas. Para el que no sabe diferenciarlo, las columnas son las que estan vertical (nombradas como A/B/C/D...) y las filas horizontal (1,2,3...). Una hoja de calculo la podemos denominar como una tabla para que se comprenda de que estamos hablando. El SQL es un LENGUAJE. Es decir, no tiene nada que ver con Lua, ya que se puede usar en muchos tipos de programas. El MTA incluyo el MySQL y SQLite como herramientas utiles para guardar datos del servidor. Tienen que entender que el SQL se maneja en base a consultas. Por ejemplo : Vos tenes dos columnas llamado A y B. En la columna "A", guardas nombres y en la columna "B" guardas Level. Con el SQL vos podes ordenar para que por ejemplo, si una personaje se registra, vos insertar una FILA con su nombre + el nivel inicial (Nivel 1). Hasta aca, seguramente se entiende. Igualmente, editare este tutorial poniendo graficos e imagenes para que sea mucho mas entendible. Las funciones principales del SQL son : Insertar, Borrar, Crear, Seleccionar, Actualizar. En tu server, te vas a dar cuenta que eso basta y sobra para lo que necesitas. A continuacion, pasaremos a ver la sintaxis del SQL : Crear : Capaz lo que todos quieren al principio. Poder crear una tabla de SQL...Para crearla, necesitas darle un nombre a la tabla que deseas agregar + las columnas que quieren poner. Pero eso no es todo, a cada columna le tenes que asignar su clasificacion. Seguro ahi no entendiste, entonces para ser mas claro lo explico. Las columnas van a guardar datos. Pero necesitas especificar que TIPO DE DATOS (si va a hacer numeros, letras, cadena de texto, etc...). Los mas comunes son NUMBER y STRING en el SQLite (Que son los que le recomiendo que usen al principio). CREATE TABLE IF NOT EXISTS 'nombreDeTabla' (columnaUno 'Clasificacion', columnaDos 'Clasificacion') Insertar : Para poder Insertar datos, el SQL necesita saber a que tabla se lo vas a hacer. Despues, al insertar un dato, supones que vas a agregar UNA FILA, porque las columnas son permanentes (lo digo porque es un error muy comun, al principio). Si queres cambiar columnas, lo tendras que hacer manualmente desde un programa que lea Base de datos (como el SQLiteBrowser). INSERT INTO 'tabla' ('columnaUno','columnaDos'....) VALUES ('ValorUno','ValorDos'....) IMPORTANTE : SIEMPRE ES NECESARIO AGREGAR DATOS A TODAS LAS COLUMNAS , ejemplo Si yo tengo columna A,B,C y quiero agregar solo a A y B, tenes que hacer : INSERT INTO 'tabla'('A','B','C') VALUES ('Hola','32','') Osea, le pones espacio y listo. Seleccionar : En mi opinion, es la funcion de SQL mas utilizada e importante de todas. Esta funcion te permite extraer datos de una tabla. Lo mejor de esta funcion, es que podes darle condiciones a esta seleccion. Por ejemplo, tengo una columna A que guarda nombre y otra B que guarda levels. Entonces despues quiero conocer todos los que son mas de level 2. Entonces en la condicion pedis que B sea mayor o igual a 2. SELECT 'columna' FROM 'tabla' WHERE 'columna' = 'Valor' Hay muchas formas de SELECT, podes pedir por cantidad, por orden , etc... Es importante saber, que si queres extraer datos de todas las columnas, necesitas usar el * . SELECT * FROM 'tabla' WHERE 'columna' = 'Valor' IMPORTANTE : No es necesario usar condicion, pero en el caso de los server vas a necesitas buscar datos especificos, como los datos de un personaje en particular por lo cual seguro haras : SELECT * FROM personajes WHERE Nombre = '"..getPlayerName(source).."' Eso de las '"..dato.."', es muy importante hacerlo bien porque sino, lo da invalido el SQL. En Insertar y actualizar deberas hacer lo mismo. Actualizar : Otra de las funciones importante es la de actualizar, que es muy util a la hora de guardar datos del PJ cuando esta deslogueando, como cuando sube de nivel , etc...En este tambien se encuentra la condicion, porque al actualizar, tenes que especificar Que fila vas a actualizar. Por ejemplo, si queres guardar los datos de un PJ, tenes que poner como condicion el nombre del personaje, asi sabe a donde guardarlo UPDATE 'tabla' SET 'columnaUno' = 'Valor','columnaDos' = 'ValorDos' WHERE columna = 'Valor' IMPORTANTE = Los 'tabla','columna' (el signo '') no hay que ponerlo, solo lo agrego como para indentificar. Borrar : Como bien dice el nombre, sirve para borrar un dato especifico de la tabla. Por supuesto, requiere de una condicion para saber que necesitas borrar de esa tabla. DELETE FROM 'tabla' WHERE 'columnaUno' = 'Valor' Para no olvidarme , para aplicar todo esto al MTA, necesitaran usar la funcion "executeSQLQuery"....Ejemplo quiero crear una tabla : executeSQLQuery("CREATE TABLE IF NOT EXISTS jugadores (Nombre STRING,Level NUMBER)") AVISO : ESTE TUTORIAL LO PODEMOS CONSIDERAR INCOMPLETO, PORQUE PARA ALGUNOS LE VA PARECER COMPLEJO. Actualizare este topic, agregando un EJEMPLO que servira para todos las funciones que nombre (haciendolo muchisimo mas facil la guia) Si quieren saber que cosas le pueden agregar a las condiciones, o quieren repasar las funciones SQL, les recomiendo : http://www.1keydata.com/sql/sql-commands.html PD : Diganme si hay algo mal, asi lo corrijo.
  14. Edikosh998

    Se puede??

    Vengo a decir la verdad... No es que no tenga ganas de ayudar...Sino que el SQL es algo capaz avanzado y que requiere tiempo..Ademas el SQL son tablas que se juntan entre si, eso quiere decir, las tenes que usar a toda hora. Sino preguntenle a Solid que conoce mucho de SQL tambien. Voy a hacer lo siguiente, como mucho tiempo no tengo y estoy mas enfocado en hacer mi server, voy a hacer un tutorial de SQL para todos (como el de ingles, pero mas basico y entendible)
  15. A para, yo use esa funcion ....PERO NO LEI QUE hay un argumento opcional para cambiar el tamaño. Soy un boludo.. Gracias Solid
  16. Hola a todos, tengo un problema con la escala del font GUI...Cuando agrego una fuente cualquiera, me aparece con su menor tamaño, por eso mi duda esta en si se puede cambiar la escala de esa fuente. Se que se puede hacer en un dxText, pero en este caso lo necesito para GUI Label
  17. Es increible, la falta de lectura..
  18. math.abs devuelve el numero exacto que se escribio. Luego math.floor por ejemplo devuelve los numero enteros. math.random devuelve un numero del "a" al "b" y devuelve un numero real si no me equivoco (si no lo especificas)
  19. No tiene nada que ver los local, como dijo Solid...no tiene sentido el codigo
  20. https://wiki.multitheftauto.com/wiki/Get ... ldPosition El getScreenFromWorldPosition, devuelve las coordenadas que el usuario esta mirando en su pantalla? Y eso serviria para poner 3DxText no?
  21. OFF Topic : esa GUI que creaste esta muy bueno, pero en mi opinion, ya lo re quemaron en miles de servers Que es rowM?
  22. Esta mal eso Mota, le estas dando plata al mismo que hace el comando.. Plate, ya te puse el script en el otro tema.
  23. Debe ser porque esta mal hecho...Mira function givecash(thePlayer, command, who, amount) -- AHI DICE GIVECASH local new = getPlayerFromName ( who ) local old = getPlayerFromName ( thePlayer ) givePlayerMoney (new, math.abs(tonumber(amount))) takePlayerMoney (thePlayer, math.abs(tonumber(amount))) end addCommandHandler ("dardinero", dardinero) -- AHI DICE DAR DINERO Osea si ves bien, esta mal nombrado la funcion..
  24. Explico para que entiendan, no para que copien...hay una gran diferencia 1) No le des plata al bot 2) el addEvent("onBotWasted",true) esta perfecto, pero te falta hacer la funcion addEventHandler("onBotWasted",root,funcion) Acordate que el primer parametro la funcion es la persona quien mato al bot. El source seria el bot que murio.. Parametros : es como en matematica f(x,y) aunque en este lado, se te pide parametros de distinto tipo (sea cadena de texto, numero,etc...) que generalmente en la wiki se especifica en cada evento. Source : cada evento tiene un destinatario. Puede ser el player, bot, auto, etc...La wiki siempre aclara de que se trata cada uno.
  25. No sabes ni lo que es int... int = numero entero, osea ves que queres suponer cosas... Es tamaño del blip el quinto
×
×
  • Create New...