Голосование

Как вы оцениваете Смуту?












Оформление



Пользователей
  • Всего: 28869
  • Последний: Adr3naline
Сейчас на форуме
Пользователи: 4
Гостей: 551
Всего: 555

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - ARIMA

Страницы: [1]
1
Клиент готов! (Это он и есть)
А для сервера нужны скриптеры
Помогу дай вк или свой скуп

2

Чисто серверный исходный код, который используется в серверной стороне, взят с оригинального NeoGK, удалил клиентскую часть и одиночку.
Используйте на здоровье.;)
NeoGK(Source) -
https://www.dropbox.com/s/3c3h00kd6bgllxv/S%20E%20R%20V%20E%20R%20NeoGK.rar?dl=0

Для новичков кто не понимает, пожалуйста ознакомьтесь - http://rusmnb.ru/index.php?topic=5710.0.
Если найдете не работающие функции, будьте добры сообщите сюда.

3
Дикий-дикий повар,  спасибо я подругому все сделал) все работает
 

4
спаунится бот по пропу с серверной стороны, мульт, когда бьешь по нему то он за золото продавал наемников, есть ли ошибки какие при декомпиляции гладко?
###constans
slot_agent_is_chat_bot            = 32
slot_agent_is_mercenary_owner     = 33


### trigger

agent_hit_trigger = (ti_on_agent_hit, 0, 0, [
  (multiplayer_is_server),
  ],
   [
        (store_trigger_param_1, ":damage_agent_no"),
        (store_trigger_param_2, ":attacker_agent_no"),
        (store_trigger_param_3, ":damage"),

(agent_get_position, pos1, ":damage_agent_no"),

(scene_prop_get_num_instances, ":object_max", "spr_potlamp"),
(try_begin),
            (ge, ":object_max", 1),
            (try_for_range, ":object_cur", 0, ":object_max"),
                (scene_prop_get_instance, ":instance", "spr_potlamp", ":object_cur"),
(prop_instance_get_variation_id_2, ":variation_id", ":instance"),
(gt, ":variation_id", 0),
(val_mul, ":variation_id", 100),
                (prop_instance_get_position, pos3, ":instance"),
(get_distance_between_positions, ":distance", pos1, pos3),
(le, ":distance", ":variation_id"),
(assign, ":damage", 0),
(set_trigger_result, ":damage"),
(assign, ":object_max", 0),
            (try_end),
  (agent_is_non_player, ":damage_agent_no"),
  (try_begin),
    (agent_slot_eq, ":damage_agent_no", slot_agent_is_chat_bot, 1),
(agent_get_player_id, ":attacker_player_id", ":attacker_agent_no"),
        (player_is_active, ":attacker_player_id"),
  (try_end),
(try_end),


        (assign, "$g_process_interrupter", 1),
        (call_script, "script_cf_mt_neo_agent_hit", ":damage_agent_no", ":attacker_agent_no", ":damage"),
   ])
   
   
   
chat_bot_spawn = (10, 0, ti_once, [
  (multiplayer_is_server),
],
  [
    (scene_prop_get_num_instances, ":instances_number", scene_prop_for_spawn_agent),
    (try_for_range, ":instance_index", 0, ":instances_number"),
  (scene_prop_get_instance, ":instance_no", scene_prop_for_spawn_agent, ":instance_index"),
  (prop_instance_is_valid, ":instance_no"),

  (prop_instance_get_variation_id, ":troop_no", ":instance_no"),
      (is_between, ":troop_type", 1, 15),
  (assign, reg3, ":troop_type"),
  (call_script, "script_get_troop_for_spawn_agent_with_scene_props", ":troop_type"),
 
      (prop_instance_get_position, pos3, ":instance_no"),
  (set_spawn_position, pos3),
  (spawn_agent, ":troop_no"),
  (assign, ":agent_no", reg0),

 
      (agent_set_slot, ":agent_no", slot_agent_is_chat_bot, 1),
  (agent_set_no_death_knock_down_only, ":agent_no", 1),
 
      (try_begin),
  (agent_is_active,":agent_id"),
  (agent_is_alive,":agent_id"),
  (agent_get_player_id, ":player_id", ":agent_id"),
  (player_is_active,":player_id"),
  (player_get_gold, ":player_gold", ":player_id"),
      (prop_instance_get_variation_id_2, reg0, ":instance_no"),
  (val_mul, reg0, 100),
  (try_begin),
  (ge, ":player_gold", reg0),
  (try_begin),
  (prop_instance_get_variation_id, ":troop_type", ":instance_no"),

  (assign, ":troop_id", 0),
  (try_begin),
  (eq, ":troop_type", 1),
  (assign, ":troop_id", "trp_swadian_crossbowman_multiplayer_ai"),
  (else_try),
  (eq, ":troop_type", 2),
  (assign, ":troop_id", "trp_nord_veteran_multiplayer_ai"),
  (try_end),
 
  (gt, ":troop_id", 0),
 
  (val_sub, ":player_gold", reg0),
  (player_set_gold, ":player_id", ":player_gold", multi_max_gold_that_can_be_stored),
 
  (agent_get_position,pos1,":agent_id"),
  (position_move_x, pos1, 150),
      (set_spawn_position, pos1),
      (spawn_agent,":troop_id"),
  (assign, ":mercenary_agent_id", reg0),
  (agent_set_slot, ":mercenary_agent_id", slot_agent_is_mercenary_owner, ":player_id"),
  (call_script, "script_agent_set_relation_with_agent", ":agent_id", ":mercenary_agent_id", 1),
  (agent_set_group, ":mercenary_agent_id", ":player_id"),
  (agent_set_is_alarmed, ":mercenary_agent_id", 1),
 
  (try_for_agents, ":cur_agent"),
  (agent_is_active, ":cur_agent"),
  (agent_is_alive, ":cur_agent"),
  (agent_is_human, ":cur_agent"),
  (agent_slot_eq, ":cur_agent", slot_agent_is_mercenary_owner, ":player_id"),
  (call_script, "script_agent_set_relation_with_agent", ":mercenary_agent_id", ":cur_agent", 1),
  (try_end),

  (call_script, "script_agent_make_neutral_all", ":agent_no"), 
(try_end), 
  (str_store_string, s0, "@You hired mercenary"),
  (multiplayer_send_string_to_player, ":player_id", multiplayer_event_show_server_message, s0),
 
  (try_end),
  (else_try),
      (str_store_string, s0, "@Mercenary cost - {reg0} gold"),
              (multiplayer_send_string_to_player, ":player_id", multiplayer_event_show_server_message, s0),
      (try_end),
  (try_end),
   ])

5
   (2, 0, 0, [(multiplayer_is_server),], ####assassin even securety AI check agr and kill players   
      [
   (try_for_agents,":bot_s"),
      (agent_is_active,":bot_s"),
      (agent_is_non_player,":bot_s"),
      (agent_is_human,":bot_s"),(gt,":bot_s",-1),
      (agent_is_alive,":bot_s"),
      (agent_get_troop_id,":troop_id",":bot_s"),(gt,":troop_id",-1),
       (this_or_next|eq,":troop_id","$npc_weapon"),(eq,":troop_id","$npc_armor"),
      (agent_get_position,pos1,":bot_s"),
      (try_begin), (this_or_next|eq,":troop_id","$npc_weapon"),(eq,":troop_id","$npc_armor"),(agent_set_no_death_knock_down_only, ":bot_s", 1),(agent_set_damage_modifier, ":bot_s", 200),(try_end),
      (try_for_agents,":agent_no"),
         (agent_is_active,":agent_no"),(agent_is_alive, ":agent_no"),
         (agent_is_human,":agent_no"),(gt,":agent_no",-1),
         (agent_get_position,pos2,":agent_no"),
         (get_distance_between_positions,":dist",pos1,pos2),
         (try_begin),(agent_get_player_id,":player_no",":agent_no"),(gt,":player_no",-1),
         (try_end),
         (agent_get_wielded_item,":item_equip_r",":agent_no",0), #0-R 1-L
         (try_begin),(neg|agent_is_non_player, ":agent_no"),(is_between,":dist",0,1500),(le,":item_equip_r",-1),
            (try_begin),(this_or_next|eq,":troop_id","$npc_weapon"),(eq,":troop_id","$npc_armor"),(is_between,":dist",0,150), #shop npc
               (try_begin),(eq,":troop_id","$npc_armor"),
                  (call_script,"script_assassin_event_armor",":agent_no"),
               (else_try),(eq,":troop_id","$npc_weapon"),
                  (call_script,"script_assassin_event_weapon",":agent_no"),
               (try_end),
         (else_try),(neg|agent_is_non_player, ":agent_no"),(is_between,":dist",0,1500),  #
            (try_begin),(is_between,":dist",0,199),(gt,":item_equip_r",-1),
            (else_try),(this_or_next|gt,":item_equip_r",-1), #check player
               (agent_set_scripted_destination, ":bot_s", pos2, 1),
            (try_end),
         (else_try),(agent_is_non_player, ":agent_no"),
               (agent_add_relation_with_agent,":bot_s",":agent_no", 1), # #-1 = enemy, 0 = neutral (no friendly fire at all), 1 = ally
               (agent_add_relation_with_agent,":agent_no",":bot_s", 1), # #-1 = enemy, 0 = neutral (no friendly fire at all), 1 = ally
         (try_end),
      (try_end), 
   (try_end),
      ]),


где я ошибся? при компиляции все отлично идет, но в сервере при подходе к боту он смертный и не выдает вещи

6
Мозговой штурм / Re: S.T.A.L.K.E.R mod
« : 05 Апреля, 2017, 07:49 »
И натягивание для каждого выстрела.
Есть itm_type_pistol, itm_type_mushket

7
Мозговой штурм / Re: S.T.A.L.K.E.R mod
« : 04 Апреля, 2017, 22:20 »
Но все будут арбалетами  :)
Пару анимок  и все

8
Мозговой штурм / Re: S.T.A.L.K.E.R mod
« : 04 Апреля, 2017, 22:06 »
С местным огнестрелом это пустая трата времени.
Огнестрелы будут разные в зависимости от оружия

9
Мозговой штурм / Re: S.T.A.L.K.E.R mod
« : 04 Апреля, 2017, 19:18 »
Взят PW,мод мультиплеерный, я возьму только ресурсы некоторые с мода The Reckoning, мне разрешили, сказав чтоб я их потом в кридиты вписал. Мод будет отличным, Игроки будут заходить как нейтральные а дальше по Группировкам.

10
Мозговой штурм / Re: S.T.A.L.K.E.R mod
« : 04 Апреля, 2017, 16:39 »
cкриншот

11
Мозговой штурм / S.T.A.L.K.E.R mod
« : 04 Апреля, 2017, 16:29 »
По тихоньку начал делать мод Сталкер под варбанд, мультиплеерный взял модуль Persistent World и Persistent Fianna, суть полностью внедрить Сталкер тень чернобыля, будут введены авто и вертолеты(Что сможет движок конечно варбанда осилить), собираю команду очень нужна помощь, особенно моделисты кто хорошо шарит в 3d max, Blender, Textures, BRF.  (Сам смогу добавить обьекты, есть опыт работы коддить, взамен могу помочь и вам!).

Что я добавил:
изменил интерфейс,
музыку меню,
добавлен скрипт - ходьба сидя,
Изменена флора, растение стало более живым.

12
Добрый вечер, коддеры подскажите в скриптах мультиплеера Натива, где найти код фракции, чтобы игрок не присоединялся ко второй фракции

13
Всем привет у меня вопрос делал все так- Сцена. Применяется только к записям объектов Heroes/герои. Определяет в какой сцене и в какой entry point/входной точке герой появится. Для примера, метка scn_reyvadin_castle|entry (1) поместит героя во входную точку (1) внутри замка Рейвадин.
Только для мультиплеера прописал scn_multi_scene_17|entry (4) и указал в карте где будет спауне фермера но вместо него боты вышли а фермер в другом местe, прошу дайте совет как сделать. :)

14
Есть module_mission_temlase, mission_script, animation можете обьяснить как определить куда вставить эти скрипты

mission_temlase>>>

common_find_hero_1 = ( #find hero 1
    ti_on_agent_spawn, 1, 0, [],
[
    (try_begin),
            (assign, reg11, 0),
            (try_for_agents, ":agent_temp"),
                    (agent_is_human, ":agent_temp"),
                    (agent_is_alive, ":agent_temp"),
                    (agent_has_item_equipped, ":agent_temp", "itm_sword_two_handed_a"), #hero 1 is the man who has this item
                    (assign, reg11, ":agent_temp"),
            (try_end),
    (try_end),                 
     

])

common_find_hero_2 = ( #find hero 2
    ti_on_agent_spawn, 1, 0, [],
[
    (try_begin),
            (assign, reg12, 0),
            (try_for_agents, ":agent_temp"),
                    (agent_is_human, ":agent_temp"),
                    (agent_is_alive, ":agent_temp"),
                    (agent_has_item_equipped, ":agent_temp", "itm_glaive"), #hero 2 is the man who has this item
                    (assign, reg12, ":agent_temp"),
            (try_end),
    (try_end),       
])

common_find_enemy_around1 = ( #Find enemy around hero 1 and decide what hero1 do
    0.1, 0.2, 0, [],  #hero 1 respond time  (lower is better)
  [
(neg|eq, reg11, 0),
(assign, ":hero1", reg11),
(assign, ":count1", 0),
(try_for_agents, ":agent_temp"),
        (agent_is_human, ":agent_temp"),
        (agent_is_alive, ":agent_temp"),
        (neg|eq, ":agent_temp", ":hero1"),
        (agent_get_position, pos16, ":agent_temp"),
        (agent_get_position, pos11, ":hero1"),
        (get_sq_distance_between_positions, ":sq_distance1", pos11, pos16),
        (try_begin),
                (le, ":sq_distance1", 1600), # Square in cm2
                (store_add, ":count1", ":count1", 1),
                (assign, ":enemy1", ":agent_temp"),
                (get_distance_between_positions, ":distance1", pos11, pos16), #i use this later
               
        (try_end),
(try_end),
        (agent_is_active, ":hero1"),
        (agent_is_active, ":enemy1"),
(try_begin),
        (val_add, reg21, 0),
        (assign, reg21, ":count1"),
        (agent_get_attack_action, ":hero1_attack", ":hero1"),
        (agent_get_attack_action, ":enemy_attack", ":enemy1"),
        (agent_get_action_dir, ":enemy_attack_direction", ":enemy1"),
        (try_begin),
                (eq, reg21, 0),
                (neg|eq, reg21, ":count1"),
                (display_message,"@there are no enemy"),
        (else_try),
                (eq, reg21, 1),
                (call_script, "script_hero_moving1", ":hero1", ":hero1_attack", ":enemy_attack", ":enemy_attack_direction"),
        (else_try),
                (gt, reg21, 1),
                (agent_set_animation, ":hero1", "anim_roll_backward"),
        (try_end),
(try_end),

 ])

common_find_enemy_around2 = ( #Find enemy around hero 2 and decide what hero2 do
    0.3, 0.3, 0, [], #hero 2 response time (lower is better)
  [
(neg|eq, reg12, 0),
(assign, ":hero1", reg12),
(assign, ":count1", 0),
(try_for_agents, ":agent_temp"),
        (agent_is_human, ":agent_temp"),
        (agent_is_alive, ":agent_temp"),
        (neg|eq, ":agent_temp", ":hero1"),
        (agent_get_position, pos17, ":agent_temp"),
        (agent_get_position, pos12, ":hero1"),
        (get_sq_distance_between_positions, ":sq_distance1", pos12, pos17),
        (try_begin),
                (le, ":sq_distance1", 2500), # Square in cm2, 2500 because the glaive is long than the sword
                (store_add, ":count1", ":count1", 1),
                (assign, ":enemy1", ":agent_temp"),
                (get_distance_between_positions, ":distance1", pos12, pos17),
         (try_end),
(try_end),

        (agent_is_active, ":hero1"),
        (agent_is_active, ":enemy1"),
(try_begin),
        (val_add, reg21, 0),
        (assign, reg21, ":count1"),
        (agent_get_attack_action, ":hero1_attack", ":hero1"),
        (agent_get_attack_action, ":enemy_attack", ":enemy1"),
        (agent_get_action_dir, ":enemy_attack_direction", ":enemy1"),
        (try_begin),
                (eq, reg21, 0),
                (neg|eq, reg21, ":count1"),
                (display_message,"@there are no enemy"),
        (else_try),
                (eq, reg21, 1),
                (call_script, "script_hero_moving1", ":hero1", ":hero1_attack", ":enemy_attack", ":enemy_attack_direction"),
        (else_try),
                (gt, reg21, 1),
                (agent_set_animation, ":hero1", "anim_roll_backward"),
        (try_end),
(try_end),
 ])



module_script>>>

  ("hero_moving1", 
  [
(store_script_param, ":hero1", 1),
(store_script_param, ":hero1_attack", 2),
(store_script_param, ":enemy_attack", 3),
(store_script_param, ":enemy_attack_direction", 4),
(try_begin),
        (eq, ":hero1_attack", 0),
        (try_begin),
                (eq, ":enemy_attack", 0),
                (agent_set_animation, ":hero1", "anim_fighting_stance"),
        (else_try),
                (eq, ":enemy_attack", 1),
                (agent_set_animation, ":hero1", "anim_fighting_stance"),
                (agent_set_attack_action, ":hero1", 1, 0),
        (else_try),
                (eq, ":enemy_attack", 2),
                (call_script, "script_hero_blocking1", ":hero1", ":enemy_attack_direction"),
        (else_try),
                (eq, ":enemy_attack", 3),
                (agent_set_animation, ":hero1", "anim_roll_backward"),
        (else_try),
                (ge, ":enemy_attack", 4),
                (agent_set_animation, ":hero1", "anim_fighting_stance"),
                (agent_set_attack_action, ":hero1", 0, 0),
        (try_end),
(else_try),
        (eq, ":hero1_attack", 1),
        (try_begin),
                (eq, ":enemy_attack", 0),
                (agent_set_animation, ":hero1", "anim_fighting_stance"),
                (agent_set_attack_action, ":hero1", 0, 0),
        (else_try),
                (eq, ":enemy_attack", 1),
                (agent_set_animation, ":hero1", "anim_fighting_stance"),
                (agent_set_attack_action, ":hero1", 1, 0),
        (else_try),
                (eq, ":enemy_attack", 2),
                (call_script, "script_hero_blocking1", ":hero1", ":enemy_attack_direction"),
        (else_try),
                (ge, ":enemy_attack", 3),
                (agent_set_animation, ":hero1", "anim_fighting_stance"),
                (agent_set_attack_action, ":hero1", 1, 0),
        (try_end),
(else_try),
        (eq, ":hero1_attack", 2),
        (try_begin),
                (eq, ":enemy_attack", 0),
                (display_message,"@free"),
        (else_try),
                (eq, ":enemy_attack", 1),
                (display_message,"@free"),
        (else_try),
                (eq, ":enemy_attack", 2),
                (call_script, "script_hero_blocking1", ":hero1", ":enemy_attack_direction"),
        (else_try),
                (eq, ":enemy_attack", 3),
                (agent_set_attack_action, ":hero1", 1, 0),
        (else_try),
                (ge, ":enemy_attack", 4),
                (agent_set_attack_action, ":hero1", 1, 0),
        (try_end),
(else_try),
        (eq, ":hero1_attack", 3),
        (try_begin),
                (eq, ":enemy_attack", 0),
                (agent_set_attack_action, ":hero1", 2, 0),
        (else_try),
                (eq, ":enemy_attack", 1),
                (agent_set_attack_action, ":hero1", 2, 0),
        (else_try),
                (eq, ":enemy_attack", 2),
                (call_script, "script_hero_blocking1", ":hero1", ":enemy_attack_direction"),
        (else_try),
                (eq, ":enemy_attack", 3),
                (agent_set_attack_action, ":hero1", 1, 0),
        (else_try),
                (ge, ":enemy_attack", 4),
                (agent_set_attack_action, ":hero1", 1, 0),
        (try_end),
(else_try),
        (eq, ":hero1_attack", 4),
        (try_begin),
                (eq, ":enemy_attack", 0),
                (agent_set_attack_action, ":hero1", 2, 0),
        (else_try),
                (eq, ":enemy_attack", 1),
                (agent_set_attack_action, ":hero1", 1, 0),
        (else_try),
                (eq, ":enemy_attack", 2),
                (call_script, "script_hero_blocking1", ":hero1", ":enemy_attack_direction"),
        (else_try),
                (eq, ":enemy_attack", 3),
                (agent_set_attack_action, ":hero1", 1, 0),
        (else_try),
                (ge, ":enemy_attack", 4),
                (agent_set_attack_action, ":hero1", 1, 0),
        (try_end),
(try_end),
       
 ]),


  ("hero_blocking1", 
  [
(store_script_param, ":hero1", 1),
(store_script_param, ":enemy_attack_direction", 2),
                (try_begin),
                        (eq, ":enemy_attack_direction", 0),
                        (agent_set_defend_action, ":hero1", 0, 100),
                (else_try),
                        (eq, ":enemy_attack_direction", 1),
                        (agent_set_defend_action, ":hero1", 1, 100),
                (else_try),
                        (eq, ":enemy_attack_direction", 2),
                        (agent_set_defend_action, ":hero1", 2, 100),
                (else_try),
                        (eq, ":enemy_attack_direction", 3),
                        (agent_set_defend_action, ":hero1", 3, 100),
                (try_end),

  ]),

 
module_animation>>>>>

 ],
 ["roll_backward", acf_enforce_all|acf_displace_position, amf_priority_equip|amf_play|amf_client_prediction,
   [1.0, "roll_backward", 0, 26, arf_blend_in_4, 0, (0, -5.0, 0), 0], #|arf_end_pos_0_25],
  ],
  ["fighting_stance", acf_enforce_lowerbody|acf_displace_position, amf_priority_jump_end|amf_play|amf_client_prediction,
   [0.3, "fighting_stance", 0, 28, arf_blend_in_4, 0, (0, 0.0, 0), 0], #|arf_end_pos_0_25],
  ],
 ["unused_human_anim_49", 0, 0, [1.0, "anim_human", 0, 1, 0]],

15
можно ли бить щитом, садиться на стулья, и другие разные жесты для натива скрипт, и пойдёт ли он на мултиплеер?

Страницы: [1]
СиЧЪ Total War СиЧЪ Total War
Сайт "Всадники Кальрадии" не является СМИ. Администрация не несет ответственность за высказывания и публикацию каких-либо материалов, сделанные любыми пользователями форума, в том числе посредством личных и публичных сообщений. Материалы, размещенные на ресурсе третьими лицами, могут содержать информацию, не предназначенную для лиц, не достигнувших совершеннолетия. При обнаружении на ресурсе материалов, нарушающих законодательство Российской Федерации, необходимо обращаться к администрации.
Сайт работает на быстром VPS/VDS хостинге от FASTVPS


Powered by SMF 2.0 | SMF © Simple Machines LLC