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

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

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









Автор Сообщение
АнархОПанк
    
Посты: 998
Откуда:
Возраст:
29-03-2010 13:20 GMT3 час. #1210691   
vhodnoylogin Это текстуры, (Я про дырки от пуль) на каждый объект своя текстура

добавлено спустя 21 минут

vhodnoylogin ты сам можешь наложить текстуры от РГ-6 к автомату, достаточно иметь хотяб паинт.нет

отредактировал(а) АнархОПанк: 29-03-2010 13:41 GMT3 час.

STURMTROOPER
    
Посты: 165
Откуда:
Возраст:
29-03-2010 14:24 GMT3 час. #1210752   
Как адаптировать худ/инвентарь, сделанный для обычного монитора, под широкоформатный?


STURMTROOPER Mod. Reborn.

Смотрим в журнале
АнархОПанк
    
Посты: 998
Откуда:
Возраст:
29-03-2010 21:05 GMT3 час. #1211195   
STURMTROOPER файлы XML юзай


kingkill
    
Посты: 107
Откуда: Москва
Возраст:
29-03-2010 21:37 GMT3 час. #1211230   
народ как в SPR моде заводить машину какую букву давить?;-);-)


vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
29-03-2010 22:05 GMT3 час. #1211279   
Люди, так кто мне скажет, как проверить условие использования объекта?

И еще:
eat_health = 0.0 - восстановление здоровья
eat_satiety = 0 -
eat_power = 1.0 -
eat_radiation = 0.0 - увеличение/уменьшение радиации
wounds_heal_perc = 0.0 - лечение ран
eat_portions_num = 1 -
eat_max_power = 1.0 -

Дополнить недостающие описания, пожалуйста.

И еще: как изменить вид предмета: меняю "visual =" - ничего не происходит. Что делать?

отредактировал(а) vhodnoylogin: 29-03-2010 22:31 GMT3 час.

Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
АнархОПанк
    
Посты: 998
Откуда:
Возраст:
29-03-2010 23:22 GMT3 час. #1211363   
vhodnoylogin вид предмета. Наверно не так меняешь, надо писать поный визуал, например у аптечки он такой

visual = предметы/шняга/аптечка


и ты хошь поменять ее на коробку, ну просто коробку


visual = предметы/шняга/коробка

И у тебя в любом случае ПОМЕНЯЕТСЯ визуал


С недостающими секциями, их я не юзал уже давно, ну вот, что помню:


eat_health = 0.0 - восстановление здоровья
eat_satiety = 0 - на сколько еда будет прибавлять сытость, выставить минус перед числом убавлять
eat_power = 1.0 - Не помню...
eat_radiation = 0.0 - увеличение/уменьшение радиации
wounds_heal_perc = 0.0 - лечение ран
eat_portions_num = 1 - ??? =(
eat_max_power = 1.0 - Сколько силы ГГ даст каждая сжованная ГГ пища, типа как у егергетика

отредактировал(а) АнархОПанк: 29-03-2010 23:56 GMT3 час.

Atrox
    
Посты: 983
Откуда:
Возраст:
30-03-2010 10:09 GMT3 час. #1211573   
АнархОПанк , приведи пожалуйста пример, где и чего конкретно менять из того, из-за чего НПС выбирают то, или иное оружие, взяв одно и не взяв другое.

.


xxx5
    
Посты: 124
Откуда:
Возраст: 30
30-03-2010 12:08 GMT3 час. #1211666   
Futura
Он просил показать какая у меня функция, и у меня как раз такой-же вопрос, как сделать чтоб ГГ перебрасывало на другую локацию, в моей функции написаны координаты Янтаря, но когда я говорю с НПС на Кордоне чтобы он отвёл ГГ на Янтарь, ГГ телепортируется не на Янтарь, а за пределы кордона, из-за чего это, подскажите.


vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
30-03-2010 12:58 GMT3 час. #1211709   
Люди, здравствуйте. Задача:
сделать так, чтобы при любом выстреле оружие подносилось к глазам (даже если я не нажимаю ПКМ). При этом надо подправить место, куда будет смещаться оружие при прицеливании, так как из-за оружия мало что видно.
Это, кажется, делается изменением вот этих параметров:
;смещения HUD для режима приближения
zoom_offset = -0.135400,0.011700,-0.131000
zoom_rotate_x = -0.012300
zoom_rotate_y = -0.000100
Только как именно изменить, чтобы и смещение к глазам было, и вид на простор с целью остался незагороженным?


И в конце классический вопрос, который мучает меня и никто не может мне толком объяснить, как это сделать:
проверка условия использования предмета, как это исполнить, что писать?


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
Psychologist
    
Посты: 1806
Откуда: Челябинск
Возраст: 28
30-03-2010 13:15 GMT3 час. #1211720   
vhodnoylogin
Вам же Futura писал, а Вы не заметили?
Смотрите тут: Сообщение #1210796
Это по поводу использования.


И все мы ждем чего-то. Работа - дом - работа ©
vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
30-03-2010 15:26 GMT3 час. #1211876   

# Сталкер Монолита :
vhodnoylogin
Вам же Futura писал, а Вы не заметили?
Смотрите тут: Сообщение #1210796
Это по поводу использования.



Я просто подумал, что это скрипт спавна чего-либо относительно координаты ГГ.
local item = nil
function use_menu()
if item and type(item) == "number" then
if not level.object_by_id(item) then
-- Сюда пишешь нужное действие.
end
item = nil
end
if item and type(item) == "userdata" then
item = item:id()
else
item = nil
end
end

function use_drop(obj)
if obj:section() == "название итема" then
item = obj
end
end


Я что-то не понимаю, это одна функция или две? Вижу две, а что они делают? И как понять приписку "use_drop(obj) ставишь на on_item_drop в bind_stalker.script. А да, ещё use_menu() на апдейт update(delta) в этом же файле."?


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
Fantom2323
    
Посты: 778
Откуда: 25 RUS
Возраст: 29
30-03-2010 17:08 GMT3 час. #1212079   
Кто из вас знает что значит этот вылет?

Expression : W==1
Function : CFileWriter::w
File : e:\stalker\patch_1_0004\xrcore\FS_internal.h
Line : 63
Description : Can't write mem block to file. Disk maybe full.
Arguments : No space left on device


Первый раз с ним сталкиваюсь, поэтому и незнаю.:-G


Новый проект в разработке, ищи в моём журнале.
В теории - всё легко, а вот на деле - гораздо сложнее.
Psychologist
    
Посты: 1806
Откуда: Челябинск
Возраст: 28
30-03-2010 17:12 GMT3 час. #1212087   
Fantom2323
Перевод:
Не может прочесть блок памяти файла. Диск может быть переполнен
Нет свободного места на устройстве.

Может памяти не хватает? Или диск переполнен жёсткий?


И все мы ждем чего-то. Работа - дом - работа ©
Fantom2323
    
Посты: 778
Откуда: 25 RUS
Возраст: 29
30-03-2010 17:18 GMT3 час. #1212093   
Сталкер Монолита
Да бред какой-то! Всё было нормально до поры до времени и вот влезла какая-то шняга! Кстати вылет я схлопотал при переходе на Агропром. Чёрт как же быть?


Новый проект в разработке, ищи в моём журнале.
В теории - всё легко, а вот на деле - гораздо сложнее.
Psychologist
    
Посты: 1806
Откуда: Челябинск
Возраст: 28
30-03-2010 17:24 GMT3 час. #1212098   
Fantom2323
Значит не хватило памяти для загрузки агропрома, только так похоже...
Иначе, причём же здесь нехватка памяти?


И все мы ждем чего-то. Работа - дом - работа ©
vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
30-03-2010 17:28 GMT3 час. #1212107   
Futura Честно, я ничего не понял, как и что делать.
Для меня это - хрень какая-то:
local item = nil
function use_menu()
if item and type(item) == "number" then
if not level.object_by_id(item) then
-- Сюда пишешь нужное действие.
end
item = nil
end
if item and type(item) == "userdata" then
item = item:id()
else
item = nil
end
end

function use_drop(obj)
if obj:section() == "название итема" then
item = obj
end
end

Их две - зачем? Что каждая из них делает? Как она это делает? Как их вызывать? Что значит "вызов в нужное место", я знаю только вызов из нужного места? И тому подобные вопросы.
Объясни, что к чему, пожалуйста.


local item = nil - мы присваиваем переменной ITEM значение NIL
function use_menu() - сама функция: имя
if item and type(item) == "number" then - проверка условия, какого? Что за "number"
if not level.object_by_id(item) then - еще одна проверка, чего на этот раз?
-- Сюда пишешь нужное действие.
end
item = nil - почему опять присваиваем значение nil
end
if item and type(item) == "userdata" then - а это что за условие?
item = item:id() - а что тут делается? Почему "=" одно, это же не присваивание, или я чего-то не знаю?
else
item = nil - опять одиночное "=", зачем это?
end
end


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
30-03-2010 18:28 GMT3 час. #1212217   

# Futura :
vhodnoylogin
Вторая проверяет, был ли выброшен (а при использовании итем именно выбрасывается) определённый итем, и записывает итему значение obj. Поскольку первая ф-я на постоянном апдейте, она автоматом проходит нужные проверки, выполняет нужные тебе действия (если есть) и снова обнуляет переменную item. Не знаю, для чего там нужна последняя проверка в первой ф-ии.
Пиши вот это - имя_файла.use_drop(obj) в конец функции actor_binder:on_item_drop() файла bind_stalker. В этом же файле пиши имя_файла.use_menu() в конец функции actor_binder:update(delta).
Надеюсь больше с этими вызовами вопросов не будет.



НЕ прокатило. Когда я спавню - выкидывает с логом
Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\sources\trunk\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: ...ogram files\s.t.a.l.k.e.r\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)

Хотя я вообще не затрагивал файл _g.script


PS: Спавню "почти универсальным скриптом" из журнала elrik
Так "удобнее" - можно разом спаунить несколько объектов и указывать их количество. Это то, что мне надо.


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
30-03-2010 18:43 GMT3 час. #1212237   

# Futura :
vhodnoylogin
Возможно неправильно совместил. Попробуй на оригинальной игре.
Читал, что такая ошибка вроде говорит о синтаксической ошибке в написании.


Ну не знаю, где может быть синтаксическая ошибка, я только копипастил. Ладно, фиг с ним.

function spawn_in_inv()
alife():create("название итема", vector():set(db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
end
Как тут работать? можно ли спаунить несколько предметов разом?


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
30-03-2010 19:05 GMT3 час. #1212266   
Futura
До меня начинают доходить некоторые вещи:
наверное надо сначала объявлять функцию, а потом вызывать
не доходит до меня твоя функция:
local item = nil
function use_menu()
if item and type(item) == "number" then
if not level.object_by_id(item) then
this.spawn_in_inv()
end
item = nil
end
if item and type(item) == "userdata" then
item = item:id()
else
item = nil
end
end

не могу понять, как она распознает, на какой предмет реагировать

PS: даже объявив функцию до ее вызова, не получил желаемого результата


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
xxx5
    
Посты: 124
Откуда:
Возраст: 30
30-03-2010 19:27 GMT3 час. #1212299   
Futura

Обьясни пажалуста подробней как создавать левел ченджер, если не трудно.
И как телепортировать ГГ в левел ченджер.


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
30-03-2010 20:03 GMT3 час. #1212373   
vhodnoylogin
спавн в случайной точке от ГГ.
см


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
30-03-2010 20:06 GMT3 час. #1212382   

# Futura :
vhodnoylogin
В общем вот, щас напишу тебе ОТ и ДО, как сделать, что бы всё это работало.
В папке scripts соз


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
30-03-2010 20:12 GMT3 час. #1212405   
vhodnoylogin
тело функции Lua начинается в ключевого слова function и заканчивается последним end этой функции.

разработчики сталкера во многих файлах отделили функции друг от друга черточками - для удобства восприятия.
PS Представляю как бы ты мучился с функциями в C# - там вообще никаких end-ов :-) - одни скобочки...


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
30-03-2010 20:21 GMT3 час. #1212432   
О, люди, сколько советов. Благодарю. А можно чуть-чуть медленнее.

function actor_binder:update(delta) - функция. В нее писать вызов моей функции. Только куда? Ну тут я, кажется, разобрался. Однако будут еще вопросы.

PS: с Си не мучался - там end есть, хотя и не такой. Это скобка { и }. О, извиняюсь - ты это написал.


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
30-03-2010 20:30 GMT3 час. #1212452   
vhodnoylogin

А что тебе мешает вписать в апдейт эктора вызов одной функции в тело которой потом можно вписывать вызовы нужных функций. И не надо будет каждый раз думать куда ставить вызов.
пример


function actor_binder:update(delta)
object_binder.update(self, delta)

-- DEBUG slowdown
-- slowdown.update()

local time = time_global()

game_stats.update (delta, self.object)

-- апдейт погоды
self.weather_manager:update()

-- апдейт схемы детектора
self.actor_detector:update()

-- апдейт звуковой схемы актера
xr_sound.update_actor()

--моя функция для коллективного апдейта
taynik_rnd.on_actor_update(delta)

--а в указанном файле пишем такую вот функцию куда ставим просто вызовы нужных функций которые нужно обновлять
function on_actor_update(delta)
this.gratva()
this.activate()
this.use_thing()
stco.update()
this.weapon_2()
this.show_obj()
кол-во вызовов может быть довольном большим - но ближе к сотне наверно игра будет все таки подтормаживать
end


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
xxx5
    
Посты: 124
Откуда:
Возраст: 30
30-03-2010 20:57 GMT3 час. #1212501   
Futura

Обьясни пажалуста подробней как создавать левел ченджер, если не трудно.
И как телепортировать ГГ в левел ченджер.


vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
30-03-2010 21:14 GMT3 час. #1212524   
Люди, особенно Elrik (тут его скрипт и мой, сделанный по его образцу) и Futura (пусть увидит все и подумает над этим - может что скажет) опытным взором смотрим сюда и говорим будет работать (особенно то, что выделено):
local count = 0
function uni_spawn(tab_items,tab_where)
for k, v in pairs(tab_items) do
if type(v)~='table' and type(tab_where)=='table' then
alife():create(v,vector():set(tab_where['x'],
tab_where['y'],tab_where['z']),
tab_where['lv'],tab_where['gv'])
elseif type(v)~='table' and type(tab_where)=='string' then
alife():create(v, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
elseif type(v)=='table' and type(tab_where)=='table' then
for k, v in pairs (tab_items[k]) do
count = k
for i=1, count do
alife():create(v,vector():set(tab_where['x'],
tab_where['y'],tab_where['z']),
tab_where['lv'],tab_where['gv'])
end
end
elseif type(v)=='table' and type(tab_where)=='string' then
for k, v in pairs (tab_items[k]) do
count = k
for i=1, count do
alife():create(v, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id())
end
end
end
end
end


function uny_spawn_1()
local tab_items ={{[3]="medkit"},{[3]="yod"},{[3]="stim"},{[3]="bandage"}}
local tab_where = "actor"
this.uni_spawn(tab_items,tab_where)
end

function uny_spawn_2()
local tab_items ={{[5]="medkit"},{[5]="yod"},{[3]="stim"},{[5]="bandage"},{[2]="antirad"}}
local tab_where = "actor"
this.uni_spawn(tab_items,tab_where)
end

function uny_spawn_3()
local tab_items ={{[7]="medkit"},{[5]="yod"},{[4]="stim"},{[7]="bandage"},{[5]="antirad"}}
local tab_where = "actor"
this.uni_spawn(tab_items,tab_where)
end

function use_item(user_item,my_do)
local item = nil
function use_menu()
if item and type(item) == "number" then
if not level.object_by_id(item) then
my_do
end
item = nil
end
if item and type(item) == "userdata" then
item = item:id()
else
item = nil
end
end
function use_drop(obj)
if obj:section() == user_item then
item = obj
end
end
end


function use_it_1()
user_item = "medlit"
my_do = this.uny_spawn_1()
this.use_item(user_item, my_do)

end

отредактировал(а) vhodnoylogin: 30-03-2010 21:19 GMT3 час.

Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
30-03-2010 21:30 GMT3 час. #1212539   
Futura
Биндер скорей всего апдейтит также. Но в него нельзя ставить на апдейт также как на апдейт эктора - почему получаем резкий томоз игры и зависание.
Так что там у меня стояли только вызова для проверки юзанья ящиков, а также коллбеки на сохранение и загрузки игру.
Сделать не сложно - тем более есть образчик от маландринуса на АМК - берешь как есть.

Насчет дистанции.
В общем вот - отрываю от сердца - мой скрипт из невыложенной разработки рандомные тайники.
Пока сам поразбирайся - а то объяснять сегодня уже сил нет...

принимает имя уровня и позицию схрона
далее проверяет дистанцию от схрона до всех объектов-примет из таблицы
возвращает ближайший объект - имя и дистанцию.

function get_min_distance(lname, pos)
local dist, point, object, distance
--берем координаты объектов-примет и получаем дистанцию до каждого от схрона
local baza = points[lname] --таблица points
local obj_dist ={}
for k, p in pairs(baza) do
--point = vector():set(p[1],p[2],p[3])
point = vector():set(p["p"][1],p["p"][2],p["p"][3])
local object = p.text
dist = point:distance_to(pos)

--пишем в таблицу строку с именем объекта и полученную дистанцию до него
table.insert(obj_dist, {o=object, d = dist})
end
--надо записать еще поинт?
local t_dist ={}
--пишем в таблицу только дистанции
for o, d in ipairs(obj_dist) do
table.insert(t_dist, d.d)
end
--получаем минимальную дистанцию
local min_dist = math.min(unpack(t_dist))
--ищем объект с этой дистанцией
for k, v in ipairs(obj_dist) do
if v.d == min_dist then
object, distance = v.o, v.d
break
end
end

obj_dist = nil
t_dist = nil
return object, distance
end


кусок таблицы points


local points = {
["l01_escape"] = {
[1] = { name = "заброшенная фабрика", text = "заброшенной фабрики", text0 = "на заброшенной фабрике", p = {-6.99, 5.19, 86.94 }},
[2] = { name = "заброшенная Ферма", text = "заброшенной Фермы", text0 = "на заброшенной Ферме", p = {5.17, 2.31, 274.39 }},
[3] = { name = "АТП", text = "АТП", text0 = "на АТП", p = {112.56, -5.81, -16.56}},
[4] = { name = "железнодорожная насыпь", text = "железнодорожной насыпи", text0 = "на железнодорожной насыпи", p = {56.13, 3.29, 157.36}},
[5] = { name = "военный блокпост", text = "военного блокпоста", text0 = "на военном блокпосту", p = {-155.74, -28.49, -352.21}},
[6] = { name = "Блокпост перед Свалкой", text = "блокпоста перед Свалкой", text0 = "на блокпосту перед Свалкой", p = {14.08, 17.45, 669.28}},
[7] = { name = "лагерь новичков", text = "лагеря новичков", text0 = "в лагере новичков", p = {-193.57, -18.49, -145.71}}
},




vhodnoylogin
че то там не то. мягко говоря ... но я уже пошел. так что думай сам.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
30-03-2010 21:48 GMT3 час. #1212557   
Futura, твой скрипт не прокатил: выкидывает с ошибкой, хотя я все сделал "правильно".
Создал новый файл check, вписал туда твой скрипт, поставил проверку на аптечку, в графе "что сделать" вписал проверенную (рабочую) ф-ю спауна. В bind_stalker.script прописал где-то в function actor_binder:update(delta) прописал: check.use_menu() и check.use_drop(obj). Вылет. Что делать?


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
Darien Fx
    
Посты: 1372
Откуда:
Возраст: 30
30-03-2010 23:13 GMT3 час. #1212618   
vhodnoylogin
У тебя ошибка. Вот тебе геймдата с тем же скриптом, всё работает.
_http://webfile.ru/4395042
erlik
Спасибо, разобрался.

отредактировал(а) Futura: 31-03-2010 10:02 GMT3 час.



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


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

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