025
17.07.2002, 20:22
Thrillhouse
|
nein du musst deine "eigene" CRocketZipDrive machen... und dann Create::CRocketZipDrive in die secondaryattack
--
|
|
Profil || Suche
|
026
17.07.2002, 22:29
Zip Drive
|
Ich muss dann aber noch die anderen Funktionen aus der der SecondaryAttack löschen, damits nicht zu irgendwelchen komplikationen kommt! Danke!
--
-[Don't forget, Blood is red!]- | -[ http://www.zip-drive.de ]- | -[ Against TCPA! ]- | -[ 3d Supply Greatest Gamershop! ]-
|
|
Profil || Suche
|
027
19.07.2002, 19:31
doener
|
Fand die Idee geil, deswegen hab ich mich mal reingekniet... ...und hab's irgendwie hinbekommen. Ich hab nicht wirklich viel Ahnung von C++, aber logisch denken kann ich ziemlich gut, also einfach mal den HL-Quelltext reingezogen und rumprobiert. Die Granaten prallen jetzt ab, kullern rum und explodieren 2 Sekunden nach Abschuss. *selbstaufdieschulterklopf*
Der Quelltext, wen's interessiert:
[b]Änderungen in Original weapons.h, Zeile 34[/b] static CGrenade *ShootContact( entvars_t *pevOwner, Vector vecStart, Vector vecVelocity, float time );
[b]Änderungen in Original mp5.cpp, Zeile 227-230[/b] // we don't add in player velocity anymore. // 2 Sekunden nach Abschuss explodieren CGrenade::ShootContact( m_pPlayer->pev, m_pPlayer->pev->origin + m_pPlayer->pev->view_ofs + gpGlobals->v_forward * 16, gpGlobals->v_forward * 800, 2 );
[b]Änderungen in Original ggrenade.cpp, Zeile 359-382[/b] CGrenade * CGrenade:: ShootContact( entvars_t *pevOwner, Vector vecStart, Vector vecVelocity, float time ) { CGrenade *pGrenade = GetClassPtr( (CGrenade *)NULL ); pGrenade->Spawn(); UTIL_SetOrigin( pGrenade->pev, vecStart ); pGrenade->pev->velocity = vecVelocity; pGrenade->pev->angles = UTIL_VecToAngles(pGrenade->pev->velocity); pGrenade->pev->owner = ENT(pevOwner); pGrenade->SetTouch( BounceTouch ); // Bounce if touched // Take one second off of the desired detonation time and set the think to PreDetonate. PreDetonate // will insert a DANGER sound into the world sound list and delay detonation for one second so that // the grenade explodes after the exact amount of time specified in the call to ShootTimed().
pGrenade->pev->dmgtime = gpGlobals->time + time; pGrenade->SetThink( TumbleThink ); pGrenade->pev->nextthink = gpGlobals->time + 0.1; if (time < 0.1) { pGrenade->pev->nextthink = gpGlobals->time; pGrenade->pev->velocity = Vector( 0, 0, 0 ); } pGrenade->pev->sequence = RANDOM_LONG( 3, 6 ); pGrenade->pev->framerate = 1.0;
// Tumble through the air pGrenade->pev->avelocity.x = RANDOM_FLOAT ( -100, -500 );
pGrenade->pev->gravity = 0.5; pGrenade->pev->friction = 0.8;
pGrenade->pev->dmg = gSkillData.plrDmgM203Grenade;
return pGrenade;
--
|
|
Profil || Suche
|
028
19.07.2002, 19:50
Zip Drive
|
Sieht ja ganz gut aus! Aber ich glaube irgendwie nicht das der Code funzt! Ich habs ausprobiert (Nur zur Probe ehrlich!! ;D) und ich bekomme 3 errors in sachen "UTIL_SetOrigin" in der ggreande.cpp!
Aber ich werd mich noch mal durchwühlen, und schauen was los ist!
Aber nochmal ein Kompliment an dich!!! Alle Achtung, ich glaube ich hätte nicht noch länger Lust gehabt dran rumzuprobieren!!!
--Edit--
Mach doch nen Tut draus!!!
Ich denke viele Leute währen dir dafür Dankbar!
--
-[Don't forget, Blood is red!]- | -[ http://www.zip-drive.de ]- | -[ Against TCPA! ]- | -[ 3d Supply Greatest Gamershop! ]-
Dieser Beitrag wurde am 19.07.2002 um 20:02 von ZIP-Drive bearbeitet.
|
|
Profil || Suche
|
029
19.07.2002, 20:00
doener
|
Also, als Beweis, hier die fertige DLL Ist mit VC++ 6.0 Standart kompiliert. LOL, darüber ein Tutorial schreiben? Das ist gerade eben das zweite Mal, dass ich irgendwas modifiziert hab, ich hab von C++ eigentlich noch garkeine Ahnung... Mal sehen, wenn ich mit dem Ergebnis zufrieden bin vielleicht.
--
Dieser Beitrag wurde am 19.07.2002 um 20:12 von doener bearbeitet.
|
|
Profil || Suche
|
030
19.07.2002, 20:14
BloodyHarry
|
funzt gut ;) Nicht übel gemacht, versuch aber mal den bounce wert zu erhöhen, so is das irgendwie doof ;)
--
--< BloodyHarry >--
|
|
Profil || Suche
|
031
19.07.2002, 20:48
Zip Drive
|
OK Sorry ich nehm alles Zurück! Das funzt alles 1A! Ich muss wohl zuvor zuviel mit der Sache am Code rumgespielt haben! Ich plätte den Source nochmal dann sollte es auch bei mir funzen!
--
-[Don't forget, Blood is red!]- | -[ http://www.zip-drive.de ]- | -[ Against TCPA! ]- | -[ 3d Supply Greatest Gamershop! ]-
|
|
Profil || Suche
|
032
19.07.2002, 21:06
Thrillhouse
|
is im endeffekt das was ich als erstes gemeint hatte allerding war ich der meinung die bounce-time is gpGlobals + den wert nach dem es explodiern soll.
--
|
|
Profil || Suche
|
033
19.07.2002, 21:15
doener
|
@BloodyHarry: Also ich find's gut so, bzw. spielbar und physikalisch einigermaßen korrekt. Die Granaten aus DMC, wenn du thislike meinst, sind grauenhaft, springen rum wie Gummibälle und sind spielerisch kaum zu gebrauchen. Überlegung: Die Granaten sind keine Kugeln und in der Realität ca.... ich schätz mal 400g schwer. Was passiert, wenn man einen kantigen Stein a 400g an die Wand schmeißt? Er prallt ab und fällt runter, springen tut er wenig... Da unsere Granaten aber aus Metall sind springen sie ein bisschen besser, aber verhalten sich ansonsten genauso.
Also, Half-Life SinglePlayer macht damit wieder richtig Bock... :)
--
|
|
Profil || Suche
|
034
19.07.2002, 21:19
BloodyHarry
|
o is schon klar, das das unrealistisch ist, aber ich würd es besser finden ;)
--
--< BloodyHarry >--
|
|
Profil || Suche
|