Thread: Models Durch Wände sehen und chams fragen | ||
Join Date: Jan 2011 Posts: 12 |
Das Prinzip von Chams ist sehr einfach. Für Source engine basierende spiele, wie eben CSS, benötigt man nichtmal einen D3D hook. Das einzige, was du tun musst, ist die Funktion "DrawModelExecute" zu hooken. Darin werden die models gezeichnet. Es gibt einen so genannten Z-Index. Die Z-Achse ist die tiefe. Befindet sich ein Spieler hinter einer Wand, ist er auf einer tieferen ebene als die Wand, deshalb wird alles vom Spieler, was sich hinter der Wand befindet nicht gerendert. In der Source Engine haben alle materials(darunter eben auch die Spieler) Flags. Eines davon ist "MATERIAL_VAR_IGNOREZ". Setzt man dieses beim Spieler material nun auf true, dann wird der Spieler immer im Vordergrund sein und somit immer vollständig gerendert. Jetzt brauchst du noch solide Farbtexturen. Davon hat es natürlich schon welche und du wirst sie mittels "FindMaterial" finden. Jetzt überschreibst du die eigentliche Model Textur mit deiner soliden Farbe(mittels "ForcedMaterialOverride"). Danach musst du erstmal die Original-Funktion aufrufen, damit es auch gezeichnet wird, halt einfach mit deinen Modifizierten Parameter. Wenn das getan ist, "MATERIAL_VAR_IGNOREZ" wieder auf false setzen, damit die eigentlich nicht sichtbaren teile des Models nicht mehr zu sehen sind. Nun wieder die Textur überschrieben, diesmal aber eine andere Solide Farbe verwenden und die Original-Funktion nochmals aufrufen. Da die Teile des Models, die sich hinter der Wand befinden nicht gerendert werden, haben diese immer noch die andere Texture. Die sichtbaren Teile wurden mit einer anderen Textur überschrieben. Ich hoffe mal du hast mindestens verstanden, was das Prinzip von Chams ist bzw. wieso und wie sie funktionieren. Wenn du dich bisschen mehr auskennst, werden dir hoffentlich auch die genannten Funktionen etc. etwas sagen. |
|
b4ckd0or is offline |