Перейти к контенту

меченый(стрелок)

Жители
  • Число публикаций

    869
  • Регистрация

  • Последнее посещение

  • AMKoin

    0 [Подарить AMKoin]

Весь контент пользователя меченый(стрелок)

  1. IQDDD, 1.Колмогор и Монорох правы, у "брони" только визуальный эффект...всё зависит от других условий,ранга и т.п. 2.1 ХЗ,2.2)У xStream'a изменялся ранг.... 3.npc:active_item():section()--вроде так 4.npc:drop(obj) 5.state_mgr.set_state(npc, название анимации, nil, nil, {look_position = position}) TREWKO,
  2. IQDDD, ругать не буду .... break -"разбивать"... То есть брик прекращает выполнение функции... следовательно,та запись эквивалентна этой function tert(fun) --vivod v log,mol vizvali tert end .... А говорил я вот о чём... проверить ,сколько функций выполнится ... то есть, если в логе появятся 2 строки,а не одна...то ваш метод не будет работать правильно.... То есть если при таком вызове: test_func(myscript.func) будут вызваны две функции сразу.... test_func и myscript.func()...то будет не то ,что вы хотели... Вот,что я хотел сказать.... Если же вызовется только одна функция(test_func),то тогда ваш метод может вполне сработать...
  3. IQDDD,Так бы сразу и писали....А то по одной строчке и не поймешь,в чём вообще задумка..Но меня терзают смутные сомнения насчёт луа в Сталкере... Вот небольшой пример.... function tert(fun) --vivod v log,mol vizvali tert break fun() end function gfga() --vivod v log,mol vizvali gfga end --i gde nit vizovem tert(gfga) И если в логе будут эти две строки,то значит ,что ваш метод не пойдёт...Думаю сами поймете почему...
  4. IQDDD, Собственно вопрос не ко мне,а к xStream'у.... Могу предположить,что таким образом ,как предложили вы,универсальности не будет.... я представляю эту функцию примерно так function new_timer(cr,func_name,min) local begin = false timer[cr]=game.time+min ...тут считаем if begin then func_name() begin=false end end собственно загвоздка в том,что нету возможности сохранить имя функции...следовательно...если будет скажем два вызова этой функции(таймера) с разными функциями(переменными),то,когда первый раз begin будет истинным ,произойдёт вызов всех функций....ИМХО...Если покажите свой способ,то попытаюсь объяснить,чем он хуже(хотя возможно и лучше).... ЗЫ:Насчёт АМК скажу, по моим "данным" в АМК 2.0 не будет функций от xStream'a - следовательно и таймер будет другим...
  5. меченый(стрелок)

    Solinx 2.0 RC1

    Izobman, Лог вылета нужно смотреть в папке МоиДокументы>STCS>Logs>.... Разгрузкой до сих пор вылет?Вроде решил же его... С Мп3плеером - читайте ВНИМАТЕЛЬНО редми... Насчёт аптечки -странно(хотя вроде я понял из-за чего)
  6. barmaley, именно так как ты написал нет.... но можно посмотреть в конфигах войны группировок название секции спавна(по ней можно найти секцию описывающую НПС в character_desc_general.xml) ,а дальше можно править по своему желанию...
  7. Trapper023, Насчёт оружия... Есть несколько вариантов.... Все скриптовые (в любом случае)... 1.Давать при спавне НПС два ствола ,после определённых условий ,удалять не нужный.... 2.Удалять ненужный,и спавнить в рантайме нужный... 3.Посмотри Аи адишн - там вроде функция ,которая "вставляет" в руки нпс нужный ствол.... что-то типо obj(или self) .set_weapon(obj_wpn:section())...
  8. меченый(стрелок)

    Solinx 2.0 RC1

    MASTERWELL, sava.5, это тестовая версия -РК-Релиз Кандидат...Всё это(надеюсь) будет поправлено,исправлено и доработано .... ВСЕм кто жалуется на тормоза - Пак устанавливать не обязательно,но желательно -большую часть мод тестировался с ним
  9. меченый(стрелок)

    Solinx 2.0 RC1

    Здрасьте... С разгрузкой кину фаилик - попробуете.....http://narod.ru/disk/10952562000/Solinx%202.0%20RC%201.1%20MF%200.0.1.7z.html Всем у кого вылет с fs_game.ltx -посылаю вас читать внимательно редми naemnik, собственно с чего вы так решили? Если хотите отключить ограничение по объёму - зайдите в бинд_сталкер.скрипт найдите ms_stoc.update(true) и подумайте ,что надо поставить вместо true ,чтобы отключить объём... И всем - если у вас случился вылет ,оформляйте своё сообщение по шаблону... 1.Обстоятельство 2.Что установлено 3.Ссылка на сейв(на котором можно воспроизвести вылет) с полным фаилом лога 4.сполер с текстом ошибки и 4-5 строк выше(!) Тогда ваше сообщение действительно поможет найти баг и проверить его исправление fanaftik,ты прав -я не тот скрипт кинул(и в основу и в патч -просто не всегда могу проверить "целостность" фаила) ..В Этом скрипте нету функции (которая в принципе и не нужна уже)...
  10. меченый(стрелок)

    Solinx 2.0 RC1

    41ter, нет... L.I.K.V.I.D.A.T.O.R., Сейчас...я с телефона..но ссылки я в телефон забил...сейчас выложу исправления...и переоформлю шапку..."виден просвет и возможно я виживу" - думаю поймёте ,что я хотел сказать
  11. меченый(стрелок)

    Solinx 2.0 RC1

    ЗЫ:Играть можно ,я дошёл до Лиманска (с теми правками ,что я написал) нормально... Пак заливатся будет долго...
  12. Работа над модом временно приостановлена ...примерно на месяц... Всем "ковыряльщикам" - если будете что-то брать с мода(в основном скрипты) не забывайте указывать автора скриптов(в основном автор я) и не удаляйте копирайты..спасибо..
  13. меченый(стрелок)

    Solinx 2.0

    Даша Добровольцева, ..Но если надо могу ...Не жалко ... Давайте не оффтопить больше...
  14. меченый(стрелок)

    Solinx 2.0

    orgovik, Покушайте,попейте мой друг
  15. меченый(стрелок)

    Solinx 2.0

    Parabellum, Привет дружище!Почищу через пять мин...потом почистим тему за собой,ок?
  16. меченый(стрелок)

    Solinx 2.0

    orgovik, Конечно будет.... Но тут кое какие проблемы(могут нарисоватся,что придётся выложить то что есть ,а уже потом когда всё устаканится продолжить..если конечно никто другой не возьмётся..)..Ладно не буду загадывать раньше времени..тьфу-тьфу
  17. меченый(стрелок)

    Solinx 2.0

    orgovik, Такой вот вылет обычно из-за порченного сохранения.... Загрузитесь с более раннего сейва мой друг....
  18. cdenis, Это всё легко...поищи поиском...в данной ветке и в архиве...
  19. НУ не знаю надо это или нет,но напишу.... Lua(в Сталкере,дальше буду просто писать Lua ) можно использовать не только для игрового процесса... Доступны основные(а может и все) команды(функции) к примеру Оператор ввода/вывода..работа с фаилами и т.д.(Возможно,только в ЧН....) вот простой пример: Рассмотрим подробнее io.open(filename) - "открывает" для каких либо целей filename :write(text,"\n") - оператор вывода,выводит(читай вписывает) в фаил открытый с помощью io.open , строку text...после переходит на следующую строку(есть ещё:"\t","\w") :read(text) - оператор ввода,вводит (читай "читает") из фаила открытого с помощью io.open,строку текст :close() - закрывает фаил открытый с помощью io.open статьи по Lua(основам) можно найти тут http://www.lua.ru/doc/ Также есть функции "преобразования" ,как в любом языке(скриптовом,программирования) Преобразование числового значения(любого) в строку: tostring(c) где с - это число Преобразование строки в число: tonumber(string) где string - это строка (вдруг кто не в курсе ) Особенность Lua(по моему только в нём так,хотя кроме Lua только питон смотрел): что после основных операторов(циклов,условного и т.д.)(if ,for,while...) ставится end пример: if then else end for i,c do end while "true" do end Ещё одной особенность LUА ,можно назвать работу с массивами(читай "таблицами") без цикла пример: local tbl={} --заполнение function objparams_to_tbl(obj) if isstalker(obj) then tbl.sec =obj:section() tbl.hp=obj:health .... end end --применение function objparams_to_msg() news_manager.send_tip(db.actor,"obj:section ="..tbl.sec.."obj:health ="..tostring(obj.hp),nil,nil,1000) end Массив можно очистить/заполнить/прочитать/преобразовать.... И совет:Пользуйтесь SCiTE или любой другой редактор с выделением синтаксиса.... по alife_simulator dont_has_info(const number&, string); - проверка на Неполученный инфопоршень(db.actor:dont_has_info("infoportion") или alife():actor():dont_has_info("infoportion")). has_info - противоположная Работа с фаилами: Через системный фаил(systems.ltx) system_ini():r_string(section,key) -- получение строки из секции[section ] и ключа key system_ini():r_bool(section,key) --получение булевого значения (true,false) из секции[section ] и ключа key system_ini():r_s32(section,key) --получение (целого?)числа из секции[section ] и ключа key system_ini():r_float(section,key) --получение числа(с плавающей точкой) числа из секции[section ] и ключа key Через другой фаил(который не прописан в системе) local ini =ini_file("") -- путь до фаила (обьявляем переменную которая хранит имя и путь).Дальше также как и с системным фаилом ini:r_string(section,key) -- получение строки из секции[section ] и ключа key ini:r_bool(section,key) --получение булевого значения (true,false) из секции[section ] и ключа key ini:r_s32(section,key) --получение (целого?)числа из секции[section ] и ключа key ini:r_float(section,key) --получение числа(с плавающей точкой) числа из секции[section ] и ключа key Вспомогательные функции system_ini():line_exist( section, key ) -- проверяет существует ли в секции [section ] ключ key system_ini():section_exist(section) --проверяет существует ли секция [section ] EG: 0function eg() 1local ini=ini_file("gamedata\\test.ltx") 2if not ini then ini=system_ini() end 3if ini:section_exist("test_section") then 4if ini:line_exist("test_section","test_line") then 5return true 6end 7end 8end 1. - присваиваем переменной фаил 2. - проверяем существует ли фаил ,если нет то работаем с системой 3. - проверяем наличие секции в фаиле(системе) 4. - проверяем наличие ключа в секции из фаила(системы) 5. - возвращаем истину(нашли ключ) Проверка ,что из себя представляет переменная function check_type(obj) if obj then if type(obj)=="string" then return "string" elseif type(obj)=="number" then return "number" elseif type(obj)=="function" then return "function" elseif type(obj)=="boolean" then return "boolean" elseif type(obj)=="userdata" then return "userdata" elseif type(obj)=="table" then return "table" end end end Теперь по порядку... Если obj это строка ,то возвращаем "string" Если же obj это число ,то возвращаем "number" Если же obj это функция ,то возвращаем "function" Если же obj это булево значение ,то возвращаем "booolean" Если же obj это юзердата(хз что это),то возвращаем "userdata" Если же obj это таблица, то возвращаем "table" Это поможет в таких случаях ,когда неизвестно какой тип данных поступает в то или иное место... класс CUIScriptWnd (); --для работы с окном.... Где знаю или догадываюсь поставил коментарий .... function _construct(); function Register(CUIWindow*); function Register(CUIWindow*, string); function Enable(boolean); --вкл/выкл function SetHeight(number); --установка высоты function GetFrameLineWnd(string); function SetHolder(CDialogHolder*); function GetWidth() const; --получение ширины контрола function GetCheckButton(string);--Получение состояния checkBox ,на выходе true или false? function DetachChild(CUIWindow*); function SetPPMode(); function SetFont(CGameFont*); --установка шрифта по имени function IsShown(); --проверка видно ли контрол иль нет? function Show(boolean); --показывать контолили нет? function GetHeight() const; --возвращает высоту function SetWidth(number); --устанавливает ширину function GetListWndEx(string); function IsEnabled(); function ResetPPMode(); function GetPropertiesBox(string); function GetFont(); --возвращает шрифт установленный setFont? function Update(); function AddCallback(string, number, const function<void>&); --соответские контрола с действие? function AddCallback(string, number, const function<void>&, object);--соответские контрола с действие? function GetButton(string);--Получаем последнюю нажатую кнопку? function SetAutoDelete(boolean); function OnKeyboard(number, enum EUIMessages);--Колбек нажатия на клавиатуре function Dispatch(number, number); function GetListWnd(string);--получение окна ListBoxa? function AttachChild(CUIWindow*); function GetStatic(string);--получение текста метки function SetWndPos(number, number);--установка позиции окна(x,y) function GetTabControl(string); function GetRadioButton(string);--состояние RadioButtton на выходите true или false function Init(number, number, number, number);--инициализация окна...читай FormInitializatione (x,y,width,height) function Init(Frect*);--инициализация окна function GetFrameWindow(string); function WindowName(); function GetDialogWnd(string); function GetHolder(); function SetWndRect(Frect);--установка координат углов function SetWndRect(number, number, number, number);--установка координат углов function GetEditBox(string);--получение текста из ЭдитБокса function SetWindowName(string);--Устанавливаем имя форме(caption) function GetProgressBar(string); function GetMessageBox(string); function SetWndSize(number, number); function Load(string); function IsAutoDelete();
  20. Shadowman, Очень странно,что ругается на такое ...Это оригинальная Функция... ..Попробуй так как ты предложил.. а если вставить так: if respawner.spawn_ini()~="" then--по моему это стринг local sini = respawner:spawn_ini() if sini:line_exist ("respawn", "creature_binded_logic") == true then local cfg_name = utils.cfg_get_string(sini, "respawn", "creature_binded_logic", false, false, false, "") local t = amk.read_stalker_params(obj) t.custom = "[logic]\ncfg = scripts\\amk\\"..cfg_name..".ltx" amk.write_stalker_params(t, obj) end else return end хотя,дохлый номер как мне кажется...
  21. Eccen, в самой модели...Посмотри модель HEX эдитором.. Это как?
  22. кстати ,можно узнать конфиг ,к которому обращается функция... в функции on_Respawn после if obj and respawner then вставить if isStalker(obj) then local sini = respawner:spawn_ini() if sini:line_exist ("respawn", "creature_binded_logic") == true then local cfg_name = utils.cfg_get_string(sini, "respawn", "creature_binded_logic", false, false, false, "") amk.mylog("config name="..cfg_name) end end Возможно успеет вывести имя конфига... Sitar, А конфигурация компа какая? Если не топавая ,советую уменьшить настройки графики.... Вылет говорит ,что памяти мало ему... Или закройте все программы(если открыты) и убейте ненужные процессы(если такие есть)
  23. Можно написать свой эмулятор голода ,а оригинальный отключить... после этого всё реализуется за день(максимум)..и нагрузки на движок НИКАКОЙ... Всё люди хватит офтопить....
  24. sapsan,не обязательно функцию или переменную ,но и таблицу(массив)...вполне возможно если какого-то "параметра" таблицы не существует ,а происходит обращение к этому параметру ,происходит вылет. А так спасибо ,"открыл глаза" на известные (но забытые) мне вещи ... Тогда возможно,что в каком-то из конфигов из папки scripts/amk/ допущена ошибка.... Допустим нету,какого либо ключа...
  25. Shadowman, посмотрел сейчас амк_мод.скрипт ,туда передаётся стринг..... в амк.скрипт есть функция function on_REspawn(obj,respawner) if obj and respawner then--проверка на "существование" ... отсюда вызывается именно "наша" функция... что самое странное ,что тут проверяется существование и того и другого ,интересно почему не передаётся параметр..... ну и судя по этому коду,попробуй добавь в respawned if not(respawner or obj) then return end Ладно ,идём дальше.... amk.on_REspawn встречается в se_respawn.script видимо там собака зарыта...

AMK-Team.ru

×
×
  • Создать...