der objects.c4d ist natürlich dann innerhalb eines objektordnders "sammlung" , das sollte doch dann gehen, oder nicht?
Das mit den Objekte in der Hand halten konnte ich schon isolieren, da es schon vorher in einem appendto stand. Musst nur den ganzen Wunden-kram aus dem skript löschen, sieht jetzt so aus:
appendto
/* Initialisierung */
protected func Initialize()
{
AddEffect("InventarCheck", this, 1, 1, this);
AddEffect("IntWoundHandling",this,1,0,this);
return(_inherited());
}
private func FxInventarCheckTimer()
{
if(Contents() && (GetAction() eq "Walk" || GetAction() eq "HoldWalk" || GetAction() eq "Jump" || GetAction() eq "HoldJump"))
{
//Richtungen
var iDir = GetDir(); if(iDir == 0) iDir = -1; else iDir = 1;
var iDirReversed = GetDir(); if(iDirReversed == 0) iDirReversed = 1; else iDirReversed = -1;
// Maße und Anpassungen
var iYOffset = -1000;
var iXOffset = 4000;
var iXWidth = iDirReversed * 1000;
var iYHeight = 1000;
// Zusätzliches
var iOverlayMode = GFXOV_MODE_Object;
var szAction = 0;
// Sonderbehandlungen:
if(GetID(Contents()) == AXE1) { iXWidth = iDir * 1000; }
if(GetID(Contents()) == FLAG) { iXWidth = iDir * 1000; }
if(GetID(Contents()) == BOW1) { iXOffset = 3000; iYOffset = -1500; }
if(GetID(Contents()) == LANC) { iYOffset = -15000; }
if(GetID(Contents()) == ARCH) { iYOffset = -8000; }
// Sonderbehandlungen mit Aktionen:
if(GetID(Contents()) == CNDL) { iXOffset = 5500; iYOffset = -6500; }
if(GetID(Contents()) == BANR) { iYOffset = -15000; }
var iR = GetR(Contents());
SetR(0, Contents());
// Legt die Objektgrafik auf den Clonk
SetGraphics(0, 0, GetID(Contents()), 1, iOverlayMode, szAction, GetObjectBlitMode(Contents()), Contents());
SetObjDrawTransform(iXWidth, 0, (GetDir()*2-1) * iXOffset, 0, iYHeight, iYOffset, 0, 1);
// Hand über das Objekt legen
SetGraphics(0, 0, CHD_, 2, GFXOV_MODE_Base);
SetObjDrawTransform((GetDir()*2-1) * 1000, 0, (GetDir()*2-1) * 1000, 0, 1000, 00, 0, 2);
if(this->~IsHidden()) {
SetClrModulation(RGBa(205,205,205,170),this,1);
SetClrModulation(RGBa(205,205,205,170),this,2);
}
if(GetAction() eq "Walk") SetAction("HoldWalk");
if(GetAction() eq "Jump") SetAction("HoldJump");
SetR(iR, Contents());
}
else
{
// Overlay Grafiken entfernen
SetGraphics(0, 0, 0, 1);
SetGraphics(0, 0, 0, 2);
if(GetAction() eq "HoldWalk") SetAction("Walk");
if(GetAction() eq "HoldJump") SetAction("Jump");
}
}
(also für jeden, der das auch haben will, dass der Clonk die items in der Hand hält :) :D wie gesagt aus dem E.P.I.C Pack)
EDIT: okay, man benötigt die Grafiken im EPIC Pack dafür, sonst klappts nicht ^^
jetzt mache ich mich mal an die Änderungen ,die es im clonkskript gibt und vergleiche mit dem Original... ich denke man kann das neue clnkskript ruhig verwenden, muss es aber ein klein wenig ändern, da der Clonk darin nicht mit Lehm und Metal brücken bauen kann. Das wird einem extra appendto geregelt, keine ahnung warum.
Jedenfalls schau ich mir das jetzt genau an, und vermutlich kann ichs doch verwenden.
Edit:
so ich habe nun alles verglichen... für meine Wünsche musste ich lediglich die neuen Kampfmoves usw. löschen und dass dabei eben wunden entstehen. Außerdem noch die neue Art des Bäume zerkleinerns musste ich im Skript löschen. Nun sind die einzigen Unterschiede zum Original die Hide und diese feithDeath Fähigkeit :)
In der Actmap sind auch noch die neuen Fähigkeiten defininert, habe dort auch die nicht benötigten Dinge gelöscht.
Und natürlich braucht man aus der StringTblUS.txt Datei die Befehle im Menü:
CtxFeignDeath=Feign Death
CtxRise=Rise
CtxHide=Hide
Aber was ich nicht verstehe, ist warum ich mit diesem neuen Clonk keine metall und Lehmbrücken bauen kann... und warum es der object Clonk kann, obwohl im Skript dazu nichts steht...
einzige erklärung die ich habe, ist dass es im original ebenfalls irgendein Clonk appendto gibt, welches ihm diese Fähigkeiten zuschreibt...
Ach und merkwürdigerweise wird durch den neuen Clonk das Sichtfeld reduziert. Es liegt defintiv am Clonk. Ich vermute, dass ich im Script irgendeine Änderung einer Zahl übersehen habe, wodurch das Sichtfeld kleiner wird...
Fällt euch da was ein ,was dafür verantwortlich sein könnte?