uhanich спасибо за ответ. Но таким образом я уже работал.
И получилось у игрока работает на ура. Но вот что касается бота.
Он начинает капризничать и появляются серьёзные проблемы с частостью использования этого кода ботом. не пойму, то ли с таймером который штраф на использование даёт, то ли из за сканера и захвата-перехвата цели... (плюс код для бота перекручен так что сканер расстояния и захват цели идёт первее анимации удара а я ещё не очень разбираюсь со всеми тонкостями захвата цели и по зоне охвата и всё такое и у меян лезло уйма ошибок когда там химичил. видима что то не учёл.. )
Ну я ещё похимичу, скорее всего этот способ от uhanich сработает и для бота.
Ладно вот собственно этот код который я хочу домучить своей задержкой.
sp_shield_bash_3 = (
0.0, 0.0, 0.25, [(eq, "$sp_shield_bash_ai", 1)],
[
(get_player_agent_no, ":player_agent"),
(try_for_agents, ":agent"),
(neq, ":agent", ":player_agent"),
(agent_is_alive, ":agent"),
(agent_is_human, ":agent"),
(try_begin),
(neg|agent_slot_ge, ":agent", sp_agent_shield_bash_timer, 1), #Less than.
(agent_slot_eq, ":agent", slot_agent_is_running_away, 0), #Isn't routing.
(agent_get_wielded_item, ":item", ":agent", 1), #Offhand.
(this_or_next|eq, ":item", "itm_shield_wood_risty_01a"),
(this_or_next|eq, ":item", "itm_shield_wood_risty_02a"),
(this_or_next|eq, ":item", "itm_shield_wood_risty_01b"),
(this_or_next|eq, ":item", "itm_shield_wood_risty_01c"),
(this_or_next|eq, ":item", "itm_sheld_empair_litl_a1"),
(this_or_next|eq, ":item", "itm_sheld_empair_normal_a1"),
(this_or_next|eq, ":item", "itm_sheld_empair_litl_a2"),
(this_or_next|eq, ":item", "itm_sheld_empair_normal_a2"),
(eq, ":item", "itm_lethersheld2"),
################################################################################################
(agent_get_attack_action, ":action", ":agent"),
(eq, ":action", 0), #Free.
(agent_get_horse, ":horse", ":agent"),
(eq, ":horse", -1), #No horse.
######## захват цели по зоне на применение. (начало)
(agent_get_team, ":team", ":agent"),
(agent_get_position, pos1, ":agent"),
(assign, ":victim", -1),
(assign, ":minimum_distance", 115),
(try_for_agents, ":suspect"),
(agent_is_alive, ":suspect"),
(agent_is_human, ":suspect"),
(agent_get_position, pos2, ":suspect"),
(neg|position_is_behind_position, pos2, pos1), #Suspect can't be behind basher.
(agent_get_team, ":suspect_team", ":suspect"),
(neq, ":suspect_team", ":team"),
(get_distance_between_positions, ":distance", pos1, pos2),
(le, ":distance", ":minimum_distance"),
(assign, ":minimum_distance", ":distance"),
(assign, ":victim", ":suspect"),
(try_end), ### захват цели по зоне на применение. (Конец)
(ge, ":victim", 0),
(agent_get_horse, ":horse", ":victim"),
(eq, ":horse", -1),
(store_random_in_range, ":rand", 8, 18), #15, 26 #8, 18),
(agent_set_slot, ":agent", sp_agent_shield_bash_timer, ":rand"), #20 is 20*0.25=5seconds.
(agent_set_animation, ":agent", "anim_shield_bash"),
(agent_play_sound, ":agent", "snd_mah_shield_stun_01a"),### 1 anim ####
(try_end), # последствия которые ловит жертва после удара щитом по блоку щитом.
(agent_play_sound, ":victim", "snd_wooden_hit_low_armor_high_damage"),
(agent_get_defend_action, ":action", ":agent"),
(try_begin),
(eq, ":action", 2), #Blocking. Besplatno 0, Parirovanie 1, Block 2
(neg|position_is_behind_position, pos1, pos2), #If basher isn't behind victim.
(agent_get_wielded_item, ":item", ":victim", 1), #Offhand.
(gt, ":item", 0),
(item_get_type, ":type", ":item"),
(eq, ":type", itp_type_shield),
(agent_set_animation, ":victim", "anim_block_shield_bash"),# Anim
(agent_play_sound, ":victim", "snd_hit_punch_01a"), ### 2 sound
(else_try),# тут последствия которые ловит жертва после удачно прошедшего удара.
(agent_set_animation, ":victim", "anim_hit_rand_stun01a"),
(agent_play_sound, ":victim", "snd_hit_shield_stun_01a"),### 3 sound
(try_end),
(try_end), # как я понял это таймер штраф на время по использованию скила
(agent_get_slot, ":timer", ":agent", sp_agent_shield_bash_timer),
(val_sub, ":timer", 1),
(val_max, ":timer", 0),
(agent_set_slot, ":agent", sp_agent_shield_bash_timer, ":timer"),
(try_end),
])
И всё-таки хотелось бы узнать какой командой можно прописать активацию следующего триггера. просто что бы он следом запускался.. Возможно ли это?
Ну что касается этих цифр. (0.0, 0.0, 0.0).
Как ине уже когда то обьяснили..
2) Это вторые квадратные скобки где можно указать задержку второе децствие.
3) Это частость применения ( ну типа с каким интервалом будет запускать операцию, прочитывать первые и 2-рые квадратные скобки.
HunterWolf - Ну я собственно извеиняюсь... Не хотел устраивать тут флуд не по теме, просто хотел узнать один момент и выложить модернизированный код.
Ну я видел что тут тоже задают вопросы и хотел совместить полезное с полезным или типа того...
Больше тут вопросами не флужу только ответами постараюсь.