[27.05.2014] Вопросы ... ( Мастер)
[16.08.2011] N.M.K ( Digefal)
[15.08.2011] Набор мо... ( ☺[Super]Nub4ik☺)
[15.08.2011] Набор ад... ( ☺[Super]Nub4ik☺)
[15.08.2011] Вышел N.... ( ☺[Super]Nub4ik☺)
[14.08.2011] Hud для ... ( ☺[Super]Nub4ik☺)
[13.08.2011] Тип заяв... ( ☺[Super]Nub4ik☺)
[13.08.2011] Тип заяв... ( ☺[Super]Nub4ik☺)
[11.08.2011] Набор ср... ( ☺[Super]Nub4ik☺)
[10.08.2011] N.M.K MP... ( ☺[Super]Nub4ik☺)
[10.08.2011] Звуки ор... ( ☺[Super]Nub4ik☺)
[10.08.2011] Текстуры... ( ☺[Super]Nub4ik☺)
[10.08.2011] Оружие и... ( ☺[Super]Nub4ik☺)
[10.08.2011] Квесты ( ☺[Super]Nub4ik☺)
[10.08.2011] Нпс ( ☺[Super]Nub4ik☺)
    [17.08.2011] HARDWAR ... ( 0)
[17.08.2011] PostScri... ( 0)
[17.08.2011] Old Good... ( 0)
[17.08.2011] Depressi... ( 0)
[17.08.2011] Killers ... ( 0)
[17.08.2011] Graphic ... ( 0)
[17.08.2011] Новая бр... ( 1)
[17.08.2011] S.T.A.L.... ( 0)
[15.08.2011] Чит для ... ( 0)
[15.08.2011] Чит для ... ( 0)
[15.08.2011] Чит для ... ( 0)
[15.08.2011] Чит для ... ( 0)
[15.08.2011] Чит для ... ( 0)
[15.08.2011] Чит для ... ( 0)
[15.08.2011] Читы для... ( 0)
[15.08.2011] Вступлен... ( 0)
[15.08.2011] Изменяем... ( 0)
[15.08.2011] Создание... ( 0)
[15.08.2011] Добавлен... ( 0)
[15.08.2011] Создание... ( 0)
[15.08.2011] Возвраще... ( 0)
[15.08.2011] Обзор от... ( 0)
[13.08.2011] Создаём ... ( 0)
[13.08.2011] Как реда... ( 0)
[13.08.2011] Как сдел... ( 0)
[13.08.2011] Гармошка ( 0)
[13.08.2011] Изменени... ( 0)
[13.08.2011] Невидимы... ( 0)
[13.08.2011] увеличен... ( 0)
[13.08.2011] Как пове... ( 0)
Что хотите увидеть в моде N.M.K V1.0?
Всего ответов: 100
Чтото ваше
Главная » Статьи » Модостроение » Модостроение Чистое Небо

Создание враждующих группировок (для ЧН)
Практика

Рассмотрим функцию из dialogs.script:

function actor_set_stalker(actor, npc)
printf("ACTOR NOW IN [STALKER] COMMUNITY")
sim_board.get_sim_board():set_actor_community("stalker")
return true
end


Если попробовать добавить

sim_board.get_sim_board():set_actor_community("my_comm")


то ничего не произойдет, значит идём дальше, в sim_board.script:

-- Перевод игрока в группировку.
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 в текущем скрипте

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:

[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


(обратите внимание, что в конфиге после знака "=", идёт "Группировка-друзья, Группировка-враги"), или вторым способом:

db.actor:set_character_community("my_comm", 0, 0)


И в конфиге, естественно.

Вот мы и разобрались со вступлением, но при переходе в раздел "Война группировок" - вылет. Идём дальше. Видим, что ошибка в скрипте pda.script, значит, по аналогии добавляем туда:

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")--Локация обитания



The End

Ну вроде всё! Тутор рассчитан на опытных модмейкеров! Сам процесс вступления не описывал.
Титры)

Автор - russian-stalker Статья перенесена с оф. мод-ресурса by stalers-life (stunder)













Категория: Модостроение Чистое Небо | Добавил: ☺[Super]Nub4ik☺ (03.08.2011)
Просмотров: 1887
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
   

СТАЛКЕР!
Я всегда рад видеть
еще одну живую душу!
Но я незнаю кто ты?
Регистрация
Вход!
Модостроение Тень Чернобыля [66]
Модостроение Чистое Небо [14]
Модостроение Зов Припяти [19]
Общее [13]
Чтото ваше

В зоне всего: 1
Врагов: 1
Друзей 0

______________________

   









  Хостинг от uCoz