Seite 1 von 1
Eigene Sounddatei binden
Verfasst: Fr 9. Jul 2004, 01:58
von HAL9000
HiHo,
ich war auf nem Server, da kam wenn der eine gestorben is, ausm Lautsprecher immer " Ich will nicht sterben" in schönstem Ösidialekt...
wie macht man sowas?
einfache und dumme Frage, von einer unürdigen Person
mfg HAL
Verfasst: Fr 9. Jul 2004, 13:32
von WoodSTokk
Diesen Sound hast du in einem Sound-Pack (eine PK3).
Dein Client hat diese PK3 verwendet weil der Server entweder 'unpure' lief oder der Server hatte diese PK3-Datei auch.
Wie man sowas macht? Eine WAV-Datei mit bestimmten Format (mono, 22kHz) ins richtige Verzeichnis legen, Scripte anpassen und eine PK3 daraus machen. Dazu musst du sehr gut mit der Verzeichnisstruktur von ET (die Struktur endet nicht in 'etmain') vertraut sein und dich mit Scripte auskennen. Als Beispiel kannst du dir mal die 'pak0.pk3' (in 'etmain') mit WinZIP öffnen. Darin befinden sich hunderte Dateien die (wenn du ganz rechts schaust) alle in einem bestimmten Verzeichnis liegen. Die Verzeichnisse die in der PK3 angegeben sind, werden virtuell an 'etmain' angehängt. Daran siehst du jetzt daß die Verzeichnisstruktur von ET viel komplexer ist als die paar Ordner die du auf der Platte hast.
mfG WoodSTokk
Verfasst: Fr 9. Jul 2004, 19:15
von City][Schubi
Noch ein Tip! Die originalen ".pk3" Files _niemals_ veraendern!
Verfasst: Sa 10. Jul 2004, 08:43
von HAL9000
HiHo, erstmal thx...
verstehe ich das also richtig, dass der Server den file dann haben muß, wenn alle das hören sollen?
Verfasst: So 11. Jul 2004, 00:40
von WoodSTokk
Da gibt es 2 Möglichkeiten:
1) Der Server läuft unpure (sv_pure 0) was bedeutet, daß der Server die Dateien der Clients nicht überprüft und jeder Client alle Dateien (nicht nur PK3's) verwenden darf die er hat.
2) Der Server läuft pure (sv_pure 1) und jeder Client der sich auf den Server connected muss für jede PK3 die er hat eine Prüfsumme (MD5) an den Server schicken. Der Server antwortet dann mit ja oder nein (die PK3 darfst du verwenden oder nicht). Dazu muss der Server die PK3 mit deinen Sounds ebenfalls haben damit der Server die MD5 berechnen und den Clients bestätigen.
Die Variable 'sv_pure' war der erste Versuch den Cheatern einen Riegel vorzuschieben. Alle Dateien die für das Spiel benötigt werden liegen in einer Verzeichnisstruktur. Du könntest alle deine PK3's (im richtigen Verzeichnis) entpacken und die PK3's löschen. Für die Engine gibt es da keinen Unterschied ob die Dateien einzeln oder gepackt vorliegen. Das Problem dabei war, das Cheater die Skins tauschen konnten (einen Signalorangen Gegner sieht und trifft man besser als einen Feldgrauen in der Nacht) und somit einen riesen Vorteil hatten. Da die Dateien schon immer gepackt installiert wurden (Plattenplatz sparen) lag es nahe diese Pakete zu prüfen. 'sv_pure' ist eine serverseitige Einstellung (erkennbar an dem Suffix 'sv_'). Wenn ein Client sich zu einem puren Server connected, muss der Client von jeder PK3 eine Prüfsumme erstellen, diese dem Server schicken und nur wenn der Server dieses PK3-Paket freigibt darf der Client die darinbefindlichen Dateien verwenden. Damit der Server aber die MD5 vergleichen kann muss er selber auch das Paket haben. Dateien die sich nicht in PK3's befinden sind generell verboten.
Ich hoffe jetzt wissen alle was es mit 'pure' (sauber) aufsich hat.
mfG WoodSTokk
Verfasst: So 11. Jul 2004, 11:07
von thE_f!R3b!Rd
vielleicht hast du die sounddatei von dem server im etmain verzeichnis bei dir