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

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

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

» Добавить в избранное

» Сделать стартовой

Главная
Форум
Обзор игры
Мир Зоны
Файлы
Галерея
Разное





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

Страница 28 из 56Первая«25262728293031 »Последняя

 
Автор Сообщение
ДатчикХабара
[1] Странник
    
0
Посты: 558
Откуда: Saratov
Возраст:
10-09-2009 19:27 GMT3 часа #1032263    
erlik Это скрипт банка или тотализатор?


erlik
[10] Житель
    
0
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
10-09-2009 19:30 GMT3 часа #1032265    
то что написано в классе у нпс вообще ведь вроде в игре не используется и можно че хошь писать...
хотя я тож всегда одинаковое писал: что в классе, что в <specific_character id, что в <character id (в нпс_профайл)


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik
[10] Житель
    
0
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
10-09-2009 19:31 GMT3 часа #1032267    
ДатчикХабара
и того и другого


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
[10] Житель
    
0
Посты: 2089
Откуда: Рубцовск
Возраст: 44
10-09-2009 19:39 GMT3 часа #1032268    
erlik

function percent_deposit()
if deposit > 0 and deposit > 10000 and deposit < 50000 then --\это лишнее
deposit = deposit + deposit\100*(math.random(5,8)) --\ правельней будет так deposit\(100*math.random(5,8))
elseif deposit > 50000 and deposit < 100000 then
deposit = deposit + deposit\100*(math.random(9,12)) --\аналогично предыдущему
elseif deposit > 100000 and deposit < 500000 then
deposit = deposit + deposit\100*(math.random(13,15)) --\аналогично предыдущему
elseif deposit > 500000 then
deposit = deposit + deposit\100*(math.random(16,20)) --\аналогично предыдущему
end
end

Цитата
и как оправильно арифметические операции произоводить: что и когда надо в скобки заключать?


Так же, как и в школе на математике. В скобки заключается то, что нужно выполнить в первую очередь.

local deposit = 0 --\ не там поставил. Должна стоять перед первой функцией, где она используется впервые.

if deposit > 0 then --\ если на депозите че появилось то обнулим банк
bank = 0
--\зачем проделывать два раза одно и тоже? Пропиши bank = 0 в предыдущей проверке, а это удали.

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

erlik Ты не прав. Именно класс и индефицирует профиль и характеристику нпс. А всё остальное шняга.

Сообщение было успешно отредактировано singapur22 (10-09-2009 19:39 GMT3 часа, назад)

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
[10] Житель
    
0
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
10-09-2009 19:46 GMT3 часа #1032279    
singapur22
Понял. По математике тройка была
значит здесь так лучше:
local deposit = 0

function transfer_bank()
if bank > 0 then --\ если в банке че есть то
deposit = bank --\ сделаем трансфер в другую переменную
news_manager.send_tip(db.actor, "Меченый, на твой счет поступила сумма в "..tostring(deposit).." р.", 5, "trader", 10000)
bank = 0
end
end

а все мои локальные переменные (которые в теле файла объявлены) может вообще в самый верх файла вынести? Их положение внутри файла получается имеет значение?


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
[10] Житель
    
0
Посты: 2089
Откуда: Рубцовск
Возраст: 44
10-09-2009 20:07 GMT3 часа #1032316    
erlik Ну ты блин даёшь. Естественно имеет. Чтение любого файла производится всегда сверху вниз, по порядку символов и соответственно строк.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
[10] Житель
    
0
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
10-09-2009 21:05 GMT3 часа #1032381    
singapur22
Да я вот пока не задумывался над этим...(ну так что с меня взять - все таки первый сложный скрипт пишу). Теперь буду учитывать это. Спасибо за поправки.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Code Name - Stalker
[1] Banned
    
0
Посты: 9
Откуда:
Возраст:
10-09-2009 22:55 GMT3 часа #1032499    
А как сделать проверку наличия определённого предмета в первом слоте?
так:
Цитата
function test()
local item_in_slot_1 = db.actor:item_in_slot(1)
local item_prot_pp = db.actor:object("test_pp")
if item_in_slot_1 == item_prot_pp then
this.test2()
end
end

?


erlik
[10] Житель
    
0
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
11-09-2009 11:27 GMT3 часа #1032529    
singapur22
При такой записи на тесте выдается ошибка на символ "\" в этой строке
deposit = deposit + deposit\(100*math.random(5,8))
а луа чекер так вообще штук 20 ошибок показывает (но это он всегда так делает, хотя ошибка может быть всего одна )

Checking D:\Program files2\S.T.A.L.K.E.R\gamedata\test.script:
test.script (334): no viable alternative at "\"
test.script (336): no viable alternative at "\"
test.script (338): no viable alternative at "\"
test.script (340): no viable alternative at "\"
test.script (349): no viable alternative at "\"
test.script (351): no viable alternative at "\"
test.script (353): no viable alternative at "\"
test.script (349): mismatched input '100' expecting 'end'
test.script (350): no viable alternative at input 'dolg'
test.script (350): no viable alternative at input 'dolg'
test.script (350): no viable alternative at input 'dolg'
test.script (350): no viable alternative at input 'dolg'
test.script (351): mismatched input '100' expecting 'end'
test.script (352): no viable alternative at input 'dolg'
test.script (352): no viable alternative at input 'dolg'
test.script (352): no viable alternative at input 'dolg'
test.script (352): no viable alternative at input 'dolg'
test.script (353): mismatched input '100' expecting 'end'
test.script (354): no viable alternative at input 'deposit'
test.script (354): no viable alternative at input 'deposit'
test.script (355): no viable alternative at "\"


И еще - мне ведь надо, что бы сначала от суммы deposit находился 1% - то есть делим сумму на сто, а затем уже умножаем на рандомный процент от 5 до 8. Получаем сумму начисляемого процента, которую и прибавляем к основной сумме. А в такой записи по моему не так получается....


Что тут не так?

И еще : как в сталкере просмотреть стэк программных вызовов?
Запись в логе stack trace тебе ведь знакома (сегодня не могу от нее избавиться).
Эта строка в логе как я узнал указывает на то что надо смотреть стэк вызовов, где в порядке с последнего до первого будет список всех загруженных методов, один из которых и привел к исключению.
Но в логе после строки stack trace пишется тока указание на библиотеки игры
001B:007B105B XRLUA.DLL
001B:03381E7C xrGame.dll
И как это понимать? Это и есть тот самый стэк вызовов?

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

Code Name - Stalker

Так и делается.
создаем к примеру локальную переменую item_slot и назначаем ей значение вещи в слоте 2
создаем вторую локальную переменную и назначаем ей значение айди конкретной вещи в инвентаре эктора, а дальше производим проверку на то что слот 2 не пуст и что в слоте находится нужная нам вещь
function test()
local item_slot = db.actor:item_in_slot(2)-- вещь в слоте два
local obj = db.actor:object("wpn_beretta") - объект в инвентаре эктора - беретта
if item_slot ~= nil then --\ если слот два не пуст
if item_slot == obj then --\ то если вещь в слоте равна беретте
действие
end
end
end

или как там
if item_slot == obj then --\ если вещь в слоте 2 равна объекту в инвентаре эктора - "беретта" то
действие
end
end

или так
if item_slot and item_slot:section() == "wpn_beretta" then --\ если вещь в слоте 2 есть и эта вещь равна секции ltx "беретта" то производим нужное действие
вот здесь скобочки забыл поставить.

и так с любым слотом.

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

singapur22
Нашел ошибку - надо ведь вместо "\" использовать "/ " вот блин надо же какую мелочь забыл...

Сообщение было успешно отредактировано erlik (11-09-2009 11:27 GMT3 часа, назад)

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Code Name - Stalker
[1] Banned
    
0
Посты: 9
Откуда:
Возраст:
11-09-2009 01:52 GMT3 часа #1032587    
erlik
Только прочитал сообщение..
Впринципе всё ясно..спасибо.


крысобелка
[1] Странник
    
0
Посты: 1186
Откуда: Россия-матушка
Возраст: 131
11-09-2009 02:18 GMT3 часа #1032592    
где находятся модели NPC???и можно их исправить фотошопом???


erlik
[10] Житель
    
0
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
11-09-2009 11:45 GMT3 часа #1032647    
крысобелка
1 .модели в папке meshes - формат ogf, редактируется программами 3D моделирования (Макс - 3DStudioMax, Майя - Maya, Милка - Milkshape 3D) . предварительно ogf конвертируется конвертером от bardak"а в формат с которым эти проги могут работать - object, bones, skls или skl. Для работы программ с моделями сталкера требуются доп. плагины.
2. фотошопом можно редактировать только текстуры.
требуется плагин для dds (это формат текстур сталкера).


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Psychologist
[3] Новобранец
    
0
Посты: 1808
Откуда: Челябинск
Возраст: 27
11-09-2009 12:41 GMT3 часа #1032675    
Я хочу попробывать себя в модостроении. У меня есть некоторый опыт конечно(изменение цены в ЧН и добавление в асартемент торговца ЧН) но я хочу попробывать нечто иное.
Начнём с малого:
Как и где менять имена квестовых НПС; Группировок.
Диологи распрастраняются на всех НПС? (приветствие)
Если да то мне их нужно тоже отредактировать чтоб ГГ приветствовали нормально. Затем: Где и Как изменить текст сообщений.
Пример: Военные режут нашего брата сталкера! изменить на Привет как дела?
Да и для общей информации киньте сайт СДК чтоб Вас не мучить.
Зарание Спасибо!!!


И все мы ждем чего-то. Работа - дом - работа ©
крысобелка
[1] Странник
    
0
Посты: 1186
Откуда: Россия-матушка
Возраст: 131
11-09-2009 13:16 GMT3 часа #1032688    
а где эти программы найти???


Psychologist
[3] Новобранец
    
0
Посты: 1808
Откуда: Челябинск
Возраст: 27
11-09-2009 13:29 GMT3 часа #1032689    
крысобелка Юзай Гугл или Яндекс


И все мы ждем чего-то. Работа - дом - работа ©
erlik
[10] Житель
    
0
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
11-09-2009 15:02 GMT3 часа #1032750    
Сталкер Монолита
Цитата
Как и где менять имена квестовых НПС; Группировок.

Имена квестовых персов - в файле stable_bio_name (text\rus)
напимер вот
<string id="gar_hellcar_name">
<text>Бес</text>
Имена группировок в string_table_general (text\rus)
Цитата

Пример: Военные режут нашего брата сталкера! изменить на Привет как дела?


Это насколько я помню озвучка - а значит если хочешь заменить фразы из озвучки нужно делать свою озвучку, а потом заменять ту что в игре на свою. Нужна прога для конвертации звука в ogg формат.
Ну и почитать уроки по работе со звуком.
Конвертнуть звук можно и через SDK - зайди на эту страницу
_http://sdk.stalker-game.com/ru/index.php?title=X-Ray_SDK_0.4
там про SDK и ссылки на скачивание (не забудь скачать и патч для СДК)
(Вообще официальный SDK (полная версия - не русифицированная и не урезанная - другие не рекомендуют к использованию) находится тока на официальном сайте GSC - там же есть куча ссылок на разные проги и моды, также свой форум. )

Если же ты хочешь заменить просто текстовые фразы, то покопайся в файлах папки rus - там лежат все тексты игры, и просто подредактируй нужные тебе фразы.

Например открываем файл stable_dialogs там есть несколько стнадартных фраз типа Привет, Как ты, До встречи, меняем их на свои, и в игре будут уже твои фразы.
Более серьзный набор текстовых фраз содержится в файлах stable_dialogs_имя_уровня.
Там для каждого уровня свой набор текста из диалогов персонажей этого уровня. Тоже можно поменять. Но только если ты знаешь из какого диалога та или иная фраза. А иначе можешь так все наизменять, что потом получится путаница в квестовых диалогах.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
S.н.а.й.п.е.р.
[3] Новобранец
    
0
Посты: 316
Откуда: Рязань
Возраст: 29
11-09-2009 15:35 GMT3 часа #1032765    
erlik
тут чето не то.
я решил просто заспаунить 10 наемников на кордоне. получилось!

попробывал в темной долине. неполучается! выдает дебильную ошибку:

Expression : fatal error
Function : CScriptEngine::lua_error
File : D:\xray-svn\xr_3da\xrGame\script_engine.cpp
Line : 70
Description : <no expression>
Arguments : LUA error: d:\games\s.t.a.l.k.e.r\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (string expected, got no value)


Хорошо смеется тот , кто стреляет первым.

S.T.A.L.K.E.R. 1st mini-mod вышел=) скачать в журнале.

Моя первая моделька ПМ в журнале=)
ДатчикХабара
[1] Странник
    
0
Посты: 558
Откуда: Saratov
Возраст:
11-09-2009 15:42 GMT3 часа #1032776    
S.н.а.й.п.е.р выложи сюда скрипт спауна.


S.н.а.й.п.е.р.
[3] Новобранец
    
0
Посты: 316
Откуда: Рязань
Возраст: 29
11-09-2009 15:48 GMT3 часа #1032782    
вот val_killer_npc:

function spawn_npc ()
alife():create("val_killer_npc",vector():set(3.76,1.23,-24.17),178237,1023)
alife():create("val_killer_npc",vector():set(3.76,1.23,-24.17),178237,1023)
alife():create("val_killer_npc",vector():set(3.76,1.23,-24.17),178237,1023)
alife():create("val_killer_npc",vector():set(3.76,1.23,-24.17),178237,1023)
alife():create("val_killer_npc",vector():set(3.76,1.23,-24.17),178237,1023)
alife():create("val_killer_npc",vector():set(3.76,1.23,-24.17),178237,1023)
alife():create("val_killer_npc",vector():set(3.76,1.23,-24.17),178237,1023)
alife():create("val_killer_npc",vector():set(3.76,1.23,-24.17),178237,1023)
alife():create("val_killer_npc",vector():set(3.76,1.23,-24.17),178237,1023)
alife():create("val_killer_npc",vector():set(3.76,1.23,-24.17),178237,1023)
end


Хорошо смеется тот , кто стреляет первым.

S.T.A.L.K.E.R. 1st mini-mod вышел=) скачать в журнале.

Моя первая моделька ПМ в журнале=)
ДатчикХабара
[1] Странник
    
0
Посты: 558
Откуда: Saratov
Возраст:
11-09-2009 15:57 GMT3 часа #1032789    
S.н.а.й.п.е.р.
А откуда ты вызываешь данную функцию?


S.н.а.й.п.е.р.
[3] Новобранец
    
0
Посты: 316
Откуда: Рязань
Возраст: 29
11-09-2009 15:58 GMT3 часа #1032790    
из info_portions


Хорошо смеется тот , кто стреляет первым.

S.T.A.L.K.E.R. 1st mini-mod вышел=) скачать в журнале.

Моя первая моделька ПМ в журнале=)
Psychologist
[3] Новобранец
    
0
Посты: 1808
Откуда: Челябинск
Возраст: 27
11-09-2009 15:59 GMT3 часа #1032791    
erlik Спасибо. Попробую. Кстате а можно например изменить модель Волка на волка.?
Да мне нужны были толко стандартные диологи.


И все мы ждем чего-то. Работа - дом - работа ©
ДатчикХабара
[1] Странник
    
0
Посты: 558
Откуда: Saratov
Возраст:
11-09-2009 16:02 GMT3 часа #1032794    
S.н.а.й.п.е.р.
напиши как ты вызываешь функцию из info_portions.

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

Сталкер Монолита
В смысле на волка,на собаку чтоли?

Сообщение было успешно отредактировано ДатчикХабара (11-09-2009 16:02 GMT3 часа, назад)

Psychologist
[3] Новобранец
    
0
Посты: 1808
Откуда: Челябинск
Возраст: 27
11-09-2009 16:03 GMT3 часа #1032796    
ДатчикХабара да на волка.(животное)


И все мы ждем чего-то. Работа - дом - работа ©
ДатчикХабара
[1] Странник
    
0
Посты: 558
Откуда: Saratov
Возраст:
11-09-2009 16:06 GMT3 часа #1032797    
в файле character_desc_escape
поменяй это
<visual>actors\neytral\stalker_neytral_balon_1</visual>
на это
<visual>monsters\dog\dog_bulterier</visual>


Psychologist
[3] Новобранец
    
0
Посты: 1808
Откуда: Челябинск
Возраст: 27
11-09-2009 16:07 GMT3 часа #1032798    
ДатчикХабара тэто что в игре есть модель волка?!(хотя там много чего есть) Спасибо!!!


И все мы ждем чего-то. Работа - дом - работа ©
ДатчикХабара
[1] Странник
    
0
Посты: 558
Откуда: Saratov
Возраст:
11-09-2009 16:12 GMT3 часа #1032800    
Сталкер Монолита

Нет это собака бультерьер...
;Вот список моделей собак

dog --пёс обычный
dog_bulterier --собака бультерьер
dog_bulterier_dead -мертвый бультерьер
dog_dead --мертвый пёс
dog_red --красный шарик
dog_red_dead --мертвый шарик
dog_white --белая собака
dog_white_dead --собака белая мёртвая


erlik
[10] Житель
    
0
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
11-09-2009 16:39 GMT3 часа #1032804    
S.н.а.й.п.е.р.
Да, я и забыл что при переходе на другие локи этот вариант не совсем годится.
Надо сделать так.


Это из скрипта singapur22 - я в него внес активацию функции спавна на локе бар, у него было активация слота 2 при заходе на локу бар. А так будет активация спавна чуваков. Точно так же делаешь функции и для прочих лок.

То есть сначала функцию спавна с координатми и вертексами. а потом висываешь активацию своей функции в тело функции level_active().
А в самой level_active() уже пишешь имя уровня на котором должны появится твои чуваки.
Если в эту впишешь имя уровня темная долина - "l04_darkvalley", то тогда твои чуваки и заспавнятся по прописанным им координатам и вертексам, когда ты зайдешь на локу.
Для спавна на другой локе делаешь функцию level_active_2() - а в ней пишешь нужный уровень и новый поршень и пишешь активацию другой функции спавна (например - spawn_npc_2 () - с другим вертексами и координатами снятыми с нужного уровня и другим именем).

Имя новой функции level_active_2() - добавляешь в список function list_new_funcs()

Текст из его журнала.
Многие задаются вопросом, как запустить ту или иную функцию, при переходе на локацию. В принципе, тут ничего сложного нет. Достаточно прописать проверку, какая локация активна в данный момент, с установкой ключа на разовый вызов, чтобы функция не вызывалась постоянно, пока актор находится на прописанной локации.

Итак, создадим постоянную проверку активной локи. В файле bind_stalker.script находим функцию actor_binder:update(delta). В конце функции (перед последним end) прописываем путь к проверочной функции. Например:

new_funcs.list_new_funcs()

Теперь создаём новый скрипт-файл new_funcs.script.
В новом файле создаём функцию списка новых функций:

function list_new_funcs()
this.level_active()
end

Для тех кто не понял, зачем она нужна, поясняю. Так как одной функцией, любые разработки не ограничиваются, мы создали специальную функцию, из которой будет производиться, вызов вновь созданых функций, которые требуют постоянную работу. В данном случае, прописан постоянный вызов функции level_active() из этого же файла. Чтобы добавить в список новую функцию, достаточно вписать в теле функции list_new_funcs() строку this.имя функции()

Теперь создаём нашу проверочную функцию, активной локи:

function level_active()
if not has_alife_info('level_active') and level.name() == "l05_bar" then
имя_файла.spawn_npc ()
db.actor:give_info_portion('level_active')
elseif has_alife_info('level_active') and level.name() ~= "l05_bar" then
db.actor:disable_info_portion ('level_active')
end
end

В данном случае, запускаемым эффектом прописана активация слота номер 2 (автомат). Тоесть, при переходе на локацию Бар, актор будет появляться с автоматом в руках, не зависимо от того, с каким слотом он был до перехода.

В качестве ключа, в нашем случае использован инфопоршен 'level_active'. Поэтому нужно зарегистрировать его в файле info_portions.xml

Сообщение было успешно отредактировано erlik (11-09-2009 16:39 GMT3 часа, назад)

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
S.н.а.й.п.е.р.
[3] Новобранец
    
0
Посты: 316
Откуда: Рязань
Возраст: 29
11-09-2009 16:45 GMT3 часа #1032821    
так что ли level_active(l04_darkvalley)?


Хорошо смеется тот , кто стреляет первым.

S.T.A.L.K.E.R. 1st mini-mod вышел=) скачать в журнале.

Моя первая моделька ПМ в журнале=)
Psychologist
[3] Новобранец
    
0
Посты: 1808
Откуда: Челябинск
Возраст: 27
11-09-2009 16:48 GMT3 часа #1032824    
Да а где имена торговцев можно редактировать?


И все мы ждем чего-то. Работа - дом - работа ©


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

Страница 28 из 56Первая«25262728293031 »Последняя

Эта тема закрыта, публикация новых сообщений недоступна.

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

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