Tutorial: como crear un arma en lua para tu Garry’s Mod.

En este tutorial les enseñare ,como dice el titulo ,a crear un arma para su Garry’s Mod como bien saben ,es un juego de estilo Sandbox en el cual puedes hacer lo que desees ,les recomiendo esta comunidad:
http://www.taringa.net/comunidades/garrys-mod/

Bien ,empecemos con el tutorial.

ACLARACION:
Si utilizan este metodo ,su arma tendra varios bugs:
1)_El arma en tercera persona no se ve en las manos del jugador ,si no que en la zona
baja del jugador.
2)_El sonido de recarga del arma ,no se escucha ,pero al final de este tutorial les
enseñare una manera de fingir un poco de manera realista el sonido de recarga del arma
en si.
3)_Gracias al user @ADrygm10 ,que me ha prestado parte de su base o
mejor dicho sus efectos ,que luego yo les he modificado sus texturas ,el arma posee
un efecto de disparo unico segun el arma que deseemos crear.

QUE INCLUYE ESTE TUTORIAL:
1)_La base con los efectos e con los datos de cada arma(no es mia solo modifique bases).
2)_El XVI32.
3)_Ironsights Designer.
Ya aclarado eso podemos empezar con el tutorial.

Vamos a hexear…
1)Hexeando el model.
Antes que nada nos bajamos un arma de Gamebanana ,y la colocamos en una carpeta ,para luego seguir los siguientes pasos:
Carpeta con arma:

Para que el juego no confunda el model del CSS ,con el nuestro deberemos de hexearlo ,para hacer eso se necesita un programa llamado:
XVI31
Icono de XV132:
![]()
1)_Primero deberemos de cambiarle el nombre al V_MODEL Y W_MODEL ,recuerden que el nombre puede ser cualquiera ,pero tiene que tener el mismo numero de letras que el nombre original:
Ejemplo:
Nombre original: v_pist_deagle.mdl
Nombre nuevo: v_post_deagle.mdl
Lo mismo deben hacer con los demas archivos que pertenecen al V_MODEL e lo que hicieron con el V_MODEL haganlo con el W_MODEL ,en mi caso me quedo asi:
Nombres originales:

Nombres cambiados:

2)_Abrimos el XVI32 y seleccionamos el v_pist_deagle.mdl ,que esta situado en la carpeta models/weapons:
Ubicacion de v_pist_deagle.mdl y w_pist_deagle.mdl:

Imagen de selección de V_MODEL:

3)_Ahora procedemos a cambiarle el nombre que dice en el XV132:
Imagen de v_pist_deagle:

Se lo cambiamos por v_post_deagle:
Imagen de v_post_deagle:

¿Cómo se lo cambiamos?
A)_Seleccionamos la letra a borrar.
B)_Apreramos suprimir.
C)_Luego vamos a Edit y seleccionamos Insert String ,ahí colocamos la letra nueva.
D)_Lo guardamos.
Lo mismo que hicimos con el V_MODEL hacemos con el W_MODEL ,cuando hayamos hecho eso ,habremos terminado de hexear el V_MODEL y W_MODEL.

Oh que es esto?
Ahora viene lo mas sencillo de todo ,y en el paso menos importante ,pero si nos equivocamos en esto algo fallara en el arma ,generando esos molestos errores lua que tanto odiamos.
Como ya dije al principio yo ,en este pack que subire a MF ,incluire ademas del programa XV132 ,Ironsights Designer ,y dos cosas mas:
A)_Base Lua.
B)_Base CSS.
A)_La Base Lua ,es lo que contiene los efectos de las armas y el archivo info.txt.
B)_La Base CSS son unas bases apenas modificadas para cada tipo de arma:
Imagen de carpeta:

Para resumir un poco para que sirve cada base de alli ,es como una cadena alimenticia ,el mas grande se come al pequeño ,¿que quiero decir con esto? ,quiero decir que el orden de las bases es asi:
base_principal > weapon_deagle
base_principal > weapon_glock
base_principal > weapon_pistol
base_principal > weapon_pumpshotgun
base_principal > base_sec(rifle) > weapon_m60
base_principal > base_sec(rifle) > weapon_smg
Segun el arma que queramos hacer deberemos de seguir ese orden ,si no nos quedara una M4 que dispare de a un solo disparo.
Empezemos con la explicacion de esta parte.
1)_Deberemos de pasar los contenidos de la Base Lua a la carpeta en donde tengamos el arma:
Imagen contenidos de arma mas Base Lua:

2)_En el info le colocaremos el nombre del arma e tambien se lo colocaremos a la carpeta que contiene el arma ,eso no creo que requiera explicacion.
Imagen nombre de carpeta:

Imagen nombre en info.txt:

3)_Nos dirigimos a la carpeta Base CSS y copiamos:
A)_base_principal
B)_weapon_deagle
En la carpeta Revolver/lua/weapons.
Imagen ubicacion a copiar bases:

En mi caso es ahi pero en su caso deberan de copiar eso en lua/weapons.
4)_Una vez en ese lugar ,nos metemos en el shared.lua que esta en la base_principal ,y cambiamos el nombre de:
A)_SWEP.Category(Categoria del arma).
B)_SWEP.Author(Autor del arma).
C)_SWEP.Contact(Medio de contacto con el autor).
D)_SWEP.Purpose (Proposito del arma)
Imagen de base_principal edicion finalizada:

Una vez hecho eso lo guardamos.
5)_Ahora nos dirigimos hacia el shared.lua de weapon_deagle ,y editamos los siguientes codigos:
NOTA IMPORTANTE:
En este caso se utiliza true para si y false para no
A)_SWEP.PrintName(Nombre del arma),(El nombre del arma se coloca en la carpeta weapon_deagle ,por ende quedaria Revolver).
Imagen de nombre carpeta cambiada:

B)_SWEP.Instructions(Intruciones del arma)
C)_SWEP.Spawnable(Si el arma puede hacerse aparecer).
G)_SWEP.AdminSpawnable(Si el admin puede hacerla aparecer ,o si solo el admin puede hacerla aparecer ,no se bien como era eso).
H)_SWEP.WeaponDeploySpeed(Es la velocidad de disparo).
I)_SWEP.ViewModelFlip(Esto es si quieren que el arma se vea a la derecha o a la izquierda ,si se les ve en otro lado cuando la usan en el juego ,pueden volver al lua y cambiarla).
J)_SWEP.ViewModelFOV(Esto es la cantidad del V_MODEL ,que se vera en el juego).
K)_SWEP.ViewModel(Aca debemos colocar el V_MODEL del arma hexeada en mi caso es : v_post_deagle.mdl).
L)_SWEP.WorldModel(Lo mismo que antes pero con el W_MODEL).
M)_SWEP.Primary.Sound(Aca va el sonido primario que seria el de disparo ,que esta en la carpeta sound de nuestra arma)
Imagen de sonido primario:

N)_SWEP.Primary.Recoil(El retroceso del arma).
O)_SWEP.Primary.Damage(El daño que generara el arma).
P)_SWEP.Primary.ClipSize(La cantidad de balas del arma).
Q)_SWEP.Primary.Delay(El tiempo de espera entre cada disparo).
R)_SWEP.Primary.DefaultClip(La cantidad de balas que te dara al tomar el arma).
Una vez hecho eso guardan los cambios ,a mi me quedo asi:
Imagen de edicion de base deagle:

Si hicieron eso todo bien ,ya tienen su arma lista ,pero sin sonido de reload e sin ironsight.

¿Que es el Ironsight? ,¿se come?…
No ,eso es cuando apuntas con la mirilla del arma en el Gmod ,la forma de usarlo es sencilla ,colocan el
Ironsights Designer en la carpeta addons y les aparece un arma en la seccion weapons del Garry’s Mod ,la explicacion de como se usa esta en este video:
link: http://www.youtube.com/watch?v=hphB8kg66u4
EXPLICACION DE COMO USAR EL IRONSIGHT DESIGNER:
Con click derecho del raton cambiamos el modo para mover el arma:
Modos:
Modo A)_X y Z:Sirve para acomodar el arma para cualquier lado.
Modo B)_Y:Sirve para acercar o alejar el arma.
Modo C)_Ang Roll:Sirve para moverlo de costado.
Modo D)_And/Pitch Yaw:Sirve para acomodar el arma en forma recta.
Ahora con ese Ironsight vamos al shared.lua de la carpeta Revolver situada en lua/weapons ,y buscamos hasta que nos aparesca esto:
Imagen de Ironsight sin editar:

Y le pegamos el codigo de Ironsight copiado como hice yo en el video anterior:
Imagen de Ironsight editado:

Listo ya tenemos editado eso ,ahora nos quedaria ,el sonido de recarga del arma.

¿Como hago el sonido de recarga?
ADVERTENCIA:si ustedes gustan ponerles este sonido mediante mi metodo ,si eligen por scripts ,yo no lo se explicar ,pero si eligen el segundo metodo ,quedas avisado del BUG.
Hay dos maneras:
A)_Por scripts.
B)_O montando todos los sonidos del arma en un solo sonido ,e colocandolo en el shared.lua de una de las bases.
Como yo nunca aprendi a hacerlo por scripts les explicare el segundo metodo ,que tiene un BUG muy sexy:
BUG:
A la velocidad normal se oye genial ,super realista ,pero cuando colocamos el juego en camara lenta ,el arma recarga lentamente pero el sonido se escucha a la velocidad normal.
Les explicare como hacer eso:
1)_Grabamos un video de la recarga del arma.
2)_Lo abrimos con Sony Vegas 8 o cualquier programa de edicion de video que deseen ustedes ,y seleccionamos entre:
A)_El comienzo de la animacion.
B)_El final de la animacion.
El resto lo recortamos.
3)_Una vez hecho eso ,importamos los sonidos de la carpeta sound de nuestra arma:
Imagen de ubicacion de carpeta sound:

4)_Luego colocamos los sonidos ,y vemos de que manera queda bien ,si estamos a gusto como quedo ,lo guardamos con extension .wav ,y con el nombre Reload.
Video de sonido montado:
link: http://www.youtube.com/watch?v=FJjXXYGHJBs
Imagen de Sony Vegas montando sonido:

5)_Colocamos ese sonido en la carpeta sound junto a los demas sonidos del arma:
Imagen de ubicacion:

6)_Vamos al shared.lua de la carpeta Revolver:

Y buscamos el codigo que diga:
self.Weapon:EmitSound ( "weapons/etc/reload.wav" )
Imagen codigo reload sin editar:

7)_En donde dice ( "weapons/etc/reload.wav" ) ,colocamos la ruta del sonido ,nos quedara asi:
Imagen de codigo reload editado:

Luego guardan la edicion ,y listo.

Como hacer un icono para nuestra arma.
Aca les enseñare a hacer un icono para su arma ,en la base_lua tambien les incluyo estas dos cosas para hacer dicho icono:
Imagen de dos archivos:

1)_Renombramos a los dos archivos del mismo nombre que la carpeta que contiene el shared.lua del arma ,que seria Revolver.
Imagen de dos archivos nombres cambiados.

2)_Abrimos el que tenga adentro estos textos:
Imagen de texto original:

Y le colocamos Revolver en donde dice arma:
Imagen de texto cambiado:

3)_Luego vamos al otro archivo ,selecionamos File>Import y seleccionamos una imagen del arma en si(tiene que ser en extension .tga):
Imagen de icono revolver:
![]()
4)_Guardamos el archivo ,recuerden guardarlo como Nombre de arma.vtf ,en mi caso seria Revolver.vtf van a la carpeta en donde estaba el archivo que editamos y lo reemplazan.

Si ustedes hicieron todo como yo les explique aqui ,el arma les saldra perfecta a primera vista.
Espero que les haya gustado mi post ,comenten ,y espero que valoren el esfuerzo que puse para hacer todo esto.
Visiten la comunidad Garry’s Mod si desean:
http://www.taringa.net/comunidades/garrys-mod/
Ciao signore e signorinas…