Simple quest system for 1.8.5

Discussion in 'Scripting Discussions' started by Inkko, May 31, 2015.

  1. Inkko

    Inkko Valued Member!

    Joined:
    Jan 12, 2013
    Messages:
    658
    Likes Received:
    77
    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?
     
  2. ShootingBlanks

    ShootingBlanks OpenDayZ Guru!

    Joined:
    Mar 31, 2013
    Messages:
    2,414
    Likes Received:
    336
    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
     
  3. Gingersquatch

    Gingersquatch New Member

    Joined:
    May 31, 2015
    Messages:
    1
    Likes Received:
    0
    I would also like to help. im new to the programing game and I would love to learn
     
  4. ShootingBlanks

    ShootingBlanks OpenDayZ Guru!

    Joined:
    Mar 31, 2013
    Messages:
    2,414
    Likes Received:
    336
  5. ShootingBlanks

    ShootingBlanks OpenDayZ Guru!

    Joined:
    Mar 31, 2013
    Messages:
    2,414
    Likes Received:
    336
    btw. i have had a reward system for killing zombies. get gold coins, gives a point to the game, kill zombies
     
  6. Inkko

    Inkko Valued Member!

    Joined:
    Jan 12, 2013
    Messages:
    658
    Likes Received:
    77
    @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.
     
  7. ShootingBlanks

    ShootingBlanks OpenDayZ Guru!

    Joined:
    Mar 31, 2013
    Messages:
    2,414
    Likes Received:
    336
    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.
     
  8. Inkko

    Inkko Valued Member!

    Joined:
    Jan 12, 2013
    Messages:
    658
    Likes Received:
    77
    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.
     
  9. Inkko

    Inkko Valued Member!

    Joined:
    Jan 12, 2013
    Messages:
    658
    Likes Received:
    77
    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.
     
  10. ShootingBlanks

    ShootingBlanks OpenDayZ Guru!

    Joined:
    Mar 31, 2013
    Messages:
    2,414
    Likes Received:
    336
    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
     
  11. Inkko

    Inkko Valued Member!

    Joined:
    Jan 12, 2013
    Messages:
    658
    Likes Received:
    77
    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..
     
  12. Matt L

    Matt L OpenDayZ Rockstar!

    Joined:
    May 10, 2013
    Messages:
    841
    Likes Received:
    136
    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.
     
  13. Inkko

    Inkko Valued Member!

    Joined:
    Jan 12, 2013
    Messages:
    658
    Likes Received:
    77
    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...
     
  14. Matt L

    Matt L OpenDayZ Rockstar!

    Joined:
    May 10, 2013
    Messages:
    841
    Likes Received:
    136
    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
     
  15. Inkko

    Inkko Valued Member!

    Joined:
    Jan 12, 2013
    Messages:
    658
    Likes Received:
    77
    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.
     
  16. Inkko

    Inkko Valued Member!

    Joined:
    Jan 12, 2013
    Messages:
    658
    Likes Received:
    77
    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';
    };
    
     
  17. FallingSheep

    FallingSheep OpenDayZ Lord!

    Joined:
    Mar 17, 2013
    Messages:
    1,941
    Likes Received:
    573
    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 :)
     
  18. Matt L

    Matt L OpenDayZ Rockstar!

    Joined:
    May 10, 2013
    Messages:
    841
    Likes Received:
    136
    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
     
  19. ShootingBlanks

    ShootingBlanks OpenDayZ Guru!

    Joined:
    Mar 31, 2013
    Messages:
    2,414
    Likes Received:
    336
    wait .., i can get beef with antibiotics and a bandage? ..
    mmmmm just like the mother-in-law used to make!
     
  20. Inkko

    Inkko Valued Member!

    Joined:
    Jan 12, 2013
    Messages:
    658
    Likes Received:
    77
    Haha, just an example from item names I could remember off the top of my head.

    That looks a lot easier to do then all the add and remove if statements.
     

Share This Page