Archiv verlassen und diese Seite im Standarddesign anzeigen : Loclip
Jeder kennt es, fast jeder hasst es.
Es ist die .lua die sich mit dem Namen "Loclip" schimpft. So lustig der Name so nervig die Funktion:
Sobald man einen Teil der Map berührt wird man aus dem Noclip geholt.
Der Sinn?
Verhindern von Crash wegen aus-der-map-fliegen.
Warum weg?
Es ist unglaublich nervig dass man nicht in den Boden fliegen kann. Man Versucht etwas zu bauen, will dadurch darunter in den Boden, wird aus dem Noclip geholt, steckt in der eigenen Contraption fest, kann nicht mehr in Noclip da man immernoch die Map berührt und hängt dann sehr unangenehm da rum.
Und nu?
Ich habe 3 Ultimativen! Nach der Tollheit sortiert:
1: Ein Port teil in der Map. Ich weiß nicht wie man das nennt aber einfach eine Mauerding direkt außerhalb der Map das einen zum Spawn portet. (Map-side)
2: Ein Script, das alle 2-3 Sekunden die Position der Spieler überprüft und wenn diese X Einheiten von 0 weg sind zum Spawn porten.
3: Einfach nichts. Es wäre mir lieber der Server würde crashen als dass man nicht in den Boden fliegen kann. Es ist immerhin ein Build Server.
Die dritte Möglichkeit ist einfach am besten, da die anderen nahezu umöglich sind.
Ich bin ganz deiner Meinung!Aber warum crasht der Server dann?Bei den Servern auf den ich spiel,crasht er nicht.Es könnte aber auch deswegen sein,weil ich nicht auf 24/7 Servern spiele,
Warum eigentlich der Name Loclip? Der Name ist so Besch....eiden. ;) Scherz
Aber stimmt schon, das nervt gewaltig.
Warum hast du was gegen den Namen?
Immer meinten alle dass würde uClip heißen, da es aber von mir ist und keinen Namen trägt, habe ich irgendwann mal Loclip gesagt.
Ist jetzt übrigens runter, beim nächsten Mapchange ist es weg.
computer22
09.08.2008, 19:05
Sorry, aber ich bin Maurice's meinung.
Warum hast du was gegen den Namen?
Immer meinten alle dass würde uClip heißen, da es aber von mir ist und keinen Namen trägt, habe ich irgendwann mal Loclip gesagt.
Ist jetzt übrigens runter, beim nächsten Mapchange ist es weg.
Das war doch nur ein Scherz. Hab nichts gegen den Namen. ;) Ich habe es mal geändert.
Toxin_Snake
09.08.2008, 19:27
Endlich hatt es jemand ausgesprochen!
Preiset Maurice! :gmod:
monky2k6
09.08.2008, 21:24
Preiset Maurice! :gmod:
Und LoC der auf den Vorschlag schnell eingegangen ist und das Addon entfernt hat! :gmod:
PytonB!tch
09.08.2008, 21:40
Danke Maurice und danke LoC
Specter123
09.08.2008, 21:51
Das erste könnte man ja Teoretisch (Wird´s so geschrieben?) machen, aber es wäre aufwendig hinter jeder Wand (Brush) einen weitere Wand zu setzten die einen zurückteleportiert, denke ich mal.
Das erste könnte man ja Teoretisch (Wird´s so geschrieben?) machen, aber es wäre aufwendig hinter jeder Wand (Brush) einen weitere Wand zu setzten die einen zurückteleportiert, denke ich mal.
Nee ich kenn diese Mapgrenzen. Es reicht wenn du um die ganze map einfach mal nen riesen "Raum" ziehst der als trigger_teleport fungiert. Ist wirklich simpel und frisst keine Ressourcen, da es nur einer ist. Größe ist da egal.
Wuerde das hier funktionieren?
Der Code ist nicht getestet worden!
function GMdD_ntcrsh() --die funktion
for _,ent in pairs(player.GetAll()) do --alle spieler pruefen
if (ent:IsValid()) then --wenn er gueltig ist, dann...
local p = ent:GetPos() --seine position auslesen
if (p.x > 16200) or (p.x < -16200)
or (p.y > 16200) or (p.y < -16200)
or (p.z > 16200) or (p.z < -16200) then --alles ueberpruefen
ent:SetPos(Vector(0,0,0)) --zurueck in die map mit ihm!
end
end
end
end
hook.Add("Think", "GModDE_anticrash", GMdD_ntcrsh) --diese funktion jeden frame ausfuehren
Ab heute bin ich dann weg... nur noch an Wochenenden am PC >.<
Wahrscheinlich,aber meiner Meinung nach wäre es sinnvoller den
GAMEMODE.SetupMove (http://wiki.garrysmod.com/wiki/?title=Gamemode.SetupMove)
Hook,zu verwenden.
Lastet weniger den Server aus,und verhindert das der Sieler überhaupt sich erst bewegt,da dies vorher gecallt wird.
Weiß nur leider nicht ob der auch für Noclip zählt :/
Nur ist das Problem das bei den Maps der Nullpunkt nicht immer in der Mitte ist, sondern das der vielleicht auch außerhalb der Map liegt.
Ich zum Beispiel verwende den Nullpunkt immer als Ecke.
Außerdem sind die Maps verschieden groß, deshalb kann man nicht einen bestimmten Wert nehmen da man sonst vielleicht noch innerhalb der Map wieder zurück teleportiert wird
Zur Mapping Methode: Um den trigger_teleport müsste man dann aber nochmal einen nodraw Brush machen sonst ist das Ganze ein einziges großes Leak ^^ aber das ist ja nicht schwer.
Ich habe genau das von Smilie beschriebene Problem. Kann man irgendwie herausfinden wo der Spawn Punkt ist und den Player dahin teleportieren?
computer22
10.08.2008, 12:44
Wieso macht Ihr nicht einfach garnix?
Man kann selbst schauen das man nicht aus der Map fliegt...
Ich habe genau das von Smilie beschriebene Problem. Kann man irgendwie herausfinden wo der Spawn Punkt ist und den Player dahin teleportieren?
du hast ja !setspawn, einfach diese koords auch fuer den teleport verwenden ?
du hast ja !setspawn, einfach diese koords auch fuer den teleport verwenden ?
Würde aber nicht funktionieren, wenn der Spieler noch keinen eigenen Spawn-Punkt gesetzt hat.
LittleSnipes
10.08.2008, 13:02
Einfach kill?
Ich habe genau das von Smilie beschriebene Problem. Kann man irgendwie herausfinden wo der Spawn Punkt ist und den Player dahin teleportieren?
Öh,ja klar.
local Spawns = ents.FindByClass("info_player_spawn")
local Randspawn = math.random(#Spawns)
local Spawnpos = Spawns[Randspawn]:GetPos()
function GetRandomSpawnpoint()
local p = ents.FindByClass("info_player_start") or ents.FindByClass("info_player_deathmatch")
if (p == nil) then
return Vector(0,0,0)
end
return p[math.random(table.getn(p))]:GetPos()
end
function MapBegrenzung(ply, movedata)
local p = movedata:GetOrigin()
if (p.x > 16200) or (p.x < -16200)
or (p.y > 16200) or (p.y < -16200)
or (p.z > 16200) or (p.z < -16200) then
movedata:SetOrigin(GetRandomSpawnpoint())
movedata:SetVelocity(Vector(0,0,0))
end
end
hook.Add("SetupMove", "LoClipErsatz", MapBegrenzung)
So? :)
Diesmal sogar getestet, klappt wunderbar
Powered by vBulletin® Version 4.2.2 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.