Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
20.10.2001, 13:42
McMapper



Quellcode:
if(PlayerPointer->IsAlive == false)
{

for ( i = 0 ; i < 10 ; i++ )
{
vecTraceDir = vecDir * -1;// trace in the opposite direction the shot came from (the direction the shot is going)
vecTraceDir.x += RANDOM_FLOAT( -flNoise, flNoise );
vecTraceDir.y += RANDOM_FLOAT( -flNoise, flNoise );
vecTraceDir.z += RANDOM_FLOAT( -flNoise, flNoise );
UTIL_TraceLine( ptr->vecEndPos, ptr->vecEndPos + vecTraceDir * -172, ignore_monsters, ENT(pev), &Bloodtr);
if ( Bloodtr.flFraction != 1.0 )
{
UTIL_BloodDecalTrace( &Bloodtr, BLOOD_COLOR_RED );
}
}
}

am anfang hab ich flnoise natürlich definiert, den code hab ich aus der tracebleed .... thx im vorraus

--

zum Seitenanfang zum Seitenende Profil || Suche
001
20.10.2001, 14:30
[PE]Spinator



liegt evtl. am PlayerPointer, mach mal folgendes vorne dran:

if( !PlayerPointer )
return;

--

This post was written using Opera 7.0 (http://www.opera.com)

zum Seitenanfang zum Seitenende Profil || Suche
002
20.10.2001, 14:37
McMapper



ich weiss net .. der pointer geht sonst im code auch -_-
[edit] hab gemacht, gleiches ergebnis

--


Dieser Beitrag wurde am 20.10.2001 um 14:44 von McMapper bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
20.10.2001, 18:38
Mazze



Lass doch mal die For-Schleife weg und probier, ob es überhaupt einmal geht!

--

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

zum Seitenanfang zum Seitenende Profil || Suche
004
20.10.2001, 22:53
TheTinySteini



1. if( PlayerPointer->IsAlive() == false )
2. du hast noch ptr, pev und Bloodtr im Einsatz, sind die überhaupt deklariert und valid?

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
005
21.10.2001, 00:27
McMapper



also ptr ist doch schon gemacht von der traceline, in der eigentlichen trace attack, blootr hab ich als traceresult oder so, wie eben in der tracebleed und wie ich pev vald machen sollte etc, weiss ich net, bitte spezifizeren

--

zum Seitenanfang zum Seitenende Profil || Suche
006
21.10.2001, 17:54
TheTinySteini



Mh, vergiss es, wenn die nicht definiert wären, würde ja ein Kompilerfehler kommen, insofern... es ist bloß wichtig, ob sie auch mit vernünftigen Daten gefüllt werden.
Aber vielleicht kannst du mal die gesamte Funktion posten, nicht bloß den Auszug, dann kann man sich da ein besseres Bild machen. Außer du hast ne Mordsfunktion gebastelt die über 1000 Zeilen geht: Dann schäm dich...

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
007
21.10.2001, 18:33
McMapper



hmpf schwierig, alles gelöscht -hrhr- nunja hab ne neue idee brauch da aber hilfe, also ich hab die position vom letzten angreifer, aber wie mach ich draus nen vec, der von mir zu dieser pos "hinzeigt" ? wenn ich das habe kann ich das ganze auch in der CBasePlayer::Killed machen

--

zum Seitenanfang zum Seitenende Profil || Suche
008
21.10.2001, 18:54
Basiror



Vector position=pev->origin*(-1)+pattacker->origin;

so vielleicht??
von dir zu 0 0 0 und dann zum anderen

weiss aber net ob das stimmt wir machen das grad erst im lk haben am donnerstag damit angefangen

--

Basiror's Labs Game-Development page

Hifle in form von Tutorials, Artikeln und anderem wird dankbar angenommen

zum Seitenanfang zum Seitenende Profil || Suche
009
21.10.2001, 19:07
Basiror



Vector position=-pev->origin+pattacker->origin;

--

Basiror's Labs Game-Development page

Hifle in form von Tutorials, Artikeln und anderem wird dankbar angenommen

zum Seitenanfang zum Seitenende Profil || Suche
010
21.10.2001, 20:27
TheTinySteini



vec3_t vecDir = pAttacker->pev->origin - pPlayer->pev->origin;

Das sollte klappen. Wenn er in die falsche Richtung zeigt, dann musst du nur die beiden origins vertauschen.

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
011
21.10.2001, 21:16
Basiror



das is doch das selbe was ich geschrieben hab man

--

Basiror's Labs Game-Development page

Hifle in form von Tutorials, Artikeln und anderem wird dankbar angenommen

zum Seitenanfang zum Seitenende Profil || Suche
012
21.10.2001, 21:16
Basiror



C:\WINDOWS\Desktop\sdk2.2\Source\dlls\extdll.h(75):#define vec3_t Vector
sag ich nur dazu

--

Basiror's Labs Game-Development page

Hifle in form von Tutorials, Artikeln und anderem wird dankbar angenommen

zum Seitenanfang zum Seitenende Profil || Suche
013
21.10.2001, 21:19
Hellfire



@Basiror: Mal so nebenbei: Das Forum hat eine wunderbare Editierfunktion.

--

zum Seitenanfang zum Seitenende Profil || Suche
014
21.10.2001, 22:43
Basiror



bin ubb board gewohnt
auch so nebenbei *G*
außerdem warum sollte ich in diesem topic was editieren??

--

Basiror's Labs Game-Development page

Hifle in form von Tutorials, Artikeln und anderem wird dankbar angenommen

zum Seitenanfang zum Seitenende Profil || Suche
015
21.10.2001, 22:57
blair



Weil du ein kleiner scheiß Spammer bist. Wir sind hier nicht bei giga oder cs.de wo du mit deinen Posts posen kannst.
Benimm dich, oder geh!

--

because our freedom sits at the end of a gun
we're all here getting beat up and held back
we're all here digging knives from our backs

zum Seitenanfang zum Seitenende Profil || Suche
016
21.10.2001, 23:22
Basiror



:P selber

--

Basiror's Labs Game-Development page

Hifle in form von Tutorials, Artikeln und anderem wird dankbar angenommen

zum Seitenanfang zum Seitenende Profil || Suche
017
21.10.2001, 23:44
McMapper



hmpf naja es crasht, hier der code :

Quellcode:
void CBasePlayer::Killed( entvars_t *pevAttacker, int iGib )
{
Vector vecDir = pevAttacker->origin - PlayerPointer->pev->origin;
int i = 0;
Vector vecTraceDir = vecDir *-1;
TraceResult Bloodtr;

for ( i  ; i < 10 ; i++ )
{
vecTraceDir.x += RANDOM_FLOAT( -5, 5 );
vecTraceDir.y += RANDOM_FLOAT( -5, 5 );
vecTraceDir.z += RANDOM_FLOAT( -5, 5 );
UTIL_TraceLine( PlayerPointer->pev->origin, PlayerPointer->pev->origin + vecTraceDir * -172, ignore_monsters, ENT(pev), &Bloodtr);
if ( Bloodtr.flFraction != 1.0 )
{
UTIL_BloodDecalTrace( &Bloodtr, BLOOD_COLOR_RED );
}
}

CSound *pSound;

#ifdef PERSISTENCE_SAMPLE
// PERSISTENCE_TODO:
// Log other changes to the player's persistence info like this.

// Update the persistence database.
m_PersistenceInfo.IncField_PlayerInfo_NumKills();
#endif

g_pGameRules->PlayerKilled( this, pevAttacker, g_pevLastInflictor );

if ( m_pTank != NULL )
{
m_pTank->Use( this, this, USE_OFF, 0 );
m_pTank = NULL;
}

// this client isn't going to be thinking for a while, so reset the sound until they respawn
pSound = CSoundEnt::SoundPointerForIndex( CSoundEnt::ClientSoundIndex( edict() ) );
{
if ( pSound )
{
pSound->Reset();
}
}

SetAnimation( PLAYER_DIE );

m_iRespawnFrames = 0;

pev->modelindex = g_ulModelIndexPlayer;    // don't use eyes

pev->deadflag = DEAD_DYING;
pev->movetype = MOVETYPE_TOSS;
ClearBits(pev->flags, FL_ONGROUND);
if (pev->velocity.z < 10)
pev->velocity.z += RANDOM_FLOAT(0,300);

// clear out the suit message cache so we don't keep chattering
SetSuitUpdate(NULL, FALSE, 0);

// send "health" update message to zero
m_iClientHealth = 0;
MESSAGE_BEGIN( MSG_ONE, gmsgHealth, NULL, pev );
WRITE_BYTE( m_iClientHealth );
MESSAGE_END();

// Tell Ammo Hud that the player is dead
MESSAGE_BEGIN( MSG_ONE, gmsgCurWeapon, NULL, pev );
WRITE_BYTE(0);
WRITE_BYTE(0XFF);
WRITE_BYTE(0xFF);
MESSAGE_END();

// reset FOV
m_iFOV = m_iClientFOV = 0;

MESSAGE_BEGIN( MSG_ONE, gmsgSetFOV, NULL, pev );
WRITE_BYTE(0);
MESSAGE_END();


// UNDONE: Put this in, but add FFADE_PERMANENT and make fade time 8.8 instead of 4.12
// UTIL_ScreenFade( edict(), Vector(128,0,0), 6, 15, 255, FFADE_OUT | FFADE_MODULATE );

if ( ( pev->health < -40 && iGib != GIB_NEVER ) || iGib == GIB_ALWAYS )
{
pev->solid = SOLID_NOT;
GibMonster(); // This clears pev->model
pev->effects |= EF_NODRAW;
return;
}

DeathSound();

pev->angles.x = 0;
pev->angles.z = 0;

SetThink(PlayerDeathThink);
pev->nextthink = gpGlobals->time + 0.1;
}

thx im vorraus

--


Dieser Beitrag wurde am 21.10.2001 um 23:47 von McMapper bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
018
22.10.2001, 00:11
Tomz



ich hab nichtviel ahnung vom hlsdk, aber ein ganz klein wenig coden tu ich schon. ich habe aber so ein konstrukt noch nie gesehen
=>
for ( i ; i < 10 ; i++ )

ich meine nicht die schleife,sondern das i;

könnte natürlich sein, dass das geht, nur ich hab sowas noch nie gesehen, dass man einfach i hinschreibt, dann kann man doch
for(; i < 10; i++)
schreiben

--

...denn das atombrot wird nicht ruhen bis es den letzten erwischt hat...


Dieser Beitrag wurde am 22.10.2001 um 00:11 von Tomz bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
019
22.10.2001, 08:00
hausi



Häää? SOrry Tomz, aber das habe ich jetzt noch nie gehört. Und was ist dann die Referenzvariable?
Hmmm... Ich werds aber trotzdem mal versuchen... Vielleich irre ich mich ja...
Sorry, aber wegen deinem Problem weiss ich leider auch nicht... ):
[Edit]
Bin jetzt nicht mehr so müde.
Jetzt kapier ich auch deinen Post. Du hast warscheinlich immer
Quellcode:
for (int i = 0; i < 10; i++)

geschrieben. Das ist aber nur richtig, wenn i noch nicht deklariert wurde. Wenn i schon deklariert wurde, kann man einfach for (i = 0;...) schreiben und falls i schon benutzt wurde und einen bekannten Wert hat, kann man sogar das = 0 weglassen...
[Edit nr. 2]
Ich habe zwar das SDK nicht hier. Aber wie ist PlayerPointer definiert? Gehört das zum Standart-Code?
Ach ja. Und sonst mach es einfach so, wie man das normalerweise macht. Du nimmst ein paar Zeilen Code, die den Absturz verursachen könnten und kommentierst diese aus. Wenn du dann nur noch ein paar Zeilen hast, die den Absturz verursachen, dann kannst du dort den Bug suchen...

--


Dieser Beitrag wurde am 22.10.2001 um 09:27 von Superhausi bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
020
22.10.2001, 12:00
McMapper



also i hab ich deklarieerrt und ich kann ganz einfach die i schalufe aus kommentieren, dann gehts, ich warte uf TTT's antwort er wollte den code ;D

--

zum Seitenanfang zum Seitenende Profil || Suche
021
22.10.2001, 13:16
hausi



Also wenn du den Code in der Schleife noch hast, dann funzt es auch noch?
Sonst wird irgend ein Fehler mit dem UTIL_TraceLine sein. Ich werde, wenn ich zuhause bin mal im SDK nachsehen...

--

zum Seitenanfang zum Seitenende Profil || Suche
022
22.10.2001, 21:59
TheTinySteini



Quellcode:void CBasePlayer::Killed( entvars_t *pevAttacker, int iGib )
{
Vector vecDir = pevAttacker->origin - pev->origin;
int i = 0;
Vector vecTraceDir = vecDir *-1;
TraceResult Bloodtr;
for ( i  ; i < 10 ; i++ )
{
vecTraceDir.x += RANDOM_FLOAT( -5, 5 );
vecTraceDir.y += RANDOM_FLOAT( -5, 5 );
vecTraceDir.z += RANDOM_FLOAT( -5, 5 );
UTIL_TraceLine( pev->origin, pev->origin + vecTraceDir.Normalize() * -172, ignore_monsters, ENT(pev), &Bloodtr);
if ( Bloodtr.flFraction != 1.0 )
{
UTIL_BloodDecalTrace( &Bloodtr, BLOOD_COLOR_RED );
}
}

(...)

--

TheTinySteini
Coder Poke646
"Don't Panic" - Hitchhiker's Guide to the Galaxy

zum Seitenanfang zum Seitenende Profil || Suche
023
23.10.2001, 13:37
Rockefeller



Was bringt eigentlich dieser PlayerPointer??? Du bist doch in CBasePlayer und kannst dann doch einfach mit pev->... draufzugreifen!

Oh, ich seh grad TinySteini hat das ja geändert :D

--

zum Seitenanfang zum Seitenende Profil || Suche
024
23.10.2001, 14:01
McMapper



ja es funzt nun .. thx @all

--

zum Seitenanfang zum Seitenende Profil || Suche