 |
|
| Автор |
Сообщение |
|
| 08-06-2009 19:42 GMT3 час. #932313 |
Labus смысл так морочится, когда можно сделать, как сделано в моде, на который я дал ссыль? |
|
|
|
| 08-06-2009 19:44 GMT3 час. #932315 |
Шалун
Все это нужно для квеста. К примеру взял квест, и активировалсь функция спавна. А в ней я прописал к примеру три точки возможного появления артефакта. И игра рандомно спавнить артефакт в каком-либо из трех мест. |
|
|
|
| 08-06-2009 19:46 GMT3 час. #932318 |
Отшель[НИК] я знаю, как сделать так с НПС, но не знаю как сделать рандом и как это сделать с предметом:-G А те кто знают, заняты разработками модов и им не до этого. |
|
|
|
| 08-06-2009 20:09 GMT3 час. #932348 |
Вопрос На засыпку!
Почему Когда я добавляю А-Лайв от меня ВСЕ непсии бегают?
Как будто у них всех повышена паника...Убираю А-лайв Всё норм! |
|
|
|
| 08-06-2009 20:39 GMT3 час. #932407 |
dan8
а как сделать
Честно - не знаю, НО есть мод называется вроде "напарники" точно не знаю, у меня где-то был, но чего то затерялся среди остальных или я его случайно удалил. В общем не обо мне речь, введи "naparniki mod" в поисковике... а вот я нашел:
_http://sdk.stalker-game.com/ru/images/4/47/%D0%9D%D0%B0%D0%BF%D0%B0%D1%80%D0%BD%D0%B8%D0%BA%D0%B8_0.2.zip
Вот описание:
|
|
|
|
| 08-06-2009 20:55 GMT3 час. #932425 |
Отшель[НИК] Тут не сложно. В луа есть математическая функция
"math.random(n, k)". Эта функция выбирает случайное число из указанного диапазона. Где n - минимальное число, k - максимальное число. Кратность диапазона, равна тысяче. Тоесть, если например выбрать диапазон math.random(0, 10), то случайное число будет делиться на 0.01. Исходя из этого, функция случайного выбора места спавна, будет выглядеть так:
function name()
local k,kx,ky,kz,kg,kl --создание переменных
k = math.random(0, 30)
if k>0 and k<=10 then
kx, ky, kz = координаты 1 (x,y,z). через запятую
kg, kl = гейм и левел вертексы 1. через запятую
elseif k>10 and k<=20 then
kx, ky, kz = координаты 2 (x,y,z). через запятую
kg, kl = гейм и левел вертексы 2. через запятую
elseif k>20 and k<=30 then
kx, ky, kz = координаты 3 (x,y,z). через запятую
kg, kl = гейм и левел вертексы 3. через запятую
end
local a = vector()
a.x = kx
a.y = ky
a.z = kz
alife():create("wpn_ak47", a, kl, kg, 65535)
end
Если правильно расставить все координаты, то функция уже рабочая. |
отредактировал(а) singapur22: 09-06-2009 02:35 GMT3 час.
|
|
|
| 08-06-2009 21:17 GMT3 час. #932451 |
|
|
|
|
|
| 09-06-2009 07:48 GMT3 час. #932671 |
народ,ну как убрать все квесты))) |
|
|
|
| 09-06-2009 09:37 GMT3 час. #932734 |
Куда кидать В соундах новые звуки для гитары? |
|
|
|
| 09-06-2009 09:49 GMT3 час. #932749 |
lickon
Второстепенные (и прочие тоже) квесты можно просто убрать из профиля квестовых персов в файлах character_desc_уровень
Допустим у Сидора если уберешь это:
escape_trader_jobs
tm_trader_dialog
tm_trader_reward
escape_trader_done_blockpost_box
То при общении с ним не появятся ветки диалогов с заданиями типа принеси, найди, убей и задание на ящик с блокпоста.
Чтобы совсем убрать задания к того же Сидора - нужно удалить id структуру этих диалогов из файла dialogs.xml в папке геймплей и файла dialogs_escape.xml (ну тут нужно быть осторожным, так как убирая диалоги - ты убираешь и экшены и инфопоршни вставленные в них), а затем и сам текст.
В общем алгоритм удаления таков - в профилях персов ищешь диалоги, затем файлы, где прописывается id структура диалога, а затем их текст - смотришь за что эти диалоги отвечают и если они тебе не нужны, то удаляешь. Удалять надо либо все - либло только ссылки на диалоги в профиле.
Сам текст диалогов и заданий - наверное знаешь - лежит в папке text\rus в файлах типа stable_dialogs_уровень и stable_task_manager.
То что в ПДА пишется - в storyline_info_taskmanager и storyline_info_уровень ( в папке gameplay). Сам текст в ПДА - в stable_task_manager.
Николай ФеНиКс
Пример:
characters_voice\human_01\bandit\music
В общем в папке характер войс загляни во все папки human_ и дальше во всех папки с именем группировок - там везде есть папка с именем музик - там и лежат гитраные композиции. Заменяешь файлы на свои, но имена даешь такие же как и дефолтные. |
отредактировал(а) erlik: 09-06-2009 09:58 GMT3 час.
|
|
|
| 09-06-2009 10:01 GMT3 час. #932765 |
erlik
СПС конечно, но я уже Сам разобрался=) |
|
|
|
| 09-06-2009 10:24 GMT3 час. #932785 |
erlik можно плиз , мне нужно, чтобы МНЕ нужна работа осталась, а работы никогда ни было(я хочу другие квесты надобавлять)где это всё находится
добавлено спустя 9 минут
как сделать, чтобы наёмники дружили с Одиночками, Свободой, Долгом....Экологами...и со всеми, с кем дружит АКТЁР в оригинале |
отредактировал(а) lickon: 09-06-2009 10:33 GMT3 час.
|
|
|
| 09-06-2009 10:41 GMT3 час. #932798 |
lickon, заходишь в \gamedata\config\creatures\game_relations, и на пересечении killer и той группировки, какую тебе нужно меняешь отношение с -5000 на 100 |
|
|
|
| 09-06-2009 10:43 GMT3 час. #932800 |
lickon
Так смотри указанные файлы. В папке gameplay и text - (и та и другая лежит в папке config)
Да, я еще забыл про файлы типа tasks_уровень ( в папке gameplay) - там лежат id структуры сложных заданий. А однотипные задания - то есть их описания - лежат в task_manager.ltx (в папке misc)
Инфопоршни для заданий - в файлах типа info_l01escape, info_l02garbage и т.д. (то же в папке gameplay). Ест еще скриптовый файл task_manager.script в gamedata\scripts - там лежат функции инициирующие задания из файла dialogs. xml (папка gameplay).
А вообщее все это расписано на мод вики. Про квесты простые и сложные и диалоги.
Геныч Defake
А почему на 100? Дружба - это же 5000 (тогда они зеленые будут). |
|
|
|
| 09-06-2009 10:49 GMT3 час. #932805 |
erlik, аа... ну да... Но разницы то нет. все что выше нуля - это они в друг друга не стреляют, а зелеными точками не будут обозначаться т.к. они друзья или нейтралы друг другу, а ГГ тут не причем |
|
|
|
| 09-06-2009 10:54 GMT3 час. #932812 |
Геныч Defake там трудно разобраться, что к чему?
добавлено спустя 29 секунд
мне нейтралы нужны |
отредактировал(а) lickon: 09-06-2009 10:54 GMT3 час.
|
|
|
| 09-06-2009 11:00 GMT3 час. #932821 |
communities_relations]
; |actor |act_dol|act_fre|stalker|monolit|militar|killer |ecolog |dolg |freedom|bandit |zombied|strange|trader |arena_enemy|
;=================================================================================================================================
actor = 0, 0, 0, 5000, 0, 0, 0, 5000, 0, 0, 0, 0, 0, 0, 0
actor_dolg = 0, 0, 0, 0, 0, 0, 0, 0, 5000, 0, 0, 0, 0, 0, 0
actor_freedom = 0, 0, 0, 0, 0, 0, 0, 0, 0, 5000, 0, 0, 0, 0, 0
stalker = 5000, 0, 0, 0, -5000, 0, 5000, 0, 0, 0, -5000, -5000, 0, 0, -5000
monolith = 0, 5000, 5000, -5000, 5000, -5000, -5000, -5000, -5000, -5000, 5000, 5000, -5000, 0, -5000
military = 0, 0, 0, 0, 0, 5000, 5000, 0, -5000, -5000, 5000, -5000, 0, 0, -5000
killer = 0, 0, 0, -5000, -5000, -5000, 5000, -5000, -5000, -5000, 0, -5000, -5000, 0, -5000
ecolog = 5000, 600, 0, 0, -5000, 1000, 5000, 5000, 500, -5000, -500, -5000, 0, 0, 0
dolg = 5000, 600, 0, 0, -5000, -500, 5000, 5000, 5000, -5000, -5000, -5000, 0, 0, 0
freedom = 5000, 0, 600, 0, -5000, -5000, 5000, -1500, -5000, 5000, 0, -5000, 0, 0, 0
bandit = 0, 0, 0, 0, -5000, -5000, 0, -5000, -5000, 0, 0, -5000, -5000, 0, -5000
zombied = 0, 0, 0, 0, 5000, -5000, -5000, -5000, -5000, -5000, -5000, 5000, -5000, 0, -5000
stranger = 5000, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -500, -5000, 0, 0, 0
trader = 5000, 5000, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
arena_enemy = 5000, -5000, -5000, -5000, -5000, -5000, 0,
Ну Короче так=)
У меня там ещё нейтрал к Актёру все=)
Так что ставь это смело=) |
|
|
|
| 09-06-2009 11:02 GMT3 час. #932825 |
Чтобы были нейтралы, достаточно поставить ноль 0. |
|
|
|
| 09-06-2009 11:03 GMT3 час. #932827 |
да легче просто минус убрать да и всё=) |
|
|
|
| 09-06-2009 11:08 GMT3 час. #932838 |
я всё)))всем большое спасибо0) |
|
|
|
| 09-06-2009 12:40 GMT3 час. #932980 |
Здаров пацики! не скажете с помощью какой программы можно вычилить координаты прицеливания оружия(мушки) в руках. просто когда меняешь положение оружия в руках оно криво так прицеливается...:-) |
|
|
|
| 09-06-2009 12:47 GMT3 час. #932995 |
|
|
|
|
|
| 09-06-2009 12:48 GMT3 час. #933000 |
Ответ класс, ещё варианты?:-) |
|
|
|
| 09-06-2009 12:52 GMT3 час. #933012 |
|
|
|
|
|
| 09-06-2009 12:58 GMT3 час. #933022 |
|
|
|
|
|
| 09-06-2009 12:59 GMT3 час. #933024 |
|
|
|
|
|
| 09-06-2009 13:32 GMT3 час. #933077 |
Отшель[НИК] Та функция, что описана выше, была написана на скорую руку. Хотя работоспособность у неё не отсутствует. Вот, достаточно квалифицированная функция. Создана была совместно с GUN12.
function name()
-- создадим три под-таблицы в таблице tbl. соответствующие трём местам для спавна.
local tbl={
{x1, y1, z1, lv1, gv1},
{x2, y2, z2, lv2, gv2},
{x3, y3, z3, lv3, gv3}
} -- вместо переменных вписывать соответствующие координаты.
Колличество секций, не ограничено. Вставлять, через запятую.
-- создаём таблицу артов .
local items = {"af_*1", "af_*2", "af_*3"} --где, в кавычках вписывать имена артов, из списка которых делается случайный выбор арта. Список артов не ограничен. Вписывать, через запятую.
-- выбираем случайную под-таблицу координат, из таблицы tbl.
local ms = math.random(#tbl)
-- выбираем случайный арт, из таблицы артов.
local item = items[math.random(#items)]
-- делаем выборку координат из под-таблицы, и распределяем по соответствующим векторам.
local pos = vector()
pos.x = tbl[ms][1]
pos.y = tbl[ms][2]
pos.z = tbl[ms][3]
-- делаем выборку вертексов из под-таблицы.
local lv_id, gv_id = tbl[ms][4], tbl[ms][5]
-- спавним
alife():create(item, pos, lv_id, gv_id, 65535)
end
Данную функцию можно сделать универсальной. Достаточно, вынести таблицы в отдельную функцию. А лучше, и в отдельный файл. И вызывать данную функцию с передачей данных из нужных таблиц.
Информация по универсальному скрипту, у меня в журнале. |
отредактировал(а) singapur22: 09-06-2009 15:45 GMT3 час.
|
|
|
| 09-06-2009 13:44 GMT3 час. #933092 |
Сышишь браток ответь если знаешь на мой вопрос плиз...:ye) |
|
|
|
| 09-06-2009 13:51 GMT3 час. #933098 |
singapur22
пробовал первую функцию - отлично работает!
За вторую тоже спасибо! Пригодится... (или все таки вторая будет лучше и удобнее?)
А все понял! Вторая лучше тем, что можно спавнить разные арты? (по началу плохо прочитал)
Ок понял. Как доделаешь скинешь в личку? Или отпиши где-нибудь на форуме. Все равно время еще есть. |
|
|
|
| 09-06-2009 13:52 GMT3 час. #933101 |
p-martinez Координат прицеливания нету. Есть векторы направления полёта пули. Как их определить, не в курсе. Пока нигде с подобным не сталкивался. Возможно, это движковое. Но и возможно я ошибаюсь.
добавлено спустя 2 минут
Отшель[НИК] Вторую, как я уже говорил, можно использовать не только для единичного случая. Чуть чуть подделать, и можно будет вызывать её для разных случаев. Так что, лучше второй вариант. Хотя, можешь подождать оконечный результат универсала. На ближайшее время, планирую им заняться. |
отредактировал(а) singapur22: 09-06-2009 13:54 GMT3 час.
|
|
Эта тема закрыта, публикация новых сообщений недоступна.
| | |
|