Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
29.01.2001, 16:03
Basman



Ist es möglich, (ich denk mal schon; siehe RGP) echte Kugel in hl zumachen?
nun, das müssten ja dann alles modells sein; aber wird da das spiel nicht zu sehr verlangsamt?

Das währe dann echt cool; dann könnte man waffen wie in " das fünfte Element" machen. Kugeln, die automatisch auf den Gegner zu fliegen, egal wohin man ziehlt.

--

www.GamersScene.de

zum Seitenanfang zum Seitenende Profil || Suche
001
29.01.2001, 16:05
dp
Administrator


´jo das geht, wie bei tfc die nailgun oder wie das ding im fachjargon heisst.

--

zum Seitenanfang zum Seitenende Profil || Suche
002
29.01.2001, 17:30
Oheim



versuch mal:

MESSAGE_BEGIN(MSG_PVS, SVC_TEMPENTITY, vecOrigin);
WRITE_BYTE(TE_PROJECTILE);
WRITE_COORD(vecOrigin.x);
WRITE_COORD(vecOrigin.y);
WRITE_COORD(vecOrigin.z);

WRITE_COORD(vecVelocity.x);
WRITE_COORD(vecVelocity.y);
WRITE_COORD(vecVelocity.z);

WRITE_SHORT(iModelIndex);

WRITE_BYTE(100); Lebenszeit * 0.1
WRITE_BYTE(ENINDEX(pPlayer)); // Der der abgefeuert hat.
MESSAGE_END();

Vergiss das prechachen (und speichern) des Models nicht !

--

www.darkconspiracymod.de

zum Seitenanfang zum Seitenende Profil || Suche
003
29.01.2001, 18:38
Hellfire



Das gibt ne Menge lag.. wenn, dann sollte das Client Side ablaufen.

--

zum Seitenanfang zum Seitenende Profil || Suche
004
29.01.2001, 18:44
Buy-Menu-Man



Der Crossbow hat doch echte Pfeile.......da kannste ja die mdl Datei ersetzen!

--

http://battletech-hl.teamfortress2.de

zum Seitenanfang zum Seitenende Profil || Suche
005
29.01.2001, 20:38
Oheim



@Hellfire:

Auch das Verfolgen der gegners ?

--

www.darkconspiracymod.de

zum Seitenanfang zum Seitenende Profil || Suche
006
29.01.2001, 23:43
Hellfire



Das Verfolgen des Gegners würde Serverseitig einfacher sein.. aber wenn du's client side hinbekommst, isses auch gut! =)

--

zum Seitenanfang zum Seitenende Profil || Suche
007
30.01.2001, 15:25
feigling



Also es gibt doch auch beim RPG eine Funktion, die dem Laserpointer folgt Zeile 312 oder so ähnlich :
while ((pOther = UTIL_FindEntityByClassname( pOther, "laser_spot" )) != NULL)
man kann anstatt "laser_spot" ja auch "player" einsetzen also:
while ((pOther = UTIL_FindEntityByClassname( pOther, "player" )) != NULL)

und dann folgt die Rakete dem Gegner. Vielleicht könnte man das umschreiben, so dass es für solche Kugeln funktioniert.

--

zum Seitenanfang zum Seitenende Profil || Suche
008
30.01.2001, 15:57
apfelkorn



analysieren wir mal alles schritt für schritt:

zu Oheim: Das ist eine Methode, die Funktionieren würde, rein theoretisch, es müsste allerdings noch das Zeil der Kugel festgelegt werden (also man muss sich einen Zeilspieler aussuchen) und die Kugel einzelnen Schritten folgen lassen (verschiedene Eckpunkte, damit die Kugel auf ihrem Weg eine Kurve beschreibt). Diese verschiedenen Eckpunkte könnte man Clientseitig berechnen lassen, so dass Es zwar eine direkte Linie zum Zielspieler gibt, die aber immer für die Positionsanzeige der Kugel neu berechnet wird. Wenn der Gegner sich bewegt, musst du die msg immer neu abschicken, und die alte entfernen.

zu Hellfire: Es mag zwar ein klein wenig Lag geben, das würde aber nicht mehr als 1-2 Pingpunkte abgeben, sprich ein paar byte, um genau zu sein: 17. Das Verfolgen des Gegners ist fast unmöglich, aber halt nur fast. Versuch es trotzdem besser Serverseitig.

zu feigling: Deine Idee scheitert daran, dass die Kugel sich immer den Client aussucht, der Index 1 hat.

--

zum Seitenanfang zum Seitenende Profil || Suche
009
31.01.2001, 01:04
Another1



Ok hier kommt mein Beitrag!
Ich weiß nicht genau, wieso die Kugeln den Gegner verfolgen sollen, aber ohne Verfolgung sollte es eigentlich relativ leicht gehen. Das Zeichnen der Kugeln erfolgt dann clientside, und alles andere serverside, sprich: Der Server berechnet die Kugeln als richtige Entities (sagen wir mal die Klasse heißt CBullet) mit pev->model = NULL; so das das Entity nicht zum client gesendet wird. In der CBullet::Spawn() function sendet der Server !alle! wichtigen Informationen zu !allen! clients (Position,Geschwindigket,bullet_index,etc...). In der client.dll angekommen werden die Infos in einem Array gespeichert, der Index der Kugel ist die vom Server gesendete Zahl bullet_index, das immer mitgesendet wird wenn die Kugel-informationen beim Client verändert werden sollen (z.B beim Abprallen and wänden etc.). Dann gibt es noch zum schluss eine "Kugel-Remove" message die dann die Kugel mit dem bestimmten Index, der ja wie gesagt immer mitgesendet wird, auf der clientside zerstört (wenn z.B.: die Kugel in einer wand stecken geblieben ist, oder sie einen Mensch(<-VR Mensch!!) getroffen hat (sprich: deaktiviere draw u.s.w.). Auf der serverside werden die Bullet Entities dann mit eine Think() Function bewegt, die jedesmal eine Traceline vorraus schickt und schaut ob was getroffen wird (damit man auch Speed > 2000 erreichen kann!). Sobald sich die Flugbahn ändert, sendet diese Server CBullet::Think() Funktion die neuen Daten (position,geschwindigket,bullet_index,etc...) and die client.dll aller Clients!, aber auch nur dann!!
Die Function, um die Bullets zu spawnen, müsste dann die CBaseEntity::FireBullets funktion sein, damit alle anderen Traceline-Bullets von früher der Vergangenheit angehören. Das sollte dann funktionieren, mit dem geringst möglichem Laaag!

Wenn man die Bullets als richtige Entities macht dürfte das Laaag verursachen und ich habe leider keine Ahnung was genau TE_PROJECTILE macht, da man ja nicht einstellen kann wieviel Damage das Projectil macht u.s.w also kann das ja nur die Grafik anzeigen!

--

Another1

...relaxing..atm =)
... und Schweiz suckt!

zum Seitenanfang zum Seitenende Profil || Suche
010
31.01.2001, 10:46
TheTinySteini



Naja, wer braucht schon speed > 2000 ? Sogar der Crossbow hat nur 1600 oder so. Insofern würd ich das (wenn man denn keine Zielsuche braucht) einfach mit SetTouch() machen. Da kriegste dann gesagt, wenn die Kugel irgendwas berührt hat und dann braucht man nur noch zu gucken, obs eine Wand oder ein Spieler war...

--

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

zum Seitenanfang zum Seitenende Profil || Suche
011
31.01.2001, 14:51
Basman



also wie soll ich anfange; das die Raketen um die Ecke fliegen und dem Spieler folgen, das wr nicht schwer; soll ich jetzt den RGP Code in meinen Waffen code copieren, oder soll ich alles neu machen?

--

www.GamersScene.de

zum Seitenanfang zum Seitenende Profil || Suche
012
02.02.2001, 16:46
Prophyle



Ist eigentlich egal, einfacher wäre aber den RGP copy&paste. Dann musst du aber alles mitnehmen

--

Prophyle, Coder beim SGT: http://mod.famkos.de.
Delphi, C++, Qt

zum Seitenanfang zum Seitenende Profil || Suche
013
02.02.2001, 21:32
Archangel



ähm, die hornetgun kann doch auch so was ähnliches wie mit den echten verfolgenden kugeln. die hornets sind models (glaubich), und verfolgen den spieler, allerdings sind sie relativ intelligent -> Spieler steht hinter ner ecke -> "Kugeln" wechseln erst die richtung wenn, sie "Sichtkontakt" mit dem Spieler haben

--

Mar 01 01:10:13 <voice> jo
Mar 01 01:10:40 <voice> bis dann ^^
Mar 01 01:11:20 <Archangel> jo
**** ENDING LOGGING AT Tue Mar 1 01:58:13 2005

zum Seitenanfang zum Seitenende Profil || Suche
014
03.02.2001, 15:14
Zerow



YO Basman!
Könntest du demnächst das DS Banner druntersetzen??
die URL is http://www.dark-sin.f2s.com/ds.gif

THX

Visit the Dark-Sin Homepage

--

--------------------------------------
<-= Life means Live =->
CU Zerow
*******************************

zum Seitenanfang zum Seitenende Profil || Suche
015
04.02.2001, 10:55
Basman



ist das Besser?
(nicht gerade Platzsparend)

--

www.GamersScene.de

zum Seitenanfang zum Seitenende Profil || Suche