☣Связанные Зоной☣Форум
?
  
  • Страница 1 из 1
  • 1
Модератор форума: Кракен  
Форум » S.T.A.L.K.E.R. - Чистое небо » Модостроение » Создание враждующих фракций
Создание враждующих фракций
Не в Зоне slavapro




Практика

Рассмотрим функцию из dialogs.script:
Code
function actor_set_stalker(actor, npc)  
   printf("ACTOR NOW IN [STALKER] COMMUNITY")  
   sim_board.get_sim_board():set_actor_community("stalker")  
   return true  
  end  
   
Если попробовать добавить
Code
sim_board.get_sim_board():set_actor_community("my_comm")
то ничего не произойдет, значит идём дальше, в sim_board.script:
Code
-- Перевод игрока в группировку.  
  function sim_board:set_actor_community(community)  
      ---- Устанавливаем группировку игрока  
      db.actor:set_character_community(actor_communitites[community], 0, 0)  
   local tm = task_manager.get_task_manager()  
     
      for k,v in pairs(self.players) do  
          if v.player_name == community then  
              v.community_player = true  
          else  
              v.community_player = false  
              -- Обнуляем все квесты, которые выдала эта группировка  
     for kk,vv in pairs(v.random_tasks) do  
      local task = tm:get_task_by_entity_id(vv)  
      task.last_check_task = "reversed"  
     end                          
          end  
          v.brain:calculate_expansion_targets()  
      end  
  end
Здесь есть два выхода - либо подправить actor_communitites в текущем скрипте
Code
local actor_communitites = {  
          csky                 = "actor_csky",  
          dolg                 = "actor_dolg",  
          freedom              = "actor_freedom",  
          bandit               = "actor_bandit",  
          stalker              = "actor_stalker",  
          none                 = "actor",  
          zombied              = "zombied",  
          monolith             = "monolith",  
          my_comm              = "my_comm"  
  }
и в game_relation.ltx:
Code
[actor_communities]  
  actor           = actor, actor  
  actor_csky      = csky, renegade  
  actor_bandit    = bandit, stalker  
  actor_dolg      = dolg, freedom  
  actor_freedom  = freedom, dolg  
  actor_stalker  = stalker, bandit  
  my_comm         = my_comm, bandit  

  [pda_rank_communities]  
  dolg  
  freedom  
  stalker  
  bandit  
  csky  
  renegade  
  my_comm
(обратите внимание, что в конфиге после знака "=", идёт "Группировка-друзья, Группировка-враги"), или вторым способом:
Code
db.actor:set_character_community("my_comm", 0, 0)
И в конфиге, естественно.

Вот мы и разобрались со вступлением, но при переходе в раздел "Война группировок" - вылет. Идём дальше. Видим, что ошибка в скрипте pda.script, значит, по аналогии добавляем туда:
Code
        elseif(state.faction_id=="freedom") then  
          state.name = game.translate_string("ui_st_name_freedom")  
          state.icon = "freedom_wide"  
          state.icon_big = "freedom_big"  
          if faction ~= nil then  
           state.target = faction:get_war_target_title()  
           state.target_desc = faction:get_war_target_descr()  
          else  
           state.target = ""  
           state.target_desc = ""  
          end  
          state.location = game.translate_string("st_location_freedom")  
     
          state.war_state1 = faction:get_war_stage_icon(4)  
          state.war_state_hint1 = faction:get_war_stage_icon(4)  
    state.war_state2 = faction:get_war_stage_icon(5)  
    state.war_state_hint2 = faction:get_war_stage_icon(5)  
    state.war_state3 = faction:get_war_stage_icon(6)  
    state.war_state_hint3 = faction:get_war_stage_icon(6)  
    state.war_state4 = faction:get_war_stage_icon(7)  
    state.war_state_hint4 = faction:get_war_stage_icon(7)  
    state.war_state5 = faction:get_war_stage_icon(8)  
    state.war_state_hint5 = faction:get_war_stage_icon(8)  
     
  --Наша часть  
      elseif(state.faction_id=="my_comm") then  
          state.name = game.translate_string("ui_st_name_freedom")--Имя нашей группировки в войне группировок  
          state.icon = "freedom_wide" --Иконка в инвентаре  
          state.icon_big = "freedom_big" --Иконка в войне группировок  
          if faction ~= nil then  
           state.target = faction:get_war_target_title()  
           state.target_desc = faction:get_war_target_descr()  
          else  
           state.target = ""  
           state.target_desc = ""  
          end  
           state.location = game.translate_string("st_location_freedom")--Локация обитания




Форум » S.T.A.L.K.E.R. - Чистое небо » Модостроение » Создание враждующих фракций
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Авторское право на игру и использованные в ней материалы принадлежат GSC Game World.
Любое использование материалов сайта возможно только с разрешения Администрации.
Для просмотра сайта рекомендуем использовать Яндекс.Браузер
Copyright soc-team © 2014.

   Бесплатный анализ сайта
Общий канал
Общий канал
Сталкер, мы кого попало не пропускаем.
0
Группировки


Вступить

Обновления форума

Поиск по сайту

Лучшие сталкеры
slavapro
Постов: 544
Репутация: 11
Virus
Постов: 348
Репутация: 1
KiRiYaNoV
Постов: 319
Репутация: 1
p203w
Постов: 120
Репутация: 0
Кракен
Постов: 66
Репутация: 2

Кто нас сегодня посетил


Братья по оружию
 
Новости, общение и многое другое,<br> у нас на survarium-delta.ucoz.ru  Top Life-Stalker.RU
 Сайт создан не для заработка, а для вас Заходите Сталкеры. Оцените наш проект)ждем вас на http://DOLG-vs-SVOBODE.3dn.ru
Новости общение и многое другое, у нас на exelent731.ucoz.ru