The old code wouldn't work because of the monitor order, see below for a more streamlined version,
Code:
declare_counter quarter
set_counter quarter 0
;start counter to appear every third turn
monitor_event FactionTurnStart FactionIsLocal
inc_counter quarter 1
end_monitor
;when the couner reaches 3, reset to 1
monitor_event FactionTurnStart FactionIsLocal
and I_CompareCounter quarter == 3
set_counter quarter 1
end_monitor
;one the third turn it asks yes/no event
monitor_event FactionTurnStart FactionIsLocal
and I_CompareCounter quarter = 2
add_events
event event_counter templar_accepted
event event_counter templar_declined
date 0
end_add_events
historic_event templar true
end_monitor
I think these parts run some sort on interference, wich causes the "quarter" never to be 2 at a turn start.
Try this instead: ( removed some redundancies aswel )
Code:
declare_counter quarter
;start counter to appear every third turn
monitor_event FactionTurnStart FactionIsLocal
inc_counter quarter 1
if I_CompareCounter quarter == 2
and I_EventCounter templar_accepted == 0
historic_event templar true
end_if
if I_CompareCounter quarter == 3
set_counter quarter 0
end_if
if I_EventCounter templar_accepted == 1
terminate_monitor
end_if
end_monitor
then the actual effects: no real changes just 1 small redundancy, aka you set a condition as a command, the event only runs in templar_accepted == 1 and you had it set templar_accepted to 1 bit odd 
yes- reduce money and buildings available
Code:
monitor_event EventCounter EventCounterType templar_accepted
and I_EventCounter templar_accepted == 1
console_command add_money -2000
terminate_monitor
end_monitor
;no- resets counters
stayed the same
Code:
monitor_conditions EventCounter EventCounterType templar_declined
and I_EventCounter templar_declined == 1
set_event_counter templar_declined 0
end_monitor
EDB
It the building won't show up in the building browser as long as the event counter requirement is not met, so that's normal, the building looks fine except for the part I highlighted ( wich might work but it's a bit odd if you ask me...) the stone wall decides the size of your settlement so using it as a requirement is not needed because you already do have this line "settlement_min large_city" wich is basically the same thing.
Also you made a mistake in the event_counter name, you named the event templar and the event counter in the EDB is Templar (not sure that this matters but better safe than sorry).
I repeated the line in the second level of the building this way both levels remain hidden until you have activated the event.
Also I'm not sure that you can have a unconnected name so I made grandeperceptorado --> grande_perceptorado
Code:
Templar Order
{
levels comendadoria preceptorado grande_perceptorado
{
comendadoria city requires factions { portugal, } and building_present_min_level stone_wall large_stone_walland event_counter templar_accepted 1
{
capability
{
recruit_pool "Templar Crossbowmen" 1 0.7 6 0 requires factions { portugal, }
}
material wooden
construction 5
cost 4800
settlement_min large_city
upgrades
{
preceptorado
}
}
preceptorado city requires factions { portugal, } and building_present_min_level education_libraries great_library and event_counter templar_accepted 1
{
capability
{
recruit_pool "Templar Crossbowmen" 1 0.7 6 0 requires factions { portugal, }
}
material wooden
construction 7
cost 9600
settlement_min huge_city
upgrades
{
preceptorado city requires factions { portugal, }
{
capability
{
recruit_pool "Templar Crossbowmen" 1 0.7 6 0 requires factions { portugal, }
}
material wooden
construction 7
cost 9600
settlement_min huge_city
upgrades
{
}
}
}
plugins
{
}
}
for the UI did you make all 3 TGA's ?
you should have
southern_european_grande_perceptorado_constructed.TGA
southern_european_grande_perceptorado.TGA
and
southern_european_grande_perceptorado.TGA
in the "construction" folder of the UI, this can be the same one as above as the game automatically rescales and the size ratio is the same