Пользователей: 2
Гостей: 937
Всего: 939

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

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









Автор Сообщение
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
30-08-2009 09:33 GMT3 час. #1023332   
Коммунист Можно. Смотри секции физических объектов.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Коммунист
    
Посты: 106
Откуда: Из Светлого Будущего
Возраст:
30-08-2009 09:42 GMT3 час. #1023344   
singapur22 , XrSpawner_0.13. не видит новых локаций. \Может подскажешь где узнать их ID и как их заодно переименовать. (А то на английском)


Хоршие песни. В журнал
ПЕРЕВОД песен Рамштайн. В журнал

COMMUNISM FOR OUR FUTURE!
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
30-08-2009 09:57 GMT3 час. #1023360   
Коммунист Он их и не будет видеть. XrSpawner только для оригинальной игры. Всё остальное нужно редактить с помощью ACDC с соответствующими правками в файле acdc.pl
Но это уже не ко мне. Я в Паскале полный 0.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Коммунист
    
Посты: 106
Откуда: Из Светлого Будущего
Возраст:
30-08-2009 09:59 GMT3 час. #1023364   
Я тоже. Есть тутор как спавнить через скрипты? Я предвкушаю будущий геморрррррр...:-(


Хоршие песни. В журнал
ПЕРЕВОД песен Рамштайн. В журнал

COMMUNISM FOR OUR FUTURE!
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
30-08-2009 10:01 GMT3 час. #1023366   
Коммунист Газуй на Вики. Там всё найдёшь. Это общесталкеровский справочник. Созданый самими модмейкерами. _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" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
30-08-2009 10:34 GMT3 час. #1023419   
singapur22
Спасибо за подсказку -получается я в диалоге не так все распределил - сделаю как ты написал.

Коммунист
С помощью скрипта можно заспавнить любой физический объект, если у него есть ogf модель.
То есть можно заспавнить и скелет (лежащий на земле), и бочку, и ящик, и стол, и стул...и т.д.
Пишешь им конфиг в файле items - типа так


[table]:identity_immunities
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "devices\quest_items\table"
;$prefetch = 32
class = II_ATTCH
cform = skeleton
visual = physics\stol\stol_obedenniy.ogf
radius = 1
;script_binding = bind_physic_object.init
description = enc_equipment_table
inv_name = "стол обеденный"
inv_name_short = "стол обеденный"
inv_weight = 10
inv_grid_width = 3 --\ кооординаты иконки - указываешь своиесли есть
inv_grid_height = 3
inv_grid_x = 22
inv_grid_y = 29
cost = 10000
can_take = true --\ возможность вещь брать в инвентарь (то есть поднимать с земли)

-- стол с другой ogf моделью
[table_2]:table
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "devices\quest_items\table_2"
visual = physics\stol\stol_4.ogf

-- скелет
[skelet]:table
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "devices\quest_items\skelet"
visual = physics\dead_body\skelet_combine_pose_01.ogf


А потом спавнишь скриптом.
Вот пример функции спавна разных вещей: (все имена вещей собственные и в игре их нет)


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",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Коммунист
    
Посты: 106
Откуда: Из Светлого Будущего
Возраст:
30-08-2009 10:53 GMT3 час. #1023435   
ACDC , запускаю батник, в блокноте запускается текст acdc какой-то там формат. Закрываю этот блокнот и появляется как при конце. Нажмите любую клавишу. Но ниче не распоковывается. как быть?

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

erlik а где брать названия вещей типа (стол обеденный)? Как сделать скилет висящим. И что нужно прописать что б нельзя было поднять придмет? Ну и иконка столу не нужна. Можно выкинуть эту строку?

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

Ну почему во всех туторах по созданию групировок пишут character_desk_x.xml.
Нет такого фала. Есть семейство файлов character_desс .

отредактировал(а) Коммунист: 30-08-2009 11:13 GMT3 час.

Хоршие песни. В журнал
ПЕРЕВОД песен Рамштайн. В журнал

COMMUNISM FOR OUR FUTURE!
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
30-08-2009 11:25 GMT3 час. #1023475   
Коммунист
имена вещей (и их описание) придумываешь сам - это для игры без разницы. Имя огф моделей - визуалов вещей - берешь из папки моделей (meshes и дальше сам ищешь) - смотришь модель OGF виевером и выбираешь нужную.
Координаты иконки по моему выкидывать нельзя - если ее нет для данной вещи, то можно указать координтаты иконки от другой вещи и все.
Координаты вычисляются прогой SIE - Stalker icon editor.

character_desс_имя уровня это
например character_desc_escape (профили неписей на кордоне)
и т.д. смотри папку gameplay внимателенее - там все файлы такого типа лежат для всех уровней - даже для тех, которых в игре нет.
чтобы предмет нельзя было поднять пишешь в конфиге
can_take = false
висящий скелет - это вроде как только через SDK - и в нем редактор уровней - Level editor. Как именно не знаю - не делал.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
30-08-2009 11:36 GMT3 час. #1023481   
висящий скелет это обычный физический объект. Заспавнен он в all.spawn. Я не знаю можно ли фиксировать объекты через конфиги, но в all.spawn точно могу сказать, что можно. Код: fixed_bones = список костей

Можно фиксировать только некоторые кости. Например, если у висящего скелета зафиксировать только конец верёвки (как и сделано), то скелет будет болтаться при малейшем раздражителе. Или например, если зафиксировать у БТР корпус, то БТР будет не подвижным, но при этом колёса будут крутиться в любом направлении.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Коммунист
    
Посты: 106
Откуда: Из Светлого Будущего
Возраст:
30-08-2009 11:39 GMT3 час. #1023484   
а что с ACDC делать, мне кто-нибудь подскажет?


Хоршие песни. В журнал
ПЕРЕВОД песен Рамштайн. В журнал

COMMUNISM FOR OUR FUTURE!
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
30-08-2009 11:43 GMT3 час. #1023489   
Коммунист Если честно, я не понял, что ты там имел ввиду с блокнотом.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Коммунист
    
Посты: 106
Откуда: Из Светлого Будущего
Возраст:
30-08-2009 11:56 GMT3 час. #1023500   
Запускаю батник декомпиляции выскакивает открытый блокнотом acdc (забыл формат, щас не могу посмотреть, explorer exe ошибку пишет.) Я закрываю блокнот и он выдает в окне адрес батника и слово paus, а ниже предлагает нажать любую клавишу для завершения. Естественно ничего не распоковывается. Я думаю что allspawn не туда засунул. Но куда я его только не сувал.


Хоршие песни. В журнал
ПЕРЕВОД песен Рамштайн. В журнал

COMMUNISM FOR OUR FUTURE!
Ревизор
    
Посты: 207
Откуда:
Возраст: 36
30-08-2009 11:57 GMT3 час. #1023502   
Коммунист у тебя просто нету Active Perl'a :-)


Максим Р.
    
Посты: 1025
Откуда:
Возраст:
30-08-2009 12:00 GMT3 час. #1023508   
Коммунист, я же несколько страниц назад писал, как настроить acdc: Сообщение #1020421.


Маразм
    
Посты: 144
Откуда: Новосибирск
Возраст: 28
30-08-2009 12:27 GMT3 час. #1023535   
У меня вылетает игра когда я Волка в костюм долга пытаюсь запихнуть.
подскожите как сделать Волка долговцом
Либо костюм долга сделать нейтральным
если чё stalker_do_antigas я пробовал.

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

лучше второе

отредактировал(а) Маразм: 30-08-2009 12:30 GMT3 час.

А ты записался водителем троллейбуса ?
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
30-08-2009 13:43 GMT3 час. #1023596   
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",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
30-08-2009 14:18 GMT3 час. #1023622   
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 сумм. Какие ты хочешь использовать (в каких дискретных промежутках), я не знаю. Поэтому пойдём таким путём. Создаём таблицу, с нужными суммами:

local sums = {50, 100, 500, 1000, 5000, 10000, 50000, 100000, 500000, 1000000}

Затем производим рандомный выбор числа, от 1 до 10. Точнее, до количества сумм в таблице.

local summa = math.random(10)

И там где тебе нужно указать сумму, пишешь:

sums[summa]

И всё.

Хотя нет. Лучше сделать так:

local sums = {50, 100, 500, 1000, 5000, 10000, 50000, 100000, 500000, 1000000}

local summa = sums[math.random(#sums)]


И писать в месте суммы переменную summa
Так будет наиболее профессиональней. И количество сумм можно будет писать любое, без каких либо правок в других местах. Весь смысл в том, что действие #sums возвращает количество индексов в указанной таблице.

отредактировал(а) singapur22: 30-08-2009 14:38 GMT3 час.

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
30-08-2009 14:38 GMT3 час. #1023643   
singapur22

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
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
30-08-2009 14:40 GMT3 час. #1023644   
erlik Выброси это из головы, и делай как я написал.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
30-08-2009 15:00 GMT3 час. #1023660   
singapur22
Так я думал, что есть возможность назначать десяти выигрышным суммам любые значения в указанных пределах до миллиона (хоть 13456, хоть 566778, хоть, 236788 и т.д.)- ну чтобы итоговые суммы выигрыша\проигрыша вариьировалсь практически бесконечно.

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


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
30-08-2009 15:05 GMT3 час. #1023663   
erlik А теперь я не въехал. Зачем тогда тебе 10 выигрышей? Если ты используешь случайную сумму.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
30-08-2009 15:20 GMT3 час. #1023677   
singapur22
ну...в общем идея изначально такой была. Есть функция рандомного выбора фраз ГГ (всего фраз скажем 10) - к каждой фразе привязывается экшен по вызову функции рандомных сумм и при активации фразы функция рандомных сумм назначает выигрыш или проигрыш ГГ и выбирает соответстенно конкретную сумму (как я думал абсолютно случайную в пределах миллиона)... в общем то наверно это лишнее усложнение (достаточно активации одной фразы), так как сначала я с одного варианта начинал, в итоге мы к другому пришли... :-) (...сам чето уже запутался в этом рандоме)


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
30-08-2009 15:25 GMT3 час. #1023683   
erlik Не, ну ты сам подумай. Если у тебя всё равно они ничем отличаться не будут, то зачем делать несколько одинаковых действий? Сделай одно действие рандома и вызывай его откуда хочешь.

И вообще, такие схемы делаются по принципиалу. Тоесть сначала пишется принципиальная схема, типа (где, что и когда). А уже по ней делается скрипт.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
30-08-2009 15:43 GMT3 час. #1023692   
singapur22
Абсолютно согласен. Схемы изначальной не было :-) была просто мысль...(ну я все ж не скриптер, и принципиальных схем пока не разрабатывал).
Вот к примеру такой вариант тотализатора.
Эктору на выбор (или в рандомном порядке) дается 10 ставок - (скажем сумма 10 тыс, сумма 20 тыс. и т.д)
Ставка забирается в любом случае.
Условие ставки - наличие нужного кол-ва бабла у ГГ.
После выбора ставки (активация фразы) функция рандомных сумм назначает выигрыш\проигрыш и конкретную сумму.
Сумма передается ГГ, либо отнимается у ГГ в зависимости от результата.
Результат тотализатора приходит к ГГ в виде станадартного сообщения в левом углу экрана.

"Типа Меченый, поздравляю, ваш выигрыш составил стока то...купи себе немного америки...."
Или "Меченый, ты в полной ж... с сегодняшнего дня ты поставлен на счетчик. Сумма проигрыша - 100 лямов. Проценты тоже капают...(и весела музычка: Хоть прячься хоть не прячься все тебя найду...ду-ду-ду..."

ладно, пойду попробую накидать общий вид функции...

отредактировал(а) erlik: 30-08-2009 15:56 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
30-08-2009 16:02 GMT3 час. #1023709   
erlik Теперь понятно. Придётся создавать 10 функций. Если бы была возможность передачи данных из диалога в функцию, было бы значительно проще. Один хрен нужо усложнять схему до реала. Тоесть, в зависимости от величины ставки процентная вероятность выигрыша должна увеличиваться. И процентная вероятность должна уменьшаться с увеличением суммы выигрыша. Это будет не много сложноватый скрипт. Поэтому советую его писать в отдельном файле.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
lickon
    
Посты: 505
Откуда: москва
Возраст: 27
30-08-2009 19:48 GMT3 час. #1023904   
в текстурах...знаете такая картинка когда проверка диска кончается появляется картинка...где её текстура?


слушаю рассказы, как игроки рассказывают про свои прохождения и очень восхищаются и думают, что типа они теперь супер боги!)
моё мнение:
не забывай, что в игре ты профи, но игра это не жизнь, а в жизни ты себя не проявил никак...эти люди задроты
ne-yo
    
Посты: 21
Откуда:
Возраст: 28
30-08-2009 20:01 GMT3 час. #1023914   
Кто подскажет как сделать так чтобы NPC появлялись в очень большом количестве и очень часто? А то я совсем не понимаю . Зарание спасибо!!!


свобода !!!!!!!:-)
Карабас Барабас
    
Посты: 4
Откуда: Харьков
Возраст: 40
30-08-2009 20:08 GMT3 час. #1023920   
Народ извените если вопрос уже задавался, просто нет времени читать всю тему. Я создал папку [gamedata] в папке с установленой игрой, распаковал в нее файл [gamedata db0]. Изменил размер магазина Винтореза с десяти на двадцать патронов. Запускаю игру, вываливается баг. Пробовал заново распаковать, и изменить другие конфигурации, результат тот-же. Удаляю папку [gamedata] игра идет нормально. Потом пробовал переустановить игру безрезультатно. К стати диск лицензионный, купленный за свои кровные! Помогите!!!


ne-yo
    
Посты: 21
Откуда:
Возраст: 28
30-08-2009 20:14 GMT3 час. #1023922   
Карабас Барабас может потому что лецензионный и вылетает?


свобода !!!!!!!:-)
Максим Р.
    
Посты: 1025
Откуда:
Возраст:
30-08-2009 20:18 GMT3 час. #1023924   
lickon, она не в текстурах. Эта картинка вшита в само приложение bin\XR_3DA.exe.




Форумы Архив » Свалка Как сделать свой мод? (по 08.10.09)


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

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