Случайная подборка модов
Новое Время. Судьба наемника
2.3
ReBorn 2.50 «Артефакты смерти»
3.5
Hibernation Evil - Эпизод I
2.8
SZA: The Second Project
3.9
We Are Not Alone
4.0
В западне
3.9
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
  • Страница 1 из 1
  • 1
Архив - только для чтения
Делаем моды вместе
Российская Федерация  Profans_mod
Среда, 03.08.2011, 13:47 | Сообщение # 1
Статус:
Гость:
Сообщений: 33
Награды: 2
Регистрация: 03.08.2011

помогаем задаем вопросы и общаемя

Добавлено (03.08.2011, 13:46)
---------------------------------------------
вот статьи

-----------------------------------------------------------------------------------------------------------------------------------
Тутореал по снятию денег с трупов.
-----------------------------------------------------------------------------------------------------------------------------------
АВТОР: TRIS

Для Зов припяти

Итак к делу:

Для начала идем в папку:gamedata\scripts\
и создаём там файл: lootmoney.script

После этого открываем его и пишим туда вот што:

-----------------------------------------------------------------------------------

function lootmoney(npc)
if npc:character_community() ~= "monolith" then
local actor = db.actor
local money = npc:money()
if money ~= nil and money > 0 then
local deadmoney = money
local npc_rank
npc_rank = ranks.get_obj_rank_name(npc)
if npc_rank ~= nil then
if npc_rank == "novice" and deadmoney >=400 then deadmoney=math.random(25,400)
elseif npc_rank == "experienced" and deadmoney >=500 then deadmoney=math.random(50,500)
elseif npc_rank == "veteran" and deadmoney >=600 then deadmoney=math.random(100,600)
elseif npc_rank == "master" and deadmoney >=700 then deadmoney=math.random(200,700)
end
end
local news_caption = "Мёртвый сталкер: "..npc:character_name()
local news_text = "Обнаружено денег: %c[255,255,0,0]"..game.translate_string(deadmoney).."%c[default] руб."
--xr_sound.set_sound_play(actor:id(), "pda_news")
actor:give_game_news(news_caption, news_text, "ui_iconsTotal_found_money", 0, 10000)
actor:give_money(deadmoney)
game_stats.money_quest_update(deadmoney)
npc:give_money(-money)
game_stats.money_quest_update(-money)
end
end
end

function lootmoney_effect(npc,corpse_npc)
if corpse_npc:character_community() ~= "monolith" then
local num=corpse_npc:money()
if num and num >0 then
local deadmoney = num
local gi_rank
gi_rank = ranks.get_obj_rank_name(corpse_npc)
if gi_rank ~= nil then
if gi_rank == "novice" and deadmoney >=100 then deadmoney=math.random(10,50)
elseif gi_rank == "experienced" and deadmoney >=200 then deadmoney=math.random(25,100)
elseif gi_rank == "veteran" and deadmoney >=300 then deadmoney=math.random(50,200)
elseif gi_rank == "master" and deadmoney >=400 then deadmoney=math.random(100,400)
end
end
npc:give_money(deadmoney)
game_stats.money_quest_update(deadmoney)
corpse_npc:give_money(-num)
g ame_stats.money_quest_update(-num)
end
end
end

--------------------------------------------------------------------------------------- ----------------------------- ---
(Полоску вставлять ненадо это я выделил то што нужно вставлять)

Далее...

открываем файл(скрипт):xr_corpse_detection

ищем в нем строчку: corpse_npc:iterate_inventory(get_item, corpse_npc)

и после неё вставляем это:
---------------------------------------------------------------------

if lootmoney then
lootmoney.lootmoney_effect(npc, corpse_npc)
end

---------------------------------------------------------------------

закрываем и даём подтверждение на сохранение изменений.

далее...

Открываем файл (скрипт) : xr_motivator

Находим там строчку

xr_logic.issue_event(self.object, self.st[self.st.active_scheme], "use_callback", obj, who)
end
else

И после неё вставляем это:
---------------------------------------------
if lootmoney then
lootmoney.lootmoney(self.object)
end

---------------------------------------------

Если всё зделали правильно то при обыске трупа будет выводится сообщение о том скольго денег вы нашли.
smile Всё.

АВТОР:TRIS 410

Для Зов припяти

Добавлено (03.08.2011, 13:47)
---------------------------------------------
АВТОР: TRIS
Используя этот материал в своих модах указываейте автора, тоесть меня (TRIS) Спасибо за понимание.
В этом уроке я научу вас спавнить НПС через скрипт.
Открываем файл
\configs\creatures\spawn_sections_zaton
В самое начало добавляем это:
;------------------------TRIS410 --------------------
[my_stalker]:stalker
$spawn = "respawn\my_stalker"
character_profile = my_stalker
spec_rank = master
community = stalker
custom_data = scripts\zaton\my_stalker_npc_logic.ltx

Сохраняем…
Далее…
Идем в папку

\configs\gameplay

Открываем character_desc_zaton
В самый конец добавляем, но перед <\xml>!
<specific_character id="my_stalker" team_default = "1">
<name>Tris</name>
<icon>ui_inGame2_neutral_4</icon>
<map_icon x="1" y="0"></map_icon>
<bio>Опытный сталкер. Детальная информация отсутствует.</bio>

<class>my_stalker</class>
<community>stalker</community>
<terrain_sect>stalker_terrain</terrain_sect>
<snd_config>characters_voice\human_01\stalker\</snd_config>

<rank>65</rank>
<reputation>0</reputation>
<money min="2500" max="5000" infinitive="0"/>

<visual>actors\stalker_neutral\stalker_neutral_4</visual>
<supplies>
[spawn] \n
wpn_beretta = 1 \n
ammo_9x19_fmj = 1 \n
grenade_rgd5 = 1 \n
#include "gameplay\character_items.xml"
#include "gameplay\character_food.xml"
#include "gameplay\character_drugs.xml"
</supplies>

#include "gameplay\character_criticals_4.xml"
<start_dialog>hello_dialog_my_stalker</start_dialog>
<actor_dialog>actor_dialog_my_stalker</actor_dialog>
</specific_character>

Сохраняем…
открываем файл в этой же папке dialogs_zaton

Вставляем это но перед </game_dialogs>!
<dialog id="hello_dialog_my_stalker">
<phrase_list>
<phrase id="0">
<text>Кто научил тебя ,меня создавать?</text>
</phrase>
</phrase_list>
</dialog>
<dialog id="actor_dialog_my_stalker">
<phrase_list>
<phrase id="0">
<text>Tris!!! Скажу ему спасибо.</text>
<action>dialogs.break_dialog</action>
</phrase>
</phrase_list>
</dialog>

И открываем все в этой же папке: npc_profile
После строчки <!-- НОВЫЕ ПРОФИЛЯ --> добавляем
<character id="my_stalker">
<class>my_stalker</class>
</character>

Создадим логику для него
\configs\scripts\zaton а там файл my_stalker_npc_logic
И пишим там
Логика для бессмертного:
Вставляем это:
[logic]
active = remark1
danger = danger_ignore
invulnerable = true

[danger_ignore]
ignore_distance = 5

[remark1]
no_move = true
anim = choose
on_actor_dist_le = 2| remark@hello
invulnerable = true
meet = meet_guide

[meet_guide]
abuse = false
use = true
allow_break = false
meet_on_talking = false

[remark@hello]
no_move = true
invulnerable = true
meet = meet_guide
on_actor_dist_le = 10| remark1

А если смертного то
Вставляем это:
[logic]
active = remark1
danger = danger_ignore
invulnerable = false

[danger_ignore]
ignore_distance = 5

[remark1]
no_move = true
anim = choose
on_actor_dist_le = 2| remark@hello
invulnerable = false
meet = meet_guide

[meet_guide]
abuse = false
use = true
allow_break = false
meet_on_talking = false

[remark@hello]
no_move = true
invulnerable = false
meet = meet_guide
on_actor_dist_le = 10| remark1
Далее…
Идём в:

gamedata\scripts
И создаем скрипт sniper_add.script
И пишем там :

function start_add_spawn()--\\
--\\
--
spawn_sniper_one()
end

function spawn_sniper_one()
local x= 111.75521087646
local y= -3.9362425804138
local z= 185.2212677022
local level_vertex= 1158851
local game_vertex_id= 316
alife():create("my_stalker",vector():set(x,y,z),level_vertex,game_vertex_id)
end

function save_variable(variable_name, value)
xr_logic.pstor_store(db.actor, variable_name, value)
end
function load_variable(variable_name, value_if_not_found)
return xr_logic.pstor_retrieve(db.actor, variable_name, value_if_not_found)
end

И открываем скрипт : bind_stalker.script

Ищим строку

function actor_binder:update(delta)
object_binder.update(self, delta)

if string.find(command_line(), "-designer") then
return
end

И после неё пишим это
if sniper_add.load_variable("spawn_sniper",false)==false then
sniper_add.start_add_spawn()
sniper_add.save_variable("spawn_sniper",true)
end

Всё мы заспаунили НПС он появится около Сыча если всё правильно Сделали…
Удачи!

Используя этот материал в своих модах указываейте автора, тоесть меня (TRIS) Спасибо за понимание.

АВТОР: TRIS

  Злобная реклама
Среда, 03.08.2011, 13:47
Статус:
Сообщений: 666
Регистрация: 03.08.2011
Украина  Бульба
Среда, 03.08.2011, 14:39 | Сообщение # 2
Статус:
Бывалый:
Сообщений: 823
Награды: 1
Регистрация: 21.11.2010

Profans_mod, умеем пользоваться поиском? Вот тема "Модострой: вопросица"
  Злобная реклама
Среда, 03.08.2011, 14:39
Статус:
Сообщений: 666
Регистрация: 21.11.2010
Российская Федерация  Renson
Среда, 03.08.2011, 14:42 | Сообщение # 3
[Genesis mod]
Статус:
Бывалый:
Сообщений: 1053
Награды: 2
Регистрация: 03.07.2010

  Злобная реклама
Среда, 03.08.2011, 14:42
Статус:
Сообщений: 666
Регистрация: 03.07.2010
Российская Федерация  Tris
Среда, 03.08.2011, 14:52 | Сообщение # 4
Dead Forgetting Zone
Статус:
Бывалый:
Сообщений: 914
Награды: 3
Регистрация: 12.06.2011

Profans_mod, Откуда ты мои туторы откопал с модсталкер?
  Злобная реклама
Среда, 03.08.2011, 14:52
Статус:
Сообщений: 666
Регистрация: 12.06.2011
Российская Федерация  Jack
Среда, 03.08.2011, 15:09 | Сообщение # 5
Статус:
Бывалый:
Сообщений: 909
Награды: 4
Регистрация: 08.06.2010

Profans_mod, Ударю минусом.
Сообщение отредактировал Jack - Среда, 03.08.2011, 15:10
  Злобная реклама
Среда, 03.08.2011, 15:09
Статус:
Сообщений: 666
Регистрация: 08.06.2010
Антарктика  FaLcon
Среда, 03.08.2011, 15:22 | Сообщение # 6
Проект Смерти Вопреки
Статус:
Опытный:
Сообщений: 2022
Награды: 8
Регистрация: 17.07.2011

ну есть же уже тема модострой.вопросница
  Злобная реклама
Среда, 03.08.2011, 15:22
Статус:
Сообщений: 666
Регистрация: 17.07.2011
Российская Федерация  Profans_mod
Среда, 03.08.2011, 16:11 | Сообщение # 7
Статус:
Гость:
Сообщений: 33
Награды: 2
Регистрация: 03.08.2011

Это всё как бы уже давно не новость, но всё же опишу... Пускай начинающие мододелы балуются.
Итак, не для кого не секрет, что в ресурсах сталкера имеется модель дымовой гранаты, которая нерационально используется только в мультиплеере.
Учитывая что для зрения NPC, дым в синглплеере не преграда. Создадим на базе дымовухи что-то более существенное. Например электрошоковую гранату как в F.E.A.R.

Итак, как её сделать и добавить в игру?
Не будем создавать для неё отдельный конфиг - это не рационально.
Наша граната будет наследовать конфиг гранаты grenade_gd-05, только с небольшими изменениями.
Содержание
[убрать]

1 Конфиг
2 Описание
3 Добавление в игру
4 Автор

[править] Конфиг

Добавим конфиг новой гранаты в файл gamedata\config\weapons\w_f1.ltx
в самом конце файла добавим конфиг нашей гранаты:

[el_grenade]:grenade_gd-05 ;Электрошоковая граната наследует конфиг гранаты grenade_gd-05
inv_name = el_grenade_name ;Название новой гранаты
inv_name_short = el_grenade_name ;Название новой гранаты
description = el_grenade_desc ;Описание новой гранаты
blast = 3 ;хит от гранаты (300%)
blast_r = 5 ;радиус хита (5 м.)
hit_type_blast = shock ;тип хита
snd_explode = anomaly\electra_blast1 ;звук взрыва
explode_particles = anomaly2\electra2_blast ;или anomaly2\electra2_blast_00 ;партикл взрыва

[править] Описание

Теперь добавим описание гранаты в один из файлов в gamedata\config\text\rus\ ну скажем в string_table_enc_weapons.xml
ниже тега <string_table> добавляем:

<string id="el_grenade_name">
<text>ЭШГ-1</text>
</string>
<string id="el_grenade_desc">
<text>Электрошоковая граната.</text>
</string>

[править] Добавление в игру

Вот и всё, теперь можно добавлять торговцам:
Ну скажем Бармену - в файле gamedata\config\misc\trade_barman.ltx
после строчки [supplies_start] добавляем:

el_grenade = 10, 0.9

где:

el_grenade - конфигурационное название предмета
10 - макс. кол-во гранат
0.9 - вероятность их появления (0.9 = 90%)

[править] Автор

THE_ATLAS
  Злобная реклама
Среда, 03.08.2011, 16:11
Статус:
Сообщений: 666
Регистрация: 03.08.2011
Российская Федерация  Jack
Среда, 03.08.2011, 16:12 | Сообщение # 8
Статус:
Бывалый:
Сообщений: 909
Награды: 4
Регистрация: 08.06.2010

Profans_mod, Ты совсем тупой? тебе сказали в специальную тему идти
  Злобная реклама
Среда, 03.08.2011, 16:12
Статус:
Сообщений: 666
Регистрация: 08.06.2010
Украина  Бульба
Среда, 03.08.2011, 16:28 | Сообщение # 9
Статус:
Бывалый:
Сообщений: 823
Награды: 1
Регистрация: 21.11.2010

Profans_mod,
Сообщение отредактировал Бульба - Среда, 03.08.2011, 16:32
  Злобная реклама
Среда, 03.08.2011, 16:28
Статус:
Сообщений: 666
Регистрация: 21.11.2010
Российская Федерация  FEAR97
Среда, 03.08.2011, 16:42 | Сообщение # 10
Статус:
Новичок:
Сообщений: 259
Награды: 4
Регистрация: 10.06.2011

ОО блин наехали за то что создал тему которая уже есть!
  Злобная реклама
Среда, 03.08.2011, 16:42
Статус:
Сообщений: 666
Регистрация: 10.06.2011
  • Страница 1 из 1
  • 1
Поиск: