>>Vielleicht andersrum machen und die Tür den Clonk einsammeln lassen? Geht das?
>>Ansonsten die Türen nur alle 2 Sekunden checken lassen und erst wenn ein Clonk in 200 pixel Entfernung auftaucht, den Check schneller machen?
>>(PS: Die Antwort auf die Frage ist vermutlich, dass es in Clonk Rage nicht geht)
>Davon gehe ich stark aus, mir ging es nur darum zu schauen ob wer kreativ einen Lösungsansatz in dieser Richtung findet, indem engine-interne Funktionen missbraucht werden um einen eigenen performanceziehenden Check zu umgehen =P
>Denn in Netzwerkspielen sind das wieder zwei weitere Objekte, die Synchronisiert werden. Also wieder alle möglichen Werte, die ein Objekt hat, die durch's Netzwerk gehen.
>Und ich glaubte mal aufgeschnappt zu haben dass das alte FindObject auch weniger Performance frisst als FindObject2?
private func SomeonesApproaching() { // such ankommene Clonks
var aClonks = CreateArray();
for(var i = 0; i < 2; ++i)
{
// Suchen wir mal rum.
aClonks = FindObjects(Find_InRect(-35 * i, -GetObjHeight() / 2, 35, GetObjHeight()),
// Find_NoContainer(),
Find_OCF(OCF_Alive),
Find_Not(Find_Func("IsAlien")) );
// Irgendwas gefunden?
if(GetLength(aClonks) > 0)
{
return(true);
}
}
return(false);
}
FindObjects
könnte man auch FindObject2
benutzen.
>Der Hintergedanke bei meiner Frage zu Anfang war aber das vollständige Weglassen aller Checks - stattdessen vorhandene Engine-Funktionen ausnutzen die das übernehmen können.
>Man müsste aber auch Sonderfälle beachten, Clonks z.B. nicht mit Effekten belegen wenn es keine Türen/Luken im Szenario gibt, und wenn nachträglich eine dazukommt müsste diese selbst prüfen ob sie die erste ist und nachträglich allen bereits vorhandenen Clonks den Effekt geben.
>Auch müssten Sonderobjekte wie MAVs mit dem Effekt belegt werden damit diese ebenfalls weiterhin durch Türen hindurch können
>Good ol' Rage Engine, gäbe es nur einen einzelnen Interagieren-Button mehr für die Steuerung..
>Anstatt dass nun die Türen nach Türen öffnenden Objekten (z. B. Clonks) suchen, suchen die Türen öffnenden Objekte nach den Türen.
>Und das tun sie nicht direkt, sondern die Türen werden in ein grobes Raster eingeordnet, und damit muss ein Clonk nicht mehr alle Türen durchsuchen, sondern nur die, die sich in der selben (und angrenzenden) Rasterkacheln befinden.
>Aber bitte mach das nicht in C4Script, sondern benutz die Engineimplementierung. Denn das ist genau das, was FindObject2 macht
Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill