Jump to content

atomickrypton

Member
  • Content Count

    25
  • Joined

  • Last visited

  • Medals

  • Medals

Posts posted by atomickrypton


  1. No, but when you make an addon, let's say a re-texture, because these are the most common mods, you essentially extend the native game's CfgVehicles and CfgWeapons with your modded units and uniforms (or whatever you're adding). CfgSentences ist just the config where BIS stores all sentences related to their official content. And these sentences can be played from anywhere in the game, using kbTell. From what I can see, it's just the addon way of realising a .bikb file. In your case, I'd just stick to the .bikbs and focus on getting it work at all.

    Yeah, I'll stick to the kbTell and .bikbs.

     

    Thanks!


  2. I meant the whole mission. However, this would require players to actually launch it as mod so I wouldn't really bother doing that for a single mission. In any case, it would work as pretty much as with all other mods. I believe there's plenty of tutorials showing how to set-up and build a simple mod. The only thing you'd need to extend would be the game's CfgSentences with your own, and you could play them from any place in the game. But, as I said, it doesn't really make sense for a single mission.

    Gotchya, makes sense.  Yeah, it's just one mission now, but will eventually become a large campaign, so I'll look into making it an addon once the time is right.

     

    Pardon my ignorance, but I'm still a bit confused with the second part.  So I create a cfgSentences in my description.ext, and define it there, so all what I have to do is call it with a simple command?  I searched the wiki and I can't find anything related to cfgSentences.


  3. Oh, and if you're still worrying about performance issues on runtime, consider making your project as proper addon and add the sentences to the config.cpp. That way, they are already binarised and read when the game is started.

    And how would one do that?  I'm pretty much learning this as I go..

     

    How would I make the project a proper addon?  By project do you mean the mission or the conversation stuff?

     

    How would I add the sentences to the config.cpp?  I haven't done anything relating to that yet.

     

    I'm not quite sure what to search in google for this, thanks for the help!


  4. Hello all,

     

    So I have just finished the voice script for a mission I have completed, and now looking for all of the ways I can implement the voices and subtitles.

     

    Previously, I have used some like this for subtitles, and then calling the voice file (we'd record the entire conversation in one voice file) and the radio messages will follow the voice using sleep.  But I am heavily reconsidering it as it creates HUGE files with just these same lines of code:

    unit sideChat "Depending on how long the conversation is, this can be a huge file!";
    
    

    I feel, and know there is an easier way to implement such a thing along with voice scripts.  I have watched this video by Feuerex, and it seems like the best overall way to do it (he uses kbAddTopic, kbTell, etc.).  However, I have some conversations that will go on for upwards of 30 seconds or so.  My fear is creating a huge, and complex .bikb file and very long conversation.sqf, which could affect performance b/c the engine has a lot to do and handle already.

     

    Is the best overall way to implement conversations and subtitles is through kbaddtopic and kbtell?  Is there a better option for better performance?

     

    I have found this on the forums and will probably be checking it out, but I don't believe it accounts for actual voices (audio). 

     

    Thanks guys for all the help.   

     

     


  5. Hello BIS Forums,

     

    I am working on a mission which involves a cool chase scene, and to put in a "randomness" factor, I have recorded 3 different paths the AI can take.

     

    The paths work, but for some reason, the script I am using to choose the random path isn't really working.

     

    Here it is:

    _poi = _this select 0;
    
    _randomMovement = ["pursuitPath1","pursuitPath2","pursuitPath3"]; 
    
    _dataPath = _randomMovement call BIS_fnc_selectRandom;
    
    hint format ["The path will be: %1",_dataPath];
    
    sleep 0.5; // The script works up until here..
    
    if (_dataPath == pursuitPath1) then 
    {
    	hint "good";
    	_pursuit1 = [_poi] execVM "path\play.sqf"; // play, play3 and play4 are the files that make the AI follow the path, they all work when I execute them through the debug console or by trigger.
    	waitUntil {scriptDone _pursuit1}; 
    	terminate _pursuit1;
    };
    
    if (_dataPath == pursuitPath2) then 
    {
    	hint "bueno";
    	_pursuit2 = [_poi] execVM "path\play3.sqf";
    	waitUntil {scriptDone _pursuit2};
    	terminate _pursuit2;
    };
    
    if (_dataPath == pursuitPath3) then 
    {
    	hint "gut";
    	_pursuit3 = [_poi] execVM "path\play4.sqf";
    	waitUntil {scriptDone _pursuit3};
    	terminate _pursuit3;
    };
    
    
    

    I am still learning the basics and everything there is to scripting, so bear with me if I made a simple error.  I believe it has to do with the condition with the if statement, however, I am not sure what to do and google has failed me in this endeavor.

     

    If there is any help you all can offer it will be greatly appreciated!

     

    Thanks all : )


  6. Hello all,

     

    So I have been working on a mission that utilizes essentially a town full of people.  From the start of the mission they'll just walk around (I gave them waypoints), but once the fighting begins, I needed them to run around (using a doMove ... command).

     

    It works fine, however, there are some problems.  I am now slowly starting to optimize my mission, and having over 40 civilian units each with defined variables takes a toll on fps and performance when executing scripts.  Not to mention the hassle of dealing with so many unit icons on the editor map..

     

    Is there a way to just spawn civilians randomly in a zone and have them just walk around until an event occurs causing them to just frantically run?  I tried to create a script for this (spawning them, that is), but due to my lack of time and little scripting knowledge I'm smacking into some dead ends. 

     

    Here is what I have created thus far, in case any of you guys would like to look at it:

    _civilianGroup = ["C_man_1","C_man_1_1_F","C_man_1_2_F","C_man_1_3_F","C_man_polo_1_F","C_man_polo_2_F","C_man_polo_3_F","C_man_polo_4_F","C_man_polo_5_F","C_man_polo_6_F","C_man_p_fugitive_F"];
    _civilianSpawn = ["civspawn1"]; //civspawn1 is a marker on my map
    
    _radius = 200;
    _amount = 0;
    
    _grp = createGroup civ;
    
    while {_amount < 10} do {	
    				sleep 3;
    				_civUnit = _civilianGroup call BIS_fnc_selectRandom;
    				hint format ["the civilian will be: %1",_civUnit]; //hints were just used for testing each line of code..
    				
                                    sleep 2;
    				_markerPos = _civilianSpawn call BIS_fnc_selectRandom;
    				hint format ["the marker will be: %1",_markerPos];
    				
                                    _civie = _civUnit createUnit [getMarkerPos _markerPos,_grp];
    
    				_distance = [1,_radius] BIS_fnc_randomInt; // I believe this part and below are the areas that are causing problems
    				_direction = [0,359] BIS_fnc_randomInt;
    
    				_randomPos = [_civie,_distance,_direction] call BIS_fnc_relPos;
    			};
    
    
    

    Once again thanks in advance for any help you guys can bring.

     

    Bonus Question:  If there are any general methods to optimize a single player mission, I'd love to know!

     

    -Jake


  7. Hello all,

     

    So I have been working on this mission for some time now, and at one point, I want this hint to come up and tell the player information regarding the objective.

     

    The player essentially has to chase a POI for a period of time.  If the player gets a certain distance away from the POI, the mission fails (this part is already working).  I would like to notify the player that they must keep within 50 meters, thus needing to use the hint.

     

    I looked up how to use the function BIS_fnc_advHint and found some good posts regarding the topic, such as this one.  So I copied and pasted the example that darkdruid had confirmed to work and pasted this into my description.ext on an empty mission:

    class CfgHints
    {
        class test1
        {
            displayName = "thisisatest";
    
            class test2
            {
                arguments[] = {};
                description = "test Information text";
                displayName = "test Information";
                tip = "test test test";
            };
        };
    };
    

    and then this into a radio trigger:

    [["test1", "test2"]] call BIS_fnc_advHint;  
    

    However, I am getting the error "Hint 'CfgHints >> test1 >> test2' does not exist

     

    Does anyone have any idea why this could be the case?  It should work as I directly copied and pasted it into the description.ext (to remove risk of incorrectly typing something).

     

    Another question.  Is there a way to display this hint only if the player fails when chasing the target for the first time?  I.e. when the chase starts, the player gets more than 50 meters away from the POI, resulting in a mission failure.  They restart to their last save (it autosaves right before the chase), and then the hint will display.  

     

    Thanks for any assistance you guys can offer.

     

    EDIT: Alright, I have no idea why, but it is working now.  Disregard this post as I figure out how to delete this.


  8. Yes the missions work in the editor. Here are their description.ext files:

    Mission 1:

    overviewText = "Mission 1 Act 1";
    overviewTextLocked = "Mission 1 Act 1";
    overviewPicture = "Mission1Act1.paa";
    
    onLoadName = "Standing on the Edge";
    onLoadMission = "Meet a V.I.P. who can claims to have sufficient Intel on the military crisis evolving in the Mediterranean.";
    loadScreen = "Mission1Act1.paa";
    author = "J. Weinberg";
    
    class CfgDebriefing
    {  
    class End1
    {  
    	title = "Mission Completed";
    	subtitle = "HQ has received the Intel";
    	description = "NATO now has possesion of important documents that can greatly assist them in Operation Contingency.";
    	pictureBackground = "";
    	picture = "";  
    };    
    
    class loser
           {
                   title = "Mission Failed";
                   subtitle = "The V.I.P. was killed!";
                   description = "";
                   pictureBackground = "";
                   picture = "";                
           };
    };

    Mission 2:

    overviewText = "Mission 2 Act 1";
    overviewTextLocked = "Mission 2 Act 1";
    overviewPicture = "mission2act1.paa";
    
    onLoadName = "Into the Storm";
    onLoadMission = "Push into the major port city of Kavala, and secure the area until NATO reinforcements arrive.";
    loadScreen = "mission2act1.paa";
    author = "J. Weinberg";
    
    class CfgDebriefing
    {  
    class End1
    {  
    	title = "Mission Completed";
    	subtitle = "NATO reinforcements have arrived";
    	description = "Thanks to your efforts, NATO is now able to land at Kavala, and take complete control of the area.";
    	pictureBackground = "";
    	picture = "";  
    };    
    
    class End2
           {
                   title = "Mission Succeeded";
                   subtitle = "NATO reinforcements have arrived";
                   description = "Thanks to your efforts, NATO is now able to land at Kavala, and take complete control of the area.";
                   pictureBackground = "";
                   picture = "";                
           };
    };

    In the missions, I do not have an End#1 or End#2 trigger, I use this script in the act. field:

     "end1" call BIS_fnc_endMission;

    As for the .rpt file, I'm sorry, but I have no idea how to check that. And thank you for the help with the image!


  9. Hello, so I've been working on a campaign, and I have finished 4 missions so far. I want to test if the keys are working properly (it's a dynamic campaign, and depending on the keys activated in previous missions, it changes the linear path of future missions). So after failing several times trying to get a campaign description.ext to work and searching all over forums, I finally found a great download example by IndeedPete. So I downloaded it, packed it into a .pbo, put it in my campaigns foldier in ArmA3 and loaded the game up. It worked flawlessly.

    So I took the same description.ext and missions folder from the download example, and put it in a new folder (named Operation Contingency). In the new folder, I opened up the description.ext, and using the example as a reference, I changed the copied description.ext to what I wanted to be displayed. I did not change which missions would be played, it still was going to play the two example missions featured in the download example. I only changed the author, operation name, etc.

    I loaded up ArmA3, and it worked great. All of the new information was there, and there was no problems. So, I went back to missions in the Operation Contingency folder, and took out the two example missions, and replaced them with the first two missions in my campaign. I changed the templates in the description, and loaded up ArmA3. This is the interesting part. The campaign is there, the mission is there, however when I click on revert or restart (sometimes continue shows up instead of revert and restart), it freezes my computer and ArmA 3 stops working. I have to manually restart my computer after that.

    If anyone can help me get this to work, I'd greatly appreciate it.

    Here is the description.ext file. If you need more information or if anything is confusing, I'd be more than happy to provide you with the information.

    class Campaign
    {
    name = "Operation Contingency";
    firstBattle = Missions;
    disableMP = 1;
    //enableHub = 1;
    
    briefingName = "Operation Contingency";
    author = "Firebird Studios";
    overviewPicture = "operationcontingency.paa"; 
    overviewText = "The world is on the brink of a nuclear war and you are put in the middle of it all.  Can you prevent the contingency?";
    
    class MissionDefault
    {
    	lives = -1;
    
    	lost = ;
    	end1 = ;
    	end2 = ;
    	end3 = ;
    	end4 = ;
    	end5 = ;
    	end6 = ;
    };
    
    class Missions
    {
    	name = "The Beginning";
    	cutscene = ;
    	firstMission = M01;
    	end1 = ;
    	end2 = ;
    	end3 = ;
    	end4 = ;
    	end5 = ;
    	end6 = ;
    	lost = ;
    
    	class M01: MissionDefault
    	{
    		end1 = M02;
    		lost = M01;
    		template = OperationContingency-1-1.Stratis;
    	};	
    
    	class M02: MissionDefault
    	{
    		end1 = ;
    		lost = M02;
    		template = OperationContingency-1-2.Altis;
    	};	
    };
    };

    Also, I have operationcontingency.paa in the campaign folder but it says it can't find it. If you can also help me out here that'd be awesome. And as always, thank you in advance.


  10. Hello all. After hours of looking around, I couldn't get this to work, so now, I am making a post about it.

    First things first, I am currently creating a campaign, which uses keys to change how a mission plays out.

    For example, in my 2nd mission (M02), at the end of the mission, it checks if a certain unit isn't killed. If it isn't, then this key is activated: "Mission03a" if the unit is killed, this key is activated "Mission03b". Both of these scripts are activated by a trigger at the end of the mission. In the 3rd mission(M03), at the beginning, I want the mission to detect which key was activated. Depending on the key that was activated, depends on the variable that is set to true (basically, I can change the linear path of the mission, so I don't need to make 2 different missions when it isn't necessary).

    In the init.sqf file for M03, I currently have these lines:

    if(isKeyActive "Mission03a") then {partA = true};

    if(isKeyActive "Mission03b") then {partB = true};

    But anyways, I need help packing all of these missions into a campaign so I can see if the keys are working properly. I saw a thread about packing all of the missions into a campaign for ArmA2, and it barely worked (only showed that there was another campaign under the campaign section in the play menu, and only showed the first mission of the campaign).

    So long story short, how can I put missions into a campaign that includes the use of several keys throughout the campaign?

    Thanks in advance, and if anything seems confusing, I'll be glad to try to make it less confusing.


  11. Thanks for the response. Yeah, with the description module, it didn't serve any purpose (for what I was attempting to achieve). I ended up just using the setSimpleTaskDescription, createSimpleTask, etc. scripts along with a hint function in a .sqf file to get what I wanted (you can't tell any difference between the scripts and the module if done properly). Took a few minutes to get everything written and working fine.


  12. Hello,

    So first things first, I have tried searching on google, armaholic, here, and I have yet to have any luck. I am making a mission where at the middle of the mission, a certain event will happen, and suddenly a new task pops up (one that wasn't there before), and you are then assigned to it. Unfortunately, every method I tried to make that happen hasn't worked. Basically, my question is, how can I hide tasks until a trigger is activated? Thank you guys in advance.


  13. Hello,

    So I have been working on this mission for a while now, and everything is going great, in fact, it almost completed... except one thing is preventing that. I need the mission to end, but not by entering a trigger. I would like to have it set to where you walk up to the Major, and you have an option to talk to him. After you hit MMB, it'll set the task state to succeeded. After that, I'll have a trigger check if that the certain task is succeeded, if it is, then the mission will end. I have looked all over the internet, and I still can't get the first part to work. Here is my work so far...

    Major's INIT field:

    this addAction ["Talk with Major Hart", "chat.sqf"];

    Chat.sqf:

    _Task7 setTaskState "Succeeded"

    For this .sqf file, I have tried putting "tsk7","_tsk7", and "Task7" in place of "_Task7", but nothing seems to work. I have seen forums where they say this is how to have a script set a task state to "Succeeded", but unfortunately, it doesn't seem to work for me. If you guys can help me out that'd be great. The task ID in the module is "tsk7", and the name of the module is "Task7". Also, there will be dialogue between the player and the Major, so all I will need to do is put sleep X; at the top line in chat.sqf? X being the number that I decide is fit.

    As for the triggers checking if the task is complete, I can take care of that. I just need help with this script. Please note that when I have quotation marks around tsk7 and Task7, that is for organization in this post, I am not putting quotation marks around those names in the script.

    Thanks in advance,

    Atomic Krypton


  14. Thanks for the reply! I am running a 1920x1080 [16:9] resolution. I'll go back and mess around with the values of the script. It may be a problem with my video settings, because in your video, everything was aligned correctly. I'll edit the post if/when I get it.

    EDIT: It worked! I changed the 1 value to .7 and it fits perfectly (to me that is). Thanks a bunch for the help! Maybe my interface size could have been a problem, but I have it at normal. Anyways, it works and that's all that matters.


  15. lucky for you, one of my favourite things to do lately is create intros for our MP missions. here is a link to my compilation so far

    now in the first intro the text I used is bis_fnc_infotext.

    here is an example which provides mission name, date, and location (location only works on stratis or altis, will read "near camp rogain" etc)

    [str ("Mission Name Here") , str(date select 1) + "." + str(date select 2) + "." + str(date select 0), str("Mission Location Here")] spawn BIS_fnc_infoText;

    info_text is the old method. bis_fnc_typetext is far better

    [ [ ["UKRAINE"], ["JUNE 2015"], ["1700hrs", "<t align = 'center' shadow = '1' size = '0.7' font=puristaMedium'>%1</t>", 70] ] , 1, 0.75, "<t align = 'center' shadow = '1' size = '1.0'>%1</t>" ] spawn BIS_fnc_typeText;

    in the above, the "70" is how long all the text stays on the screen. it is not 70 seconds, 70 is probably 10 seconds or so.

    you don't need all that fancy stuff, I set it up a while ago and forgot what it means, but that's how I got the text to show on the bottom right.

    here is an example that will show the words "hello" in red and underlined

    [ [ ["<t color='#ff1111' underline = '1'>HELLO</t>", "<t align = 'center' shadow = '1' size = '0.7' font='puristaMedium'>%1</t>", 70] ] , 1, 0.75, "<t align = 'center' shadow = '1' size = '1.0'>%1</t>"] spawn BIS_fnc_typeText;

    good luck!

    Thank you for those scripts, and good work on the compilation video as well! Anyways, I tried out this script and I ran into a bit of a problem:

    [ [ ["UKRAINE"], ["JUNE 2015"], ["1700hrs", "<t align = 'center' shadow = '1' size = '0.7' font='puristaMedium'>%1</t>", 70] ] , 1, 0.75, "<t align = 'center' shadow = '1' size = '1.0'>%1</t>" ] spawn BIS_fnc_typeText;

    It appears that the text is being displayed off screen. I'm able to see the first part of the first letter in UKRAINE and JUNE, but aside from that, I can't see the rest. Putting a crap load of spaces after each word/ time seems to work (takes a while), but obviously there is an easier/ better way to do so. Can you provide any assistance here? Thanks in advance.


  16. I think this is what you are looking for:

    Make a text like this and save it as Text1.sqf, place it in the mission folder.

    ["Have","a","nice day"] spawn BIS_fnc_infoText;

    Then in the editor create a trigger with this in its activation field:

    _y1=execVM "Text1.sqf"

    It only shows a short moment. I don't think it's possible to increase the time.

    Thanks for the reply! I tried that, and unfortunately, the text I want to display is too long (the words get cut off). Thanks anyways, and I'll refer back to this if I need to.


  17. Hello, so I have been working on a mission for A3, and I would like to have a type writer like effect when the player is put in the mission. However, I want it to activate when the player exits the building (I am assuming I'll put a trigger outside of the building), so an init.sqf file won't work (not that I know of). An example of this would be like this [ http://img805.imageshack.us/img805/6717/missionamehere.jpg ] however, I would like the A3 "version" of this. I can't get an example of it, but it is like the picture in the link...if you load up a campaign mission, it'll display once you're actually playing the mission. IIRC, it'll display something along the lines of: [Date, Location, Rally Point/ LZ]. If any of you guys can assist me with this that'd be fantastic. Thanks in advance for any help you can bring.

×