Jump to content

How to make a killer quest without a RandomGotolocation, like from A15? Solved.


Robeloto

Recommended Posts

I want to make a quest like this:


 

<quest id="rchallenge_VeteranKiller">
        <property name="name_key" value="Veteran Killer!"/>
        <property name="subtitle_key" value="Veteran Killer"/>
        <property name="description_key" value="rchallenge_VeteranKiller_description"/>
        <property name="icon" value="ui_game_symbol_zombie"/>
        <property name="repeatable" value="true"/>    
        <property name="category_key" value="challenge"/>
        <property name="offer_key" value="rchallenge_VeteranKiller_offer"/>
        <property name="completion_key" value="challenge_VeteranKiller_completion" />        
        <property name="difficulty" value="insane"/>
        <property name="completiontype" value="TurnIn"/>
        
        <action type="ShowTip" value="tutorialVeteranKiller"/>
        <action type="TrackQuest"/>
        
        <objective type="ZombieKill" id="animalAnaconda" value="1"/>
        <objective type="ZombieKill" id="animalBurningPhoenix" value="1"/>
        <objective type="ZombieKill" id="animalCopterCorpse" value="1"/>    
        <objective type="ZombieKill" id="animalDiamondPhoenix" value="1"/>
        <objective type="ZombieKill" id="zombieAnesthesia" value="1"/>
        <objective type="ZombieKill" id="zombieAquaZed" value="1"/>
        <objective type="ZombieKill" id="zombieBlazingMan" value="1"/>
        <objective type="ZombieKill" id="zombieFireBoss" value="1"/>
        <objective type="ZombieKill" id="zombieFireElf" value="1"/>
        <objective type="ZombieKill" id="zombieFreezer" value="1"/>    
        <objective type="ZombieKill" id="zombieGunner" value="1"/>
        <objective type="ZombieKill" id="zombieIronMan" value="1"/>
        <objective type="ZombieKill" id="zombiePredator" value="1"/>
        <objective type="ZombieKill" id="zombieShadow" value="1"/>    
        <objective type="ZombieKill" id="zombieSanguis" value="1"/>
        <objective type="ZombieKill" id="zombieScreamerBoss" value="1"/>
        <objective type="ZombieKill" id="zombieShocker" value="1"/>        
        <objective type="ZombieKill" id="zombieWhiteNoise" value="1"/>

        <objective type="InteractWithNPC">
            <property name="phase" value="2"/>
        </objective>
        
        <reward type="SkillPoints" value="2" />
        <reward type="Item" id="casinoCoin" value="25000"/>
        <reward type="Item" id="armorSuperSetSchematic" value="1"/>
        <reward type="Exp" value="12000"/>
    </quest>

 

But it will not work of course. When I have read the quest, and clicked on it in the quest page. The console is spammed with red errors:

 

Parameter name: index

ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.

 

Edit: Thought I had it working by setting the ZombieKill to phase 1. It works if it is only one zombie. Like this:


 

<quest id="rchallenge_VeteranKiller">
        <property name="name_key" value="Veteran Killer!"/>
        <property name="subtitle_key" value="Veteran Killer"/>
        <property name="description_key" value="rchallenge_VeteranKiller_description"/>
        <property name="icon" value="ui_game_symbol_zombie"/>
        <property name="repeatable" value="true"/>    
        <property name="category_key" value="challenge"/>
        <property name="offer_key" value="rchallenge_VeteranKiller_offer"/>
        <property name="completion_key" value="challenge_VeteranKiller_completion" />        
        <property name="difficulty" value="insane"/>
        <property name="completiontype" value="TurnIn"/>
        
        <action type="ShowTip" value="tutorialVeteranKiller"/>
        <action type="TrackQuest"/>
        
        <objective type="ZombieKill" id="animalAnaconda" value="1" phase="1"/>

        <objective type="InteractWithNPC">
            <property name="phase" value="2"/>
        </objective>
        
        <reward type="SkillPoints" value="2" />
        <reward type="Item" id="casinoCoin" value="25000"/>
        <reward type="Item" id="armorSuperSetSchematic" value="1"/>
        <reward type="Exp" value="12000"/>
    </quest>

But if I add more zombies. That error shows up again.

 

Edit: OK I got it wrong. Seems the maximum number of zombies to add is 10 in amount! That can be solved as you get a chain quest with the rest of zombies to kill.

 

Solved!

Link to comment
Share on other sites

4 minutes ago, Telric said:

A quest has a limit of how many objectives it can have. I think 8 or 10. Something like that. Youll have to split the quest up into parts to accomodate that. So have 2 quests that have 8 kills each. First quest rewards 2nd quest.

I realized that haha. I am just a bit slow! ;) Thanks anyway!

Link to comment
Share on other sites

Yeah, two three things to never, ever do with quests mid-game.

 

Don't change the ID

Don't change the objectives or number of objectives.

Don't remove the quest from the game. (effectively same as changing ID)

 

Both will reset any character that is doing, or have done, the changed quests.

@Robeloto

 

Another option is to add this to a XUi/windows.xml config

<configs>
    <set xpath="/windows/window[@name='windowQuestObjectives']/rect[@name='content']/rect[@visible='{showquest}']/grid[@name='objectiveList']/@rows">10</set>
</configs>

 

It allows the rows to overflow down on top of the Rewards section a bit, but since its only quest history, and who really looks at that anyway, I decided it was better than trying to split up a quest (which wasn't really possible for what I was doing).

Link to comment
Share on other sites

@Robeloto, you can also do something like this:

<action type="SpawnEnemy" id="zombieArlene,zombieDarlene,zombieMarlene,zombieNurse,zombieBoe,zombieJoe,zombieMoe,zombieYo" value="6" phase="3"/>

This will spawn 6 (value="6") randomly picked zombies from the list (inside id="*") at phase of the quest with number 3 (phase="3").

 

EDIT:

Oh, I just noticed your question was about objectives rather than actions lol, I'm sorry. Anyway, I haven't tried, but perhaps multiple values in one id would work here as well. That would probably save you some phases and the code would also be easier to read.

Link to comment
Share on other sites

1 hour ago, mr.devolver said:

There is objective type="ZombieKill" AND objective type="AnimalKill". Perhaps you could try the latter for animalAnaconda.

Yes ty, I tried that when I mixed them in with the zombies. Some how the animal did not get counted and I just thought it did not work. Maybe it was just a typo from my side then. Gonna test some more! ^^

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...