.| Autor | Beitrag |
|---|---|
|
000 04.10.2004, 02:54 Karigos |
Hallo, ich habe nochmal eine Frage... Und zwar habe ich das Problem, dass ich gerne in meinem Mod Serverseitig prüfen möchte, ob Spieler X Spieler Y sieht... das habe ich versucht indem ich vom Origin von Spieler X + absmax/2 bis zum Origin von Spieler 2 +absmax/2 ein traceline gemacht habe... ich habe aber das gefühl, dass so kein entity treffer in meinem Trace Result ausgegeben wird... Könnt ihr mir helfen hin zu bekommen, das ich ein TraceLine entwerfen kann, was jeden Spieler auf dem Server abfragt ob ich ihn sehen kann ? Danke Euch ! -- |
|
Profil || Suche |
|
001 04.10.2004, 07:00 Onkel Dittmeyer |
FIND_CLIENT_IN_PVS(edict) als Iterator durchgehen bis wieder NULL zurückgegeben wird. Dürfte die schnellste Methode sein. -- |
|
Profil || Suche |
|
002 04.10.2004, 08:53 Karigos |
Danke dir ! Aber wie genau muss ich das den benutzen ? Hab mir das gerade mal angesehen aber so recht verstehen tuhe ich es nicht. Und leider finde ich auch kein Projekt, der die Funktion benutzt ! Währe dir sehr dankbahr für ein kleines Beispiel! DANKE SOWEIT SCHON ! -- |
|
Profil || Suche |
|
003 04.10.2004, 09:53 TheTinySteini |
Wo bei das Potentially Visible Set potentiell ungenau ist =p Sonst würden ja auch Wallhacks und Co nicht funktionieren/funktioniert haben... Also wenn wirklich sichergestellt sein soll, dass man den Spieler sieht, und er nicht nur in der Nähe ist, dann Traceline (und eventuell viewangles/FOV mit einbeziehen, wenn jemand hinter/neben einem nicht als sichtbar gelten soll, was oft Sinn macht...). Entity Treffer musst du ja nicht abfragen... trace einfach wirklich genau von deiner Position zu der errechneten Position des anderen Spielers. Wenn dann tr.fraction < 1.0f, war was im Weg. --TheTinySteini |
|
Profil || Suche |
|
004 05.10.2004, 06:47 Karigos |
Ja so hatte ich das auch gemacht... der nachteil daran ist, das ich als Spieler den Kopf des gegners sehe und ihm ein Headshot verpassen kann wobei mein mod aber die andere Person noch lange nicht gesehen hat.... Als Lösung müste ich von meinem Kopf zu seinem, von meinem kopf zu seinem bauch, zu seinen füssen, von meinem bauch zu seinem kopf, zu seinem bauch und seinen füssen und so weiter tracen... und das würde wahnsinng ressourcen fressen... Deswegen will ich jetz mal FIND_CLIENT_IN_PVS(edict) ausprobieren, Danke euch jetz schonmal ! Hoffe mir kann noch jemand FIND_CLIENT_IN_PVS(edict) erklären ! -- |
|
Profil || Suche |
|
005 11.10.2004, 04:21 Karigos |
Keiner eine Idee ? -- |
|
Profil || Suche |
|
006 11.10.2004, 21:49 Bufferoverflow |
|
|
Profil || Suche |
|
007 19.10.2004, 17:48 Karigos |
Hallo ! Danke für das Beispiel ! Nun hätte ich nur noch 2 - 3 Fragen dazu :) 1. Was muss an UTIL_EntitiesInPVS übergebenwerden und ist es identisch zu g_engfuncs.pfnFindClientInPVS ? VIELEN DANK SOWEIT FÜR EURE ERSTKLASSIGE HILFE !!!!! -- |
|
Profil || Suche |
|
008 20.10.2004, 13:23 oxff |
edict_t.v.chain ist eine simple Implementation einer Linked List. --mwcollect - mein Projekt | oxlog - mein blog | happyhardcore.com Stream - gute Musik |
|
Profil || Suche |
|
009 20.10.2004, 13:39 Karigos |
Jo das mein ich doch *g* 1. Was muss an UTIL_EntitiesInPVS übergebenwerden und ist es identisch zu g_engfuncs.pfnFindClientInPVS ? Danke dir 0xFF ! -- |
|
Profil || Suche |
|
010 20.10.2004, 14:50 oxff |
Es muss ein edict_t * übergeben werden, der ein Entity repräsentiert, in dessen Umgebung gesucht werden soll. Wenn du einfach eine Bestimmte Position durch einen Vektor oder ähnliches beschrieben betrachten willst, so musst du ein 'nutzloses Entity' (z.B. ein info_null) an der Stelle erstellen (sinnvollerweise löschst du es anschliessend auch). edit: Nur zur Ergänzung, ein PVS-Check ist hier nicht das, was du wohl genau suchst (höchstens als Vor-Optimierung). Auch ein Traceline reicht hier nicht aus, wobei das wohl noch wesentlich näher an dem liegt, was du Suchst. Du müsstest entweder über irgendwelche Draw-Buffer gehen (schwierig auf dem Server, du müsstest tatsächlich einen software Renderer implementieren, der 'nach /dev/null rendert') oder dich mit ein wenig Ungenauigkeit zufrieden geben. --mwcollect - mein Projekt | oxlog - mein blog | happyhardcore.com Stream - gute Musik Dieser Beitrag wurde am 20.10.2004 um 15:01 von 0xFF bearbeitet. |
|
Profil || Suche |
|
011 20.10.2004, 15:39 Karigos |
Hallo, ein wenig ungenauigkeit ist ok ! Das kann man ja evtl später noch nacharbeiten ! Ich müste es nur ausprobieren ob es meinem Zweck entspricht ! Vielen Dank soweit nochmal ! -- |
|
Profil || Suche |
|
012 25.10.2004, 02:04 Karigos |
Und nu bin ich wieder da mit meinem Problem... und zwar mein Code:
Mache ich etwas falsch ? DANKE ! -- |
|
Profil || Suche |
|
013 25.10.2004, 16:03 oxff |
Das hängt von deiner Map ab und liegt in der Natur vom PVS. Im PVS sind auch alle Spieler, die du mittels eine Wallhack sehen können würdest. (Wir haben dich ja gewarnt!) --mwcollect - mein Projekt | oxlog - mein blog | happyhardcore.com Stream - gute Musik |
|
Profil || Suche |
|
014 25.10.2004, 16:17 Karigos |
Also müsste ich nun wenn ich einen Spieler im PVS ermittel, noch überprüfen per TraceLine z.b. ob ich den Spieler wirklich sehen kann ? -- |
|
Profil || Suche |
|
015 25.10.2004, 17:13 oxff |
Nein, das hat hier nie einer behauptet! NIEMALS! ... Natürlich. -.- [edit] Eventuell liest du den Thread nochmal ganz durch. [/edit] --mwcollect - mein Projekt | oxlog - mein blog | happyhardcore.com Stream - gute Musik Dieser Beitrag wurde am 25.10.2004 um 17:14 von 0xFF bearbeitet. |
|
Profil || Suche |

