Turtle
letzten sonntag wurde dieser mögliche fix für das total verbuggte spawnsystem im clanbase forum gepostet.
da ich selbst keinen server habe, bzw mein serveranbieter linux server hat, kann ich den effekt leider nicht ausprobieren.
vielleicht wäre der befehl die lösung, um das spielen auf CoD5 public servern wenigstens etwas angenehmer zu machen:
Von Snake:
OK yes, Treyarch have messed up the spawn system badly for all spawn system gametypes, but I have a fix for you guys.
Put this in your Config or PAM mode script (In the correct format):
scr_disableUnifiedSpawning 1
It's a hidden DVAR and it stops people spawning on people, if all Public servers use this everything would be fine. I have tested it in Public and wars and it works the same as the COD2 spawn system.
Good luck & Have fun!
Quelle:
http://clanbase.ggl.com/forum.php?fid=718591&zid=00FFFFCF
wgs./w@Lly
Ah, das ist mal interessant so ne DVAR herauszufinden
Ob das auch bei CoD4 funzt...? Da hat man das *ineinandergeschachteltspawnen* ja leider auch...
Danke für die Info!
MikeTNT
Laut Console steht dieser Wert per default auf 1:
"scr_disableUnifiedSpawning" is: "1" default: "1"
cu Mike
OLD MAN WITH GUN
Original von wgs./w@Lly
Ob das auch bei CoD4 funzt...?
Nein, denn dort gibt es diesen Part in der _globallogic.gsc nicht
So sieht es bei CoD5 aus:
Code angehängt. Klicke hier zum Ein-/Ausblenden
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
|
//self clearPerks();
self setClientDvar( "cg_thirdPerson", "0" );
self setClientDvar( "killcam_title", "@MP_KILLCAM" );
self setDepthOfField( 0, 0, 512, 512, 4, 0 );
{
if ( IsDefined( level.onSpawnPlayerUnified )
&& GetDvarInt( "scr_disableunifiedspawning" ) == 0 )
{
self [[level.onSpawnPlayerUnified]]();
}
else
{
self [[level.onSpawnPlayer]]();
}
if ( IsDefined( level.playerSpawnedCB ) )
{
self [[level.playerSpawnedCB]]();
}
}
self maps\mp\gametypes\_missions::playerSpawned();
|
|
und so bei CoD4:
Code angehängt. Klicke hier zum Ein-/Ausblenden
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
|
//self clearPerks();
//self setClientDvar( "cg_thirdPerson", "0" );
//self setDepthOfField( 0, 0, 512, 512, 4, 0 );
//self setClientDvar( "cg_fov", "65" );
[[level.onSpawnPlayer]]();
self maps\mp\gametypes\_missions::playerSpawned();
|
|
Nightwing
Ich bekomm da merkwürdigerweise nur ein "Unknown Command" als Antwort
ToM
MikeTNT
Nur solange du dieses dvar noch nicht definiert hast.
OLD MAN WITH GUN
Original von MikeTNT
Nur solange du dieses dvar noch nicht definiert hast.
Definere mal die dvar zuerst mit 0 (also direkt nach dem Serverstart)
Dann wirst du als defaultwert 0 und nicht 1 bekommen
Der default Wert ist immer der Wert, mit dem eine dvar zuerst definiert wurde.
Nightwing
Wunderbar, dank Euch beiden
So, mal anzocken, ob ich was merke...
ToM
MikeTNT
@OMWG
1:0 für dich.
Vielleicht gibt es noch einen Punkt extra:
Was ist der Wert, wenn es nicht definiert ist? Bzw. wie kann eine Variable vorhanden sein, aber nicht definiert? Bzw. was tut cod5, wenn nichts definiert ist? Ich habe da irgendwie ein Logikproblem...
cu Mike
OLD MAN WITH GUN
Original von MikeTNT
Was ist der Wert, wenn es nicht definiert ist?
undefined bzw. 0
Original von MikeTNTBzw. wie kann eine Variable vorhanden sein, aber nicht definiert?
Die Variable existiert auch nicht.
Erst, wenn sie definiert wird. Daher bekommt man ja auch, wenn man die Variable vorher nicht mit
set scr_disableunifiedspawning 1 definiert, als Antwort
Unkown command (kenn ich nicht).
Original von MikeTNT
Bzw. was tut cod5, wenn nichts definiert ist? Ich habe da irgendwie ein Logikproblem...
Das steht quasi im Scriptteil, den ich oben gepostet habe.
if ( IsDefined( level.onSpawnPlayerUnified ) && GetDvarInt( "scr_disableunifiedspawning" ) == 0 )
{
self [[level.onSpawnPlayerUnified]]();
}
else
{
self [[level.onSpawnPlayer]]();
}
Die If-Funktionen prüft ob die Variable
level.onSpawnPlayerUnified definiert ist (Anmerkung: Ist sie, ganz am Anfang der gsc-Datei aber ohne Inhalt,
level.onSpawnPlayerUnified = ::blank;) und ob die dvar
scr_disableunifiedspawning den Wert
0 hat (hat sie, da sie ja normalerweise nicht definiert ist und eine nicht definierte dvar als Integerwert die 0 zurückliefert).
Somit wird der if-Zweig
self [[level.onSpawnPlayerUnified]](); ausgeführt, und nicht der else-Zweig
self [[level.onSpawnPlayer]]();
Nightwing
Original von MikeTNT
2:0
Subjektiv gesehen gefällt mir der else Zweig besser.
War grad auf meinem Server (20 Mann), Map Seelow. Ich wurde kein einziges Mal am Spawn abgemurkst, bzw sah direkt am Spawn keinen Gegner.
Bin mal auf andere Meinungen gespannt.
ToM
Animus
@wgs./w@Lly
Ob das auch bei CoD4 funzt...? Da hat man das *ineinandergeschachteltspawnen* ja leider auch...
du meinst bestimmt etwas anderes zb bei "toujane" im TDM modi das anfang Spawnen glaube ich(Custom Map).
Das ist Map abhängig da hat der Mapper nur vergessen genügend Anfangsspawns zu setzen!!! Deshalb stapeln sich alle an einem Ort zum respawn werden ja dann andere Spawn benutzt.
[CyG] Hoxma
Original von Animus
@wgs./w@Lly
Ob das auch bei CoD4 funzt...? Da hat man das *ineinandergeschachteltspawnen* ja leider auch...
du meinst bestimmt etwas anderes zb bei "toujane" im TDM modi das anfang Spawnen glaube ich(Custom Map).
Das ist Map abhängig da hat der Mapper nur vergessen genügend Anfangsspawns zu setzen!!! Deshalb stapeln sich alle an einem Ort zum respawn werden ja dann andere Spawn benutzt.
Das ist nicht nur bei Custommaps und TDM so, sondern auch auf Standardmaps in SD.
Auf Overgrown starten schon ab einem 7on7 einige von ein und demselben Spawnpunkt.
Da haben die 'göttlichen' Mapper von IW auch gepfuscht.