Simple quest system for 1.8.5

Inkko

Valued Member!
Would anyone like to help out with a simple quest system for DayZ 1.8.5? Would give players more to do, reward players for certain things etc.

Would have AI around the map players can talk to to start quests, rewards would be weapons, vehicles, supplies, etc. Would anyone be interested in helping me with this?
 
Would anyone like to help out with a simple quest system for DayZ 1.8.5? Would give players more to do, reward players for certain things etc.

Would have AI around the map players can talk to to start quests, rewards would be weapons, vehicles, supplies, etc. Would anyone be interested in helping me with this?
absolutely just tell me what to do
I like that idea ive been designing missions on that line where u had to go to the city and rescue a person and return them to the refuge camp
 
e54f2b01fd6222437f580431331425b3358cd37cba2a6d0722ee1bf47bf8b40a.jpg
 
Would anyone like to help out with a simple quest system for DayZ 1.8.5? Would give players more to do, reward players for certain things etc.

Would have AI around the map players can talk to to start quests, rewards would be weapons, vehicles, supplies, etc. Would anyone be interested in helping me with this?
btw. i have had a reward system for killing zombies. get gold coins, gives a point to the game, kill zombies
 
@ShootingBlanks You were the one who helped me out with figuring out a couple things with the dialog which helped me start on this haha... I am currently on version 2 of the script, its fully working and everything. I just want to add a little more depth to it as well as multiple things for players to do rather then it be the same thing every restart.

Got 9 AI quest (task) givers, all marked on the map so players can find them. 9 different quests, all different except 2 which are fairly similar, as well as 2 being humanity based (bandits and heroes). I think my favorite thing I've added in is a bounty quest. Quest giver wants you to kill someone who has a bounty and rewards you if you come back after looting their body. The bounties are triggered my sensors and RNGs. The bounties can only be lost upon death and logging out/switching servers that have the quest system on them will result in them still having a bounty (profilenamespace variable so profile changing will remove variable). Each quest giver has multiple text fields that are randomly chosen upon talking to them to add some variation instead of them just saying the same thing every time.
 
soinds good. we are thinking along,the same,lines but i never thought of using rpg type quests. i have only a single 50cal weapon on my server and its carried by an ai in the mountains,by tulga. if you track him down and kill him you loot the gun. it takes time to find him and of course you have to hope he doesnt kill you first.
 
soinds good. we are thinking along,the same,lines but i never thought of using rpg type quests. i have only a single 50cal weapon on my server and its carried by an ai in the mountains,by tulga. if you track him down and kill him you loot the gun. it takes time to find him and of course you have to hope he doesnt kill you first.

I was thinking of RPG style quests, and have some other things for players to do as well like a race from A to B within a certain amount of time. Just an RPG style quest seems like it may take a while to setup everything and test it all.
 
If anyone is interested in helping me you can just PM me on opendayz and we can go from there. I'm on all the time here so I should notice it fairly quickly. I would like someone who knows a bit of coding at least to help out as well and would actually contribute.
 
when i said rpg type quest i just meant "find the farmer in Bor and accept the job/quest he offers you" which is what you are doing ... unless i misunderstood
 
Well with RPG type quests they are usually you talk to someone and they have a quest line lined up for you; go out and do this, then do this, and this..
 
Well with RPG type quests they are usually you talk to someone and they have a quest line lined up for you; go out and do this, then do this, and this..
idea: have a set of steps, but to complete one step you have to have completed the previous step. If you have not completed the previous step, it does not count towards your quest. Now, each step only spawns when needed like someone grabs the quest, step 1 spawns, if its already spawned it doesnt spawn again. After step one has been completed, step two spawns and so on and so forth. Now, as a economic 'filler' you could charge some gold or whatever to have step 1 spawn again, or you could wait until someone else starts it and steal their spot.
 
idea: have a set of steps, but to complete one step you have to have completed the previous step. If you have not completed the previous step, it does not count towards your quest. Now, each step only spawns when needed like someone grabs the quest, step 1 spawns, if its already spawned it doesnt spawn again. After step one has been completed, step two spawns and so on and so forth. Now, as a economic 'filler' you could charge some gold or whatever to have step 1 spawn again, or you could wait until someone else starts it and steal their spot.

I think I'll probably lean it more towards everyone gets to progress through it themselves rather then people being able to pick up a quest half way through. But that does give me an idea with the current progress I have on this... I could make it so when you complete a quest it randomizes the quest for that AI so that its always changing when people complete it...
 
I think I'll probably lean it more towards everyone gets to progress through it themselves rather then people being able to pick up a quest half way through. But that does give me an idea with the current progress I have on this... I could make it so when you complete a quest it randomizes the quest for that AI so that its always changing when people complete it...
You wouldnt be able to 'pick up a quest halfway through' everyone has to start at the bottom. It's simply a WoW style quest. There are quite a few quests in WoW that phase you into a different period as everyone else and it requires you to do something specific, kill this guy, collect this egg, etc etc but theres only one. And if someone is on the same phase of the quest, they can jack your kill or loot and bam you have to wait around for it to spawn again.

Just trying to amp up the RPG experience lol
 
You wouldnt be able to 'pick up a quest halfway through' everyone has to start at the bottom. It's simply a WoW style quest. There are quite a few quests in WoW that phase you into a different period as everyone else and it requires you to do something specific, kill this guy, collect this egg, etc etc but theres only one. And if someone is on the same phase of the quest, they can jack your kill or loot and bam you have to wait around for it to spawn again.

Just trying to amp up the RPG experience lol

I misunderstood what you meant then haha... Thats kinda of how I wanted it. When I read what you said I took it as a there is a quest line and progress is shared with everyone. Hopefully I'll start working on the progression portion of this.
 
Also can anyone tell me what the best way is to check for removing and adding items? Just want to make sure I'm not doing it the super annoying way with BIS_fnc_invAdd and BIS_fnc_invRemove then checking each item as I go...

Code:
_result = [player,"ItemAntibiotic"] call BIS_fnc_invRemove;
if (_result == 1) then {
   
    _result2 = [player,"ItemBandage"] call BIS_fnc_invRemove;
    if (_result2 == 1) then {
       
        _result3 = [player,"FoodCanBeef"] call BIS_fnc_invAdd;
        if (_result3) then {
           
            _result4 = [player,"FoodCanBeef"] call BIS_fnc_invAdd;
            if (_result4) then {
                systemchat 'Traded antibiotics and a bandage for 2 beef cans.';
            } else {
                systemchat 'You didn't have enough inventory space.';
                [player,"FoodCanBeef"] call BIS_fnc_invRemove;
                [player,"ItemAntibiotic"] call BIS_fnc_invAdd;
                [player,"ItemBandage"] call BIS_fnc_invAdd;
            };
        } else {
            systemchat 'You didn't have enough inventory space.';
            [player,"ItemAntibiotic"] call BIS_fnc_invAdd;
            [player,"ItemBandage"] call BIS_fnc_invAdd;
        };
    } else {
        systemchat 'You are missing Bandages.';
        [player,"ItemAntibiotic"] call BIS_fnc_invAdd;
    };
} else {
    systemchat 'You are missing Antibiotics';
};
 
love this idea i did something similar ages ago and never finished i, i can help with any issues you come across but wont commit to anything as i dont want say i ll help and then not :)
 
Also can anyone tell me what the best way is to check for removing and adding items? Just want to make sure I'm not doing it the super annoying way with BIS_fnc_invAdd and BIS_fnc_invRemove then checking each item as I go...

Code:
_result = [player,"ItemAntibiotic"] call BIS_fnc_invRemove;
if (_result == 1) then {
  
    _result2 = [player,"ItemBandage"] call BIS_fnc_invRemove;
    if (_result2 == 1) then {
      
        _result3 = [player,"FoodCanBeef"] call BIS_fnc_invAdd;
        if (_result3) then {
          
            _result4 = [player,"FoodCanBeef"] call BIS_fnc_invAdd;
            if (_result4) then {
                systemchat 'Traded antibiotics and a bandage for 2 beef cans.';
            } else {
                systemchat 'You didn't have enough inventory space.';
                [player,"FoodCanBeef"] call BIS_fnc_invRemove;
                [player,"ItemAntibiotic"] call BIS_fnc_invAdd;
                [player,"ItemBandage"] call BIS_fnc_invAdd;
            };
        } else {
            systemchat 'You didn't have enough inventory space.';
            [player,"ItemAntibiotic"] call BIS_fnc_invAdd;
            [player,"ItemBandage"] call BIS_fnc_invAdd;
        };
    } else {
        systemchat 'You are missing Bandages.';
        [player,"ItemAntibiotic"] call BIS_fnc_invAdd;
    };
} else {
    systemchat 'You are missing Antibiotics';
};
It'd probably be faster just to do a check like something along the lines of
Code:
_backpack = unitbackpack player;

_biopack = "ItemAntibiotic" in magazines _backpack;
_bandagepack = "ItemBandage" in magazines _backpack;

_bio = "ItemAntibiotic" in magazines player;
_bandage = "ItemBandage" in magazines player;

if (_bio && _bandage) then {

    player removeMagazine "ItemAntibiotic";
    player removeMagazine "ItemBandage";
    player addMagazine ["FoodCanBeef",2];
   
} else {

    if (_biopack && _bandagepack) then {
        _backpack removeMagazine "ItemAntibiotic";
        _backpack removeMagazine "ItemBandage";
        _backpack addMagazine ["FoodCanBeef",2];
    } else {
        systemChat 'Please make sure you have a bandage and antibiotic in your inventory or backpack';
    };
};
don't know if syntax and commands are all 100% as ive been away from coding for awhile, but you get the idea
 
wait .., i can get beef with antibiotics and a bandage? ..
mmmmm just like the mother-in-law used to make!
Haha, just an example from item names I could remember off the top of my head.

It'd probably be faster just to do a check like something along the lines of
Code:
_backpack = unitbackpack player;

_biopack = "ItemAntibiotic" in magazines _backpack;
_bandagepack = "ItemBandage" in magazines _backpack;

_bio = "ItemAntibiotic" in magazines player;
_bandage = "ItemBandage" in magazines player;

if (_bio && _bandage) then {

    player removeMagazine "ItemAntibiotic";
    player removeMagazine "ItemBandage";
    player addMagazine ["FoodCanBeef",2];
  
} else {

    if (_biopack && _bandagepack) then {
        _backpack removeMagazine "ItemAntibiotic";
        _backpack removeMagazine "ItemBandage";
        _backpack addMagazine ["FoodCanBeef",2];
    } else {
        systemChat 'Please make sure you have a bandage and antibiotic in your inventory or backpack';
    };
};
don't know if syntax and commands are all 100% as ive been away from coding for awhile, but you get the idea
That looks a lot easier to do then all the add and remove if statements.
 
Back
Top