Пользователей: 0
Гостей: 835
Всего: 835

» Подробно
» Сегодня

Привет, гость!









Автор Сообщение
АнархОПанк
    
Посты: 998
Откуда:
Возраст:
14-05-2010 07:31 GMT3 час. #1247203   
VenToReZ куда? А ты присмотрись, есть замечательная тема, называется "Поиск модификаций и модмейкерских утилит".

Artos, futura, erlik, по вопросу того что функции влияют. Я такого вообще не видел. НА карте не отмечаются точки перехода. не работает дин.худ, худ карты и т.д, постэффекты и так далее. Первый раз такое.


TheDoktor
    
Посты: 3814
Откуда: Керчь
Возраст: 37
14-05-2010 07:33 GMT3 час. #1247204   
VenToReZ конечно ты не в тему влез. Тебе СЮДА. (кликабельно) А в этой теме обсуждаются вопросы модоСТРОИТЕЛЬСТВА, а не как найти нужный мод.


Я – хозяин своей судьбы, но только судьба знает, где закончится мой путь.

FLIKER
    
Посты: 1047
Откуда: Краснодар
Возраст: 30
14-05-2010 07:53 GMT3 час. #1247208   
Извиняйте за нубский вопрос...
1)Кто нить знает в каком текстовом файле присутствует приветствие команды АМК...


Максим Р.
    
Посты: 1025
Откуда:
Возраст:
14-05-2010 10:07 GMT3 час. #1247230   
FLIKER, у тебя есть программа Notepad++? Если нет, то скачай отсюда: http://notepad-plus.sourceforge.net/ru/site.htm
В ней есть удобная функция Поиск --> Найти в файлах. Пишешь текст который тебе нужно найти и указываешь папку в которой искать. Если найдёт, то укажет имя файла и номер строки.


Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
14-05-2010 10:21 GMT3 час. #1247235   

# karavan :...да и профессия другая, никак не связанная с програмированием.

Флуд, конечно, но скажу.

У подавляющего большинства из нас профессия тоже никак не связанная с программированием.
Просто когда есть желание и возможности (для данного случая я имею в виду интелектуальные), то станешь кем угодно.
(дальше обращаюсь не лично, а ко всем вообще)
Если же таких "возможностей" нет, то хотя бы должны быть "возможности" понять, что это дело вам не под силу.
Ну а если нет и таких "возможностей", то это уже летальный случай. Тут "медицина" бессильна.

отредактировал(а) Gun12: 14-05-2010 10:47 GMT3 час.

Не стань номинантом премии Дарвина.
БаЛаБоЛ
    
Посты: 5062
Откуда: Промышленный район нанотехнологий
Возраст: 31
14-05-2010 10:38 GMT3 час. #1247240   
Вопрос по прицеливанию... вообщем, поставил мод с АМК форума, очень красивый мод, всё работает...
Но это вот совсем неправильно...


Так вот вопрос, товарищи знатоки: Опускать вверх и вниз умею... а накнонять как?
Всмысле: zoom_rotate_x = -0.10 - это наклон вверх или вниз?


:>=
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
14-05-2010 11:07 GMT3 час. #1247251   
БаЛаБоЛ
Конспектируй
zoom_offset = X,Y,Z
X - горизонтальное поперечное смещение. Чем больше значение - тем правее.
Y - вертикальное смещение. Чем больше значение - тем выше.
Z - продольное смещение. Чем больше значение - тем оружие будет дальше.
zoom_rotate_x = X
X - вертикальный наклон. Чем значение больше - тем ствол (дуло) будет наклонен ниже.
zoom_rotate_y = Y
Y - горизонтальный наклон. Чем значение больше - тем оружие будет наклонено правее.
Готового рецепта нет.
Всё подбирается экспериментальным путем.


Не стань номинантом премии Дарвина.
БаЛаБоЛ
    
Посты: 5062
Откуда: Промышленный район нанотехнологий
Возраст: 31
14-05-2010 11:19 GMT3 час. #1247258   
Gun12 У меня конечно есть подобное...


Ток я нифига не понял разобрался.:sarcastic:


:>=
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
14-05-2010 11:23 GMT3 час. #1247259   
Ну я не знаю как написать/объяснить ещё понятнее.
Разве что видео записать как это делается.


Не стань номинантом премии Дарвина.
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
14-05-2010 14:52 GMT3 час. #1247377   
как будит выглядеть скрипт с таким условием:
Если подходишь к НПСу, ТО запускается функция(указать в этом же условии)???


Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
14-05-2010 15:08 GMT3 час. #1247389   
Николай ФеНиКс
Если не ошибаюсь, karavan уже задавал этот вопрос.Почитай прошлые посты.


Новые фишки для сталкера(см. журнал)
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
14-05-2010 15:15 GMT3 час. #1247393   
он задавал другой вопрос...
ну теперь у меня другой вопрос возникает....
как в этой функции:
function Check_Distanse()
if not Dictanse then Dictanse = 5 end
local PositionActor = db.actor:position() --/ позиция ГГ (вычисляем 1-раз)
local idActor = db.actor:id() --/ Id ГГ, чтобы НЕ проверял себя же!

local function Compare(id) --/ внутренняя локальная функция сравнения
local obj = level.object_by_id(id)
if obj and IsStalker(obj) and id ~= idActor then
if obj:position():distance_to(PositionActor) <= Dictanse then
news_manager.send_tip(db.actor, "текст", 0, "default", 8000)
end
end
end

if obj_id then --/ если задан id конкретного сталкера
Compare(obj_id)
else --/ иначе перебираем всех на локации
for id=1,65534 do
Compare(id)
end
end
end
сделать вызов текста только по айди...
т.е. подходишь к НПСу например к волку (айди 006 ), и эта функция активируетс...
как это осуществить?


Artos
    
Посты: 4176
Откуда:
Возраст: 65
14-05-2010 15:18 GMT3 час. #1247394   
Николай ФеНиКс
Нельзя же быть таким ленивым, чтобы не читать хотя бы предыдущие посты.
Не столько для тебя, сколь 'в продолжение', т.е. по мотивам прошедшего:


local bFlag = false --/ флаг-триггер, для однократности выполнения условия/функции

function Check_Distanse()
  if bFlag then return end --/ на выход. т.к. уже отработано
  if not Dictanse then Dictanse = 5 end
  local PositionActor = db.actor:position() --/ позиция ГГ (вычисляем 1-раз)
  local idActor = db.actor:id() --/ Id ГГ, чтобы НЕ проверял себя же!
 
  local function Compare(id) --/ внутренняя локальная функция сравнения
    local obj = level.object_by_id(id)
    if obj and IsStalker(obj) and id ~= idActor then
      if obj:position():distance_to(PositionActor) <= Dictanse then
        bFlag = true
        news_manager.send_tip(db.actor, "кто-то близко от ГГ", 0, "default", 8000)
      end
    end
  end
 
  if obj_id then --/ если задан id конкретного сталкера
    Compare(obj_id)
  else --/ иначе перебираем всех на локации
    for id=1,65534 do
      Compare(id)
    end
  end
end

Выделенное синим - можешь менять по д свои нужды.
Выделенное зеленым - позже сможешь задействовать, если потребуется.

Функция будет выполнятся при каждом запуске игры, т.к. bFlag не сохраняется в сэйвах.



Не путай айди (Id) с сидом (story_id)!

и если был ответ на: "Сколько будет 2х3?", то нужно быть первоклашкой, чтобы вопрошать: "А теперь подскажите 3х2= сколько?"

отредактировал(а) Artos: 14-05-2010 16:08 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
14-05-2010 15:24 GMT3 час. #1247400   
будет 6:-)
признаю перепутал... всё ж как это сделать?


Artos
    
Посты: 4176
Откуда:
Возраст: 65
14-05-2010 15:36 GMT3 час. #1247406   

Как определить Id (айди) объекта? Вариантов множество и зависят от условий и исходных данных.
Если уже известен Story_Id, то взяв уже готовую функцию (азбуку нужно знать!):

local soObj = alife():story_object(Story_Id) --/ серверный объект/персонаж
local Obj_Id = soObj.id --/ искомый id (айди) объекта, который можно и запомнить ...


local bFlag = false --/ флаг-триггер, для однократности выполнения условия/функции

function Check_Distanse(Obj_Id) --/ на входе заданный Id перса
  if bFlag then return end --/ на выход. т.к. уже отработано
  if not Dictanse then Dictanse = 5 end
  local PositionActor = db.actor:position() --/ позиция ГГ (вычисляем 1-раз)
  local idActor = db.actor:id() --/ Id ГГ, чтобы НЕ проверял себя же!
 
  local function Compare(id) --/ внутренняя локальная функция сравнения
    local obj = level.object_by_id(id)
    if obj and IsStalker(obj) and id ~= idActor then
      if obj:position():distance_to(PositionActor) <= Dictanse then
        bFlag = true
        news_manager.send_tip(db.actor, "кто-то близко от ГГ", 0, "default", 8000)
      end
    end
  end
 
  if Obj_Id then --/ если задан id конкретного сталкера
    Compare(obj_id)
  else --/ иначе перебираем всех на локации
    for id=1,65534 do
      Compare(id)
    end
  end
end

Выделенное синим - можешь менять под свои нужды.
Выделенное зеленым - позже сможешь задействовать, если потребуется.

Функция будет выполнятся при каждом запуске игры, т.к. bFlag не сохраняется в сэйвах.

Примечание: Если искомый персонах (Id) - погиб и уже исчез из игры - проверка дистанции будет проводиться в данном варианте уже по ближнему обнаруженному сталкеру.

отредактировал(а) Artos: 14-05-2010 16:06 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
14-05-2010 15:42 GMT3 час. #1247410   
т.е. вот так??

local soObj = alife():story_object(006) --. серверный объект

local bFlag = false --/ флаг-триггер, для однократности выполнения условия/функции

function Check_Distanse(soObj) --/ на входе заданный Id перса
if bFlag then return end --/ на выход. т.к. уже отработано
bFlag = true
if not Dictanse then Dictanse = 5 end
local PositionActor = db.actor:position() --/ позиция ГГ (вычисляем 1-раз)
local idActor = db.actor:id() --/ Id ГГ, чтобы НЕ проверял себя же!

local function Compare(id) --/ внутренняя локальная функция сравнения
local obj = level.object_by_id(id)
if obj and IsStalker(obj) and id ~= idActor then
if obj:position():distance_to(PositionActor) <= Dictanse then
news_manager.send_tip(db.actor, "кто-то близко от ГГ", 0, "default", 8000)
end
end
end

if Obj_Id then --/ если задан id конкретного сталкера
Compare(obj_id)
else --/ иначе перебираем всех на локации
for id=1,65534 do
Compare(id)
end
end
end


Artos
    
Посты: 4176
Откуда:
Возраст: 65
14-05-2010 15:48 GMT3 час. #1247415   
Николай ФеНиКс
Даже разжеванное и положенное в ротик проглотить не можешь :-( (можешь обижаться, но все же ... нужно и головой немного самому работать!)
На вход функции нужен Id, а не сам серверный или иной объект.
Написано же:

function Check_Distanse(Obj_Id) --/ на входе заданный Id перса
...

т.е. ты пропустил строку:
local Obj_Id = soObj.id --/ искомый id (айди) объекта

Если не хочется плодить лишних переменных, то можно и так:

function Check_Distanse(soObj.id) --/ на входе заданный Id перса
...


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
14-05-2010 15:56 GMT3 час. #1247421   
Artos
ага теперь понял СПС=)


Artos
    
Посты: 4176
Откуда:
Возраст: 65
14-05-2010 16:00 GMT3 час. #1247431   
если немного подумать то твой вариант совсем прост:

local bFlag = false --/ флаг-триггер, для однократности выполнения условия/функции

function Check_Distanse(Story_Id,Dictanse) --/ на входе заданный Id перса и дистания до него
  if bFlag then return end --/ на выход. т.к. уже отработано
  if not Dictanse then Dictanse = 5 end
  local obj = alife():story_object(Story_Id)
  if obj and obj:position():distance_to(db.actor:position()) <= Dictanse then
    bFlag = true
    news_manager.send_tip(db.actor, "ГГ близко!", 0, "default", 8000)
  end
end

Приравняв Story_Id = 006 и Dictanse = 10 - получишь сообщение при подходе ГГ к Волку (или его трупу) на дистанцию 10 метров.
Внимание! Поправь строку для флага bFlag


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Psychologist
    
Посты: 1806
Откуда: Челябинск
Возраст: 28
14-05-2010 16:11 GMT3 час. #1247441   
У меня общий вопрос. Чем отлич


И все мы ждем чего-то. Работа - дом - работа ©
Artos
    
Посты: 4176
Откуда:
Возраст: 65
14-05-2010 16:18 GMT3 час. #1247447   
Сталкер Монолита
В данном (входные аргументы для функции) и подобных случаях это без разницы.
Во многих случаях интерпретатор LUA, разбирая коды, сам управляется с пробелами или их отсутствием.
Если взглянуть на некоторые файлы из АМК v1.41, то он даже специально обезпробелены с целью "защиты" от ковыряльщиков.

Однако это относится к скриптам (*.script), для конфигов (*.ltx) и/или (*.xml) такие вольности порой могут приводить к ошибкам и пр. казусам. Парсеры этих файлов совершенно иные!


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
14-05-2010 16:18 GMT3 час. #1247450   
Artos
А может для универсальности кое что добавить во внутреннюю функцию Compare ?
скажем id объекта как и положено пускай передается числом, а сид - строкой ( заключаем аргумент в кавычки при вызове функции "6" ) - а внутри функции уже по типам фильтровать - в какой именно метод параметр передать.
вот так например:

local function Compare(id) --/ внутренняя локальная функция сравнения
local obj=0
if type(id)=='string' then --/ если задан sid конкретного сталкера
obj = alife():story_object(tonumber(id))
elseif type(id)== 'number' --/если задан id конкретного сталкера
obj = level.object_by_id(id)

end
if obj and IsStalker(obj) and id ~= idActor then
if obj:position():distance_to(PositionActor) <= Dictanse then
news_manager.send_tip(db.actor, "кто-то близко от ГГ", 0, "default", 8000)
end
end
end



Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Artos
    
Посты: 4176
Откуда:
Возраст: 65
14-05-2010 16:26 GMT3 час. #1247456   
erlik
Я же не даю сейчас 'полностью' универсальную :-)
Цель - постепенно дать понятия как делать -> как делать гибко/многофункционально -> как делать универсально.
Конечно можно ввести проверки и ни строка/номер на входе и проверять уже по имени или айди. Можно еще много чего нагородить ...

Хочется чтобы молодые модмейкеры не спрашивали каждый раз сколько будет 3х5 или 4х2, а смогли бы научиться использовать таблицу умножения и применять ее и в более сложных случаях.

Если им дать готовую универсалку, то ... тупо НЕ понимая как она работает, будут каждый раз опять спрашивать банальности, т.к. ничего не может быть полностью универсальным и всегда найдутся варианты, не укладывающиеся в рамки заготовки.

Да и в твоем примере уже для них головоломка, т.к. sid - это все же число. Но оно может фигурировать и как стринг ... впрочем как и тот же айди (id)


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
14-05-2010 16:42 GMT3 час. #1247469   
Artos

уже для них головоломка, т.к. sid - это все же число. Но оно может фигурировать и как стринг ...

ну тут некоторые вроде методом конвертации числа в строку (в тип string ) - tostring(числовое значение) - пользоваться умеют, так что достаточно пояснить что и есть обратный Lua метод - tonumber(строковое значение) - переводящий строковое значение в число (точнее в тип number )- при условии что это значение можно корректно конвертировать - то есть передавать для конвертации строку "десять" разумеется нельзя - а вот "10" можно.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Psychologist
    
Посты: 1806
Откуда: Челябинск
Возраст: 28
14-05-2010 16:45 GMT3 час. #1247476   
У меня вопрос (когда-то его задал, но ответа внятного не получил):
Чтобы поставить метку на объект в скелете квеста, обязательно ли он должен иметь
SID?
И если можно поставить метку в скелете и без сида, то как?


И все мы ждем чего-то. Работа - дом - работа ©
Artos
    
Посты: 4176
Откуда:
Возраст: 65
14-05-2010 16:52 GMT3 час. #1247481   
erlik
Мне кажется, что многим обитателям данного топика пока нужно разобраться и запомнить основы/азбуку, т.к. слова складывать и тем более предложения можно только зная буквы.
Многие путают или не знают что же такое id, story_id, class_id, ... и если им еще не пояснив, что это изначально ЧИСЛА и это совершенно разные понятия, то уж о том, что эти числа могут быть записаны строковыми занчениями или даже словами - стОит говорить несколько позже. А то такой винегрет может получиться, что ...
Хотя именно этот винегрет у многих и есть сейчас, т.к. вместо того, чтобы изучить и понять азбуку - нахватались 'готовых' примеров и не понимая до конца их смысла, пытаются 'сочинять', оперируя только известными словами/предлогами и часто не к месту ...


Сталкер Монолита
Если переведешь свой вопрос с жаргона на общепонятный - может кто и ответит.
Желательно порой и давать пример того, о чем говоришь/спрашиваешь.

отредактировал(а) Artos: 14-05-2010 16:54 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
14-05-2010 17:07 GMT3 час. #1247495   
а как эту функцию в биндере вызвать???
так:
имя файла.Check_Distanse(006,Dictanse) -- что обозначает Dictanse ??? или так и оставлять?


Psychologist
    
Посты: 1806
Откуда: Челябинск
Возраст: 28
14-05-2010 17:10 GMT3 час. #1247499   
Artos
Попробую:
При создании квестов, чтобы поставить метку на к**50016ea8aab1bb10eeba**t_story_id>Escape_novice_lager_volk[/code]
Т.е. создаём метку на Волка. При этом указываем его story_id. А иначе, как игра узнаёт на кого показывать стрелку?!
Так вот, возможно ли поставить эту же метку на того же Волка, только не указывая sid?
Да, это можно сделать скриптом. А в скелете квеста это можно сделать? И как?
И попутный вопрос: если делать метку скриптом, то как "заставить" 'стрелочку-указатель' указывать на объект?


Надеюсь сейчас понятно объяснил? Просто не знаю как ещё написать :-G


И все мы ждем чего-то. Работа - дом - работа ©
Artos
    
Посты: 4176
Откуда:
Возраст: 65
14-05-2010 17:29 GMT3 час. #1247517   
Николай ФеНиКс

есть некая грань, которую не стОит переходить. Тут все же не детский сад и разжевывать какждый раз и все до состояния пюре далеко не каждыйможет/хочет.
Сорри, но что-то в твоем возрасте нужно уже делать/додумывать самому. Или хотя бы попробовать сделать ... даже если и не совем все понял.

Сталкер Монолита
Ты как раз дал иллюстрацию к моему предудущему посту, когда оперируют словами или не понимая их значение или наделяя их собственными значениями.
Это: Это_значение_стори_айди_таска - тэги, которые определяют конкретный идентификатор задания. Никакой это не story_id, хотя в кодах, с целью как то обозвать переменную и не выдумывать экзотику, программеры нередко применяют уже имеющиеся.
В данном случае может быть уместнее было бы в скриптах подобное назначить на task_story_id
И уж никакого это не имеет отношения к Story_Id (006) Волка, если не считать того, что в "task_manager.ltx" иль аналогичном этот task_story_id не привязан parent'ом или target'ом к нему (Волку).
Т.о. привязав конкретный task_story_id к выдавшему его parent'у или целевому target'у можно и указывать на кто дал/где искать.
Т.к. в данном случае это движковая обработка, то соблюдение данного формата привязки - вынужденно.

отредактировал(а) Artos: 14-05-2010 18:11 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Psychologist
    
Посты: 1806
Откуда: Челябинск
Возраст: 28
14-05-2010 17:41 GMT3 час. #1247531   
Artos
Т.е. если я правильно понял, не нужно регистрировать объект в game_story_**50076ea8aab1bb10eeba**ode]esc_wolf[/code]


И если я опять неправильно понял... отправьте меня туда, где можно лицезреть готовые примеры, дабы не мучать Вас и других этими глупыми вопросами. Может быть хоть тогда я разберусь...


И все мы ждем чего-то. Работа - дом - работа ©


Форумы Архив » Свалка Вопросы и ответы (по 05.06.10)


Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2025 «Stalker-Portal.ru»