Source SDK

Source SDK

Not enough ratings
modificar o crear .fgd para añadir entidades, armas y npc (hammer)
By Oitnemood
Útil para añadir entidades, armas y npc al hammer
   
Award
Favorite
Favorited
Unfavorite
Principal
crear un archivo en formato .fgd ya sera usando el bloc de notas o copiando uno existente y borrar su texto.
una ves hecho eso, le pones el nombre que quieras y listo.
ahora elige el tipo de entidades, armas y npc y ve viendo le nombre de la entidad que tiene
ejemplo la pistola de half-life 2 en el código para aparecerla es mencionada como
weapon_pistol
el botiquín es mencionado como
item_healthkit
y un npc como el ciudadano es mencionado como
npc_citizen
ahora ve viendo al categoría de interés para ponerla en tu archivo.fgd y cambia el nombre de la entidad a la que quieres y donde dice .mdl es para la ubicación del modelo que usa dentro de juego.
lo demás son códigos que tienes que dejar, para que se pueda configurar dentro del hammer sin errores.
no olvides poner la linea, para que funcione bien

@include "base.fgd"

///importante dejar el espacio de arriba
Arma
//-------------------------------------------------------------------------
//
// Weapons
//
//-------------------------------------------------------------------------
@BaseClass color(0 0 200) base(Targetname, Angles) sphere(fademindist) sphere(fademaxdist) = Weapon
[
spawnflags(Flags) =
[
1 : "Sin gravedad" : 0
2 : "función de recoger automático para el jugador" : 0
4 : "no puede ser recogido por la Arma de gravedad" : 0
]

output OnPlayerUse(void) : "Se dispara cuando el jugador al usar esta arma."
output OnPlayerPickup(void) : "Dispara cuando el jugador recoge esta arma."
output OnNPCPickup(void) : "Dispara cuando un PNJ recoge esta arma."
output OnCacheInteraction(void) : "Se dispara cuando el jugador 'prueba' que ha encontrado esta arma. Se enciende: Reproductor táctil, + USO de recolección, Recogida de Arma de gravedad, Punt. De Physcannon."

fademindist(float) : "Dist pr empezar a desvanecerse/Pixels" : -1 : "Distancia a la que el apoyo comienza a desvanecerse (<0 = usar fademaxdist). Si se selecciona 'Desvanecimiento del espacio de la pantalla', esto representa el número de píxeles de ancho cubierto por la hélice cuando comienza a desvanecerse."
fademaxdist(float) : "Dist pr el desvanecimiento final/Pixels" : 0 : "Distancia máxima a la que se ve el apoyo (0 = no desaparecer). Si se selecciona 'Desvanecimiento del espacio de la pantalla', esto representa el * mínimo * número de píxeles cubiertos por el pilar cuando se desvanece."
fadescale(float) : "Escala de Desvanecimiento" : 1 : "Si especifica un desvanecimiento en el mundo, o si el motor está funcionando bajo dx7, entonces el motor desvanecerá a la fuerza los accesorios incluso si no se especifica fademindist / fademaxdist." +

" Este factor de escala te da cierto control sobre el desvanecimiento. Usando 0 aquí apaga los desvanecimientos forzosos." +
]

@PointClass base(Weapon) studio("models/weapons/w_crowbar.mdl") = weapon_tcrowbar : "t_Crowbar" []
///esta parte del comando se puede copiar varias veces como tu quieras, debe estar en una línea cada uno
objeto
//-------------------------------------------------------------------------
//
// Items
//
//-------------------------------------------------------------------------
@BaseClass color(0 0 200) base(Targetname, Angles, Shadow) sphere(fademindist) sphere(fademaxdist) = Item
[
output OnPlayerTouch(void) : "Se dispara cuando el jugador toca este objeto."

output OnCacheInteraction(void) : "Esta salida se activa cuando el jugador prueba que ha 'encontrado' este elemento. Se enciende: toque del jugador (ya sea que el jugador adquiera o no el objeto), Recogido por + USO, Recogido por la arma de gravedad, Castigado con la arma de gravedad."

fademindist(float) : "Start Fade Dist/Pixels" : -1 : "Distancia a la cual el punto comienza a desvanecerse. (<0 = use fademaxdist). Si se selecciona 'Desvanecimiento del espacio de la pantalla', esto representa el numero de pixeles de ancho cubierto por la helice cuando comienza a desvanecerse."
fademaxdist(float) : "End Fade Dist/Pixels" : 0 : "Maximum distance at which the prop is visible (0 = don't fade out). If 'Screen Space Fade' is selected, this represents the *minimum* number of pixels wide covered by the prop when it fades."
fadescale(float) : "Fade Scale" : 1 : "Si especifica un desvanecimiento en el mundo, o si el motor esta funcionando bajo dx7, entonces el motor desvanecera a la fuerza los accesorios incluso si no se especifica fademindist / fademaxdist." +
" Este factor de escala te da cierto control sobre el desvanecimiento. Usando 0 aqui apaga los desvanecimientos forzosos" +

spawnflags(Flags) =
[
1 : "Empezar restringido" : 0
]
]

@PointClass base(Item) studio("models/weapons/w_huntingbow_arrow.mdl") = item_dynamic_resupply : "Un artículo dinámico. Cuando el jugador ingresa al PVS de esta entidad, " +
"determinara el elemento que mas necesita el jugador, generara uno de esos elementos y se eliminara. Para determinar que elemento necesita mas el jugador," +
"calcula cual es la proporcion de salud / armadura / municion deseada que el jugador esta mas lejos de. \ n \ nSi el jugador esta por encima de todos los niveles deseados, entonces no hay elemento" +
"se generara, a menos que este item_dynamic_resupply haya sido creado por item_item_crate. En ese caso, una municion aleatoria de municion utilizada por un arma, que" +
"el jugador tiene, se generara. Si se establece la bandera de desove de 'Vuelta a un frasco de salud', se generara un frasco de salud en lugar de municion. \ n \ nDe forma predeterminada," +
"el item_dynamic_resupply utiliza los valores dentro del reabastecimiento principal, en lugar de usar sus propios valores. Esto hace que sea facil de modificar el deseado" +
"gran cantidad de reabastecimientos. La entrada de BecomeMaster le permite cambiar Masters de forma dinamica a medida que avanza el nivel."
[
spawnflags(Flags) =
[
1 : "Usa los valores del maestro" : 1
2 : "Es maestro" : 0
8 : "Vuelta a la salud Vial" : 0
16 : "Maestro alternativo" : 0
]

DesiredAmmohuntingbow_arrow(float) : "Relación deseada de munición SMG1" : "0.5" : "Una relación de 0 a 1. Intenta llenar al jugador hasta este porcentaje de su capacidad máxima de carga de munición."

// Inputs
input CalculateType(void) : "Forzar el reabastecimiento dinamico para calcular que elemento debe generar."
input BecomeMaster(void) : "Haz de este reabastecimiento el reabastecimiento principal. Todos los demas reajustes configurados para Usar valores maestros usaran ahora estos valores de reabastecimiento."
]

@PointClass base(Item) studio("models/weapons/w_rock.mdl") = item_rock : "piedra"
[
spawnflags(Flags) =
[
1 : "Inicio de sesión corto" : 0
]
]
npc (tipo monstruo)
@include "base.fgd"

@NPCClass base(BaseNPC) studio("models/police.mdl") sphere() = npc_antlion : "rtbbinea_guard"
[
spawnflags(Flags) =
[
65536 : "Madriguera cuando se elude" : 0 //antlion
131072 : "Usar los controles de tierra" : 0
262144 : "Tipo de trabajador" : 0
]

radius(integer) : "Radio de alerta" : 256
eludedist(integer) : "Distancia hasta eludir" : 1024 : "Sólo disponible cuando se marca Burrow When Eluded"

unburroweffects(choices) : "Suprimir los efectos del desenterramiento" : "No" =
[
0 : "No"
1 : "Si"
]

input Unburrow(void) : "Unburrow from the ground" //antlion
input Burrow(void) : "Madriguera en la tierra" //antlion
input BurrowAway(void) : "Métanse en la tierra y saquen a el antion" //antlion
input FightToPosition(string) : "Luchar para posicionarse"
input EnableJump(void) : "Permitir el salto de no-navegación"
input DisableJump(void) : "No permitir el salto de no-navegación"
input HearBugbait(void) : "Escuchar el cebo" //antlion

output OnReachedFightGoal(void) : "Se dispara cuando la cornamenta llega a su lugar específico de lucha."
output OnUnBurrowed(void) : "Se dispara cuando la hormiga se desentierra"

]
npc (tipo humano) aliado y enemigo
////aliado (borra lo que no necesites)

@NPCClass base(BaseNPC,Parentname, TalkNPC, PlayerCompanion ) studio() = npc_citizen : "Ciudadano"
[

spawnflags(Flags) =
[
65536 : "Seguir jugador en spawn" : 0
131072 : "Medico" : 0
262144 : "cabeza aleratoria" : 1
524288 : "Proveedor de municion" : 0
1048576 : "No comandable" : 0
4194304 : "Cabeza masculina al azar" : 0
8388608 : "Cabeza femenina al azar" : 0
16777216 : "Usa RenderBox en ActBusies" : 0
]

additionalequipment(choices) : "Armas" : "0" =
[
"weapon_smg1" : "SMG1"
"weapon_ar2" : "AR2"
"weapon_stunstick" : "Palo aturdidor"
"weapon_crowbar" : "Palanca"
"weapon_shotgun" : "Escopeta"
"weapon_beerbottle" : "Botella de cerveza"
"weapon_beerbottle2" : "Botella de cerveza2"
"weapon_rpg" : "RPG"
"weapon_alixgun" : "arma de alix"
"0" : "Ninguna"
]

ammosupply(choices) : "Munición para reabastecimiento" : "SMG1" =
[
"Pistol" : "Pistola"
"SMG1" : "SMG1"
"SMG1_Grenade" : "SMG1 Grenade"
"AR2" : "AR2"
"Buckshot" : "Escopeta"
"RPG_Round" : "RPG"
"Grenade" : "Grenade"
"XBowBolt" : "Crossbow Bolt"
"neon-pistol" : "pistola de neon"
"neon-smg" : "metralleta de neon"
"neon-shotgun" : "Escopeta de neon"
"neon-ar-neon" : "ar de neon"
]
ammoamount(integer) : "Cantidad de municion para dar" : 1

citizentype(choices) : "Tipo" : "Default" =
[
0 : "Default"
1 : "Oprimido"
2 : "Refugiado"
3 : "Rebelde"
4 : "unico"
]

expressiontype(choices) : "Tipo de expresion" : "Aleatorio" =
[
0 : "Aleatorio"
1 : "Asustado"
2 : "Normal"
3 : "Enojado"
]

//!!!BUGBUG - no envie con estos nombres
//!!!FIXME - no envie con estos nombres
model(choices) : "Modelo" : "models/humans/group01/male_01.mdl" =
[
"models/humans/group01/male_01.mdl" : "hombre 1"
"models/humans/group01/male_02.mdl" : "hombre 2"
"models/humans/group01/male_03.mdl" : "hombre 3"
"models/humans/group01/male_04.mdl" : "hombre 4"
"models/humans/group01/male_05.mdl" : "hombre 5"
"models/humans/group01/male_06.mdl" : "hombre 6"
"models/humans/group01/male_07.mdl" : "hombre 7"
"models/humans/group01/male_08.mdl" : "hombre 8"
"models/humans/group01/male_09.mdl" : "hombre 9"
"models/humans/group01/female_01.mdl" : "mujer 1"
"models/humans/group01/female_02.mdl" : "mujer 2"
"models/humans/group01/female_03.mdl" : "mujer 3"
"models/humans/group01/female_04.mdl" : "mujer 4"
"models/humans/group01/female_06.mdl" : "mujer 5"
"models/humans/group01/female_07.mdl" : "mujer 6"
"models/humans/male_cheaple.mdl" : "Cheaple Male 1"
"models/odessa.mdl" : "Odessa. NO USAR."
]

ExpressionOverride(string) : "Anulacion de la expresion facial"

notifynavfailblocked(choices) : "¿Salida cuando el Nav esta bloqueado?" : 0 =
[
0 : "No"
1 : "Si"
]

neverleaveplayersquad(choices) : "Miembro permanente del equipo?" : 0 : "Un miembro del equipo permanente no puede abandonar el equipo del jugador a menos que sea eliminado o eliminado explícitamente por la entidad I / O. Solo use esto si está seguro de que desea anular la IA predeterminada." =
[
0 : "No. Este es el comportamiento por defecto."
1 : "Si, mantente en escuadron hasta la muerte."
]

denycommandconcept(string) : "Denegar el concepto de discurso de mando" : "" : "Si desea que sus ciudadanos formen un escuadron con el jugador pero no obedezca las ordenes que el jugador le da para moverlo, ponga un concepto aqui y este ciudadano hablara el concepto en lugar de obedecer la orden."

//Inputs
input RemoveFromPlayerSquad(void) : "Quitar de la escuadra de jugadores, al instante."
input SetExpressionOverride(string) : "Establecer anulacion de la expresion facial"

input StartPatrolling(void) : "Patrulla cuando estoy inactivo o alerta."
input StopPatrolling(void) : "Deja de patrullar cuando estoy inactivo o alerta."
input SetCommandable(void) : "Hacer un ciudadano previamente no mandable mandable"
input SetMedicOn(void) : "Ponga la bandera del medico en. No cambiara el modelo o la piel del ciudadano."
input SetMedicOff(void) : "Desactiva la bandera del medico. No cambiara el modelo o la piel del ciudadano."
input SetAmmoResupplierOn(void) : "Poner el indicador de municion de suministro en. No cambiara el modelo o la piel del ciudadano."
input SetAmmoResupplierOff(void) : "Desactiva la bandera de municion. No cambiara el modelo o la piel del ciudadano."

// Outputs
output OnJoinedPlayerSquad(void) : "Dispara cuando se une al equipo del jugador."
output OnLeftPlayerSquad(void) : "Dispara cuando sale el escuadron del jugador."
output OnFollowOrder(void) : "Se dispara cuando se ordena seguir al jugador."
output OnStationOrder(void) : "Se dispara cuando el jugador lo ordena a un lugar"
output OnPlayerUse(void) : "Se dispara cuando un jugador + USEs el ciudadano."
output OnNavFailBlocked(void) : "Se dispara cuando el movimiento de este ciudadano falla porque el / ella esta bloqueado."
]

///enemigo base, táctica y granadas

@BaseClass base(BaseNPC, RappelNPC) = BaseCombine
[
additionalequipment(choices) : "Weapons" : "weapon_smg1" =
[
"weapon_ar2" : "AR2"
"weapon_shotgun" : "Escopeta"
"weapon_smg1" : "SMG1"
"weapon_stunstick" : "Stun Stick"

"0" : "Nada"
]

spawnflags(Flags) =
[
65536 : "Iniciar Siego" : 0
131072 : "No arrojar granadas" : 0
262144 : "No deje caer granadas. No deje caer ar2 alt fuego (solo elite) " : 0
]

NumGrenades(choices) : "Numero de granadas" : "5" =
[
"0" : "Ninguno"
"1" : "1"
"2" : "2"
"3" : "3"
"4" : "4"
"5" : "5"
"999999" : "Ilimitado"
]

// Inputs
input LookOn(void) : "Mira normalmente"
input LookOff(void) : "No me busques, usa los ojos de otro escuadron."
input StartPatrolling(void) : "Patrulla cuando estoy inactivo o alerta."
input StopPatrolling(void) : "Deja de patrullar cuando estoy inactivo o alerta."
input ThrowGrenadeAtTarget(target_destination) : "Lanza una granada al objetivo especificado."
]

///enemigo armas y

@NPCClass base(BaseCombine) studio("models/Combine_Soldier.mdl") = npc_combine_s : "Soldado de la cosechadora"
[
input Assault(string) : "Comienza un asalto. El parametro pasado debe ser el nombre del punto de reunion."

model(choices) : "Model" : "models/combine_soldier.mdl" : "Soldado regular" =
[
"models/combine_soldier.mdl" : "Soldado regular"
"models/combine_soldier_prisonguard.mdl" : "Soldado de Nova Prospekt"
"models/combine_super_soldier.mdl" : "Soldado de elite"
]

tacticalvariant(choices) : "Variante tactica" : "0" =
[
"0" : "tactica Normal"
"1" : "Presiona al enemigo (sigue avanzando)"
"2" : "Presion hasta dentro de 30 pies, entonces va normal"
]

usemarch(choices) : "Camina facil" : "0" : "Cuando sea cierto, utilizara una variedad de animaciones de caminatas mas informales en lugar de la caminata estandar. Para uso en multitudes. ADVERTENCIA: esta animacion solo tiene un componente norte. Para uso en circunstancias muy especiales solamente." =
[
"0" : "No"
"2" : "Si"
]
]
Finalizando
ahora es la parte en donde debes añadir ese archivo al Hammer, para ello hay dos métodos
1- es poner @include "nombre.fgd" en el archivo principal de tu juego, tipo half-life 2.fgd o garrysmod.fgd
2- es poner el archivo en configuraciones de esta manera

le das a add y seleccionas el archivo de configuración que creastes le das a aplicar y cierras el programa y lo vuelves a abrir y listo aparecerá el arma, npc o objeto que hagas puesto Hari
posibles errores (evitar hacer esto)
1- poner los espacios mal
2- borrar algo sin querer
3- poner mas la ubicación y que el modelo aparezca como error, o también si no tiene aunque será el modelo en la ubicación normal del juego
4- copiar o poner mal el comando