erlik Что obj, что item, это всё переменные, которые прежде чем использовать, нужно создать и задать ей значение. В данном случае создана переменная obj. Существует два способа создания локальных переменных.
Первый из них, это :
local переменная
Где, значение можно задать сразу при создании:
local переменная = значение
Второй способ, это когда нужно передать нужные параметры из одной функции в другую.
передающая функция:
function name()
local x = 10
local y = 20
this.name2(x,y)
end
Здесь говорится, запустить функцию name2 и передать ей два параметра x и y.
Передаются не переменные, а их значения. А значит в запускаемой функции, не имеет значения какие пропишешь переменные, главное соблюсти порядок.
вызываемая функция:
function name2(a,b)
print(a) --напечатать значение переменной a print(b) --напечатать значение переменной b
end
Где, переменная a будет равна переменной x, а переменная b будет равна переменной y, предыдущей функции.
Например. В функции универсального спавна используется такая система.
Где, функция с параметрами спавна является передающей функцией, а сама функция спавна является вызываемой функцией.
P.S. Скачай и установи себе SciTE и пакет lua_5.1. Отличная вещь для изучения тренировок написания скриптов на языке lua.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
singapur22
SciTE есть. Я ее установил - но пока мало в ней разобрался - она же требует настройки и наличия хоть какого то опыта работы со скриптами. Пока в общем много там непонятного. Скажем как через нее проверить скрипт на ошибку я так и не понял.
Спасибо за ссылку. На этом сайте я не был. Почитаю.
отредактировал(а) erlik: 30-07-2009 11:21 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik Скрипты ты в ней не проверишь, так как в инровых скриптах используются методы(движковые функции). А вот набраться опыта по написанию функций и скриптов, вполне реально. Я с неё и начинал. Пройди по этой ссылке, она тебе поможет. ТИПА ССЫЛКА.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Люди помогите! Все мы знаем, что НПС - то бишь сталкеры - уумеют переходить из одной анимации в другую, то есть ходил Вася Пилот по Зоне с ПМ, спокойненько так ходил, тут бац, увидел пса! Анимация переключилась в положение "Боевая". Отстрелил Вася хвост собаке, значит, успокоился, и опять на спокойную анимацию перешел, то бишь идет прямо, а не боком. Вопрос:
Как сделать то же самое с ГГ? Вернее, не то же самое, а вообще анимацию поменять? Чтобы он стоял ходил, бегал с опущеным ружьем и ходил прямо? А то он всегда "боевой". Я даже согласен вообще анимку поменять боевую, в общем на все готов. Спасибо!
Зачем не это надо:
Я хочу сделать ГГ красивым. То есть я даже у Меченого с башки фонарь убрал, красивше стал, но очень анимация меня это боевая бесит! Плиз, помогите!
.— Должны были, да не приняли… Сказали, мол, раз сняли наклейку, то на глянце теперь «микроцарапины». Я обрадовался, что не «наноцарапины», и пошел домой.
Может я задаю идиотский &P вопрос, но всё же...
Знаю я - есть такая программка - Level Editor, так вот - не знает ли кто-нибудь, где эту программку можно достать?
Слабый пол сильнее сильного в силу сильной слабости сильного пола к слабому. Ну да поможет Вам F1, да сохранит Вас F2. Во имя Control`a, Alt`a и святого Delet`a. Enter.
Что такое СДК (просто я в танке с запаянной башней)?
0.3 патч ставится на что? на игру или на какой-нибудь билд (build)?
Слабый пол сильнее сильного в силу сильной слабости сильного пола к слабому. Ну да поможет Вам F1, да сохранит Вас F2. Во имя Control`a, Alt`a и святого Delet`a. Enter.
"В ссылке я прочитал: "...sdk-setup-v0.4.exe". То есть СДК 0.4 версии, если я правильно понял. А вот во второй ссылке написано: "...xrSDK_patch_03.7z". Там написано, что патч версии 0.3. Так зачем из 0.4 делать 0.3??? Или я неправильно понял? :sarcastic:
Слабый пол сильнее сильного в силу сильной слабости сильного пола к слабому. Ну да поможет Вам F1, да сохранит Вас F2. Во имя Control`a, Alt`a и святого Delet`a. Enter.
Как работать с временем в игре? Не в логике, в скриптах?
Вот например, есть некая функция, в ней исполнились условия и дожно выполниться действие. Как сделать так, чтобы действие выполнилось не сразу, а по истечению некоторго времени?
Максим Р.
Ответ я не знаю так как сам пытаюсь разобраться со скриптовыми таймерами. Для примера можешь попробовать посмотреть на скриптовый таймер запуска выброса в аддоне к OGSM - Blowout_Mod_1.0 или в моде PsyZones_and_Emission 1.0 by LLSNeitrino. Там он в обоих есть.
вот отрывок из скрипта из PsyZones_and_Emission :
if db.Flag3 == 1 then
db.prev_time1 = time_global();
db.Time_Vibros2 = db.prev_time1-db.dt1;
if db.Time_Vibros2 > 25000 then
db.Flag3 = 0
db.Flag4 = 1
db.Time_Vibros2 = 0
db.Time_Vibros3 = 0
erlik, спасибо. Как раз сейчас смотрю фукцию time_global() в скрипте path.script
Стоит попробовать через неё.
добавлено спустя 40 минут
О! кажется получилось:-) Использовал game.time()
Если кому интересно, то делал так:
function name()
local timer_to_action = game.time() + 1 -- задаём переменную, она > текущего времени на 1 сек.
if timer_to_action < game.time() -- если переменная < текущего времени, то наше действие
then
return true
else
return false
end
end
отредактировал(а) Максим Р.: 31-07-2009 10:13 GMT3 час.
Максим Р.
то есть получается так: к примеру я задам переменную которая больше текущего времени на 100 сек, и при активации функции name ровно через 100 секунд будет активировано и указанное мной действие - скажем какая-нибудь другая функция или выдача поршня и т.д.?
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Максим Р. Данная функция у тебя будет всегда возвращать false.
Если делать правильно, то будет так:
tim = game.time()
function name()
if (game.time() - tim)>= 1000 then
эффект
tim = game.time()
end
Подобная функция будет выполнять "эффект" через указанное время (msec).
А у тебя при каждом вызове функции переменной назначается значение выше игрового времени и тут же проверяется на то, меньше оно или нет.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
singapur22
Есть ли в игре функция, которая может удалять предмет\ы из инвентаря ГГ по имени итемса - то есть только конкретно указанный предмет? Я имею ввиду удалять без телепортации в какую-нибудь точку.
В симбионе такая функция есть, но я не знаю как в нее передавать данные
и там вроде как id вещи нужен...в общем подскажи пожалуйста как с ней работать.
--/ удаляем предмет из инвентаря по имени -
function remove_item_from_inventory_by_name(removed_item_name,npc)
if npc == nil then npc = db.actor end
return remove_item_from_inventory(npc:object(removed_item_name),npc)
end
--/ удаляем предмет из инвентаря
function remove_item_from_inventory(removed_item,npc)
if npc == nil then npc = db.actor end
if removed_item ~= nil then
-- printf("remove_item_from_inventory:[%s]", ">" )
local sobj = alife():object(removed_item:id())
if sobj then
alife():release(sobj, true)
else
printf("remove_item_from_inventory:item=[%s]:<%s>", removed_item:name(), "Error!" )
end
return true
end
return false
end
отредактировал(а) erlik: 31-07-2009 11:13 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
function test()
local obj = db.actor:object("barman_documents")
if obj then
local se_obj = alife():object(obj:id())
if se_obj then
alife():release(se_obj)
end
end
end
привет, подскажите как сделать в ТЧ чтобы тайники все были с вещами, а то некоторые при открытии - ПУСТЫЕ, процентов 30% примерно - пустые, хотя ссылка активна на карте ...
кто-нибудь может файлик скинуть правленный ? или написать что исправить?
спасибо!
Лучше пусть будет так, все ящики уже наполнены без всяких меток как в ЗП. Можно ли так сделать с помощью скриптов? А то тупо - ящик заполняется, как только обладатель откинет сапоги. Мистика, блин...
.— Должны были, да не приняли… Сказали, мол, раз сняли наклейку, то на глянце теперь «микроцарапины». Я обрадовался, что не «наноцарапины», и пошел домой.
У меня чисто математический вопрос. При известных position и direction, как определить координату на дистанции, например 100 метров от известной точки?
Ура. Не надо. Сам нашёл:-)
отредактировал(а) singapur22: 31-07-2009 14:06 GMT3 час. Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
aqraccy
Я бы не сказал что это так уж тупо. Ящик заполняется потому что ГГ как бы получает наводку на тайник, о котором он ничего не знал. А если ящики сразу заполнить - то весь смысл наводок теряется.
Хотя конечно есть смысл все это усовершенствовать, сделав динамические тайники, которые бы появлились в совершенно разных местах (а не всегда в одном и том же месте) - можно и без меток на карте, но с примерным описанием в ПДА где он находится, чтобы пришлось поискать, - и были бы как заполнены, так и пусты (типа обобрали уже).
Что то типа этого есть в симбионе ...там опицонально можно включить либо редкие, но богатые тайники, либо частые, но бедные на хабар, либо вообще уникальные. И заполнение тайников там рандомное - то есть в одном и том схроне же могут появляться разные вещи.
Сеня Гонза
А заполнить их вручную просто: открываешь файл treasure_manager (папка misc) и в строчке items пишешь что хошь.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Врядли. В каком-нибудь скрипте наверное, а вопрос в каком.
.— Должны были, да не приняли… Сказали, мол, раз сняли наклейку, то на глянце теперь «микроцарапины». Я обрадовался, что не «наноцарапины», и пошел домой.
Сеня Гонза Если играешь с модом, то вполне возможно. Во многих модах мобы оббирают схроны. Как говорится, плохо торопился. И до тебя там уже ктото побывал.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Вот это уже полный бред! Ну и нафига так делать? Скажите, баланс? Ну и нафиг он нужен? Скажите, так реальней? А реально то, что с трупов костюмчЕГи нельзя снимать? Скажите, опять баланс? Вот это ужо не реально. В чем смысл тупого, простите, баланса? Мне кажется, если я екзу убил, я достоин ее носить.
.— Должны были, да не приняли… Сказали, мол, раз сняли наклейку, то на глянце теперь «микроцарапины». Я обрадовался, что не «наноцарапины», и пошел домой.
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.