Автор Сообщение
Посты: 2338
Откуда:
10-10-2009 21:10 GMT3 час. #1062289   
PsyXo
у меня в журнале смотрел статью про ченджеры через скрипт? там ниче сложного вообще нет - скрипт то готовый.


Посты: 84
Откуда:
10-10-2009 21:15 GMT3 час. #1062298   
ярлык?


Посты: 1372
Откуда:
10-10-2009 21:17 GMT3 час. #1062300   
Спасибо, почти всё понял, но не доходит что писать сюда:

# erlik :
имя_файла.имя_функции_спавна()


function spawn() что-ли?

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

-ReSt-
Да, ну через что ты запускаешь игру.
В поле обьект пиши -nointro
E:\S.T.A.L.K.E.R\bin\XR_3DA.exe -nointro
например

отредактировал(а) Futura: 10-10-2009 21:18 GMT3 час.

Посты: 2338
Откуда:
10-10-2009 21:22 GMT3 час. #1062316   
Futura
имя функции у тебя это spawn()
имя файла - это имя того файла где у тебя эта функция находится.
например функция у тебя лежит в файле new_func.script
имя функции spawn()
тогда пишешь
new_func.spawn()

и так делаешь для вызова или апдейта любых функций .

я там скрипт для активации функции спавна поправил - смотри правильный вариант.

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

function - это один из операторoв lua

отредактировал(а) erlik: 10-10-2009 21:24 GMT3 час.

Посты: 124
Откуда:
10-10-2009 21:33 GMT3 час. #1062326   
Привет, у меня такой вопрос - как сделать так если это возможно чтобы фонарик был на поясе.


Посты: 19
Откуда:
10-10-2009 21:38 GMT3 час. #1062328   
Блин кто нибудь сделайте мод добавляющий в СТАЛКЕР ноги


Посты: 1372
Откуда:
10-10-2009 21:41 GMT3 час. #1062333   
erlik
Сделал всё как ты написал, но блин при синхронизации вылетает и ругается на _g.скрипт :(
Вот как я сделал:

omg.script
function spawn()
alife():create("medkit", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),db.actor:id())
end

function activate()
if level.name() == "l01_escape" and --\\пишем имя нужного уровня -
not has_alife_info("info") then
omg.spawn()
db.actor:give_info_portion("info")
end
end


В инфо-поршены добавил

bind_stalker
function actor_binder:update(delta)
object_binder.update(self, delta)
--\\сюда пишем это
omg.function activate()


Где-то ошибся...Сам незнаю где


Посты: 43
Откуда:
10-10-2009 21:44 GMT3 час. #1062337   
erlik Спасибо , завтра займусь. Попробую присоединить свое ущелье к атп например.


Посты: 558
Откуда:
10-10-2009 21:45 GMT3 час. #1062339   
xxx5
Легко.
Зайди в gamedata\config\misc,найди там файл:
items.
Найди там device_torch,
device_torch - это фонарик.
И измени вот эту строчку
slot = 9
на эту
slot = 1
и под ней добавь вот эту
belt = true
.
Только чтобы фонарик заработал на поясе надо переместить его в 1_ый слот и потом на пояс.


Посты: 1372
Откуда:
10-10-2009 21:59 GMT3 час. #1062354   
Ура, наконец-то получилось.
Ошибка была в omg.function activate() , забыл убрать function.
Спасибо всем кто помог мне благополучно заспавнить колбасу!:)


Посты: 2338
Откуда:
10-10-2009 23:02 GMT3 час. #1062413   
Futura
если у тебя функция которую ты вызываешь находится в том же файле откуда она и вызывается - пиши не omg.spawn()
а
this.spawn()

вызывать в этом случае надо без имени файла - а указать таблицу this - это значит "в этом же файле"
хотя у тебя вроде и так сработало - но это правильнее.

вообще чтобы на замусоривать файл bind_stalker вписыванием туда новых функций
лучше сделать так - поставить на апдейт туда только одну функцию

имя_файла.on_actor_update(delta)

а саму функцию положить в любой свой скриптовый файл - и уже в тело этой функции вписывать имена тех функций, который надо вызвать через апдейт эктора.
вот как у меня это работает:


function on_actor_update(delta)
this.activate()
repair.use_repkit()
bomba_test.use_pult()
--this.fat()
set_com.use_set_pult()
bomba_test.bada_boom()
--level_changer.escape_garbage()
this.act01_wounded_pp()
this.act02_wounded_pp()
--this.all_friends()
kill_zone.kill_them_all()
kill_zone.active_zone()
kill_zone.start_delay()
end

сюда вписываю все что мне надо активировать.


отредактировал(а) erlik: 10-10-2009 23:18 GMT3 час.

Посты: 4176
Откуда:
10-10-2009 23:41 GMT3 час. #1062454   
erlik
Немного уточню по теме вызова функции.
Если функция находится в том же файле, из которого вызывается, то указание полного имени файла ( file_name.my_function() ) или 'this.my_function' или даже без указаний ( my_function() ) сути не меняет, ЕСЛИ ...
1. В случае наличия одноименной функции в 'головном' префиксном файле (для Сталкера это '_G.script'), то возможны коллизии интерпретатора LUA. Поэтому стОит 'подсказать' какая же функция должна вызываться, т.е. указать конкретно имя файла или 'this'.
2. Делать указатель функции через 'this' удобно, если файл может быть переименован. Хотя вроде бы и можно обойтись вовсе без указателя. Указатель просто 'подсказывает', что это функция, находящаяся в этом же файле.
3. Указатель 'this' или применение имени файла порой необходимо, если функция одноименна с уже имеющейся в префиксном файле ('_G.script'), если она расположена ниже по кодам/строкам, чем функция откуда вызывается, и если к этому файлу еще не было обращений (т.е. он еще не инициировался).


Посты: 2089
Откуда:
11-10-2009 05:34 GMT3 час. #1062502   
Artos Именно по этому предпочтительно всегда указывать приставку this. чтобы в последствии не было никаких заморочек.


Посты: 124
Откуда:
11-10-2009 07:59 GMT3 час. #1062528   

# ДатчикХабара :
xxx5
Легко.
Зайди в gamedata\config\misc,найди там файл:
items.
Найди там device_torch,
device_torch - это фонарик.
И измени вот эту строчку
slot = 9
на эту
slot = 1
и под ней добавь вот эту
belt = true
.
Только чтобы фонарик заработал на поясе надо переместить его в 1_ый слот и потом на пояс.



Спасибо попробую.:-)


Посты: 84
Откуда:
11-10-2009 10:33 GMT3 час. #1062600   
дайте пож названия аномалий в алл.спаун?
section_name = zone_mincer_weak_noart - птичья каруселька
(у мя только эта есть)
самая которую надо эт мясорубка(электра) и слизь!


Посты: 1372
Откуда:
11-10-2009 11:03 GMT3 час. #1062634   
erlik
Спасибо, действительно удобнее=)


Посты: 84
Откуда:
11-10-2009 11:54 GMT3 час. #1062686   
как костер в бочке спавнить?


Посты: 65
Откуда:
11-10-2009 11:59 GMT3 час. #1062692   
Кто нибудь скажет какая функция влияет на цену продажи вещей неписям? К примеру 70% от реальной стоимости товара.


Посты: 84
Откуда:
11-10-2009 12:14 GMT3 час. #1062717   
-AGGRESSOR-
в файле торговли, где после товара цифры!
bread = 1 . 4;
это вроде в разделе что-то вроде [npc buy]
1 мин процент цены
4 макс проц цены


Посты: 65
Откуда:
11-10-2009 12:19 GMT3 час. #1062730   
Извини за "нубство", но где искать этот "файл торговли" и NPC buy? Заранее благодаррррю!


Посты: 30
Откуда:
11-10-2009 12:26 GMT3 час. #1062742   
подскажите плиз кто знает как в сдк данные узнать позиции
или как сделать переход с локи на локу


Посты: 84
Откуда:
11-10-2009 12:30 GMT3 час. #1062754   
сор! найти не могу! я только файлы торговцев знаю. но их любой найдет.
а с нпс файла не вижу, но он дожен быть такой же по строению!


Посты: 1372
Откуда:
11-10-2009 12:30 GMT3 час. #1062756   
-AGGRESSOR-
\gamedata\config\misc\trade_***.ltx


Посты: 940
Откуда:
11-10-2009 12:32 GMT3 час. #1062760   
Какая есть консольная команда аналог "demo_record 1" но без вывода подсказки в центре экрана (которая красными буквами оттображается)? Надо для записи видео.


Посты: 84
Откуда:
11-10-2009 12:33 GMT3 час. #1062765   
помогите со спавном костра? сор за нубство


Посты: 413
Откуда:
11-10-2009 12:45 GMT3 час. #1062793   
erlik честно, мало что понял. можешь точно написать куда что прописать , и тд. какой инфопоршень. просто хочу сделать диалог чтобы когда я коече скажу выдавался поршень и нпс стрелялся. а то я всю ночь бился с вирусом, и туго соображаю


Посты: 1372
Откуда:
11-10-2009 12:59 GMT3 час. #1062829   
У меня проблема со спавном нескольких предметов через 1 скрипт
function spawn()
alife():create("wpn_gauss", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),db.actor:id())
end

function spawn()
alife():create("ammo_gauss", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),db.actor:id())
end

function spawn()
alife():create("kolbasa", db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(),db.actor:id())
end

function activate()
if level.name() == "l01_escape" and --\\пишем имя нужного уровня -
not has_alife_info("info") then
this.spawn()
db.actor:give_info_portion("info")
end
end

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


Посты: 413
Откуда:
11-10-2009 13:11 GMT3 час. #1062846   
:sos мне помогите!erlik ты же умный!

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

и еще, как пользоваться конвертером от бардака чтобы декомпилировать уровень в формат сдк?? можете полностью написать что куда пеерместить и как написать, потому что у меня нифига неполучилось

отредактировал(а) новиков сергей: 11-10-2009 13:25 GMT3 час.

Посты: 75
Откуда:
11-10-2009 13:28 GMT3 час. #1062871   
новиков сергей
http://stalkerin.gameru.net/wiki/index.php/%D0%94%D0%B5%D0%BA%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%86%D0%B8%D1%8F_%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D0%B5%D0%B9_%D0%B2_%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%82_%D0%A1%D0%94%D0%9A


Посты: 2338
Откуда:
11-10-2009 13:29 GMT3 час. #1062878   
новиков сергей
если из диалога - то там вообще все просто - берешь первый вариант функции и делаешь экшен из диалога - с фразы эктора.

function make_suicide(actor, npc)
npc:kill(npc)
end

Futura
имен функций должны быть разные - припиши к ним хотя бы цифирку spawn_1() , spawn_2() и т.д. и вызывай или все вместе или по отдельности - как тебе надо.

отредактировал(а) erlik: 11-10-2009 13:45 GMT3 час.



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


Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Организация GSC Game World признана нежелательной на территории Российской Федерации.
Использование материалов сайта возможно с разрешения администрации. © 2004–2025 «Stalker-Portal.ru»