I've experimented with this too - trying to find a technique which automatically detects which civ is played by the human player and delivers either something for the human player only or for the AI civs only, such as a tech or special units. The problem is that this trigger also automatically cuts off negotiation between the civs. Have you found a way around this?
Announcement
Collapse
No announcement yet.
Favourite (and innovative) scenario concepts
Collapse
X
-
-
Originally posted by Prometeus
I wonder if anyone published these infos here.
I got a "neutronic" bomb by setting nuclear weapon attack value to 80. Same effect, diminished pollution casualities. Very nice, have to try it.
Comment
-
Originally posted by techumseh
I've experimented with this too - trying to find a technique which automatically detects which civ is played by the human player and delivers either something for the human player only or for the AI civs only, such as a tech or special units. The problem is that this trigger also automatically cuts off negotiation between the civs. Have you found a way around this?
I afraid the only way is to switch to another eventsfile after all civs get their "identification".
Comment
-
If you have ToT you can just use the Negotiator to immediately negate the Negotiation trigger:
@IF
Negotiation
talker=(civ name)
talkertype=Human
listener=(other civ)
listenertype=HumanOrComputer
@THEN
JustOnce
GiveTechnology
technology=(tech #)
receiver=(civ name)
Negotiator
who=(leader #)
type=talker
state=clear
@ENDIF
In the above statement, the type= parameter should be talker in one Negotiator action and listener (for the same civ) in another, talker allowing the civilization to initiate a talk with whomever he or she wants and listener allowing the civ to receive a talk from whomever wants to talk to that civ. Unfortunately, there is no way to change individual negotiation settings, though. There might be another way to do this (ie with talkermask and listenermask)."If you are not confused by quantum physics, then you haven't really understood it." -Niels Bohr
"The true test of your character is what it takes to stop you." -Dr. Bob Jones Sr.
Comment
-
Interesting. Have you tried it out?
Comment
-
I know. But there were less than a hand full of people interestet in such a scen, that I stop further development of an existing ToT scen. check this link
Comment
-
I tried that Alex, but it doesn't work... Well, it does for "human-detection", but diplomacy is still impossible that way.
The listertype/talkertype automatically disables negotiation, even with the Negotiator action. The Negotiator only works in combination with the listermask/talkermask, but you can't identify the human player with that.
Plus, why waste a technology? It's much better to use flags for this. You could use one flag to mark human civs.
And another thing, you could use the TriggerReceiver "variable", to let the actions apply to the civ initiation the talk...
But again, this can only work if you don't mind turning off diplomacy.
Comment
-
Merc, the challenge is to have a scenario in which more than one civ is playable, and have the events automatically detect which civ is being played by the human player once the scenario is begun, so that specific events can be triggered for the human civ only. Are you saying this can be done by flags?
Comment
-
Well, not really... The Negotiation event is still the only event that can detect human players.
That means detection can't be done right at startup, only when the player(s) try to engage in negotiation. But in doing so, you also turn off negotiation in the first place.
The only thing I was saying is that, instead of technologies, like Thoddy did earlier, you could use flags to mark the human player... But you first have to find a way to actually detect them. Flags are only a way of storing the information.
Ahem... And you can ignore what I said about TriggerReceiver. It doesn't work.
EDIT: This would be how you could use flags to store which civ is human. The Negotiation thing would have to be repeated for all civs.
Opening the foreign minister screen is enough to trigger this event (as long as you know other civs)... Diplomacy would be disabled though.
Code:@INITFLAG @IF Negotiation talker=Americans talkertype=Human listener=AnyBody listenertype=HumanOrComputer @THEN Flag continuous who=Americans state=On flag=0 @ENDIF @IF Turn turn=5 @AND CheckFlag who=Americans flag=0 state=On @THEN Text The Americans are human. EndText @ENDIF
A setup batch file would be much easier in that case... As BeBro did in Imperium Romanum for example (see my example in the file switching thread).
Comment
-
Originally posted by Mercator
Well, not really... The Negotiation event is still the only event that can detect human players.
That means detection can't be done right at startup, only when the player(s) try to engage in negotiation. But in doing so, you also turn off negotiation in the first place.
Opening the foreign minister screen is enough to trigger this event (as long as you know other civs)... Diplomacy would be disabled though.
Code:@INITFLAG @IF Negotiation talker=Americans talkertype=Human listener=AnyBody listenertype=HumanOrComputer @THEN Flag continuous who=Americans state=On flag=0 @ENDIF @IF Turn turn=5 @AND CheckFlag who=Americans flag=0 state=On @THEN Text The Americans are human. EndText @ENDIF
This may get around the problem. I've not tested it yet.
@IF
Negotiation
talker=Americans
talkertype=Human
listener=AnyBody
listenertype=HumanOrComputer
@AND
CheckFlag
who=Americans
flag=0
state=Off
@THEN
Flag
continuous
who=Americans
state=On
flag=0
@ENDIF
Alternately, the listener could be a single civ that no one is allowed to communicate, like the Hodad in the Aliens scenario.
Another musing, would barbarians be usable a the listener?
Comment
-
Your alternative event works the same, diplomacy is still off. I didn't expect it would get around this, because the @AND actually just creates two different event structures, one for each trigger (and something that links the two as well, I guess).
The barbarians idea doesn't work either. Diplomacy is back, but human detection now fails (probably because the Negotiation event is never triggered in the first place with Barbarians).
Your second idea works, though. I imagine that would work well especially if you already have an isolated civ anyway. Like the Hodads example you gave, or say, a Neutral civ in a WWII scenario.
Comment
-
It is probably easier to have different sets of events.txt for multiple human-playable civs. I think this is used in a number of scenarios.Visit First Cultural Industries
There are reasons why I believe mankind should live in cities and let nature reclaim all the villages with the exception of a few we keep on display as horrific reminders of rural life.-Starchild
Meat eating and the dominance and force projected over animals that is acompanies it is a gateway or parallel to other prejudiced beliefs such as classism, misogyny, and even racism. -General Ludd
Comment
-
The diplomatic problem was the same as I found in my further feasabilty study.
idea.
1) create flags for all civs (this flag remains 1 until the civ has been communicated with somebody)
2) use a combined checkflag and negotiation trigger
to check for human
give human technolgy or (human) flag to this civ
set flag (1) to zero
3) use a combined checkflag and negotiation event to check for AI
give AI technology or AI-Flag to this civ
set flag (1) to zero
I hope the checkflag part will prevent the event from disabling diplo screen.
Comment
Comment