PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gegenstand innerhalb einer Zone halten


killshot
29.12.2014, 01:42
Hey Leute!

Ich würde gerne, in einer Panzer-TvT-Mission, Wartungspunkte bereitstellen, an denen man sein Fahrzeug halt reparieren kann.

Da wir AGM benutzen, benötigt man für die Reparatur ein Toolkit im Inventar (weiß nicht, ob's in Vanilla auch so ist), ich möchte allerdings nicht, dass ein Spieler das Toolkit mit ins Feld nehmen kann; der Panzer also nur an einem der Wartungspunkte wieder instand gesetzt werden kann.

Es sind also 4 Zonen (2xBasis,2xWartungspunkt), innerhalb derer jeweils 3 Toolkits zur Verfügung stehen sollen, die aber beim Verlassen des Bereichs, falls nicht abgelegt, aus dem Inventar des Spielers entfernt werden sollen.

Hätte da vielleicht jemand eine Lösung parat, bzw. eine alternative Idee, wie man das Problem lösen könnte?

Danke und Grüße :)

Drunken Officer
29.12.2014, 02:38
Arbeitest du mit Triggern?
kA wie jetzt genau die Bezeichnung von dem Ding ist.
Ist das toolkit eine Waffe? zumindest im Internet konnte ich auf die Schnelle einen eintrag in der CfGWeapons finden.
setzte bei den Trigger folgendes in die Init: this && local player && player hasweapon "toolkit"

deact: player removeweapon "toolkit"

killshot
29.12.2014, 03:04
Japp, läuft unter Waffen:

this addWeaponCargoGlobal "Toolkit";


Ich probier's direkt mal aus, danke für die Antwort.

Drunken Officer
29.12.2014, 03:10
addweapongargoglobal , damit füllst du dann eine Kiste auf, nehme ich an?

Denn einem Spieler kannst du so nix ins Inventar beamen

killshot
29.12.2014, 03:23
Genau, hab die ToolKits im Inventar vom RepTruck.

Dann grad mal nen 20x20 Auslöser gesetzt

Mehrfach
Bedingung: this && local player && player hasWeapon "ToolKit"
Bei Akt.: hint "Ok";
Bei Deakt.: player removeWeapon "ToolKit"


Der Trigger löst leider nicht aus, weder, wenn ich das ToolKit aus dem LKW nehme, noch, wenn ich mit dem ToolKit im Inventar aus dem Trigger laufe und ihn erneut betrete. Also der Hint wird nicht angezeigt.

Drunken Officer
29.12.2014, 03:27
??

Der Trigger soll doch nur auslösen, wenn der Spieler mit dem Ding den Bereich verläßt. Deswegen wird der hint so nicht erscheinen. Dafür ist die Bedingung nicht ausgelegt.
Probiere mal das hier. Kann sein
Bedingung: this && isPlayer && player hasWeapon "ToolKit"

Ansonsten muss ich mal zu Hause in meine Mission schauen. Da lasse ich mir ein Bild anzeigen, wenn der Spieler den Bereich betritt. Würde ich dann gegen Mittag mal posten, da es vom Sinn her das gleiche ist.

killshot
29.12.2014, 03:32
Dank dir für die Mühe!

Mit Bedingung: this && isPlayer && player hasWeapon "ToolKit"

gibt er mir die Fehlermeldung "Ungültige Zahl in Ausdruck"

Drunken Officer
29.12.2014, 04:27
Noch schnell im Editor getestet.

bedingung:
this && "ToolKit" in backpackItems player && (local player) && (vehicle player) in thislist

deak:
player removeItemFromBackpack "ToolKit"; fahrzeug addweaponCargoglobal ["Toolkit",1]

killshot
29.12.2014, 16:25
Hast du noch irgendwelche weiteren Einstellungen für den Auslöser gemacht?

Ich habe unter "Bedingung" und "Bei Deaktivierung" deinen jeweiligen Code reinkopiert, funktioniert bei mir leider nicht, egal ob ich das ToolKit aus dem LKW in meine Kleidung, meinen Rucksack oder den Waffenslot ziehe.

Es wird also weder aus meinem Inventar gelöscht, sobald ich die Auslöserzone verlasse, noch wird ein neues Toolkit im LKW (habe ich mit "fahrzeug" benannt) gespawnt.

Drunken Officer
29.12.2014, 17:35
Auslöser Aktivierung auf jeder bzw. die entsprechende Seite.

Also bei mir funktioniert es super. Es wird kontrolliert und wenn es im Rucksack ist wurde es gelöscht.

killshot
29.12.2014, 18:24
Ah, ok, das war das Problem, jetzt will er bei mir auch endlich!

Also, falls der Spieler das Toolkit im Rucksack oder in der Uniform bei sich trägt, wird es jetzt aus dem Inventar entfernt, allerdings bleibt noch ein dritter möglicher Platz, nämlich der mittlere Waffenslot (Raketenwerfer).

Irgendwie will er das nicht löschen. Hier ist, was bisher funktioniert und was sich noch verweigert:


Bedingung:
(this && "ToolKit" in backpackItems player && (local player) && (vehicle player) in thislist) or (this && "ToolKit" in UniformItems player && (local player) && (vehicle player) in thislist) or (this && "ToolKit" in (items player + assignedItems player) && (local player) && (vehicle player) in thislist)

Bei Deaktivierung:
player removeItemFromBackpack "ToolKit"; player removeItemFromUniform "Toolkit"; player unassignItem "ToolKit"; player removeItem "ToolKit"; player unlinkItem "ToolKit"; player removeWeapon "Toolkit";

Was könnte es sonst noch für ein Befehl sein?!

Cartman
29.12.2014, 18:35
Warum benutzt Du nicht einfach ein Reparaturscript?

Ich mach das auch immer so. Da hast Du dann einen Trigger in den man reinfährt und das Fahrzeug wird repariert, aufgetankt und aufmunitioniert.

Dann kannst Du da noch, fürs Ambiente, ein paar Objekte hinstellen, ein paar Kameraden in Panzerkombi und vielleicht noch nen Dialog als Text einblenden.

Kommt, finde ich, immer besser, als wenn man da mit Reparturtrucks, oder Tool-Kits rumhantieren muss ;).

killshot
29.12.2014, 18:56
Ja, das wäre die Notlösung, allerdings ist das Reparieren mit AGM schon ein bisschen aufwendiger geworden, sodass da dann auch nochmal Teamplay eine Rolle spielen würde.

Und hier fehlt ja jetzt nur noch der Befehl, wie man diesen vermaledeiten mittleren Waffenslot leerräumen kann...

Wenn ich noch removeAllWeapons player; in die BeiDeaktivierung-Zeile vom Auslöser eintrage, dann löscht er das Toolkit, wenn ich aber player removeWeapon "ToolKit"; verwende, bleibt es im Slot...

https://community.bistudio.com/wiki/removePrimaryWeaponItem
Funktioniert anscheinend auch nicht.

Drunken Officer
29.12.2014, 19:25
Wenn das ToolKit im Rucksack ist, muss es aus dem Backpack gelöscht werden...

Und ein Toolkit ist kein Item, dass hattest du selber schion festgestellt. Wieso probierst du es dann mit removeItem??

killshot
29.12.2014, 19:25
Ok, hab's dann jetzt doch noch gefunden zum Glück.

Wenn man addWeaponCargoGlobal für das ToolKit nimmt, dann bekommt man die Möglichkeit, dieses in den mittleren Waffenslot zu ziehen, wenn man allerdings addItemCargoGlobal verwendet, dann kann man es nur in Uniform/Weste/Rucksack verstauen. :ugly:

Vielen Dank nochmal Drunken Officer!

Edit: Ja, Rucksack, Uniform und Weste gingen ja, allerdings konnte man das ToolKit halt auch noch in diesen Raketenwerfer-Waffenslot ziehen, wenn man es aus dem LKW aufgenommen hatte. Lag halt daran, dass ich die Toolkits mit dem falschen Befehl ins Fahrzeug getan habe...