diff options
Diffstat (limited to 'Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d')
| -rw-r--r-- | Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/DefCore.txt | 21 | ||||
| -rw-r--r-- | Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Graphics.png | bin | 0 -> 2238 bytes | |||
| -rw-r--r-- | Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Names.txt | 2 | ||||
| -rw-r--r-- | Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Overlay.png | bin | 0 -> 2580 bytes | |||
| -rw-r--r-- | Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Script.c | 109 |
5 files changed, 132 insertions, 0 deletions
diff --git a/Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/DefCore.txt b/Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/DefCore.txt new file mode 100644 index 0000000..c626851 --- /dev/null +++ b/Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/DefCore.txt @@ -0,0 +1,21 @@ +[DefCore]
+id=KC7I
+Name=Keycard
+Version=4,9,5
+Category=C4D_Object|C4D_SelectMaterial|C4D_SelectKnowledge|C4D_SelectHomebase
+MaxUserSelect=10
+Width=8
+Height=5
+Offset=-4,-3
+Value=10
+Mass=10
+Components=METL=1;
+Picture=0,5,64,48
+Vertices=2
+VertexX=-4,4
+VertexY=0,0
+VertexFriction=60,60
+Rebuy=1
+Collectible=1
+Rotate=1
+ColorByOwner=1
diff --git a/Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Graphics.png b/Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Graphics.png Binary files differnew file mode 100644 index 0000000..2d9c553 --- /dev/null +++ b/Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Graphics.png diff --git a/Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Names.txt b/Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Names.txt new file mode 100644 index 0000000..ea9589e --- /dev/null +++ b/Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Names.txt @@ -0,0 +1,2 @@ +DE:Schlüsselkarte
+US:Key card
\ No newline at end of file diff --git a/Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Overlay.png b/Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Overlay.png Binary files differnew file mode 100644 index 0000000..acdeab5 --- /dev/null +++ b/Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Overlay.png diff --git a/Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Script.c b/Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Script.c new file mode 100644 index 0000000..bd604c3 --- /dev/null +++ b/Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Script.c @@ -0,0 +1,109 @@ +#strict 2
+
+local readers;
+local color;
+
+func Initialize()
+{
+ readers = [];
+ ResetColor();
+}
+
+func ResetColor()
+{
+ SetColor(RGB(255, 255, 255));
+}
+
+func OnOwnerChanged()
+{
+ SetColorDw(color);
+}
+
+func HasReader(object reader)
+{
+ return GetIndexOf(reader, readers) != -1;
+}
+
+func CleanRemovedReaders()
+{
+ ArrayEraseItem(readers, 0, true);
+}
+
+func AddReader(object reader)
+{
+ if(!HasReader(reader))
+ {
+ readers[GetLength(readers)] = reader;
+ CleanRemovedReaders();
+ if(GetLength(readers) == 1)
+ {
+ SetColor(reader->GetColor());
+ }
+ }
+ return true;
+}
+
+func RemoveReader(object reader)
+{
+ ArrayEraseItem(readers, reader);
+ CleanRemovedReaders();
+ if(color == reader->GetColor())
+ {
+ if(GetLength(readers) > 0)
+ {
+ SetColor(readers[0]->GetColor());
+ }
+ else
+ {
+ ResetColor();
+ }
+ }
+ return true;
+}
+
+func SetColor(int newColor)
+{
+ color = newColor;
+ SetColorDw(newColor);
+}
+
+func Selection()
+{
+ if(GetLength(readers))
+ {
+ var first = true, descList = "";
+ for(var reader in readers)
+ {
+ if(reader)
+ {
+ Contained()->CreateSelectMark()->MarkObject(reader, 35);
+ var desc = reader->GetDescription() || "";
+ if(!first)
+ {
+ descList = Format("%s, ", descList);
+ }
+ descList = Format("%s<c %x>·</c> %s", descList, reader->GetColor(), desc);
+ first = false;
+ }
+ }
+ if(descList != "")
+ {
+ PlayerMessage(GetOwner(Contained()), "%s: %s", Contained(), SN7I->TargetText(), descList);
+ }
+ }
+}
+
+func Entrance(object container)
+{
+ if(GetOCF(container) & OCF_CrewMember)
+ {
+ Selection();
+ }
+}
+
+func GetColor()
+{
+ return color;
+}
+
+func IsAnvilProduct() { return true; }
|
