Jump to content
Sign in to follow this  
kerozen

AddAction activation for everyone

Recommended Posts

I'm really bad at scripting, i only know how to do basic stuff. 

 

What i want to do is have an NPC have an action called "Fariq: Interrogation", it calls a script called Int1 that adds  some text to the briefing section, what i want to do is once any player activates the action it gets deleted for everyone and the text appears to everyone. 

Civ1 Init:

Intero = this addaction ["Fariq: Interrogar","Int1.sqf"];

Int1.sqf

["TaskSucceeded",["","Suspect Interrogated"]] call BIS_fnc_showNotification; player createDiaryRecord ["Diary", ["Suspect: Fariq", "The suspect was found gathering information about the United Nations Base, after interrogation the suspect claimed he was just interested in seeing the everyday life of Soldiers"]]; hint "Conteudo adicionado ao Briefing";
Civ1 removeAction Intero;

Share this post


Link to post
Share on other sites

not sure if this would work but try this as your removeAction line

 [civ1,intero] remoteExec ["removeAction",0,true];

  • Like 1

Share this post


Link to post
Share on other sites

I have in the past done this with a global variable that is set on the server at mission start.

When addaction is performed it changes the variable with publicvariable. Then your tasks can waituntil variable is true or another value.

You won't even have to remove the addaction if you use the last (or third to last if in dev build) option and have a "istrue" or "!istrue" option in there.

Eg.

Variable you use is: interogate1

Set this as false in init.sqf

Interogate1=false; Publicvariable "interogate1";
In your int1.sqf have

Interogate1=true;publicvariable  "interogate1";
addaction will look like this

Intero = this addaction ["Fariq: Interrogar","Int1.sqf","",1,true,true,"","!interogate1"];
You will likely have to change int1.sqf to include a remoteexec command for the diary record as this will be local to the player who runs the addaction.

Share this post


Link to post
Share on other sites
Interogate1=true;
publicvariable  "interogate1";

 

Can do this for the same thing:

missionNamespace setVariable ["Interogate1", true, true];

First true is setting the value of the global variable Interogate1 to true.  Second true is publicizing the variable. 

  • Like 1

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×