From fa5403dccd986022b2a849e2078f043c3225348a Mon Sep 17 00:00:00 2001 From: Markus Mittendrein Date: Mon, 2 Jan 2017 19:33:41 +0100 Subject: Initial --- .../CardReader.c4d/Keycard.c4d/DefCore.txt | 21 ++++ .../CardReader.c4d/Keycard.c4d/Graphics.png | Bin 0 -> 2238 bytes .../CardReader.c4d/Keycard.c4d/Names.txt | 2 + .../CardReader.c4d/Keycard.c4d/Overlay.png | Bin 0 -> 2580 bytes .../CardReader.c4d/Keycard.c4d/Script.c | 109 +++++++++++++++++++++ 5 files changed, 132 insertions(+) create mode 100644 Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/DefCore.txt create mode 100644 Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Graphics.png create mode 100644 Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Names.txt create mode 100644 Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Overlay.png create mode 100644 Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Script.c (limited to 'Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d') 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 new file mode 100644 index 0000000..2d9c553 Binary files /dev/null and b/Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Graphics.png differ 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 new file mode 100644 index 0000000..acdeab5 Binary files /dev/null and b/Items.c4d/Sensors.c4d/CardReader.c4d/Keycard.c4d/Overlay.png differ 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· %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; } -- cgit v1.2.3-54-g00ecf