Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
04.01.2002, 18:49
Mexil



Also ich hab grad ma eben ein wenig durch die HL SDK "gesurft" und dabei ist mir aufgefallen, dass zum Beispiel die EGON/CROWBAR und die MP5/SHOTGUN unterschiedliche Methoden haben den Schaden den die Waffen anrichten sollen anzurichten:rolleyes:

Crowbar(Egon so aehnlich!):

1. UTIL_TraceLine(vecSrc, vecSrc + vecDir * 8192, dont_ignore_monsters, m_pPlayer->edict(), &tr);

2. CBaseEntity::Instance(tr.pHit)->TraceAttack(m_pPlayer->pev, 120, vecDir, &tr, DMG_BULLET | DMG_NEVERGIB );

MP5/Shotgun:

m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_6DEGREES, 8192, BULLET_PLAYER_MP5, 2 );

Das ist alles was ich zum Schaden anrichten gefunden hab! 1. Hab ich da was uebersehen? 2. Kann mir jemand das alles ein wenig genauer erklaeren? Weil ich versteh das nicht so ganz! Wieso bei Crowbar/Egon die eine Methode und bei der MP5/Shotgun die andere? Waer nett wenn jemand mal ALLE Parameter beider Funktionen erklaeren koennte!!! Oder wenn jemand ein Tut hat wo das alles drin steht, hab naemlich keins gefunden!

THX im Vorraus.....(bidde nicht paddeln, bin noch N00b =) )

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
001
04.01.2002, 19:06
Bluthund



Die Waffen haben unterschiedliche Funktionen, da Mp5, Shotgun, Handgun, usw. Waffen sind die Geschosse abgeben.

CBaseEntity::FireBullets(ULONG cShots, Vector vecSrc, Vector vecDirShooting, Vector vecSpread, float flDistance, int iBulletType, int iTracerFreq, int iDamage, entvars_t *pevAttacker )

cShots - Anzahl der abgeschossenen Kugeln
vecSrc - Ursprung des Schusses
vecDirShooting - Richtung des Schusses
vecSpread - Streuung des Schusses
flDistance - Reichweite des Schusses
iBulletType - Art der abgeschossenen Kugeln
iTracerFreq - an den wievielten Schuss soll jeweils ein Tracer (Leuchtstreifen) angehangen werden [bei 0 keine Tracer bei 1 an jeden Schuss, bei 2 an jeden zweiten, usw.]
iDamage - Schaden der durch eine Kugel angerichtet wird
pevAttacker - Angreifer (kann weggelassen werden, da die Funktion automatisch pev nimmt falls es NULL ist)

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-

zum Seitenanfang zum Seitenende Profil || Suche
002
04.01.2002, 19:10
Mexil



Aso.... genau das wollte ich haben : THX
Wie sieht denn das mit den Parametern fuer die 'TraceLine-Methode' aus?

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
003
04.01.2002, 19:26
Bluthund



UTIL_TraceLine( const Vector &vecStart, const Vector &vecEnd, IGNORE_MONSTERS igmon, edict_t *pentIgnore, TraceResult *ptr )

UTIL_TraceLine sendet nen Strahl aus, der checkt ob sich irgendwas in der Zielrichtung befindet.
vecStart - Startpunkt des Strahls
vecEnd - Endpunkt des Strahls (Reichweite)
igmon - soll der Strahl Monster ignorieren?
pentIgnore - was soll ignoriert werden (hier immer der Start des Strahls im Falle einer waffe m_pPlayer->edict())
ptr - Ergebniss der Traceabfrage (damit das weiterverarbeitet werden kann)

CBasePlayer :: TraceAttack( entvars_t *pevAttacker, float flDamage, Vector vecDir, TraceResult *ptr, int bitsDamageType)

TraceAttack startet die Attacke.
pevAttacker - Angreifer
flDamage - Schaden der durch einen Treffer angerichtet wird
vecDir - Richtung in die die Attacke gerichtet ist
ptr - hier brauchst du das TraceResult von UTIL_TraceLine
bitsDamageType - Art des Schadens (kann es den Getroffenen gibben oder nich, usw.)

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-


Dieser Beitrag wurde am 04.01.2002 um 19:26 von Bluthund bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
04.01.2002, 19:30
Bluthund



Kleiner Tip: Es gibt in MS VC++ ne Funktion die heisst Suchen in Dateien da gibste einfach die gesucht Funktion ein, z.B. void UTIL_TraceLine(, und dann sucht er es dir :). Die Funktionen im SDK sinn eigentlich selbsterklärend.

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-


Dieser Beitrag wurde am 04.01.2002 um 19:30 von Bluthund bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
005
04.01.2002, 19:46
Mexil



Und bei TraceAttack, geb ich dann als DamageTyp dann zum Beispiel an, ob es bei ner Waffe zu ner 'Schlagattack' oder zu ner 'Strahlattack' kommt oder wie? Also ob die Waffe schlaegt oder zum Beispiel ein Strahl 'schiesst' oder was?

EDIT: Und wie geht das da mit der Reichweite?

--


Move In!

VISIT US Move In!


Dieser Beitrag wurde am 04.01.2002 um 20:12 von Mexil bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
006
04.01.2002, 20:39
Bluthund



Für den DamageType gibts festgelegte Flags. Musst mal suchen was da alles geht (die sind in der cbase.h definiert, erstes Flag iss DMG_GENERIC)

Die Reichweite wird einfach in HL Units angegeben.

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-

zum Seitenanfang zum Seitenende Profil || Suche
007
04.01.2002, 20:49
Mexil



UTIL_TraceLine(vecSrc, vecSrc + vecDir * 8192, dont_ignore_monsters, m_pPlayer->edict(), &tr);

??? Reichweite == 8192 Units oder wie? Also Endvector * Reichweite + Anfangsvector oder wie?

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
008
04.01.2002, 20:55
Bluthund



Jopp

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-

zum Seitenanfang zum Seitenende Profil || Suche
009
04.01.2002, 21:01
Mexil



Heah, aber das kann nciht stimmen, weil damit haette dann die MP5 die gleiche Reichweite wie das Crowbar!!!!

Die Reichweite des Crowbars waer dann ca. 2000cm(!!!) und das kommt nicht ganz hin*ggg*

--


Move In!

VISIT US Move In!


Dieser Beitrag wurde am 04.01.2002 um 21:01 von Mexil bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
010
04.01.2002, 21:10
Bluthund



beim Crowbar:
Vector vecEnd = vecSrc + gpGlobals->v_forward * 32;

Bei der MP5:
VecDir = m_pPlayer->FireBulletsPlayer( 1, vecSrc, vecAiming, VECTOR_CONE_6DEGREES, 8192, BULLET_PLAYER_MP5, 2, 0, m_pPlayer->pev, m_pPlayer->random_seed );

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-

zum Seitenanfang zum Seitenende Profil || Suche
011
04.01.2002, 21:13
Mazze



Es gibt in MSVC++ noch eine viel bessere Funktion und zwar eine die Gehe zu Definition bzw. Gehe zu Referenz heißt!

--

BattleTech-MOD:
http://bthl.unitedgaming.net/

zum Seitenanfang zum Seitenende Profil || Suche
012
04.01.2002, 21:15
Bluthund



Stimmt ;). Aber warum einfach wenns auch umständlich geht?

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-

zum Seitenanfang zum Seitenende Profil || Suche
013
04.01.2002, 21:15
Mexil



aso, sorry, hatte in das falsche File geguckt = )

--


Move In!

VISIT US Move In!

zum Seitenanfang zum Seitenende Profil || Suche
014
04.01.2002, 21:16
Exec



jo, das geht auch nich so ... hab den wert mal für die mp5 auf 120 runtergestellt -» immernoch unendlich weit ..

--

"selbermachen rockt am meisten :D" - -LeJean-

zum Seitenanfang zum Seitenende Profil || Suche
015
04.01.2002, 21:18
Bluthund



Zitat:
da_EXE postete
jo, das geht auch nich so ... hab den wert mal für die mp5 auf 120 runtergestellt -» immernoch unendlich weit ..

Son Schwachfug (von HL). Hasts dann doch noch irgendwie hingekriegt?!

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-

zum Seitenanfang zum Seitenende Profil || Suche
016
04.01.2002, 23:06
Exec



nope ........ nix hinbekommn :-(

--

"selbermachen rockt am meisten :D" - -LeJean-

zum Seitenanfang zum Seitenende Profil || Suche
017
04.01.2002, 23:20
Bluthund



Sollte garantiert eingebaut werden, doch für HL wars unnütz -> also wurdes rausgekürzt :(.

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-

zum Seitenanfang zum Seitenende Profil || Suche
018
07.01.2002, 12:21
McMapper



bist du sicher, dass sie unendlich weit kam oder war es nur die falsche darstellung client side. immer dran denken serverside berechnet es nur, cl side wird die darstellung festgelegt

--

zum Seitenanfang zum Seitenende Profil || Suche