Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
14.11.2010, 00:37
mettwurstjochen



Compile läuft glatt, folgender Fehler beim Laden der Map in CS:

Host_Error: PF_precache_model_I: Model 'models/p_mac10.mdl' failed to precache because the item count is over the 512 limit.
Reduce the number of brush models and/or regular models in the map to correct this

Allerdings bekam ich beim 1. Compile-Versuch den Fehler MAX_MAP_MODELS, worauf ich mehrere SolidEntities zu einem zusammenfasste und danach funktionierte das Compilen.

Ich weiß, dass es zu diesem Thema hier schon Threads gibt, aber ich konnte nirgendwo eine klare Aussage dazu finden, (a) wieviele Entities ich insgesamt in meiner Map haben darf und (b) wieviele SolidEntities.

Ich habe:

PointEntities: 410
SolidEntities: 387

Die Map funktionierte noch, als ich ca. 150 Entities weniger hatte, deshalb kommt das mit max. 400 oder 512 Entities nicht hin.

--


Dieser Beitrag wurde am 14.11.2010 um 00:56 von mettwurstjochen bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
001
14.11.2010, 01:04
Bluthund



Zitat:
(a) wieviele Entities ich insgesamt in meiner Map haben darf
Quellcode:#define MAX_MAP_ENTITIES 2048
// hard limit, in actuallity it is too much, as temporary entities in the game plus static map entities can overflow
Das ist das Hard-Limit, alles darueber kompiliert nicht mehr. Fehlerfrei spielen ist aber schon vorher nicht mehr moeglich (siehe Kommentar zum #define)

Zitat:
(b) wieviele SolidEntities
So viele, dass der Modelcount insgesamt innerhalb der Mod nicht ueber 512 liegt. Siehe deine Fehlermeldung, die du oben zitierst. Genauer wird's nicht, da jede HL-Mod (und auch deren unterschiedliche Versionen) unterschiedlich viele Modelle zur Laufzeit laden. MAX_MAP_MODELS steht in den ZHLT auf 400, d.h. mit >400 brushbased Entities ist schon beim Kompilieren Schicht im Schacht fuer die Map.
Quellcode:#define MAX_MAP_MODELS         400
// variable, but 400 brush entities is very stressful on the engine and network code as it is

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-


Dieser Beitrag wurde am 14.11.2010 um 01:05 von Bluthund bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
002
14.11.2010, 01:17
mettwurstjochen



Was heißt das in der Praxis, welche Entities sollte ich um wieviel verringern?

--


Dieser Beitrag wurde am 14.11.2010 um 01:17 von mettwurstjochen bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
003
14.11.2010, 01:40
mettwurstjochen



Aaach ich glaub ich weiß. Ich habe vergessen zusätzlich zu den SolidEntities die cycler_sprites mitzuzählen, weil die ja da als PointEntities mit antgezigt werden. Dann bin ich bei 41 + 387, also 28 zu viel. Ich versuch es morgen mal.

--

zum Seitenanfang zum Seitenende Profil || Suche
004
14.11.2010, 01:44
Bluthund



D.h. alle Entities, die von der Engine einen Platz im Modelarray (das sind mindestens die Solid Entities und alles, was einen model-Eintrag in den KeyVals hat Note: ein Model wird nur einmal geladen, egal wie viele Entities es benutzen) zugewiesen bekommen, soweit reduzieren, dass du zur Laufzeit unter das benannte 512er Limit passt.

Wie schon erwaehnt, weiss das kein Mensch ausser den Entwicklern selbst, was alles geladen wird. Du darfst aber schonmal pauschal von den 512 freien Plaetzen 3 fuer jede Waffe und jedes Playermodel abziehen.
Das sind in CS 30 Waffen * 3 Modelle (w_, p_, v_) = 90 Waffenmodelle und je 4 Spielermodelle in 2 Fraktionen und der VIP. Damit hat CS schon einmal direkt 99 Modelle gefressen. Dazu kommen dann noch Items wie die kevlar, das defkit und die nvgs und wahrscheinlich auch noch einige Sachen, die an dieser Stelle hier nicht bedacht wurden. Also darf man wohl ueber den Daumen gepeilt davon ausgehen, dass mindestens 128 Models verfuegbar sein muessen.

Zitat:
mettwurstjochen postete
Aaach ich glaub ich weiß. Ich habe vergessen zusätzlich zu den SolidEntities die cycler_sprites mitzuzählen, weil die ja da als PointEntities mit antgezigt werden. Dann bin ich bei 41 + 387, also 28 zu viel. Ich versuch es morgen mal.
Du sprengst nicht das 400er Limit sondern das 512er.

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-


Dieser Beitrag wurde am 14.11.2010 um 01:53 von Bluthund bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
005
14.11.2010, 02:14
mettwurstjochen



Och menno ... also geht das nur auf gut Glück ... naja also verstehe ich richtig ... angenommen ich hab 20 armoury_entities mit der HE-Granate, zählt das nur als 1, weil nur 1 Model dafür geladen werden muss? Oder als 20 Stück?

Warum muss CS nur so beschränkt sein ... Bitte einfach mal ein CS 1.6 mit neuer Grafik, neuer Engine und schönem Code aber nicht so verschandelt wie CSS und dennoch übersichtliche Maps. Ja OK unnötig. ^^

--


Dieser Beitrag wurde am 14.11.2010 um 02:16 von mettwurstjochen bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
006
14.11.2010, 13:52
Bluthund



Nein, bei einem armoury_entity wird garnichts zusaetzlich geladen, weil die Waffen ohnehin beim Start precached werden muessen (siehe #004), da sie theoretisch jeder Spieler im Spielverlauf besitzen kann (durch Aufnehmen, give-Commands, Kaufen im speziellen Fall von CS, o.ae.).

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-

zum Seitenanfang zum Seitenende Profil || Suche
007
14.11.2010, 14:33
mettwurstjochen



ok hab sie jetzt ca. um 80 verringert mal schauen was geht.

--

zum Seitenanfang zum Seitenende Profil || Suche