Jump to content

Con que puedo empezar?¿


Bass

Recommended Posts

Buenas gente estoy iniciandome en esto del LUA, ya se que me van a decir empeza por algo sencillo... pero no se bien que es sencillo..

Porque ej: cambiar el cielo de color ya esta el agua ya esta y no se bien que otras opciones hay en LUA... ya pase por la wiki pero los scripts que entiendo masomenos estan medios PRO para empezar..

Que me recomiendan..

Link to comment

Podrías empezar con agregar eventos para cada script si eres demaciado novato.

Si ya sabes eso, entonses te recomiendo hacer comandos como este: (esto hace un comando llamado "godmode" para tener un auto invulnerable y vida infinita)

  
estaMiGodModeActivado == falso 
function agregarGodmode() 
    miActualVehiculo = getPedOccupiedVehicle ( getLocalPlayer() ) 
    if estaMiGodModeActivado == verdadero then 
       removeEventHandler ( "onClientPlayerDamage", getLocalPlayer(), cancelarEvento ) 
       outputChatBox ( "Has apagado el Godmode.", 255, 0, 0 ) 
       if miActualVehiculo then 
            setVehicleDamageProof ( miActualVehiculo, false ) 
       end 
   elseif estaMiGodModeActivado == falso then 
       outputChatBox ( "Has ensendido el Godmode.", 0, 255, 0 ) 
       addEVentHandler ( "onClientPlayerDamage", getLocalPlayer(), cancelarEvento ) 
       if miActualVehiculo then 
          setVehicleDamageProof ( miActualVehiculo, true ) 
      end 
   end 
end 
addCommandHandler ( "godmode", agregarGodmode ) 
  
function cancelarEvento() 
        cancelEvent() 
end 
  

Link to comment
estaMiGodModeActivado = false 
  
function agregarGodmode() 
    miActualVehiculo = getPedOccupiedVehicle ( getLocalPlayer() ) 
    if estaMiGodModeActivado then 
       removeEventHandler ( "onClientPlayerDamage", getLocalPlayer(), cancelEvent ) 
       outputChatBox ( "Has apagado el Godmode.", 255, 0, 0 ) 
       if miActualVehiculo then 
            setVehicleDamageProof ( miActualVehiculo, false ) 
       end 
   else 
       outputChatBox ( "Has ensendido el Godmode.", 0, 255, 0 ) 
       addEventHandler ( "onClientPlayerDamage", getLocalPlayer(), cancelEvent ) 
       if miActualVehiculo then 
          setVehicleDamageProof ( miActualVehiculo, true ) 
      end 
   end 
end 
addCommandHandler ( "godmode", agregarGodmode ) 

Tenias un par de errores, y cambie algunas cositas.

Link to comment
estaMiGodModeActivado = false 
  
function agregarGodmode() 
    miActualVehiculo = getPedOccupiedVehicle ( getLocalPlayer() ) 
    if estaMiGodModeActivado then 
       removeEventHandler ( "onClientPlayerDamage", getLocalPlayer(), cancelEvent ) 
       outputChatBox ( "Has apagado el Godmode.", 255, 0, 0 ) 
       if miActualVehiculo then 
            setVehicleDamageProof ( miActualVehiculo, false ) 
       end 
   else 
       outputChatBox ( "Has ensendido el Godmode.", 0, 255, 0 ) 
       addEventHandler ( "onClientPlayerDamage", getLocalPlayer(), cancelEvent ) 
       if miActualVehiculo then 
          setVehicleDamageProof ( miActualVehiculo, true ) 
      end 
   end 
end 
addCommandHandler ( "godmode", agregarGodmode ) 

Tenias un par de errores, y cambie algunas cositas.

Ah bueh, no pruebo scripts antes de recomendarlos :lol:, bueno, lo del cancelEvent no lo sabía... ven que hasta los maestros deben aprender cosas simples :D.

Link to comment

*Bueno gracias por las respuestas..

*Los scripts se pueden hacer en español? Pregunto capas que ustedes que andan mas en el tema saben...

*Me gustaria que el GodMode ese me lo pasaran en ingles, ya que a pesar que hablo español en el tema Lua me gusta mas el ingles :)

*Bueno ahora lo mas que he hecho por mi cuenta es un Teleport que al tocarlo te Activa todos los Mods o Scripts..

Entre ellos: Cielo, Texturas, Te cambia el auto, Agua y cosas que le ire agregando...

Gracias por todoo...

Link to comment

A ver si entendi, hay cosas que SI las podes poner en español, chino, lo que se te encante...

por Ejemplo, el nombre de la funcion :

function hola() 

Y bueno algo tambien hay variables que no importa lo que le pongas siempre va ser igual , por ejemplo :

addCommandHandler 

tiene 2 variables en la funcion que son

function (1= el jugador que usa el comando, 2 = el nombre del comando) 
--Esto en server-side. 
--Ahi por ejemplo podes poner si queres : 
  
function (hola, cmd) 

Link to comment

Asi Es Edikosh9998, Pero:

La Lua tiene q estar en INGLES (menos lo q dijiste), Explico lo de español y doy 1 ejemplo:

Las cosas q podes poner en Español, son como por ejemplo, el nombre de las funciones, los nombres de los eventos agregados con addEvent y cosas asi, por Ejmplo:

function ejemploParaEstaGente() 
     local miJugador = getElementModel(source) -- nombramos miJugador, como el Skin del Jugador 
     if miJugador == 0 then -- si es miJugador (el skin 0 osea CJ) apacerlo 
          spawnPlayer (source, 0, 0, 10) 
     else 
     outputChatBox ("Nesesitas ser CJ para Aparecer", source, 255, 0, 0) -- de lo contrario, abrir el chat con la info. 
    end 
end 
addEventHandler ("onPlayerWasted", root, ejemploParaEstaGente) -- el evento q al morir lo aga 
addCommandHandler ("matame", ejemploParaEstaGente) -- por si quereis aparecerte en la coordenada 0 manualmente 

Notese q el nombre de la funcion, los chat, y mis argumentos son en español, podeis ahcer lo mismo con tablas, comandos, etc etc.

espero q les alla quedado claro a los q no entienden xD

Link to comment

hay esta malo por que en la variable miJugador = getElementModel(source), los comandos no tienen source (o sino el source de addCommandHandler es el comando en si, pero no estoy seguro) por eso se usa el parametro del jugador despues de tu funcion ej:

  
function miComando (elJugador) 
jugador = getElementModel(elJugador) 
-- crap... 
end 
addCommandHandler("abc", miComando, true) --[[el true es para que sea accesible solo por los que esten el el acl, lo acabo de descubrir ]] 
  

y asi con todos los que pusiste source xD, o si me equivoco pss me corrigen

Link to comment
hay esta malo por que en la variable miJugador = getElementModel(source), los comandos no tienen source (o sino el source de addCommandHandler es el comando en si, pero no estoy seguro) por eso se usa el parametro del jugador despues de tu funcion ej:
  
function miComando (elJugador) 
jugador = getElementModel(elJugador) 
-- crap... 
end 
addCommandHandler("abc", miComando, true) --[[el true es para que sea accesible solo por los que esten el el acl, lo acabo de descubrir ]] 
  

y asi con todos los que pusiste source xD, o si me equivoco pss me corrigen

Si tienes razon, le da "bar argument" en getElementModel

No deberia ser asi?

function pongoLoQueSeMeDaLaGana(Jugador,cmd) 
    local usuario = getElementModel(Jugador) 
--A ver el local, podes poner cualquier cosa, solamente que su equivalente tiene que ser una funcion sino 
--Te tira "bad argument" 
    if (usuario == 0) then 
    killPed(Jugador) 
    else 
    outputChatBox("Necesitas ser CJ para aparecer",Jugador,255,0,0) 
    end 
end 
addCommandHandler("matame",pongoLoQueSeMeDaLaGana) 
  
  
function otraVezLoMismo() 
    setTimer(spawn,1000,1,source) 
 end 
addEventHandler("onPlayerWasted",getRootElement(),otraVezLoMismo) 
  
function spawn(thePlayer) 
spawnPlayer(thePlayer,0,0,10) 
 end 

Si esta mal diganme

PD : Cambiando de tema

Te voy a aconsejar para empezar..

1) Lee las guias de la wiki, por mas bodrio que sea. Si sabes ingles MEJOR, porque se te va a hacer mas facil entender. Ademas te vas a dar cuenta de porque la gente aunque hable en español escribe el nombre de las funciones, eventos en ingles ya que te acostumbras solo.

2) Tambien en la wiki de MTA, mas abajo pone la de LUA, y te recomiendo que la veas. Se que tiene muchas cosas que no vas a ver, pero hay conceptos MUY IMPORTANTES que si no sabes, puede que no entiendas lo del MTA. Por ejemplo : los "math", o el "if ... then", "return" y todo eso.

3) Intenta hacer un script (sin importar lo mas "bobo" que sea) de algo . Puede ser un comando para hacer que respawnee un auto, lo que sea. Para eso, lee las funciones que muestran la wiki. ESO puede llegar a ser lo mas bodrio ya que son miles las funciones que te brinda, y capaz te puede llegar a ser dificil encontrar o identificar la que buscas. Para eso, igual esta el foro que podes consultar.

4) No EMPIEZES con cosas dificiles, como por ejemplo, no se : quiero hacer un server RPG, y ya me quiero poner a hacer trabajos, facciones, una base de datos, etc... porque te vas a terminar aburriendo y capaz CALENTANDO (me paso jaja).

5) Paciencia... Toma bastante tiempo aprender, no te creas que los moderadores o esos que publicaron las scripts en la community hayan estado tan solo un mes aprendiendo a scriptear. Tomate tu tiempo.

6) Siempre que tengas alguna duda de alguna funcion, definicion, etc.. PREGUNTA. Mira yo creo que debo ser uno de los mas preguntones ( es mas a veces me da que estoy jodiendo un poco al otro), pero siempre intento preguntar cosas basicas. No digo HACEME UN SCRIPT QUE APAREZCA UN BOT QUE CONDUZCA UN HELICOPTERO sin haberle tirado una base, sin embargo capaz algo que hayas escrito y que por alguna cosa no ande.

Bueno, espero que te sirva lo que te dije. Aunque bueno, yo en esto hace 1 mes y bueno no puedo hablar demasiado xD.

Link to comment
hay esta malo por que en la variable miJugador = getElementModel(source), los comandos no tienen source (o sino el source de addCommandHandler es el comando en si, pero no estoy seguro) por eso se usa el parametro del jugador despues de tu funcion ej:
  
function miComando (elJugador) 
jugador = getElementModel(elJugador) 
-- crap... 
end 
addCommandHandler("abc", miComando, true) --[[el true es para que sea accesible solo por los que esten el el acl, lo acabo de descubrir ]] 
  

y asi con todos los que pusiste source xD, o si me equivoco pss me corrigen

Men, q yo sepa la funcion

"onPlayerWasted" no nesesita el "source" en su funcion, ya q es OBVIO q si se refieren a el Juegado Muerto, sea el Jugador, no ¬¬?

Y si te marco el badArgument en "getElementModel" pzzz no los pobre xD, y bueno, nadie se pone por poner un "source" xD

y lo del True en el addCommandHandler, a que ACL Espeficicamente? (tampoco sabia xDDDDDDDDDDDDD)

Al Admin, al Mod,? y q pasa si tengo muchas grupos mas? xD

Link to comment
  • Recently Browsing   0 members

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