Kärcher fest auf Map verbauen mit Funktion

Opa114
Posts: 13
Joined: Fri Apr 22, 2016 9:16 pm

Kärcher fest auf Map verbauen mit Funktion

Post by Opa114 »

Hi,

ist es möglich den Kärcher Hochdruckreiniger fest auf einer Map zu verbauenen mit all seinen Funktionen?
Ich habe gelesen das es die Möglichkeit gibt, das Ganze über die Vehicles.xml zu realisieren - fände aber schöner den fest in der Map zu verbauen.

Danke
Stefan
User avatar
MAurUS
GIANTS Software | Gameplay Programmer
Posts: 133
Joined: Thu Jun 16, 2011 11:54 am
Location: ER
Contact:

Re: Kärcher fest auf Map verbauen mit Funktion

Post by MAurUS »

In der defaultVehicles.xml in deiner Map kannst ihn hinzufügen. Das kann dann z. B. so aussehen:

<item className="HighPressureWasher" filename="data/placeables/highPressureWasher/kaercher/kaercherHDS918-4M.xml" position="x y z" rotation="x y z"/>

Für "x y z" natürlich die Position und Rotation einfügen.
Opa114
Posts: 13
Joined: Fri Apr 22, 2016 9:16 pm

Re: Kärcher fest auf Map verbauen mit Funktion

Post by Opa114 »

das über die defaultVehicles.xml war mir klar. Aber eine Möglichkeit direkt über den GE fest zu verbauene gibt es nicht oder?
User avatar
MAurUS
GIANTS Software | Gameplay Programmer
Posts: 133
Joined: Thu Jun 16, 2011 11:54 am
Location: ER
Contact:

Re: Kärcher fest auf Map verbauen mit Funktion

Post by MAurUS »

Ohne ein zusätzliches Script geht das leider nicht. Sehe dort aber auch keinen Vorteil gegenüber der Möglichkeit über die defaultVehicles.xml.
Opa114
Posts: 13
Joined: Fri Apr 22, 2016 9:16 pm

Re: Kärcher fest auf Map verbauen mit Funktion

Post by Opa114 »

Wie würde so aus zusätzliches Script aussehen? Nur mal so aus interesse.
Stimmt schon - im Prinzip macht es keinen Unterschied ob per defaultVehicles.xml oder in der Map verbaut.
agp8x
Posts: 589
Joined: Mon Sep 01, 2008 2:25 pm

Re: Kärcher fest auf Map verbauen mit Funktion

Post by agp8x »

Im Modhub gibt es eine Platzierbare Tankstelle, da wurde der Weg andersrum gegangen, von GasStation auf Placable, das kann man in Endeffekt 1:1 rumdrehen, dann braucht man nichtmal ein extra Skript.
Opa114
Posts: 13
Joined: Fri Apr 22, 2016 9:16 pm

Re: Kärcher fest auf Map verbauen mit Funktion

Post by Opa114 »

@agp8x: Hast du zufällig den Link? Ich habe dort mehrere platzierbare Tankstelen gefunden - welche ist die von der du sprichst?
agp8x
Posts: 589
Joined: Mon Sep 01, 2008 2:25 pm

Re: Kärcher fest auf Map verbauen mit Funktion

Post by agp8x »

Opa114
Posts: 13
Joined: Fri Apr 22, 2016 9:16 pm

Re: Kärcher fest auf Map verbauen mit Funktion

Post by Opa114 »

Danke. Habe mir das mal angeschaut. Werde aber nicht ganz schlau daraus.

Ich habe schon einige andere Platzierbare Objekte fest im GE verbaut, die liefen die auch ohne Probleme nur beim Kärcher (Original Giants) will es nicht funktionieren. Habe es probiert mit dem User-Attribute: onCreate = HighPressureWasher.onCreate - bringt aber auch nichts und da keine LUA beiligt, kann ich diese auch nicht per ExtraSourceFile einbinden.

Irgendwo muss ich eine Kleinigkeit übersehen bzw. nicht sehen :/
User avatar
HeinzS
Posts: 11728
Joined: Mon May 16, 2011 5:19 pm

Re: Kärcher fest auf Map verbauen mit Funktion

Post by HeinzS »

Opa114
Posts: 13
Joined: Fri Apr 22, 2016 9:16 pm

Re: Kärcher fest auf Map verbauen mit Funktion

Post by Opa114 »

Will trotzdem irgendwie nicht. Habe als User-Attribut: onCreate = HighPressureWasher.onCreate eingetragen mit Typ scriptCallback und auch mal die oben verlinkte LUA in der Moddesc.xml der Map eingebunden. Kann den Kärcher nicht starten und sehe auch nicht die Optionen dazu.
User avatar
HeinzS
Posts: 11728
Joined: Mon May 16, 2011 5:19 pm

Re: Kärcher fest auf Map verbauen mit Funktion

Post by HeinzS »

probiere doch mal: onCreate = HighPressureWasherPlaceable.onCreate
agp8x
Posts: 589
Joined: Mon Sep 01, 2008 2:25 pm

Re: Kärcher fest auf Map verbauen mit Funktion

Post by agp8x »

Nein, der Klassenname ist schon HighPressureWasher, das passt schon. Mir ist nur grade aufgefallen, dass der Kärcher ja samples und so laden muss. Sprich: Du brauchst ein Skript, dessen onCreate du einträgst (Placeables haben diese Methode gar nicht, es kann also so nicht gehen), wo du den Dateinamen der XML ($data/placeable/kärcher...), die xyz-, und Rotationswerte sowie initRandom mit false angibst. Damit kannst du dann HighPressureWasher:load aufrufen.
Aslo so etwa in die Richtung:

Code: Select all

function HighPressureWasherMap:onCreate(id)
	kaercher:load("Utils.getFilename("$data/...", unpack(getWorldTranslation(id)), unpack(getRotation(id)), false);
end;
Da wäre "kaercher" dann eine Variable mit der Rückgabe von HighPressureWasher:new
Opa114
Posts: 13
Joined: Fri Apr 22, 2016 9:16 pm

Re: Kärcher fest auf Map verbauen mit Funktion

Post by Opa114 »

Erstmal Danke für die Rückmeldung - kam leider erst heute wieder dazu.

Habe nun die von dir beschriebene Funktion in meiner LUA eingetragen und diese als ExtraSourceFile angegeben.
Allerdings erhalte ich folgende Fehlermeldung in der LOG: "attempt to index global 'HighPressureWasherMap' (a nil value)"

Im GE habe ich bei onCreate sowohl: "HighPressureWasherMap.onCreate" als auch "HighPressureWasher.onCreate" probiert- ohne Erfolg.

So sieht die Funktion aus:

Code: Select all

function HighPressureWasherMap:onCreate(id)
kaercher:load(Utils.getFilename("$data/placeables/highPressureWasher/kaercher/kaercherHDS918-4M.xml", g_currentModDirectory), unpack(getWorldTranslation(id)), unpack(getRotation(id)), false);
end;
agp8x
Posts: 589
Joined: Mon Sep 01, 2008 2:25 pm

Re: Kärcher fest auf Map verbauen mit Funktion

Post by agp8x »

Du musst noch die neue Klasse definieren (oder wie auch immer sich das in Lua nennt): Klassenname = {}
Post Reply