Es/Hitscan: Difference between revisions

From Valve Developer Community
< Es
Jump to navigation Jump to search
m (Nesciuse moved page Hitscan:es to Es/Hitscan over redirect: -Language prefixes)
m (obsolete language category)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{lang|Hitscan|title=Registro de impacto}}
{{lang|Hitscan|title=Registro de impacto}}


<small>''Para un artículo más técnico sobre este tema, véase [[UTIL_TraceLine:es|TraceLines]].''</small>
<small>''Para un artículo más técnico sobre este tema, véase {{L|UTIL_TraceLine|TraceLines}}.''</small>


[[Half-Life 2|Half-Life 2]] tiene diversas armas de este tipo (que realmente no lanzan proyectiles, sino que trazan líneas y generan daño al final de su trayecto). El usuario [[User:XenoTrout|XenoTrout]] tomó el código de <code>CBaseEntity::[[FireBullets()]]</code> para crear <code>CBaseEntity::HitScan()</code> e introdujo el código en <code>baseentity_shared.ccp</code>.
{{L|Half-Life 2}} tiene diversas armas de este tipo (que realmente no lanzan proyectiles, sino que trazan líneas y generan daño al final de su trayecto). El usuario [[User:XenoTrout|XenoTrout]] tomó el código de <code>CBaseEntity::{{L|FireBullets()}}</code> para crear <code>CBaseEntity::HitScan()</code> e introdujo el código en <code>baseentity_shared.ccp</code>.


<source lang=cpp>
<source lang=cpp>
Line 22: Line 22:
</source>
</source>


Esta función puede adaptarse a otras definiciones de distintos formatos. Simplemente genera [[FireBulletsInfo_t:es|FireBulletsInfo_t]] en la estructura dada.
Esta función puede adaptarse a otras definiciones de distintos formatos. Simplemente genera {{L|FireBulletsInfo_t}} en la estructura dada.


[[Category:Weapons programming:es]]
{{ACategory|Weapons programming}}

Latest revision as of 03:23, 22 August 2024

English (en)Español (es)Translate (Translate)

Para un artículo más técnico sobre este tema, véase TraceLines(en).

Half-Life 2(en) tiene diversas armas de este tipo (que realmente no lanzan proyectiles, sino que trazan líneas y generan daño al final de su trayecto). El usuario XenoTrout tomó el código de CBaseEntity::FireBullets()(en) para crear CBaseEntity::HitScan() e introdujo el código en baseentity_shared.ccp.

Vector CBaseEntity::HitScan( const FireBulletsInfo_t &info, unsigned int mask )
{
	trace_t tr;
	CTraceFilterSkipTwoEntities traceFilter( this, info.m_pAdditionalIgnoreEnt, COLLISION_GROUP_NONE );
	Vector vecEnd = info.m_vecSrc + info.m_vecDirShooting * info.m_flDistance;
	AI_TraceLine(info.m_vecSrc, vecEnd, mask, &traceFilter, &tr);
	return tr.endpos;
}

y la definición en BaseEntity.h.

	virtual Vector			HitScan( const FireBulletsInfo_t &info, unsigned int mask );

Esta función puede adaptarse a otras definiciones de distintos formatos. Simplemente genera FireBulletsInfo_t(en) en la estructura dada.