Einzelnen Beitrag anzeigen
Alt 26.08.2013, 11:37   #1 (permalink)
MagicStyle
50 Beiträge100 Beiträge
 
Benutzerbild von MagicStyle
 
Registriert seit: 26.09.2012
Beiträge: 120
Icon5 Anwesenheitbedingung funktioniert nicht

Hi, ich bin gerade dabei ein Geld-System zu scripten dabei bin ich auf folgendes Problem gestossen.

Ich möchte das ein Sani-Feldlazarett nur dann erscheint wenn der Spieler die Aktion SaniHQ kaufen ausgewählt hat und der aktuelle Geldstand bei 2500 $ liegt. Das Script dazu ist bereits fertig.

Init-Zeile Spieler:
Code:
buy_sanihq = this addaction ["Sani-Lazarett (2500$)","buy\buy_sanihq.sqf"];
buy_sanihq.sqf
Code:
if (int getVariable "geld" >= 2500) then
{
    int setVariable ["sanihq",true];

    {_x removeAction buy_sanihq} forEach units group player;

    int setVariable ["geld",(int getVariable "geld")-2500];
    hint format ["SaniHQ wurde errichtet! Aktueller Kontostand = %1%2", int getVariable "geld"," $"];
} else {

X = ((int getVariable "geld") - 2500) * (-1);
    
hint format ["Nicht genug Geld! Ihnen fehlen %1 $", X]; 
};
Int ist der Name einer Logik Einheit die ich auf der Map platziert habe, sie dient lediglich dazu Variablen vom Typ Integer zu speichern. Init-Zeile der Logikeinheit:
Code:
 int setVariable["sanihq",false]; int setVariable["geld",1000];
Unter "Anwesenheit (Bedingung)" des Feldlazaretts habe ich folgendes geschrieben:
Code:
 int getVariable "sanihq";
Leider funktioniert es so nicht, das Lazarett wird nicht erstellt, obwohl ich über 2500 $ habe. Ich vermute es liegt daran das nur einmal ganz am Anfang geprüft wird ob die Bedinung wahr ist, dann garnicht mehr? Liege ich richtig? Falls ja, wie kann ich dieses Problem dann beheben?

Danke im Vorraus für jede Hilfe!

Gruß M.S.
__________________
o
L_
OL
This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat

Geändert von MagicStyle (27.08.2013 um 08:01 Uhr).
MagicStyle ist offline