|
|
Строка 1: |
Строка 1: |
− | http://www.jesusbloggingchrist.com/ bestil viagra rjlfw http://www.vinoentetrapak.com/ viagra >:[[ http://www.witch-ring.com/Generic-Viagra/ viagra %-D http://www.icedtrish.com/Generic-Cialis/ cialis uden recept 7837 | + | http://www.laletraerotica.com/levitra.html levitra addicting online games 232268 http://www.imrightyourwrong.com/tramadol.html lowest prices for tramadol online pwefal http://www.voltamadeiraembicicleta.com/prednisone.html prednisone >:-]] http://www.laletraerotica.com/ultram.html ultram >:]] http://www.imrightyourwrong.com/cialis.html where to buy cialis 848 |
− | | + | |
− | == Практика ==
| + | |
− | | + | |
− | Рассмотрим функцию из '''dialogs.script''':
| + | |
− | | + | |
− | <lua>
| + | |
− | function actor_set_stalker(actor, npc)
| + | |
− | printf("ACTOR NOW IN [STALKER] COMMUNITY")
| + | |
− | sim_board.get_sim_board():set_actor_community("stalker")
| + | |
− | return true
| + | |
− | end
| + | |
− | </lua>
| + | |
− | | + | |
− | Если попробовать добавить
| + | |
− | | + | |
− | <lua>
| + | |
− | sim_board.get_sim_board():set_actor_community("my_comm")
| + | |
− | </lua>
| + | |
− | | + | |
− | то ничего не произойдет, значит идём дальше, в '''sim_board.script''':
| + | |
− | | + | |
− | <lua>
| + | |
− | -- Перевод игрока в группировку.
| + | |
− | 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
| + | |
− | </lua>
| + | |
− | | + | |
− | Здесь есть два выхода - либо подправить '''actor_communitites''' в текущем скрипте
| + | |
− | | + | |
− | <lua>
| + | |
− | 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"
| + | |
− | }
| + | |
− | </lua>
| + | |
− | | + | |
− | и в '''game_relation.ltx''':
| + | |
− | | + | |
− | <pre>
| + | |
− | [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
| + | |
− | </pre>
| + | |
− | | + | |
− | (обратите внимание, что в конфиге после знака "=", идёт "Группировка-друзья, Группировка-враги"),
| + | |
− | или вторым способом:
| + | |
− | | + | |
− | <lua>
| + | |
− | db.actor:set_character_community("my_comm", 0, 0)
| + | |
− | </lua>
| + | |
− | | + | |
− | И в конфиге, естественно.
| + | |
− | | + | |
− | Вот мы и разобрались со вступлением, но при переходе в раздел "Война группировок" - вылет. Идём дальше. Видим, что ошибка в скрипте '''pda.script''', значит, по аналогии добавляем туда:
| + | |
− | | + | |
− | <lua>
| + | |
− | 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")--Локация обитания
| + | |
− | </lua>
| + | |
− | | + | |
− | | + | |
− | == The End ==
| + | |
− | Ну вроде всё! Тутор рассчитан на опытных модмейкеров! Сам процесс вступления не описывал.
| + | |
− | | + | |
− | == Титры) ==
| + | |
− | | + | |
− | Автор - '''russian-stalker'''
| + | |
− | Статья перенесена с оф. мод-ресурса by '''stalers-life''' ('''stunder''')
| + | |
− | | + | |
− | [[Категория: Скрипты]]
| + | |