Construction Set Benutzung einer Tür-Tor einschränken

Eddy Kaschinski

Angehöriger
Hallo Leute

Wie stelle ich es an, das nur eine bestimmte Gruppe ein Tor durchschreiten kann?

Folgende Situation: Ein Dorf mit einer Mauer drumherum. Fraktion-Dorfbewohner und Player. Dem Tor diese Fraktion zugewiesen unter Ownership.

Trotzdem fallen Creaturen in das Dorf ein. Sie können das Tor öffnen und das soll niemand, der nicht dazu gehört.

Wie kann ich das besser machen?

PS: Schlüssel hilft auch nicht. Einmal offen gehen alle durch.............
 
2. Möglichkeiten:

1. Du belegst das Tor mit einem Skript, der das Tor 10sec nach dem es aufgeschlossen worden ist, wieder verschließt.

2. Du legst auf den Durchgang im Tor einen Trigger, der nur Leute einer Fraktion durchlässt (GetFaction ist glaube ich der Befehl) und andere einfach wegportet von der Mauer.
 
Es gibt auch die Möglichkeit, ein Script auf die Tür zu legen, dass bei Aktivierung den NPC/Kreatur/was auch immer mit dem Spieler gleich setzt und dann abfragt, ob er in der Faction x ist. Wie das aussehen muss, weiß ich aber nicht, dafür kann ich aber den Scriptthread empfehlen.
 
Leg ein Skript darauf.
Begin OnActivate()
If ( IsActionRef Player == 1 ); oder Faction
Activate
EndIf
End
Wie das mit der Factino gehen soll, weiß ich nicht. Hab grad nur den Befehl GetInFaction. Ob ( IsActionRef GetInfaction [Faction]== 1 ) geht? ich glaubs nicht, da es eigentlich Ref.GetInFaction [Faction] heißt.
 
Es gibt auch die Möglichkeit, ein Script auf die Tür zu legen, dass bei Aktivierung den NPC/Kreatur/was auch immer mit dem Spieler gleich setzt und dann abfragt, ob er in der Faction x ist. Wie das aussehen muss, weiß ich aber nicht, dafür kann ich aber den Scriptthread empfehlen.
Das geht aber nur, wenn der Player in der Faction ist. Solange die Unterscheidung "Player oder Faction" besteht, kann man davon ausgehen, dass der Player nicht zwangsläufig in der Faction ist.
Was dann zu Fehlern führen würde.
 
Skript 1.
Code:
scn Wasauchimmer

float timer

Begin OnActivate
if GetinFaction [Fraktionsname] == 1
[TürId].unlock
Activate
set timer to 10
endif
end

Begin GameMode
if timer == 10
set timer to timer - GetSecondsPassed
endif

elseif timer == 0
[TürId].lock 100
endif
end

Sollte eigentlich so gehen, nagel mich aber bitte nicht darauf fest :D

mfg
 
Zuletzt bearbeitet:
Falls GetInFaction tatsächlich ohne Ref auskommt(angeblich: Ref.GetInFaction, also z.B. Player.GetInFaction), dann sagt das hier bitte.
Ich hab nämlich keine Zeit das auszuprobieren.:-D