Thank you for anwsering me quickly.
So just I have to make one spawn area,and deactivate it by default in ATCS.Then,I could activate it as a reward of a dialogue...
I created something like a fight beetween two NPCs,and one of them dies,and then it's player turn to fight.However,there're two obstacles in my way to do that dialogue correctly.

I cannot remove one NPC without ending the dialogue.

Another way could be killing one NPC,and deactivate both spawn areas.But,to make sense I need when you talk again with the NPC,He/She tells you something that makes sense,like "I'm severely wounded"...The fact is I don't know how to make that one NPC has two initial phrases (One without condition,another with questid:queststage requirement).

ATCS really makes doing content easy for all people who want it,thank you for making it and mantaining it.
Greetings!

Indeed you cannot remove the NPC using the "Remove NPC" reward type without ending the dialogue.
What you should do is switch the active NPC to the surviving character, and have him say something like "Die fool!", and give a "removeSpawnArea" reward on the dead man's spawn area. I think that would work. You can then continue the dialogue to lead to a fight with the killer... or not!

Choosing between several starting phrase is a very common pattern. We call that a selector.
Most NPCs with substantial dialogue start with a selector, look at Lodar for example, or Halvor (check the Dialogue tree tab, then double click on any interesting part).
The idea is to have an empty dialogue (no text, you can make sure this is the case by using the red cross at the right of the text field, it will nullify this field), and a bunch of "NPC keeps talking" replies with requirements.
Each replies' requirements will be evaluated from top to bottom (in the list of replies) until one that is satisfied is found. Just make sure to put the most restrictive one on top (use the arrows below the reply list to reorder), and to have a last reply that has no requirement as a default branch.

Yeah,I just realized of the existence of that "selectors".Truly useful for that,thank you.
Also I thought about making the fightable NPC unique,so He won't spawn anymore if I kill him,That's possible?
Greetings!

Your best bet is to use ATCS. The latest version supports all of these. If you prefer to work with text editors, you can still try ATCS, and check out the JSON or XML tab for any element's editor to see how it is done, but I'd advise against it, as the format can be tricky sometimes.

Most of what you ask exists, just look in ATCS. I don't think you can remove a worn item from the inventory, but you can ask the player to unequip it, then use InventoryRemove to take it from him. InventoryWorn will make sure that you have that access-granting necklace around your neck, and not in your bag.

Use ATCS for finding new options is a good idea, I should have thought of it myself Thus I found the require-negation and the spawn things, this has helped very much!

For developping I use Notepad++ instead of ATCS, because I need to have overview about larger parts of code, not just one ID at a time. But for code review later on, I think it will be great help.
Especially the dialogue graph is amazing!

If you need help with ATCS, I'll gladly help, but make sure to post in that tool's thread.

Thx, at the moment I still have 2 main problems with ATCS:
- I don't know how to integrate ATCS and Android studio, because the file structure is totally different. Should I write a CMD script that copies all files from one system to the other? Or is there a way to use both tools with 1 data source?
- And I don't get ATCS to work on my new PC. Installation is ok, but on creating a project, I only get "Loading... Please wait. Creating project x..."

As a workaround I now use ATCS on my company PC (where ATCS works fine) and check there. So it is ok for me at the moment.

Quest progress is directly related to a quest log: a list of key-value pairs (also known as a Map or Dictionary in programming). The keys are numbers, but you don't increase the progress on a quest numerically, you just reached a step or you didn't. The new feature allows you to remove a quest progress step, to allow for repeatable events. This should only be used for invisible quests as it would be awkward to have the character delete some entries in his quest log.

It took me some time to understand this, that quest progress is not a single value but a list. A list is perfect for normal quests. But for status variables (door open/closed, etc) you need a single (of course invisible) questProgress value.
Likewise for a counter that I needed, I combined questProgress and removeQuestProgress, A bit cumbersome but working.
Does an "increaseProgressValue" exist?

For developping I use Notepad++ instead of ATCS, because I need to have overview about larger parts of code, not just one ID at a time. But for code

Could you detail your workflow? If you feel that there is something you can do faster in Notepad++ than in ATCS besides a simple typo fix, I'd like to konw about it, as it may help drive the future development of ATCS. The point is to make content creation easy and fast.

- I don't know how to integrate ATCS and Android studio, because the file structure is totally different. Should I write a CMD script that copies all files from one system to the other? Or is there a way to use both tools with 1 data source?

The file structure is necessarily different, but using the "Export project" function, you can create a zip file containing all the data created and altered by your project in a file structure that you can copy-paste over the game source. You'll still have to add the new files (those under created) to the "loadresources.xml" file for the game to find them.
What's interesting in this is that all data is merged in the desired files. For example, all worldmaps must be in worldmap.xml, so ATCS compiles the created, altered, and unmodified worldmaps in a single file during the export.

Caution though, as once you integrate your changes in the game source, reloading your project (by restarting ATCS for example) against the same source folder will essentially wreck your ATCS project. Use of git branches is IMHO the best solution. Here's an example workflow:
- Check out the master branch of the game source.
- Create an ATCS project against it called "my_quest"
- Export that project as "my_quest.zip", and quit ATCS
- Create a git branch called "my_quest" for the game source based on master.
- Extract the zip in the game source
- Commit
- Switch to master again
- Reopen ATCS, and keep editing your project.
- Return to 3rd step.

- And I don't get ATCS to work on my new PC. Installation is ok, but on creating a project, I only get "Loading... Please wait. Creating project x..."

To help you, I'll need you to paste the contents of the console, but to get the console, you have to edit the ATCS.env.bet file in the installation folder (you can create it if it doesn't exist, or start ATCS as administrator, as it will create it automatically), and make sure it contains the following line:

It took me some time to understand this, that quest progress is not a single value but a list. A list is perfect for normal quests. But for status variables (door open/closed, etc) you need a single (of course invisible) questProgress value.
Likewise for a counter that I needed, I combined questProgress and removeQuestProgress, A bit cumbersome but working.
Does an "increaseProgressValue" exist?

Yup, a single entry in a hidden quest is the way to handle state of doors.
For a counter, the faction system would work well, but I guess you'll need two new requirements type factionScoreAbove and factionScoreBelow that do not exist yet. I'll get to it soon.

For developping I use Notepad++ instead of ATCS, because I need to have overview about larger parts of code, not just one ID at a time. But for code review later on, I think it will be great help.

I am having a hard time picturing your work flow. For dialogues I always have the entire tree open in one tab of ATCS, and work from there. You can also look at the items comparator and the NPCs comparator (I also use this quite often: http://andorstrail.irkalla.cz/0.7.0/index.php). I only edit the json in Notepad++ to get around a bug or limitation in ATCS, and since every time I find a bug or limitation I report it, and Zukero fixes it, those are becoming increasingly rare.

A quest log is not an ordered list, so incrementing or decrementing progress makes no sense. Each entry in the list is independent of the other entries. I could (I think; I have not tried it) create a quest log that went 40, 20, 100, 3, 31, 4. That would be bad practice, but possible. There are no such logs in AT, but there are logs where there is no connection between the list entries. In ATCS, look for the quest "Placeholder for hidden quest stages (not displayed)". It tracks various stages in the game where you have done something, but they are unrelated to each other.

Could you detail your workflow? If you feel that there is something you can do faster in Notepad++ than in ATCS besides a simple typo fix, I'd like to konw about it, as it may help drive the future development of ATCS. The point is to make content creation easy and fast

I have created a AndroidStudio Project based on the github Version and added my sources (JSON, TMX, 1 PNG) and set them into loadresources.xml

Then I open my files in Notepad++ and edit them.
TMX maps of Course with Tiles, but when I add new mapevents, spawns, keys, then sometimes I copy&paste it from another TMX file in Notepad++

AndroidStudio is just for compile.

I use a plain text Editor because I want to see larger part of code at the same time, and because I seldom write a passage completely new but copy&paste an existing passage and just change the different parts.

Thus I am rather quick for new things. When it comes to test/review or finishing touch, then I probably will change my strategy and use ATCS, because it helps finding references etc.

At the moment I don't think much about version control, because aside from loadresources all is completely new and independent. I just want to add 2 or 3 things and then I show it to you.
If it fits into AT, then we find a place to put into the map and do the integration work. Then I will probably need to use github, but not now.

A quest log is not an ordered list, so incrementing or decrementing progress makes no sense.

Agreed for quests.
But maybe you want to limit access to a specific bed to 10 times. This is easy to realize with a Counter, but inconvenient without.

For a counter, the faction system would work well

I do not really understand the faction system, and found commentary that it is never used.
It seems to be invented for monsters behaviour. But if there are methods just to set/get a value in a script and increase/decrease it, then it might be used for other interesting things too.
Zukero, do I understand you right: "requirements type factionScoreAbove and factionScoreBelow" are new methods you have in mind?

In ATCS, look for the quest "Placeholder for hidden quest stages (not displayed)". It tracks various stages in the game where you have done something

Hm, I already created my own hidden quests for such a progress value. Is it a problem having it in other quests? I'd like to have in my own namespace to avoid side effects with other parts of the game.

In the meanwhile I got ATCS to run. I remarked some things:
- The directorey "drawing" of the reference project was empty twice. Could it be that ATCS clears that via its link to that directory?
Maybe some of my problems were of this empty directory.
- Then I imported the JSON one by one via copy&paste. The dialogue import would not work when a "removeQuestProgress" is inside. I changed it to "questProgress", then the import would go.

Btw, is there a print or even better a copy function of the dialogue graph? I would like to print it and check on paper.

Indeed there's a bug in ATCS. You must have a quest in created/questlist_<projectname>.json that has no quest steps. Add one in this file manually by copy-pasting some from another quest, and edit from ATCS afterwards. I'll fix it soon.