Kolejny raz sprawdziłem, kolejny raz moim zdaniem bez błędów w notatniku, ale z błędami w grze. Najczęściej wykrzacza w rozmowie z POW. Nie jest ona po prostu kontynuowana:
INIT:
- Kod: Zaznacz cały
{_x setVariable ["BIS_noCoreConversations", true];
_x allowFleeing 0;
_x removeWeapon "ItemRadio";
_x removeWeapon "NVGoggles";
} forEach allUnits;
enableRadio false;
0 fadeSound 0;
titleCut ["", "BLACK FADED", 9999];
startCam = "CAMERA" camCreate [9179.90,2707.96,1.94];
startCam cameraEffect ["INTERNAL", "BACK"];
startCam camPrepareTarget [-88082.88,-15630.69,-14405.95];
startCam camPreparePos [9179.90,2707.96,1.94];
startCam camPrepareFOV 0.700;
startCam camCommitPrepared 0;
waitUntil {!(isNil "BIS_fnc_init")};
player setHit ["body",0.3];
player setHit ["head_hit",0.6];
[] spawn {
_light_player = "#lightpoint" createVehicle position pl;
_light_player attachTo [pl, [0, 0, 12]];
while {Alive pl} do {
_light_player setLightBrightness 0.05;
_light_player setLightAmbient [0.2, 0.2, 0.2];
_light_player setLightColor [0.2, 0.2, 0.2];
};
};
setViewDistance 4000;
execVM "start.sqf";
execVM "gear.sqf";
AIsoldierFlare_units = [];
player addEventHandler ["fired", {_this execVM "scripts\EH_lightflare.sqf";
sleep 1;
showCinemaBorder false;
exit
Rozmowa (wszystko działa):
- Kod: Zaznacz cały
bad3 dowatch pl;
bad2 dowatch pl;
bad1 dowatch pl;
cutText ["blabla.","PLAIN DOWN",2];
sleep 5;
POW dowatch pl;
cutText ["blabla.","PLAIN DOWN",2];
sleep 5;
cutText ["blabla!","PLAIN DOWN",2];
sleep 5;
cutText ["blabla?","PLAIN DOWN",2];
sleep 5;
cutText ["blalbla.","PLAIN DOWN",2];
sleep 5;
cutText ["blblabla.","PLAIN DOWN",2];
sleep 5;
cutText ["blalbla!","PLAIN DOWN",2];
sleep 5;
hint "Choose one answer from action menu";
odp1 = player addaction ["Release him.", "1.sqf"];
odp2 = player addaction ["You are right, I'm leaving.", "2.sqf"];
exit
opcja 1 (częściej działa, niż nie):
- Kod: Zaznacz cały
player removeaction odp1;
player removeaction odp2;
sleep 1;
POW = true;
cutText ["Me: Release him. Now.","PLAIN DOWN",2];
sleep 4;
cutText ["Soldier: Your choice.","PLAIN DOWN",2];
sleep 1;
bad1 setcaptive false;
bad2 setcaptive false;
bad3 setcaptive false;
pl setcaptive false;
bad1 dotarget pl;
bad2 dotarget pl;
bad3 dotarget pl;
sleep 1;
POW enableAI "move";
POW setunitpos "middle"
POW setbehaviour "aware";
bad1 dofire pl;
bad2 dofire pl;
bad3 dofire pl;
sleep 1;
POW setcaptive false;
exit
opcja 2 (moment, w którym przestaje najczęściej działać zaznaczony emotką, wcześniej działało):
- Kod: Zaznacz cały
player removeaction odp1;
player removeaction odp2;
sleep 1;
cutText ["Me: You are right, I'm leaving.","PLAIN DOWN",2];
sleep 3;
cutText ["Soldier: Good, go away, dumpass.","PLAIN DOWN",2]; :P :P :P :P
sleep 10;
bad1 dotarget POW;
bad2 dotarget POW;
bad3 dotarget POW;
sleep 3;
POW setcaptive false;
bad1 dofire POW;
bad2 dofire POW;
bad3 dofire POW;
sleep 5;
bad1 doMove (position move);
bad1 doMove (position move);
bad1 doMove (position move);
cutText ["Me: He said something about Nemsk.. I've got map. Maybe I should seek for help there.","PLAIN DOWN",2];
sleep 5;
SAVEGAME;
move = true;
pl setcaptive false;
wyzwalacz, który działał, a przy większej ilości skryptów nie działa w ogóle:
warunek: !alive bad1
przy aktywacji: null = [] execVM "bad1dead.sqf"
bad1dead.sqf:
- Kod: Zaznacz cały
POW enableAI "move";
sleep 1;
POW setbehaviour "aware";
POW doMove (position bad1);
sleep 1;
POW action ["TakeWeapon", bad1, "Sa58P_EP1"];
POW action ["TakeMagazine", bad1, "30Rnd_762x39_SA58"];
POW action ["TakeMagazine", bad1, "30Rnd_762x39_SA58"];
POW action ["TakeMagazine", bad1, "30Rnd_762x39_SA58"];
sleep 5;
exit
Kolejny popsuty wyzwalacz (skrypt nie odpala wcale):
warunek: !alive bad1 AND !alive bad2 AND !alive bad3 AND alive POW
Przy aktywacji: null = [] execVM "czysto1.sqf"
czysto1.sqf
- Kod: Zaznacz cały
sleep 3;
cutText ["blabla.","PLAIN DOWN",2];
sleep 5;
cutText ["blabla?","PLAIN DOWN",2];
sleep 5;
cutText ["blabla.","PLAIN DOWN",2];
sleep 5;
cutText ["blabla.","PLAIN DOWN",2];
sleep 5;
cutText ["blabla.","PLAIN DOWN",2];
sleep 5;
cutText ["blalbla.","PLAIN DOWN",2];
sleep 5;
move = true;
POW = true;
[POW] Joinsilent (Group player);
POW setunitpos "auto";
SAVEGAME;
exit
Pierwszy raz mam taką sytuacje. Czy mógłbyś zerknąć, na całość i powiedzieć mi, gdzie popełniam błąd i jak mu można zaradzić?
aka LostBeyondRetrieval tyle, że kilka dobrych lat później.