PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit createunit Einheiten


SWAT
02.12.2005, 03:52
So, folgendes:

Ich bekomme immer eine Fehlermeldung, wenn ich mir mithilfe von createunit einen Soldaten erstellen will.

Mein Befehl sieht derzeit so aus:

p1="police1"createunit[[10448.362305,4105.854492],““,0.5,“PRIVATE“]

Wenn ich das Script aufrufe, kriege ich:

Error ungültige Zahl in Ausdruck


Über den createvehicle-Befehl geht es zwar wunderbar...

Das Dumme ist nur, er schaut dann immer nach Norden und sollte eigentlich in die genau entgegengesetzte Richtung schauen.

Allerdings hilft da weder ein dowatch- noch ein domove getpos-Befehl.

*Edit* hab grade gelesen, createvehicle ist eigentlich für begehbare Fahrzeuge...

Naja, vielleicht weiß ja jemand, was bei meinem Befehl nicht stimmt... Die Koordinaten sind übrigens korrekt, da sie ja bei createvehicle funktionieren

MarcusErgalla
02.12.2005, 05:56
Generell empfehle ich dir, einen Spawnpoint in das Script mitreinzubringen, ich finde das ganze etwas übersichtlicher. Denn musst du natürlich vorher noch festlegen, in etwa so:

_Spawnpoint = Obj_Spawnpoint_1

Danach fügst du ihn in den Createbefehl ein

_P1 = "Police1" createunit camcreate getpos _Spawnpoint

Wenn du möchtest das er gleich nach Süden schaut geht das so

_Spawnpoint = Obj_Spawnpoint_1
_P1 = "Police1" createunit camcreate getpos _Spawnpoint
_P1 getdir 180

Außerdem solltest du mit setskill den skill deiner Einheit dann noch festlegen!

Hoffe das hilft dir, btw wo hast du denn den Befehl her den du benutzt hast, hab den noch nie gesehen?

SWAT
02.12.2005, 13:53
Der Befehl ist aus Lesters inoffizieller Comref... zu finden bei Mapfact unter Tutorials

Mit dem Spawnpoint... da hab ich ja mal gar keine Ahnung von.
Wie erstelle ich den denn im Editor???

MarcusErgalla
02.12.2005, 14:31
Aso, der Spawnpoint ist nur eine Logik die du vorher dort gesetzt hast.

SWAT
02.12.2005, 14:34
Ich probier es mal aus grade und sag dann Bescheid... danke erstmal:)

SWAT
02.12.2005, 14:52
Dein Script hat auch nicht funktioniert...

Zuerst hat dem Spiel dein getdir Befehl nicht gefallen... setdir hingegen findet er wunderbar

Aber nun:

Es kann sich irgendwie nicht mit getpos anfreunden... auch ein Umstellen auf setpos bringt nichts... ich lese immer:

Error setpos (bzw. getpos) typ nichts erwartet Objekt

MarcusErgalla
02.12.2005, 15:48
Schande, ich sollte in Zukunft nicht mehr morgens und ohne Kaffee intus scripten :D . Ist ja wirklich voller Fehler :ugly:
Hab es noch nicht probiert, sollte aber richtig sein:


_Spawnpoint = Obj_Spawnpoint_1
_ORAD = "Police1" ;<- Eventuell müssen hier die Klammern weg, bin mir nicht sicher
_P1= _ORAD createUnit getpos _Spawnpoint
_P1 setdir 180

SWAT
02.12.2005, 16:35
:( :( :( Hat auch nicht funktioniert...

Mit "" bei police1 produziert er mir wieder eine Fehlermeldung... und ohne wird das Script erst gar nicht aufgerufen

MarcusErgalla
02.12.2005, 17:01
Mal eine Frage, Police1 ist schon die Editorbezeichnung für die Einheit, die du auch createn möchtest?

_Spawnpoint = Obj_Spawnpoint_1
_P1 = "Police1" createUnit getpos _Spawnpoint
_P1 setdir 180


Falls das nicht funktioniert, versuch mal das:


_P1 = "Police1" camcreate getpos _Spawnpoint


Camcreate ist zwar, wie man mich jetzt im Mapfactforum belehrt hat, nur für Objekte und leere Einheiten, aber wer weiß... :)

Hoffe das funkt wenn ned: :schlagen:

SWAT
02.12.2005, 17:53
Nein... der ruft den gar nicht erst auf... könnte es vielleicht an police1 hängen???

Hab mal aus der Mission.sqm rauskopiert



class Item1
{
side="CIV";
class Vehicles
{
items=1;
class Item0
{
position[]={10438.303711,123.974998,4099.894043};
azimut=140.000000;
special="NONE";
id=1;
side="CIV";
vehicle="police1";
player="PLAYER COMMANDER";
leader=1;
skill=1.000000;
};
};
};

$cruffy
02.12.2005, 19:06
Da hast Du Recht, es liegt am police1. Du musst wie Marcus schon sagte den Classname angeben, also hier "Item1"

SWAT
02.12.2005, 19:26
Dann sagt er mir als Fehler bad vehicle type item1

SWAT
04.12.2005, 04:40
Also, ich hab jetzt so ziemlich alles ausprobiert, was nur auszuprobieren geht... aber ich habe echt das Gefühl, ich bin für das creatunit einfach zu doof...

Entweder krieg ich Fehlermeldungen oder er ruft das Skript nicht auf...

Createvehicle krieg ich ja hin... :nixweiss:

TeRp
07.12.2005, 19:52
type createUnit unitInfo
Operand types:
type: String
unitInfo: Array
Compatibility:
Version 1.34 required.
Type of returned value:
Nothing
Description:
Create unit of given type . Format of unitInfo is: [pos (Position),group (Group), init (String), skill (Number), rank (String)] Note: init, skill, and rank are optional, default values are "", 0.5, "PRIVATE".

Example:
"SoldierWB" createUnit [getMarkerPos "barracks", groupAlpha]

Fällt was auf? http://foren.hx3.de/images/icons/icon9.gif

SWAT
07.12.2005, 21:11
Ja, hat trotzdem nicht funktioniert...

Aber egal, hab schon eine Lösung mit setpost getpos... die geht auch

TeRp
08.12.2005, 21:09
Ja, hat trotzdem nicht funktioniert...

Das bezweifle ich stark, wenn du diesen Textabschnitt wirklich verstanden haben solltest...

SWAT
09.12.2005, 00:46
Ich bin mir eigentlich ziemlich sicher, dass ich ihn verstanden habe, denn auch wenn ich kein Script-Gott bin, kann ich trotzdem solche Zusammenhänge lesen...

Woran es jetzt liegt, dass es trotzdem nicht klappt, entzieht sich leider auch völlig meiner Kenntnis...

Aber dank Clausewitz hab ich nun auch noch eine andere Möglichkeit aufgezeigt bekommen, die für meine Zwecke auch absolut ausreichend ist

Ich danke also allen, die versucht haben mir zu helfen, auch wenn ich es diesmal nicht so hinbekommen habe, wie ich es wollte...

Ich werde bei Gelegenheit aber alles nochmal ausprobieren, da ich dieses Prinzip trotzdem noch kapieren will. Wenn was ist, meld ich mich...

Also Danke nochmal an alle:)

Mr-Murray
24.12.2005, 17:50
Servus
Besteht das Problem immernoch???

Gruß
Mr-Murray

SWAT
24.12.2005, 19:00
Das Problem an sich hab mit einer anderen Methode gelöst... mit setpos getpos

Aber das Prinzip createunit hab ich leider immer noch nicht verstanden...

Mr-Murray
26.12.2005, 18:55
Es gibt ja verschiedene Arten Einheiten zu createn. Leider ist das Problem, dass man denen keine Namen zuteilen kann und teilweise gibt es leider auch Skillprobleme. Manche createten Einheiten sind manchmal dümmer als die Bäume, die dort umherstehen.
Da hätte Bohemedia ruhig noch mehr Freiraum geben können.

TeRp
26.12.2005, 20:11
[...] Leider ist das Problem, dass man denen keine Namen zuteilen kann [...]

Hu?
Bei createVehicle und camCreate hat man einen Rückgabewert und kann so sofort Namen zuweisen, bei createUnit muss man leider eben den Initparameter nutzen.
Aber möglich ist es trotzdem :)

Mr-Murray
27.12.2005, 03:28
Bei Objekten ist das kein Ding!!! Bei Einheiten wusste ich das allerdings nicht. Hmm...
Man kann ja nicht alles wissen! *lol*

TeRp
27.12.2005, 13:38
Bei Objekten ist das kein Ding!!! Bei Einheiten wusste ich das allerdings nicht. Hmm...
Man kann ja nicht alles wissen! *lol*

Nu ja, so z.B.

_type createUnit [getPos _pos,group temp,"newinfunit = this",_skill]

newinfunit ist dann der Name http://foren.hx3.de/images/icons/icon4.gif