Wie funktioniert der Teleporter aus dem Hazardpack?
Es muss ja ein Zielteleporter festgelegt sein... muss man das beim erstellen von Szenarien immer vorher machen, wie?
Oder kann man das auch irgendwie während des Spiels machen?
Ich möchte in einem normalen Spiel den Teleporter bauen und ihn dann halt nutzen können.
Aber ich komm nicht dahinter, wie ich ihn nutzbar machen kann.
edit: hat die Konsole etwas damit zu tun?
Ich vermute dass auch die Unterstützungsdrohne ähnlich funktioniert? Bisher passiert da recht wenig, also eig garnichts, wenn ich diese in einem normalen Spiel z.b kaufe.
Ich hab das Uplink System aus dem Star Empire Pack nun so verändert, dass alles in der basis verschickt werden kann ,also auch die Clonks selber :)
Ist somit also viel besser, als ein Teleporter, wodurch ich auf ihn verzichten kann :)
Aber wenn ihr mir sagen könnt, wie die Unterstützungsdrohnen funktionieren, wärs natürlich trzd. schön :)
Habe es übrigens heute doch noch lösen können, war garnicht so schwer. Habe mir nur ein paar Hazard Szenarien Skripte anschauen müssen, wie die Teleporter dort funktionieren.
Und zwar muss die Console den Set Befehl dafür auf den Teleporter anwenden, damit die Console dann für den bestimmten Teleporter funktioniert.
Ich hab deshalb nun das Skript der Konsole so angepasst, dass man auf der Werfen Taste das Ziel (also Set) beliebig wählen kann (alle objekte auf der Karte die die Funktion "IsConsoleTarget" haben. So kann ich mit jeder Konsole jeden Teleporter bedienen :) auch dass das Sichtfenster an den gewählten Teleporter anpasst, habe ich erfolgreich kopieren(und anpassen) können :)
Jetzt bin ich gerade an den Deckengeschützen (SEGU), dass man die mithilfe der Konsole bewaffnen kann. Dauert leider etwas länger als gedacht, weil der Befehl nicht in der Kosole auftaucht... zudem stürzt das Spiel ab, wenn man ein spezielles Geschütz bedinenen will, welches gerade EMP schock hat... habe deswegen auch in hazardmaps geschaut und gesehen, dass dort ein Extra Objekt erstellt wird, um die Geschütze zu steuern. Vermutlich um genau dieses Abstürzen des speils zu verhindern. Werde jetzt versuchen es so irgendwie umzusetzen :)
edit: so auch das mit den geschützen hat geklappt =)
edit2:
Was gibt es noch, was mit der Konsole bedient werden kann? Würde ungern jedes Skript einzeln nach "Consol" durchsuchen :D , also falls euch noch was einfällt, immer her damit :)
Den Projektor kann man damit ein- und ausschalten :P
Hangartore funktionieren auch. Sonst fällt mir grad spontan nix ein.
Hmm.. ich hab grad gemerkt es klappt mit den Geschützen doch noch nicht so ganz, wie es soll..
und zwar habe ich ja ein hilfsobjekt erstellt, welches von der Konsole angesprochen wird und dann die Befehle an alle vorhandenen Geschütze weitergeben soll:
Die Funktion im Hilfsobjekt:
public func ConsoleControlled(int i)
{
if(i == 1)
{ for(var gun in FindObjects(Find_ID(SEGU),Find_Owner(GetOwner())))
gun->ConsoleControlled(1);
on = !on;}
if(i == 2)
{
for(var gun in FindObjects(Find_ID(SEGU),Find_Owner(GetOwner())))
gun->ConsoleControlled(2);
}
Die Funktion in den Geschützen:
public func ConsoleControlled(int i)
{
if(i == 1)
{
if(Active) Active = 0;
else
{
Active = 1;
}
}
if(i == 2)
{
ChooseWeapon();
};
}
}
i==1 ist für das ein- und ausschalten und i==2 ist für das Bewaffnen.
Mit einem (1) Geschütz klappt das. Aber wenn ich ein zweites Geschütz baue, reagiert es nicht auf die Befehle vom Hilfsobjekt. Ist die Fettgedruckte for schleife im Skript richtig? Es soll bei allen Geschützen, die der Spieler kontrolliert, die Funktion auslösen. Es passiert aber nur bei einem Geschütz, anstatt bei allen.
Zusätzlich gibt es noch das Problem, dass die Grafik der Bewaffnung nach kurzer Zeit verschwindet =/ Die Waffe ist noch da, das merkt man daran ,dass wenn ein Feind drunter langläuft, er beschossen wird. Aber man sieht die Waffe nicht mehr. Woran könnte das liegen?
edit:
das Grafikproblem ist nach ein bisschen basteln hier und da zurzeit wieder weg.. keine ahnung ob zufall, oder ob ich nen fehler behoben habe..
Hab das Problem gefunden.
Die Fuknktion "ChooseWeapon" im Geschützobjekt war mehr oder weniger das Problem.
Und zwar hat mein Hilfsobjekt in jedem Geschütz ein Menü öffnen lassen, wo man sich die Waffe wählen kann. Logischerweise kann aber nur ein Menü gleichzeitig offen sein, weshalb daadurch dann letzlich nur ein Geschütz steuerbar war.
Daher habe ich die ChooseWeapon Funktion nun ins Hilfsobjekt verlagert und rufe von dort aus, dann in den geschützen gleich die "Arm()" und "UnArm()" Funktionen auf. So klappt alles :)
Das sind immer echt doofe Fehler, weil ich ewig brauche um sie zu finden :D
Beliebt bei mir ist auch der Fehler
if (armed==1) {armed=0;}
if (armed==0) {armed=1;}
und dann wundere ich mich, warum armed immer gleich 1 ist und nie 0 :D (logischerweise muss halt ein return dahinter, damits nicht weiter geht... )
>Was gibt es noch, was mit der Konsole bedient werden kann? Würde ungern jedes Skript einzeln nach "Consol" durchsuchen :D , also falls euch noch was einfällt, immer her damit :)
Hazard-Kräne und Pumpen fallen mir da noch spontan ein.