| [SoC] Модострой: вопросница | 
| 
				
			 | 
|  
|  |   
|  
 
 
 Воскресенье, 31.12.2017, 13:17 | Сообщение # 1 Overfirst  
  
 | 
 
 
 
 
 
 
  
  
 | Статус: |  |   
 | Бывалый: |  |   
 | Сообщений: | 1081 |   
 | Награды: | 19 |   
 | Регистрация: | 11.06.2015 |  | [SoC] Модострой: вопросница
  
 
 Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
 
 Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
 
 Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
 
 Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
 
 |  |  Воскресенье, 31.12.2017, 13:17   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 11.06.2015 |  |  |  |  | 
|  
|  |   
|  
 
  
  
  
 | 
 
 
 
 
 
Время Альянса  
  
 | Статус: |  |   
 | Ветеран: |  |   
 | Сообщений: | 4070 |   
 | Награды: | 16 |   
 | Регистрация: | 19.07.2013 |  | BeeRsek, Проблема не в этом. |  |  Вторник, 09.01.2018, 18:34   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 19.07.2013 |  |  |  |  | 
|  
|  |   
|  
 
 
 Вторник, 09.01.2018, 18:54 | Сообщение # 47 BeeRsek  
  
 | 
 
 
 
 
 
Тайна Зоны: История Стрелка  
  
 | Статус: |  |   
 | Опытный: |  |   
 | Сообщений: | 1308 |   
 | Награды: | 7 |   
 | Регистрация: | 24.01.2011 |  | снизил настройки компиляции - пошло дальше, но после просчета лайтмапов,на стадии Converting to OGFs выдало такое:
 FATAL ERROR
 
 [error]Expression : assertion failed
 [error]Function : OGF::Optimize
 [error]File : I:\xray-svn\xrLC\OGF_Face.cpp
 [error]Line : 153
 [error]Description : x_faces.size() == faces.size()
 |  |  Вторник, 09.01.2018, 18:54   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 24.01.2011 |  |  |  |  | 
|  
|  |   
|  
 
 
 Вторник, 09.01.2018, 21:07 | Сообщение # 48 xr_Sanya  
  
 | 
 
 
 
 
 
 
  
  
 | Статус: |  |   
 | Бывалый: |  |   
 | Сообщений: | 876 |   
 | Награды: | 4 |   
 | Регистрация: | 19.08.2015 |  | BeeRsek, Проверьте модели, какая то модель не может конвертироваться в OGF из за того что компилятор не может разбить полигоны на более мелкие, еще такая ошибка возможна если криво декомпилированную локацию заного пытаются скомпилить Сообщение отредактировал xr_Sanya - Вторник, 09.01.2018, 21:21 |  |  Вторник, 09.01.2018, 21:07   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 19.08.2015 |  |  |  |  | 
|  
|  |   
|  
 
 
 Среда, 10.01.2018, 22:46 | Сообщение # 49 Graff46  
  
 | 
 
 
 
 
 
Новое Время  
  
 | Статус: |  |   
 | Бывалый: |  |   
 | Сообщений: | 867 |   
 | Награды: | 7 |   
 | Регистрация: | 02.05.2013 |  | Где есть описание класса LVL_CHNG? В lua_help его нет. |  |  Среда, 10.01.2018, 22:46   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 02.05.2013 |  |  |  |  | 
|  
|  |   
|  
 
 
 Среда, 10.01.2018, 23:35 | Сообщение # 50 Jargon  
  
 | 
 
 
 
 
 
X-Ray Multiplayer Extension  
  
 | Статус: |  |   
 | Бывалый: |  |   
 | Сообщений: | 1078 |   
 | Награды: | 3 |   
 | Регистрация: | 24.06.2012 |  | Цитата Graff46 (  )  Где есть описание класса LVL_CHNG? В lua_help его нет.#define CLSID_LEVEL_CHANGER			MK_CLSID('L','V','L','C','H','N','G','R')
 //Server and Client classes
 
 Код ////////////////////////////////////////////////////////////////////////////
 //    Module   : xrServer_Objects_ALife.cpp
 //    Created  : 19.09.2002
 //  Modified  : 04.06.2003
 //    Author  : Oles Shyshkovtsov, Alexander Maksimchuk, Victor Reutskiy and Dmitriy Iassenev
 //    Description : Server objects for ALife simulator
 ////////////////////////////////////////////////////////////////////////////
 // CSE_ALifeLevelChanger
 ////////////////////////////////////////////////////////////////////////////
 CSE_ALifeLevelChanger::CSE_ALifeLevelChanger(LPCSTR caSection) : CSE_ALifeSpaceRestrictor(caSection)
 {
 m_tNextGraphID    = GameGraph::_GRAPH_ID(-1);
 m_dwNextNodeID    = u32(-1);
 m_tNextPosition.set   (0.f,0.f,0.f);
 m_tAngles.set    (0.f,0.f,0.f);
 #ifdef XRSE_FACTORY_EXPORTS
 fp_data.inc     ();
 #endif
 m_bSilentMode    = FALSE;
 }
 
 CSE_ALifeLevelChanger::~CSE_ALifeLevelChanger()
 {
 #ifdef XRSE_FACTORY_EXPORTS
 fp_data.dec     ();
 #endif
 }
 
 void CSE_ALifeLevelChanger::STATE_Read  (NET_Packet    &tNetPacket, u16 size)
 {
 inherited::STATE_Read  (tNetPacket,size);
 if (m_wVersion < 34) {
 tNetPacket.r_u32  ();
 tNetPacket.r_u32  ();
 }
 else {
 tNetPacket.r   (&m_tNextGraphID,sizeof(m_tNextGraphID));
 tNetPacket.r_u32  (m_dwNextNodeID);
 tNetPacket.r_float  (m_tNextPosition.x);
 tNetPacket.r_float  (m_tNextPosition.y);
 tNetPacket.r_float  (m_tNextPosition.z);
 if (m_wVersion <= 53)
 m_tAngles.set  (0.f,tNetPacket.r_float(),0.f);
 else
 tNetPacket.r_vec3    (m_tAngles);
 }
 tNetPacket.r_stringZ  (m_caLevelToChange);
 tNetPacket.r_stringZ  (m_caLevelPointToChange);
 
 if (m_wVersion > 116)
 m_bSilentMode   = !!tNetPacket.r_u8();
 
 }
 
 void CSE_ALifeLevelChanger::STATE_Write    (NET_Packet    &tNetPacket)
 {
 inherited::STATE_Write  (tNetPacket);
 tNetPacket.w    (&m_tNextGraphID,sizeof(m_tNextGraphID));
 tNetPacket.w_u32   (m_dwNextNodeID);
 tNetPacket.w_float   (m_tNextPosition.x);
 tNetPacket.w_float   (m_tNextPosition.y);
 tNetPacket.w_float   (m_tNextPosition.z);
 tNetPacket.w_vec3   (m_tAngles);
 tNetPacket.w_stringZ  (m_caLevelToChange);
 tNetPacket.w_stringZ  (m_caLevelPointToChange);
 tNetPacket.w_u8    (m_bSilentMode?1:0);
 }
 
 void CSE_ALifeLevelChanger::UPDATE_Read    (NET_Packet    &tNetPacket)
 {
 inherited::UPDATE_Read  (tNetPacket);
 }
 
 void CSE_ALifeLevelChanger::UPDATE_Write    (NET_Packet    &tNetPacket)
 {
 inherited::UPDATE_Write  (tNetPacket);
 }
 
 void CSE_ALifeLevelChanger::FillProps  (LPCSTR pref, PropItemVec& items)
 {
 inherited::FillProps  (pref,items);
 
 #ifdef XRSE_FACTORY_EXPORTS
 PHelper().CreateRList  (items,PrepareKey(pref,*s_name,"Level to change"),  &m_caLevelToChange,  &*fp_data.level_ids.begin(), fp_data.level_ids.size());
 #endif
 PHelper().CreateRText  (items,PrepareKey(pref,*s_name,"Level point to change"),    &m_caLevelPointToChange);
 
 PHelper().CreateBOOL  (items,PrepareKey(pref,*s_name,"Silent mode"),    &m_bSilentMode);
 }
 ////////////////////////////////////////////////////////////////////////////
 //    Module   : level_changer.cpp
 //    Created  : 10.07.2003
 //  Modified  : 10.07.2003
 //    Author  : Dmitriy Iassenev
 //    Description : Level change object
 ////////////////////////////////////////////////////////////////////////////
 
 #include "stdafx.h"
 #include "level_changer.h"
 #include "hit.h"
 #include "actor.h"
 #include "xrserver_objects_alife.h"
 #include "level.h"
 #include "ai_object_location.h"
 #include "ai_space.h"
 #include "level_graph.h"
 #include "game_level_cross_table.h"
 #include "HudManager.h"
 #include "UIGameSP.h"
 #include "../xr_collide_form.h"
 
 xr_vector<CLevelChanger*>    g_lchangers;
 
 CLevelChanger::~CLevelChanger    ()
 {
 }
 
 void CLevelChanger::Center  (Fvector& C) const
 {
 XFORM().transform_tiny  (C,CFORM()->getSphere().P);
 }
 
 float CLevelChanger::Radius  () const
 {
 return CFORM()->getRadius    ();
 }
 
 void CLevelChanger::net_Destroy    ()
 {
 inherited ::net_Destroy    ();
 xr_vector<CLevelChanger*>::iterator it = std::find(g_lchangers.begin(), g_lchangers.end(), this);
 if(it != g_lchangers.end())
 g_lchangers.erase(it);
 }
 
 BOOL CLevelChanger::net_Spawn    (CSE_Abstract* DC)
 {
 m_entrance_time    = 0;
 CCF_Shape *l_pShape   = xr_new<CCF_Shape>(this);
 collidable.model   = l_pShape;
 
 CSE_Abstract    *l_tpAbstract = (CSE_Abstract*)(DC);
 CSE_ALifeLevelChanger  *l_tpALifeLevelChanger = smart_cast<CSE_ALifeLevelChanger*>(l_tpAbstract);
 R_ASSERT     (l_tpALifeLevelChanger);
 
 m_game_vertex_id   = l_tpALifeLevelChanger->m_tNextGraphID;
 m_level_vertex_id   = l_tpALifeLevelChanger->m_dwNextNodeID;
 m_position     = l_tpALifeLevelChanger->m_tNextPosition;
 m_angles     = l_tpALifeLevelChanger->m_tAngles;
 
 m_bSilentMode    = !!l_tpALifeLevelChanger->m_bSilentMode;
 if (ai().get_level_graph()) {
 //. this information should be computed in xrAI
 ai_location().level_vertex    (ai().level_graph().vertex(u32(-1),Position()));
 ai_location().game_vertex    (ai().cross_table().vertex(ai_location().level_vertex_id()).game_vertex_id());
 }
 
 feel_touch.clear   ();
 
 for (u32 i=0; i < l_tpALifeLevelChanger->shapes.size(); ++i) {
 CSE_Shape::shape_def    &S = l_tpALifeLevelChanger->shapes[i];
 switch (S.type) {
 case 0 : {
 l_pShape->add_sphere(S.data.sphere);
 break;
 }
 case 1 : {
 l_pShape->add_box(S.data.box);
 break;
 }
 }
 }
 
 BOOL      bOk = inherited::net_Spawn(DC);
 if (bOk) {
 l_pShape->ComputeBounds    ();
 Fvector     P;
 XFORM().transform_tiny    (P,CFORM()->getSphere().P);
 setEnabled    (TRUE);
 }
 g_lchangers.push_back  (this);
 return      (bOk);
 }
 
 void CLevelChanger::shedule_Update(u32 dt)
 {
 inherited::shedule_Update    (dt);
 
 const Fsphere    &s = CFORM()->getSphere();
 Fvector      P;
 XFORM().transform_tiny  (P,s.P);
 feel_touch_update   (P,s.R);
 
 update_actor_invitation  ();
 }
 #include "patrol_path.h"
 #include "patrol_path_storage.h"
 void CLevelChanger::feel_touch_new    (CObject *tpObject)
 {
 CActor*   l_tpActor = smart_cast<CActor*>(tpObject);
 VERIFY   (l_tpActor);
 if (!l_tpActor->g_Alive())
 return;
 
 if (m_bSilentMode) {
 NET_Packet    p;
 p.w_begin    (M_CHANGE_LEVEL);
 p.w   (&m_game_vertex_id,sizeof(m_game_vertex_id));
 p.w   (&m_level_vertex_id,sizeof(m_level_vertex_id));
 p.w_vec3    (m_position);
 p.w_vec3    (m_angles);
 Level().Send(p,net_flags(TRUE));
 return;
 }
 Fvector   p,r;
 bool   b = get_reject_pos(p,r);
 CUIGameSP  *pGameSP = smart_cast<CUIGameSP*>(CurrentGameUI());
 if (pGameSP)
 pGameSP->ChangeLevel    (m_game_vertex_id, m_level_vertex_id, m_position, m_angles, p, r, b);
 
 m_entrance_time    = Device.fTimeGlobal;
 }
 
 bool CLevelChanger::get_reject_pos(Fvector& p, Fvector& r)
 {
 p.set(0,0,0);
 r.set(0,0,0);
 //--  db.actor:set_actor_position(patrol("t_way"):point(0))
 //--  local dir = patrol("t_look"):point(0):sub(patrol("t_way"):point(0))
 //--  db.actor:set_actor_direction(-dir:getH())
 
 if(m_ini_file && m_ini_file->section_exist("pt_move_if_reject"))
 {
 LPCSTR p_name = m_ini_file->r_string("pt_move_if_reject", "path");
 const CPatrolPath*  patrol_path = ai().patrol_paths().path(p_name);
 VERIFY     (patrol_path);
 
 const CPatrolPoint*  pt;
 pt      = &patrol_path->vertex(0)->data();
 p      = pt->position();
 
 Fvector tmp;
 pt      = &patrol_path->vertex(1)->data();
 tmp.sub     (pt->position(),p);
 tmp.getHP    (r.y,r.x);
 return true;
 }
 return false;
 }
 
 BOOL CLevelChanger::feel_touch_contact    (CObject *object)
 {
 BOOL bRes    = (((CCF_Shape*)CFORM())->Contact(object));
 bRes  = bRes && smart_cast<CActor*>(object) && smart_cast<CActor*>(object)->g_Alive();
 return  bRes;
 }
 
 void CLevelChanger::update_actor_invitation()
 {
 if(m_bSilentMode)      return;
 xr_vector<CObject*>::iterator it  = feel_touch.begin();
 xr_vector<CObject*>::iterator it_e  = feel_touch.end();
 
 for(;it!=it_e;++it){
 CActor*   l_tpActor = smart_cast<CActor*>(*it);
 VERIFY   (l_tpActor);
 
 if(!l_tpActor->g_Alive())
 continue;
 
 if(m_entrance_time+5.0f < Device.fTimeGlobal){
 CUIGameSP* pGameSP = smart_cast<CUIGameSP*>(CurrentGameUI());
 Fvector p,r;
 bool b = get_reject_pos(p,r);
 
 if(pGameSP)
 pGameSP->ChangeLevel(m_game_vertex_id,m_level_vertex_id,m_position,m_angles,p,r,b);
 
 m_entrance_time  = Device.fTimeGlobal;
 }
 }
 }
 ////////////////////////////////////////////////////////////////////////////
 //    Module   : level_changer.h
 //    Created  : 10.07.2003
 //  Modified  : 10.07.2003
 //    Author  : Dmitriy Iassenev
 //    Description : Level change object
 ////////////////////////////////////////////////////////////////////////////
 
 #pragma once
 
 #include "GameObject.h"
 #include "../feel_touch.h"
 #include "game_graph_space.h"
 
 class CLevelChanger : public CGameObject, public Feel::Touch {
 private:
 typedef    CGameObject    inherited;
 
 private:
 GameGraph::_GRAPH_ID    m_game_vertex_id;
 u32      m_level_vertex_id;
 Fvector     m_position;
 Fvector     m_angles;
 float     m_entrance_time;
 
 void     update_actor_invitation    ();
 bool     m_bSilentMode;
 bool     get_reject_pos(Fvector& p, Fvector& r);
 
 public:
 virtual    ~CLevelChanger  ();
 virtual BOOL  net_Spawn   (CSE_Abstract* DC);
 virtual void  net_Destroy   ();
 virtual void  Center    (Fvector& C) const;
 virtual float  Radius    () const;
 virtual void  shedule_Update  (u32 dt);
 virtual void  feel_touch_new  (CObject* O);
 virtual BOOL  feel_touch_contact    (CObject* O);
 
 virtual bool  IsVisibleForZones() { return false;}
 };
 
 
Сообщение отредактировал Jargon - Среда, 10.01.2018, 23:36 |  |  Среда, 10.01.2018, 23:35   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 24.06.2012 |  |  |  |  | 
|  
|  |   
|  
 
  
  
  
 | 
 
 
 
 
 
 
  
  
 | Статус: |  |   
 | Зевака: |  |   
 | Сообщений: | 8 |   
 | Награды: | 0 |   
 | Регистрация: | 28.12.2017 |  | Кто нибудь правил в окне диалога баг? Когда у ГГ фразы в окне диалога количество оver 9000 символов текст уходит за пределы окна. |  |  Четверг, 11.01.2018, 17:02   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 28.12.2017 |  |  |  |  | 
|  
|  |   
|  
 
  
  
  
 | 
 
 
 
 
 
Время Альянса  
  
 | Статус: |  |   
 | Ветеран: |  |   
 | Сообщений: | 4070 |   
 | Награды: | 16 |   
 | Регистрация: | 19.07.2013 |  | Echostefun, Если имеете ввиду нет авто переноса, то включите его в этом элементе окна. |  |  Четверг, 11.01.2018, 19:13   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 19.07.2013 |  |  |  |  | 
|  
|  |   
|  
 
 
 Четверг, 11.01.2018, 19:14 | Сообщение # 53 riper  
  
 | 
 
 
 
 
 
 
  
  
 | Статус: |  |   
 | Бывалый: |  |   
 | Сообщений: | 612 |   
 | Награды: | 6 |   
 | Регистрация: | 11.08.2013 |  | как правильно должен выглядеть файл sguad_descr_(имя локации ).ltxполучаю вот такой вылет хотя вроде все делаю по уроку
 
 FATAL ERROR
 
 [error]Expression : I
 [error]Function : CInifile::Load
 [error]File : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp
 [error]Line : 256
 [error]Description : Can't find include file:
 [error]Arguments : squad_descr_escape.ltx
 
 Сообщение отредактировал riper - Четверг, 11.01.2018, 19:57 |  |  Четверг, 11.01.2018, 19:14   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 11.08.2013 |  |  |  |  | 
|  
|  |   
|  
 
 
 Четверг, 11.01.2018, 20:04 | Сообщение # 54 atanda  
  
 | 
 
 
 
 
 
 
  
  
 | Статус: |  |   
 | Бывалый: |  |   
 | Сообщений: | 672 |   
 | Награды: | 7 |   
 | Регистрация: | 12.07.2017 |  | riper, вылет не в правильности настройки файла, а в том, что макрос(знаю, что в лтх он так не называется просто привык) не находит файл который включён.Решение:
 - Проверить название файла и то, что ты включаешь и исправить ошибку.
 Добавлено (11.01.2018, 20:04)---------------------------------------------
 denis2000, я думаю он просто обращается к строке напрямую, а не через идентификатор в строковой таблице.
  |  |  Четверг, 11.01.2018, 20:04   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 12.07.2017 |  |  |  |  | 
|  
|  |   
|  
 
 
 Четверг, 11.01.2018, 20:24 | Сообщение # 55 riper  
  
 | 
 
 
 
 
 
 
  
  
 | Статус: |  |   
 | Бывалый: |  |   
 | Сообщений: | 612 |   
 | Награды: | 6 |   
 | Регистрация: | 11.08.2013 |  | buffy, Цитата buffy (  )   Проверить название файла и то, что ты включаешь и исправить ошибку.ка кого именно файла я что вообще запутался .
 может имя смарта большое
 
 ;Здесь содержатся дескрипшены сквадов, которые потом можно создавать используя спец функции.
 
 [esc_smart_terrain_stalker_sguad]:online_offline_group
 faction = stalker
 npc = sim_default_stalker_1, sim_default_stalker_2
 target_smart = esc_smart_terrain;spawn_point = esc_smart_terrain_ spawn_point
 story_id = esc_smart_terrain_stalker_sguad
 Сообщение отредактировал riper - Четверг, 11.01.2018, 20:25 |  |  Четверг, 11.01.2018, 20:24   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 11.08.2013 |  |  |  |  | 
|  
|  |   
|  
 
 
 Четверг, 11.01.2018, 20:40 | Сообщение # 56 Khyzyr  
  
 | 
 
 
 
 
 
 
  
  
 | Статус: |  |   
 | Неопытный: |  |   
 | Сообщений: | 452 |   
 | Награды: | 5 |   
 | Регистрация: | 19.06.2017 |  | riper, В чем ты мог запутаться? Вылет говорит о том, что у тебя нет файла squad_descr_escape.ltxДобавлено (11.01.2018, 20:40)---------------------------------------------
 Проверяй папку configs/misc
 |  |  Четверг, 11.01.2018, 20:40   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 19.06.2017 |  |  |  |  | 
|  
|  |   
|  
 
 
 Четверг, 11.01.2018, 21:05 | Сообщение # 57 makdm  
  
 | 
 
 
 
 
 
Время Альянса  
  
 | Статус: |  |   
 | Опытный: |  |   
 | Сообщений: | 1787 |   
 | Награды: | 19 |   
 | Регистрация: | 22.11.2012 |  | riper, тебе уже всё объяснили.Открываешь файл squad_descr.ltx
 В него пишешь:
 #include "squad_descr_escape.ltx"
 Только всё это работает для ЗП, а не для ТЧ.
 Сообщение отредактировал makdm - Четверг, 11.01.2018, 21:07 |  |  Четверг, 11.01.2018, 21:05   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 22.11.2012 |  |  |  |  | 
|  
|  |   
|  
 
 
 Пятница, 12.01.2018, 00:39 | Сообщение # 58 sine  
  
 | 
 
 
 
 
 
Последний день  
  
 | Статус: |  |   
 | Новичок: |  |   
 | Сообщений: | 305 |   
 | Награды: | 1 |   
 | Регистрация: | 14.09.2010 |  | Ребят, в ЗП НПС научили открывать двери, изучив файлы ЗП, у меня почти получилось перенести эту фичу в ТЧ, но упираюсь в некоторые функции, ссылки на которые есть только в lua_help.script. Есть ли у кого скрипт, который позволяет НПС открыть дверь? Сообщение отредактировал sine - Пятница, 12.01.2018, 00:39 |  |  Пятница, 12.01.2018, 00:39   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 14.09.2010 |  |  |  |  | 
|  
|  |   
|  
 
  
  
  
 | 
 
 
 
 
 
Время Альянса  
  
 | Статус: |  |   
 | Ветеран: |  |   
 | Сообщений: | 4070 |   
 | Награды: | 16 |   
 | Регистрация: | 19.07.2013 |  | sine, А чего конкретно и в каком месте не хватает? |  |  Пятница, 12.01.2018, 11:01   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 19.07.2013 |  |  |  |  | 
|  
|  |   
|  
 
 
 Пятница, 12.01.2018, 15:07 | Сообщение # 60 sine  
  
 | 
 
 
 
 
 
Последний день  
  
 | Статус: |  |   
 | Новичок: |  |   
 | Сообщений: | 305 |   
 | Награды: | 1 |   
 | Регистрация: | 14.09.2010 |  | denis2000, да уже не суть важно. Я так понял, что таких функции вообще нет в тч.Я тут ковыряю LWO, нашел где реализовано это, но не могу ни как заставить работать у себя. Что этому делу вообще нужно для работы?
 
 |  
    |  Пятница, 12.01.2018, 15:07   
|  |   
|  
 
  
  
  
 | 
 
  
  
 | Статус: |  |   
 | Сообщений: | 666 |   
 | Регистрация: | 14.09.2010 |  |  |  |  |