>Die ID der "Neuen" Königinen-Ameise ist von ANTK auf ANG2 geändert worden
>da wenn ich diese änder aus einem mir Unerfindlichen Grund die Ameise sonst
>nicht mehr fliegen kann.
>Gibt es eine Möglichkeit zu verhindern das der "Clonk" in der Königin gesteuert werden kann?
func Collection2(object obj)
{
if (GetOCF(obj) & OCF_CrewMember) obj->SetCrewEnabled(false);
}
func Ejection(object obj)
{
if (GetOCF(obj) & OCF_CrewMember) obj->SetCrewEnabled(true);
}

alle anderen Fähigkeiten bleiben erhalten.
GetName(0, ANTK) machen - wenn das einen Namen ausspuckt, dann wär die ID vergeben :)

>ich möchte das das Gebäude Feuergrube nur für den Spieler und seine Verbündeten angezeigt wird und ansonsten die Grafik bzw. Farbe der Erde hat... über diese Funktion kann ich schonmal dafür sorgen das nur der Spieler und sein Verbündeter ihn sieht aber bei einem Feind ist



>Jetzt is das Pack auch auf Clonk Forge vertreten
>http://www.clonkforge.net/pr.php?pr=1522
nur der "Beschreibungsbereich", dieser hellgrüne Hintergrund, ich weiß nicht.. irgendwas gefällt mir daran nicht 
>if(GetCon()<100) SetPosition (0,GetY()-1, object pObj, bool fCheckBounds);
"object pObj" dann heisst das, dass du an diese Stelle ein "object" Parameter übergeben sollst und der intern "pObj" heisst (was für dich in dem Fall egal ist).SetPosition gehört da das Objekt hin, von dem die Position geändert werden soll (bzw this() oder 0 wenn das aktuelle Objekt gemeint ist).SetPosition(GetX(), GetY() - 1); schon reichen, wenn du das Objekt nach oben verschieben willst (und +1 für nach unten). Bzw SetPosition(GetX(), GetY() -1, this(), false); wenn du es ausschreiben willst.
>Wann wird das denn ausgefuehrt? Und bist du dir sicher, dass der Pilz da noch nicht ausgewachsen ist? (GetCon < 100)
TimerCall=TimerCall? (Weil so hast du ja deine Funktion genannt).Log("aktuelle groesse: %d", GetCon()) in deine Funktion stecken und dich dann wundern, warum entweder garnichts im Log landet, oder trotz einer Größe <=100 sich die Position nicht ändert
>Log("aktuelle groesse: %d", GetCon());
>?????????????
>is doch in der DefCore und im script??? Was mach ich falsch?
"unexpected value "Timer"" also "unerwarteter Wert "Timer"", dann könnte es zB sein, dass er den Wert oben schonmal gefunden hat. Hast du den Eintrag doppelt drin?
Peinlich... 

>Lesbarkeit sollte über allem anderen stehen.
?
SetObjDrawTransform(1000, 0, 0, 0, 1000, 0, this); für Originalgröße und SetObjDrawTransform(1500, 0, 0, 0, 1500, 0, this); für 150% Größe


public func Activate(object pBy){
// Kram vorher. Wenn Melee aktiviert ist, brauchst du kein GameOver(), das macht das Ziel dann alleine
for(var i = 0; i < GetPlayerCount(); i++)
if(GetPlayerByIndex(i) != GetOwner(pBy)) EliminatePlayer(GetPlayerByIndex(i)); // Ist der Spieler " i " nicht der Besitzer des Aktivierenden Objetes -> Eliminieren
return true;
}
public func Activate(object pBy){
// Kram vorher. Wenn Melee aktiviert ist, brauchst du kein GameOver(), das macht das Ziel dann alleine
for(var i = 0; i < GetPlayerCount(); i++)
if( Hostile(GetPlayerByIndex(i),GetOwner(pBy)) ) EliminatePlayer(GetPlayerByIndex(i)); // Ist der Spieler " i " mit dem Objekt, das aufruft verfeindet -> Eliminieren
return true;
}
GetPlayerByIndex benutzt wird:GetPlayerCount wäre 6). Wenn du jetzt über alle Spieler loopst, würde for(var i=0; i < GetPlayerCount(); ++i) Log("%s", GetPlayerName(i)); alle erwischen und du würdest die Namen aller Spieler rausbekommen.GetPlayerCount ist jetzt 5. Die selbe Schleife von oben würde zwar fünf Spieler durchgehen, aber sie würde die Lücke nicht beachten und damit würdest du den letzten Spieler nicht erwischen (weil i niemals 5 sein wird). GetPlayerByIndex ignoriert Lücken und gibt dir den richtig echten Spieler zu einem Index


public func Initialize(){
RemoveAll(GetID());
}
Danke! 

Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill