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

mumie

Пользователи
  • Число публикаций

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

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

  • AMKoin

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

Баланс оценок

2

1 подписчик

Информация

  • Реальное имя
    Антон
  1. mumie

    Скриптование

    @Desertir, ну на самом деле и "." бы подошла в моем случае.
  2. mumie

    Скриптование

    Снова здравствуйте. А функция string.gmatch() при проходе по строке как себя ведет с цифрами? Игнорирует их или как то можно цифры прочитать в смешанной строке? Вот таким циклом: for w in string.gmatch(str, "%a+") do end разделяю строку на слова, и все хорошо, до того момента, пока не напарывается в строке на число. Функция не видит цифр. Может я ключ не правильный написал? Заранее спасибо!
  3. mumie

    Скриптование

    @Desertir, Да, работает. Спасибо огромное. Почему то проверять тип элемента и сохранять в переменную я не додумался. Ну буду учиться на ошибках и запоминать мысли умных людей)
  4. mumie

    Скриптование

    Всем привет. Недавно столкнулся с проблемой, которую пока решить не могу(мозгов видимо нету). Может подскажите чего. Есть функция, которая работает со строкой(Она считывает значение соответствующего edit_box и записывает в переменную textstring). Далее запускается функция которая сверяет строку(значение textstring) с значениями элементов таблицы(в таблице написаны названия имеющихся в файле функций). Тут думаю всем понятно, что если имеется совпадение, то на этой итерации вызывается функция с именем которое есть в таблице. (На этом этапе все работает отлично). Вопрос состоит в том, что бы перенести эти функции(для экономии места в файле) в другой, тем самым создав, что то вроде "библиотеки". И вот здесь уже проблема. Ибо я додумался лишь до конструкции типа: local fun_table = { "QWERTY", "GETWEAPON", "GETMEDKIT" } function start_fun(textstring) local flag = 0 for i=1,#fun_table do if textstring == fun_table[i] then flag = 1 end end if flag == 1 then this[textstring]() flag = 0 end end Красным выделена сама конструкция вызова соответствующей функции. Как ее можно было модернизировать, что бы я мог вызывать таким "компактным" способом функции из другого файла? Заранее благодарю. P.S. Код детский, написан для примера. Извиняюсь, в пред просмотре было выделено) this[textstring]() --вот этот оператор меня интересует.
  5. mumie

    Скриптование

    , а можно несколько глупый вопрос? У метода SetProgressPos есть ли максимальные значения? ну скажем как можно адекватно указать "шкале", что она должен расти скажем от нуля до 1000?
  6. mumie

    Скриптование

    Ребят, здравствуйте всем. Вопрос для кого то покажется банальным, но к сожалению на форуме я подобного не нашел. Как работать с прогресс баром? Если можно то пример, если нельзя, то хотя бы в двух словах, можно ли передавать туда значения на апдейте, что бы шкала росла? И вообще есть ли функции подобного рода? Просто если его не существует, придется писать вручную систему проверки значений и "дорисовки палочек" (замены статиков на худе) на апдейте, что весьма муторно, особенно если учесть что прогресс бары нужны в многих местах... Заранее спасибо.
  7. mumie

    Скриптование

    Привет, форумчане! Боюсь вопрос смешон до безумия, но я сам слеп и не вижу причин вылета( Идея такова: 1)Перебираем все и вся в инвентаре 2)Записываем каждый элемент инвентаря в таблицу 3)Удаляем все 4)При необходимости спавним все элементы таблицы поочередно в инвентарь обратно local t_temp = {} function RI() local cnt = db.actor:object_count() for i = 1, cnt-1 do local se_obj = alife():object(i) if se_obj then table.insert(t_temp,1,se_obj:section_name()) end end end function SI() for a = 1, #t_temp do alife():create(t_temp[a], db.actor:position(), 1, db.actor:game_vertex_id(), db.actor:id()) end end Версия игры 1.6.2 хотя я думаю это не важно. Лог No such operator
  8. mumie

    Скриптование

    @k01jan,ну я не помню стопроцентного метода, но возможно, тебе поможет "оживление трупов". Попробуй ставить совсем малое количество жизней, пусть хоть сотую часть, и затем тут же удаляй. Метка по идее должна пропасть после "оживления". И чем именно должно помочь это оживление ? dc
  9. mumie

    Скриптование

    @*Shoker*,мда, мой косяк. ЗП. Спасибо за прямой ответ, буду рыскать ибо это направление одно из самых малоизученных, но наверное одно из перспективнейших, если конечно в стакере вообще можно говорить о перспективах Устное предупреждение. Правила форума, п. 2.1.1, также п.5 шапки темы. Благодарности, пожалуйста, в личку. Оффтопика, пожалуйста, не надо. Murarius
  10. mumie

    Скриптование

    @Desertir,скорее всего форум. у меня вроде ровный был. Но я же говорю, что этот скрипт тоже рабочий, но есть одно но, в радиусе может быть n колличество сталкеров, а мне нужен один, желательно тот на которого указан курсор(прицел), в этом и беда.
  11. mumie

    Скриптование

    Доброго времени суток всем форумчанам! Не так давно столкнулся с довольно специфичной проблемой, попробовал свои силы в примитивах ИК на x-ray (инверсной кинематики) и встал перед стеной вопроса. Возможно ли, получить "динамически" id НПС? Поясню, мы наводим прицел на НПС и нам игра(думаю все таки движок ибо в скриптах такого рода функций не встречал) имя НПС, его группировку и отношение к ГГ. Мне это нужно для следующего: есть id нпс, по которому мы вычисляем дистанцию до цели. После чего если, наша дистанция удовлетворяет условию мы проводим с НПС некие действия, скажем запускаем кат сцену с воровством, просто здороваемся и много чего еще чего душе угодно. Дабы не быть голословным и не нарушать правила темы, прилагаю ниже свою версию скрипта который должен выступить в роли решения моей проблемы function test_ik() local dist = se_obj:position():distance_to(db.actor:position()) for a = 1,65534 do local se_obj = alife():object(a) if se_obj and isStalker(se_obj) then if dist <= 3 then news_manager.send_tip(db.actor,"Hi GG!") end end end end Но в моем примере уже куча проблем, ибо таких сталкеров может быть 2, 3 и тп. Да и думаю это лишком будет нагружать "калькуляторы". У кого нибудь есть идеи по решению данного вопроса? Заранее благодарен!
  12. mumie

    Скриптование

    @kmsk, да, прости. Я думал ты уже разобрался с мутками клиентских объектов и работу с ними. @*Shoker*,Слушай, а не подскажешь как можно функционально прикрутить/снять к/у стволу/а аддоны? а то вот как раз не смог найти такой функции. Вывод, либо ее нет, либо не там искал, конечно же...
  13. mumie

    Скриптование

    @kmsk,Состояние очень легко wpnObject:condition() -- это сохраняешь в переменную скажем cond wpnObject:set_condition(cond)-- это когда будешь спавнить свой ствол, просто дописываешь после спавна @kmsk,небольшой апдейт. проверить наличие аддонов можно так(не знаю прокатит ли, но в ЛУА_хелпе иного нет совсем ) weapon_scope_status() weapon_grenadelauncher_status() weapon_silincer_status() --Данная группа функций должна возвращать наличие или отсутствие аддонов на стволе. weapon_is_silencer() weapon_is_scope() weapon_is_grenadelauncher() -эта группа должна выводить тип, если есть. Могу ошибаться, лучше проверить.
  14. mumie

    Скриптование

    ,нет, все так как и сказал. У всех предметов, кондишн по единице.
  15. mumie

    Скриптование

    Сразу извинюсь, за немного глупый вопрос. Проблема в том, что бы забить все id объектов инвентаря в таблицу и на всякий пожарный еще и их состояние, создал две идентичные таблички и на одной и той же итерации, добавляю по объекту и его состоянию параллельно в обе таблички соответственно, но когда пытаюсь проверить и вывести, состояние у всех объектов равно 1, не смотря на то, что там есть изодранный в хламину сталкерский костюм, еле живой шлем и побитый автомат... --Вот функция загрузки таблиц local tItems={} local tCond={} function Actor_Has_ListItems() local cnt = db.actor:object_count() for i=0, cnt-1 do local item = db.actor:object(i) local sobj = alife():object(item:id()) if sobj then table.insert(tItems,item) table.insert(tCond,item:condition()) end end end --Этой я проверяю состояние function test_t(n) text="His condition -"..tCond[n] news_manager.send_tip(db.actor,text , nil, nil, 30000) end n-параметр, который вводится с помощью горячих клавиш, На numpad'e(1-9).То есть, могу вывести состояние 9 различных объектов их таблицы(теоретически). где я допустил ошибку? Заранее спасибо)

AMK-Team.ru

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