• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
  • Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.

Rezzen in bestimmter Area erkennen?

Bittersweet Frostbite

Moderatorin in Urlaub
Wie kann ich erkennen, wenn jemand in einer bestimmten Area etwas rezzt. Also nicht irgendwo auf einer Parzelle, sondern auf einem bestimmten Teil einer Parzelle? Meine Idee war das mit Kollisionen zu machen, einfach ein Phantomobejekt über die Area und fertig - nur erkenne ich ja dann nicht, wenn jemand selbst dort wieder Phantomobjekte rezzt. Dass es geht, habe ich in einer Sandbox gesehen. Wenn da jemand auf dem Landepunkt etwas rezzt, wird es sofort zurückgegeben. Also muss es irgendwie gehen - nur wie?
 
Wenn du verhindern willst, daß jemand an einer bestimmten Stelle etwas rezzt, kannst du das durch Rezzen eines unsichtbaren Sculpties auf dem Boden verhindern.
Versucht man, Sachen auf solche Teile drauf zu rezzen, schlägt das Rezzen dort fehl.
 
Supi, danke. Gleich mal getestet. Funktioniert so halbwegs. Aber die Lösung der Sandbox scheint es nicht zu sein. aber für den Moment reichts, falls nicht jemand noch eine andere Lösung hat.
 
Fürs Returnen kannst du integer llReturnObjectsByID( list objects ) verwenden. Damit kann man aller Prims zurück schicken, die nicht dem Eigentümer des Grundstücks gehören.
Dann brauchst du nur noch eine Liste mit den UUIDs/keys der Objekte, die da weg sollen. Die kann man sich ganz einfach z.B. mit einem llSensor und einem llDetectedKey holen.

Bastelt man da was mit Timer (oder llSensorRepeat), dann kann man z.B. alle paar Minuten alle störenden Fremd-Prims im Bereich des Landepunktes entfernen. Solange kein Griefer kommt stört es auch nicht, dass der Sensor nur 16 Objekte auf einmal erkennen kann. Die Objekte, die er im ersten Durchgang nicht erwischt, die erwischt er dann im nächsten. Bis der Landepunkt wieder frei ist und kein Sensor-Event mehr ausgelöst wird.
 
Wenn es schnell gehen muss, bin ich etwas faul was das returnen angeht.
Damit ich nicht die ganze Sim speziell absuchen muss, stelle ich einfach den Autoreturn auf 1 minute und warte bis die um ist. danach setz ich die Zeit wieder auf den vorherigen wert. Netter Nebeneffect, Objecte von Griefern die in bestimmten Intervallen gerezzt wurden, bekommt der verantwortliche 60 sekunden lang in den gleichen Zeitabstaenden zurueck gespamt. :mrgreen:

LG
Dae
 
Wie kann ich erkennen, wenn jemand in einer bestimmten Area etwas rezzt. Also nicht irgendwo auf einer Parzelle, sondern auf einem bestimmten Teil einer Parzelle?
Kollission ist nicht so effektiv (Objekte die phantom sind machen keine Kollssion) und belastet die Physikengine

Ich würde mit einer Kombination aus llGetParcelPrimCount und schon genanntem llGetObjectDetails (für Position und OwnerID) in einer Timerschleife beginnen.
Nach einer kurzen Fallunterscheidung per Whitelist (also wer darf ungestört rezzen)
könnte man die Objektanzahl dieses Avatars kurz prüfen (ist es jemand, der nur eine gekaufte Kiste auspackt, oder hat der eine Primarmee gerezzt).
Falls letzteres zutrifft und du im Skriptanfang die entsprechenden Permissions gesetzt hast (PERMISSION_RETURN_OBJECTS),
könnte hier ein skriptbasiertes Return (auch schon weiter oben genannt) und ggf gleich noch Teeren und Federn (Eject und Bann) einsetzen.

alles schön vollautomatisch, so das du deine Kaffeetasse überhaupt nicht absetzen musst
 
Auch wenn ich Sensoren nicht wirklich mag, halte ich Shirleys Ansatz immer noch am leichtesten fuer Umsetzbar.
Alles andere fuehrt zu unverhaeltnissmaessig viel Aufwand, was einen SensorRepeat vergleichsweise harmlos erscheinen laesst.

Fuer einen SensorRepeat benoetigst du nicht mal einen Timer, der hat naemlich einen eigenen.
In dem Fall kannst du das sogar noch mit etwas nuetzlichem kombinieren, indem du einfach einen Greeter im selben Script integrierst. Schliesslich hat man sowas ja meistens sowiso am landepunkt herum stehen. ;)

LG
Dae
 
Zuletzt bearbeitet:

Users who are viewing this thread

Zurück
Oben Unten