Случайная подборка модов
Радиоактивное мясо. Схватка
3.0
Золотой обоз. Часть первая
3.5
MISERY 2.2
4.1
Долг. Философия Войны
4.0
История Конвона. Часть первая
3.1
Альтернатива 1.2
3.0
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
  • Страница 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
Поиск: