Коммунист Он их и не будет видеть. XrSpawner только для оригинальной игры. Всё остальное нужно редактить с помощью ACDC с соответствующими правками в файле acdc.pl
Но это уже не ко мне. Я в Паскале полный 0.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Коммунист Газуй на Вики. Там всё найдёшь. Это общесталкеровский справочник. Созданый самими модмейкерами. _http://www.stalkerin.gameru.net/wiki/index.php/%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
singapur22
Спасибо за подсказку -получается я в диалоге не так все распределил - сделаю как ты написал.
Коммунист
С помощью скрипта можно заспавнить любой физический объект, если у него есть ogf модель.
То есть можно заспавнить и скелет (лежащий на земле), и бочку, и ящик, и стол, и стул...и т.д.
Пишешь им конфиг в файле items - типа так
А потом спавнишь скриптом.
Вот пример функции спавна разных вещей: (все имена вещей собственные и в игре их нет)
function spawn_items()
alife():create("seif_quest",vector():set(-211.7770690918,-23.248350143433,-121.67935943604),42634,59)
alife():create("inventory_box_blue",vector():set(-221.04621887207,-19.627908706665,-134.37326049805),32834,62)
alife():create("table",vector():set(-204.93476867676,-19.886974334717,-133.80311584473),47852,58)
alife():create("inventory_box_lab_2",vector():set(-215.56228637695,-20.02036857605,-143.30860900879),37914,61)
alife():create("package",vector():set(-195.533203125,-19.491415023804,-130.26466369629),63641,56)
alife():create("plan",vector():set(-216.72802734375,-21.852813720703,-159.18637084961),34720,47,65535)
alife():create("rukzak",vector():set(-185.03401184082,-21.531957626343,-130.89752197266),65609,56)
alife():create("skelet",vector():set(-238.71348571777,-20.004610061646,-157.7815246582),18736,47)
alife():create("document_book",vector():set(-208.07676696777,-22.534955978394,-128.46856689453),45303,58)
alife():create("document_papka",vector():set(-208.07676696777,-22.534955978394,-128.46856689453),45303,58)
alife():create("dinamit_package",vector():set(-208.07676696777,-22.534955978394,-128.46856689453),45303,58)
end
Новые локации нужны еще вписывать в конфигурационнык файлы:
game_maps_single
game_graphs
game_levels
все они в папке config. Просто заменить папку левелс не выйдет. Новый янтарь придется все равно
либо перекомпилировать либо как минимум пересобрать геймграф аивраппером с учетом этого уровня (АИ переходы для неписей то как ты сделаешь без этой процедуры?) . А затем сделать левел ченджеры между этим уровнем и дефолтным - или в оллспавне их прописать или скриптом можно сделать.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
ACDC , запускаю батник, в блокноте запускается текст acdc какой-то там формат. Закрываю этот блокнот и появляется как при конце. Нажмите любую клавишу. Но ниче не распоковывается. как быть?
добавлено спустя 12 минут
erlik а где брать названия вещей типа (стол обеденный)? Как сделать скилет висящим. И что нужно прописать что б нельзя было поднять придмет? Ну и иконка столу не нужна. Можно выкинуть эту строку?
добавлено спустя 7 минут
Ну почему во всех туторах по созданию групировок пишут character_desk_x.xml.
Нет такого фала. Есть семейство файлов character_desс .
отредактировал(а) Коммунист: 30-08-2009 11:13 GMT3 час. Хоршие песни. В журнал ПЕРЕВОД песен Рамштайн. В журнал
Коммунист
имена вещей (и их описание) придумываешь сам - это для игры без разницы. Имя огф моделей - визуалов вещей - берешь из папки моделей (meshes и дальше сам ищешь) - смотришь модель OGF виевером и выбираешь нужную.
Координаты иконки по моему выкидывать нельзя - если ее нет для данной вещи, то можно указать координтаты иконки от другой вещи и все.
Координаты вычисляются прогой SIE - Stalker icon editor.
character_desс_имя уровня это
например character_desc_escape (профили неписей на кордоне)
и т.д. смотри папку gameplay внимателенее - там все файлы такого типа лежат для всех уровней - даже для тех, которых в игре нет.
чтобы предмет нельзя было поднять пишешь в конфиге
can_take = false
висящий скелет - это вроде как только через SDK - и в нем редактор уровней - Level editor. Как именно не знаю - не делал.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
висящий скелет это обычный физический объект. Заспавнен он в all.spawn. Я не знаю можно ли фиксировать объекты через конфиги, но в all.spawn точно могу сказать, что можно. Код: fixed_bones = список костей
Можно фиксировать только некоторые кости. Например, если у висящего скелета зафиксировать только конец верёвки (как и сделано), то скелет будет болтаться при малейшем раздражителе. Или например, если зафиксировать у БТР корпус, то БТР будет не подвижным, но при этом колёса будут крутиться в любом направлении.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Запускаю батник декомпиляции выскакивает открытый блокнотом acdc (забыл формат, щас не могу посмотреть, explorer exe ошибку пишет.) Я закрываю блокнот и он выдает в окне адрес батника и слово paus, а ниже предлагает нажать любую клавишу для завершения. Естественно ничего не распоковывается. Я думаю что allspawn не туда засунул. Но куда я его только не сувал.
Хоршие песни. В журнал ПЕРЕВОД песен Рамштайн. В журнал
У меня вылетает игра когда я Волка в костюм долга пытаюсь запихнуть.
подскожите как сделать Волка долговцом
Либо костюм долга сделать нейтральным
если чё stalker_do_antigas я пробовал.
добавлено спустя 2 минут
лучше второе
отредактировал(а) Маразм: 30-08-2009 12:30 GMT3 час. А ты записался водителем троллейбуса ?
singapur22
К той функции рандомного выбора фраз ГГ хочу добавить функцию "тотализатор"
Но в обычном варианте
function random_prize()
local i=math.random(1,10)
if i==1 then
db.actor:give_money(1000)
game_stats.money_quest_update (1000) --\ кстати а так вообще верно?
elseif i==2 then
db.actor:transfer_money(10000, victim)
game_stats.money_quest_update (-10000)
(вместо victim что надо указывать? имя непися или...что имя схемы логики ..или что?
помню что ты про юзердату говорил - но не пояснил что это...
и т.д.
не то...
Как сделать чтобы функция матч.рандом перебирала скажем не числа между 1 и 10,
а денежные суммы от 1 у.е до 1000000 у.е - но число возможных выигрышей было 10, и каждому выигрышу рандомно назначалась бы сумма в указанном промежутке (от 1 до миллиона). И то ж самое с проигрышами...
Хочу тотализатор сделать нормальный...а то в обычном варианте получается слабенький рандом - 5-10 вариантов - не гуд, а если больше писать, то функция приобретет неимоверные размеры.
отредактировал(а) erlik: 30-08-2009 14:05 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik Не совсем пойму, что ты хочешь от сумм. Если тебе нужна рандомная сумма в пределах милиона, то достаточно написать такое действие:
local summa = math.random(1000000)
Где, переменной summa каждый раз будет назначаться случайное число, от 1 до 1000000.
---------------------
victim -это переменная, содержащая userdata нпс, которому передаются деньги. Проще говоря, это клиентский объект(нпс).
userdata -это тип данных, который содержит в себе данные по объекту, к которому он относится. В скриптах он подразумевает под собой сам объект. Тоесть, чтобы провести над объектом какието действия, нужно выбрать сам объект. Именно этим типом данных и пользуются для выбора объекта.
Например такой параметр: db.actor, который вы всё время пишите, когда хотите указать актора. Он и является userdata актора. Говоря другим языком, это клиентский объект(актор).
В диалогах, не нужно искать нужные параметры объектов. Они передаются автоматически в вызываемую функцию. Типа так:
function name(actor, npc)
Где, actor -userdata актора, а npc -userdata нпса.
Имена переменных могут быть произвольными. Главное здесь соблюсти порядок. Если функция вызывается из фразы нпс, то первая переменная будет передавать userdata нпса, а вторая userdata актора. Если же функция будет вызываться из фразы актора, то наоборот, переменная будет передавать userdata актора, а вторая userdata нпса. Поэтому в многих случаях не пишут (actor, npc), а пишется (first_speaker, second_speaker). Так как они в разных случаях, могут передавать разные объекты.
добавлено спустя 11 минут
erlik Ага. Кажется понял, что ты хочешь от сумм. Тебе нужно, чтоб было всего 10 сумм. И были они в пределах миллиона. Во первых, тебе нужно разделить миллион на нужные тебе 10 сумм. Какие ты хочешь использовать (в каких дискретных промежутках), я не знаю. Поэтому пойдём таким путём. Создаём таблицу, с нужными суммами:
И писать в месте суммы переменную summa
Так будет наиболее профессиональней. И количество сумм можно будет писать любое, без каких либо правок в других местах. Весь смысл в том, что действие #sums возвращает количество индексов в указанной таблице.
отредактировал(а) singapur22: 30-08-2009 14:38 GMT3 час. Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
local summa = math.random(1000000)
local prize = 0
function random_prize()
local i=math.random(1,10)
if i==1 then
prize= summa
db.actor:give_money(num)
game_stats.money_quest_update (num) --\ как сюда передать ту сумму, которая была назначена переменной prize ?
elseif i==2 then
prize= summa
db.actor:transfer_money(num, victim)
game_stats.money_quest_update (-num)
и т.д.
То есть скажем функция будет перебирать десять вариантов выигрышей и проигрышей, но каждый раз каждому варианту назначать случайную цифру от 1 до миллиона.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
Так я думал, что есть возможность назначать десяти выигрышным суммам любые значения в указанных пределах до миллиона (хоть 13456, хоть 566778, хоть, 236788 и т.д.)- ну чтобы итоговые суммы выигрыша\проигрыша вариьировалсь практически бесконечно.
Но спасибо за твой вариант (тока надо додумать полный вид самой функции ...я еще не въехал :-)
Получается будет рандом такого вида: десять выигрышей и десять вариантов сумм для каждого из них?
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
ну...в общем идея изначально такой была. Есть функция рандомного выбора фраз ГГ (всего фраз скажем 10) - к каждой фразе привязывается экшен по вызову функции рандомных сумм и при активации фразы функция рандомных сумм назначает выигрыш или проигрыш ГГ и выбирает соответстенно конкретную сумму (как я думал абсолютно случайную в пределах миллиона)... в общем то наверно это лишнее усложнение (достаточно активации одной фразы), так как сначала я с одного варианта начинал, в итоге мы к другому пришли... :-) (...сам чето уже запутался в этом рандоме)
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik Не, ну ты сам подумай. Если у тебя всё равно они ничем отличаться не будут, то зачем делать несколько одинаковых действий? Сделай одно действие рандома и вызывай его откуда хочешь.
И вообще, такие схемы делаются по принципиалу. Тоесть сначала пишется принципиальная схема, типа (где, что и когда). А уже по ней делается скрипт.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
singapur22
Абсолютно согласен. Схемы изначальной не было :-) была просто мысль...(ну я все ж не скриптер, и принципиальных схем пока не разрабатывал).
Вот к примеру такой вариант тотализатора.
Эктору на выбор (или в рандомном порядке) дается 10 ставок - (скажем сумма 10 тыс, сумма 20 тыс. и т.д)
Ставка забирается в любом случае.
Условие ставки - наличие нужного кол-ва бабла у ГГ.
После выбора ставки (активация фразы) функция рандомных сумм назначает выигрыш\проигрыш и конкретную сумму.
Сумма передается ГГ, либо отнимается у ГГ в зависимости от результата.
Результат тотализатора приходит к ГГ в виде станадартного сообщения в левом углу экрана.
"Типа Меченый, поздравляю, ваш выигрыш составил стока то...купи себе немного америки...."
Или "Меченый, ты в полной ж... с сегодняшнего дня ты поставлен на счетчик. Сумма проигрыша - 100 лямов. Проценты тоже капают...(и весела музычка: Хоть прячься хоть не прячься все тебя найду...ду-ду-ду..."
ладно, пойду попробую накидать общий вид функции...
отредактировал(а) erlik: 30-08-2009 15:56 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik Теперь понятно. Придётся создавать 10 функций. Если бы была возможность передачи данных из диалога в функцию, было бы значительно проще. Один хрен нужо усложнять схему до реала. Тоесть, в зависимости от величины ставки процентная вероятность выигрыша должна увеличиваться. И процентная вероятность должна уменьшаться с увеличением суммы выигрыша. Это будет не много сложноватый скрипт. Поэтому советую его писать в отдельном файле.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
в текстурах...знаете такая картинка когда проверка диска кончается появляется картинка...где её текстура?
слушаю рассказы, как игроки рассказывают про свои прохождения и очень восхищаются и думают, что типа они теперь супер боги!)
моё мнение:
не забывай, что в игре ты профи, но игра это не жизнь, а в жизни ты себя не проявил никак...эти люди задроты
Народ извените если вопрос уже задавался, просто нет времени читать всю тему. Я создал папку [gamedata] в папке с установленой игрой, распаковал в нее файл [gamedata db0]. Изменил размер магазина Винтореза с десяти на двадцать патронов. Запускаю игру, вываливается баг. Пробовал заново распаковать, и изменить другие конфигурации, результат тот-же. Удаляю папку [gamedata] игра идет нормально. Потом пробовал переустановить игру безрезультатно. К стати диск лицензионный, купленный за свои кровные! Помогите!!!
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.