JSR
13.04.2014, 19:09
Moin.
Bin zur Zeit viel am scripten was Arma angeht. Von Selbstmordattentätern zur einzelnen Moral der Zivilisten. Lasse mich eigentlich von VBS inspirieren und um zugleich weiter in der Materie "Programmiersprache" einzudringen.
Ich habe ein GUI erstellt, welches auch gut funktioniert, dabei gibt es also keine Probleme. In dem GUI, welches via Actionmenü aufrufbar ist, kann man den Zivilisten vor einem gewisse Fragen stellen. Ich probiere als erstes ein einfaches "How are you?" zu lösen.
Ich habe es zwar hinbekommen, dass er eine Antwort gibt, kann den Wert aber nicht speichern.
Um es ersteinmal zu zeigen:
Habe es hinbekommen!
War einfacher als erwartet muss ich zugeben. Habe entdeckt, dass es einen Moral Wert gibt. Für alle, die zufällig mal hier vorbei stoßen:
Main.sqf
while {true} do {
CIV_Object = nearestObject [player, "Civilian"];
_dist = CIV_Object distance player;
if (_dist < 2 && cursorTarget == CIV_Object) then {CIV_Menu = player addAction ["Interaction", "Int.sqf"]; WaitUntil {CIV_Object distance Player > 3};
}
else {
player removeAction CIV_Menu;
player removeAction CIV_Menu;
};
};
Moral.sqf
_a = morale Civ_object;
switch (true) do {
if (_a > 0.2) then {confusedT = True;};
if (_a >= 0.4) then {ConfusedT = false; OkayT =true;};
if (_a >= 0.6) then {OkayT = false; FineT =true;};
if (_a > 0.8) then {FineT = false; happyT = true};
case (_a <= 0.2): {
HintSilent "I'm mad.";};
case (_a > 0.2 && confusedT ): {
HintSilent "I'm confused";};
case (_a >= 0.4 && okayT): {
HintSilent "I'm okay";};
case (_a >= 0.6 && FineT): {
HintSilent "I'm fine";};
case (_a >= 0.8 && happyT): {
HintSilent "I'm happy";};
};
Bin zur Zeit viel am scripten was Arma angeht. Von Selbstmordattentätern zur einzelnen Moral der Zivilisten. Lasse mich eigentlich von VBS inspirieren und um zugleich weiter in der Materie "Programmiersprache" einzudringen.
Ich habe ein GUI erstellt, welches auch gut funktioniert, dabei gibt es also keine Probleme. In dem GUI, welches via Actionmenü aufrufbar ist, kann man den Zivilisten vor einem gewisse Fragen stellen. Ich probiere als erstes ein einfaches "How are you?" zu lösen.
Ich habe es zwar hinbekommen, dass er eine Antwort gibt, kann den Wert aber nicht speichern.
Um es ersteinmal zu zeigen:
Habe es hinbekommen!
War einfacher als erwartet muss ich zugeben. Habe entdeckt, dass es einen Moral Wert gibt. Für alle, die zufällig mal hier vorbei stoßen:
Main.sqf
while {true} do {
CIV_Object = nearestObject [player, "Civilian"];
_dist = CIV_Object distance player;
if (_dist < 2 && cursorTarget == CIV_Object) then {CIV_Menu = player addAction ["Interaction", "Int.sqf"]; WaitUntil {CIV_Object distance Player > 3};
}
else {
player removeAction CIV_Menu;
player removeAction CIV_Menu;
};
};
Moral.sqf
_a = morale Civ_object;
switch (true) do {
if (_a > 0.2) then {confusedT = True;};
if (_a >= 0.4) then {ConfusedT = false; OkayT =true;};
if (_a >= 0.6) then {OkayT = false; FineT =true;};
if (_a > 0.8) then {FineT = false; happyT = true};
case (_a <= 0.2): {
HintSilent "I'm mad.";};
case (_a > 0.2 && confusedT ): {
HintSilent "I'm confused";};
case (_a >= 0.4 && okayT): {
HintSilent "I'm okay";};
case (_a >= 0.6 && FineT): {
HintSilent "I'm fine";};
case (_a >= 0.8 && happyT): {
HintSilent "I'm happy";};
};