Перейти к контенту

[CoP] Ковыряемся в файлах


Рекомендуемые сообщения

Используй set_relation. Например:

function become_friend(first_speaker, second_speaker)

first_speaker:set_relation(game_object.friend, second_speaker)

end

Если нужно сделать врагом - то game_object.enemy, нейтралом - game_object.neutral

Происходит вылет :(

Expression : !m_error_code

Function : raii_guard::~raii_guard

File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp

Line : 748

Description : ....r. - Зов Припяти\gamedata\scripts\new_quests.script:202: attempt to index local 'first_speaker' (a nil value)

 

Вызов функции добавлял в bind_stalker.actor_binder:update(delta)

 

Ссылка на комментарий

Эээ, это надо в диалоги прописывать.... а не в апдейт, это ваще извращение какое-то...

 

А так можно хитануть нпс, но функция сложновато и не всегда работает....

Ссылка на комментарий

Добавил новую модель (ПДА заменил). Запускаю игру, ловлю вылет:

Expression    : _valid( c )
Function      : CPhysicsShellHolder::correct_spawn_pos
File          : D:\prog_repository\sources\trunk\xrGame\PhysicsShellHolder.cpp
Line          : 171
Description   : object: device_pda_zat_b5_dealer20268 model: dynamics\devices\dev_pda\dev_pda

Что это? И как по возможности это исправить?

Все было проставлено правильно, СДК не бунтовал при экспорте...

Делал на основе кости старого ПДА

АПД. Все, спасибо, разобрался. Нужно было в СДК во вкладке Object поставить make progressive

Изменено пользователем =WareZ=
Ссылка на комментарий

psevdoгринго

Попробуй в логику пописать

[logic]
active = remark@01

[remark@01]
on_info = следующая_схема %=hit_npc_from_actor%

[следующая_схема]

 

Или что-то вроде этого. Не уверен что все правильно написал. Тогда НПС после спавна получит хит от ГГ, из-а этого стане его врагом и переключится на следующую_схему.

 

Ссылка на комментарий

Был получен ответ от модератора на отключение счётчика в ПДА. Но увы не нашёл в данном файле(zone_map.xml) такого кода для правки.Вопрос:я не нашёл что нужно или же мне надо вставить полученную часть кода в файл?

 

P.S. адрес был дан configs\ui\zone_map.xml ,я нашёл только config\ui\zone_map.xml - это критично?

 

 

 

Счетчик: configs\ui\zone_map.xml

Код

<static_counter x="0.94" y="0.5" width="18" height="17" alignment="c">

<text_static width="18" height="17">

<text align="c" font="graffiti19" color="ui_0"/>

</text_static>

</static_counter>

Не будет высвечивать количество НПС вокруг.

 

 

Сообщение от модератора n6260
папка "конфигс" это в ЗП, а в ТЧ папка "конфиг".
Изменено пользователем n6260
Ссылка на комментарий

Hi, All!

 

Народ, а никто не ковырял вопрос работы scope_dynamic_zoom=on? Интересно, как определяется zoom_factor для промежуточных значений, и как это зависит от базовой кратности прицела? У меня есть подозрение, что динамический зум всегда имеет фиксированные значения кратности, независимо от того, каково базовое значение для прицела, но вопрос в том, как проверить догадку и как узнать zoom factor для всех положений.

Ссылка на комментарий

Нужна помощь

Создал новую группировку

<specific_character id="zat_bandit_duchegub_boss" team_default = "1">

<name>Душегуб</name>

<icon>ui_inGame2_monolit_4</icon>

<map_icon x="1" y="0"></map_icon>

<bio>Тот ещё злодей-душегуб. Детальная информация отсутствует.</bio>

 

<class>zat_bandit_duchegub_boss</class>

<community>bandit_1</community>

<terrain_sect>stalker_terrain</terrain_sect>

<snd_config>characters_voice\human_03\bandit\</snd_config>

<visual>actors\stalker_monolith\stalker_monolith_4</visual>

<rank>60</rank>

<reputation>0</reputation>

<money min="300000" max="500000" infinitive="0"/>

 

<supplies>

[spawn] \n

wpn_groza_nimble =1 ,scope \n

ammo_9x39_ap = 3 \n

wpn_desert_eagle \n

ammo_11.43x23_fmj = 1 \n

grenade_f1 = 4 \n

 

#include "gameplay\character_items_nd.xml"

#include "gameplay\character_food.xml"

#include "gameplay\character_drugs_2.xml"

#include "gameplay\character_sell_weapons.xml"

</supplies>

#include "gameplay\character_criticals_4.xml"

 

#include "gameplay\character_dialogs.xml"

</specific_character>

 

<character id="zat_bandit_duchegub_boss">

<class>zat_bandit_duchegub_boss</class>

</character>

 

[zat_bandit_duchegub_boss]:stalker_sakharov

$spawn = "respawn\zat_bandit_duchegub_boss"

character_profile = zat_bandit_duchegub_boss

spec_rank = master

community = bandit_1

 

;названия группировок (порядок должен совпадать с communities_relations)

communities = actor, 0, bandit, 1, dolg, 2, ecolog, 3, freedom, 4, killer, 5, army, 6, monolith, 7, monster, 8, stalker, 9, zombied, 10, stalk_1,11, dolg_1,12, svoboda_1,13, bandit_1,14,killer_1,15

;--------------------------------------------------------------------------------------------------------------------------------------------

[communities_relations]

; |actor|bandit| dolg|ecolog|freedom|killer| army|monolith|monster|stalker| zombied|stalk_1| dolg_1| svoboda_1|bandit_1|killer_1

;===============================================================================

================================================================

actor = 0, 0, 0, 0, 0, -5000, 0, -5000, -5000, 0, -5000 -5000, -5000, -5000, 0, -5000

bandit = 0, 5000,-5000, 0, -5000, -1000, -5000, -5000, -5000, -1000, -5000, -5000, -5000, -5000, 5000, -1000

dolg = 0, -5000, 5000, 0, -5000, -5000, 0, -5000, -5000, 0, -5000, 0, 5000, -5000, -5000, -5000

ecolog = 0, 0, 0, 0, 0, -1000, 0, 0, -5000, 0, 0, 0, 0, 0, 0, -1000

freedom = 0, -5000,-5000, 0, 5000, 0, 0, -5000, -5000, 0, -5000, 0, -5000, 5000, 0, 0

killer = -5000, -1000,-5000, -1000, 0, 1000, -5000, 0, -5000, -1000, -1000, 0, 0, 0, 0, 1000

army = 0, -5000, 0, 0, 0, -5000, 1000, -5000, -5000, 0, -5000, 0, 0, 0, -5000, -5000

monolith = -5000, -5000,-5000, 0, -5000, 0, -5000, 1000, -5000, -5000, 1000, -5000, -5000, -5000, 0, 0

monster = -5000, -5000,-5000, -5000, -5000, -5000, -5000, -5000, 0, -5000, -5000, -5000, -5000, -5000, -5000, -5000

stalker = 0, -1000, 0, 0, 0, -1000, 0, -5000, -5000, 0, -5000, 5000, 0, 0, 0, -1000

zombied = -5000, -5000,-5000, 0, -5000, 0, -5000, 1000, -5000, -5000, 1000, -5000, -5000, -5000, -5000, -5000

stalk_1 = -5000, -1000, 0, 0, 0, 0, 0, -5000, -5000, 0, -5000, 5000, 0, 0, -5000, 0

dolg_1 = -5000, -5000, 5000, 0, -5000, 0, 0, -5000, -5000, 0, -5000, 0, 5000, -5000, -5000, 0

svoboda_1 = -5000, -5000,-5000, 0, 5000, 0, 0, -5000, -5000, 0, -5000, 0, -5000, 5000, -5000, 0

bandit_1 = 0, 5000,-5000, 0, 0, 0, -5000, 0, -5000, 0, -5000, -5000, -5000, -5000, 5000, -5000

killer_1 = -5000, -1000,-5000, -1000, 0, 1000, -5000, 0, -5000, -1000, -5000, 0, 0, 0, -5000, 5000

;---------------------------------------------------------------------------------------------------------------------------------------------------------

[communities_sympathy]

actor = 0.0

bandit = 0.0

dolg = 0.0

ecolog = 0.0

freedom = 0.0

killer = 0.0

army = 0.0

monolith = 0.0

monster = 0.0

stalker = 0.0 ;0.01

zombied = 0.0

stalk_1 = 0.0

dolg_1 = 0.0

svoboda_1 = 0.0

bandit_1 = 0.0

killer_1 = 0.0

 

function init_drop_settings()

local community_list = {

"stalker",

"dolg",

"freedom",

"bandit",

"army",

"zombied",

"ecolog",

"killer",

"stalk_1 ",

"dolg_1",

"svoboda_1",

"bandit_1" ,

"killer_1",

"monolith" ,

 

}

 

Всё спавнятся ходят и т д но при попытке говорить вылет

* MEMORY USAGE: 413275 K

* End of synchronization A[1] R[1]

intro_delete ::update_game_loaded

! ERROR: SV: can't find children [14880] of parent [681305472]

! ERROR: SV: can't find children [14881] of parent [681307456]

 

FATAL ERROR

 

[error]Expression : !phrase_dialog->m_PhraseVector.empty()

[error]Function : CPhraseDialog::SayPhrase

[error]File : D:\prog_repository\sources\trunk\xrGame\PhraseDialog.cpp

[error]Line : 146

[error]Description : No available phrase to say, dialog[hello_dialog]

 

 

stack trace:

 

Сообщение от модератора Halford
У Вас с диалогами проблема. Нет фразы hello_dialog
Ссылка на комментарий

У меня такая проблема. Не бейте сильно, если она уже была где-то описана - полистал, не нашёл...

Дело вот в чём. Добавил на Затоне рандомом аномалии. Как оказалось - они не срабатывают на НПС. На монстров вроде срабатывает, но без ущерба для них. Как решить проблему? Заранее большое спасибо.

Ссылка на комментарий

Благодарю с папкой понятно. Но как тогда в ТЧ отключить счётчик и звук в ПДА на нпц?

Строгое предупреждение от модератора Halford
А то что тема не по ТЧ на мысль не наталкивает?
Ссылка на комментарий

Vano_Santuri

slayer_kch, сам создал? или тупо передрал? и назвал своим?

Твоих не трогал, в моде есть такие как ты их создал ,делал своих но по аналогии с твоими и из мода Альфа

изменения только в отношениях к ГГ сделал нейтралами .

 

Всем спасибо сам разаобрался

Изменено пользователем slayer_kch
Ссылка на комментарий

Всем доброго времени! Пытаюсь сделать регулируемый прицел для Гаусса, чтоб его технарь делал. Создал файл: w_gauss_up.ltx с одной иконкой для апа, но когда пытаюсь апнуть гаусс у Техноря и кликаю по иконке то происходит вылет. В логе ни чего не пишет.

Подскажите что сделал не правильно?

 

[up_sect_firsta_gauss]
;Динамический прицел
;------------------
cost                      = 23500

scope_dynamic_zoom = on


[up_firsta_gauss]
scheme_index            = 0, 0
known                   = 1
effects                 =  
section                 = up_sect_firsta_gauss
property                = prop_scope

precondition_functor    = inventory_upgrades.precondition_functor_a
precondition_parameter  = a & b

effect_functor          = inventory_upgrades.effect_functor_a
effect_parameter        = something_here

; ui
prereq_functor          = inventory_upgrades.prereq_functor_a
prereq_tooltip_functor  = inventory_upgrades.prereq_tooltip_functor_a
prereq_params           = 
name                    = st_up_opt_c3_name
description             = st_up_opt_c3_descr
icon                    = ui_inGame2_upgrade_GP37_16

[up_gr_firsta_gauss]
elements                = up_firsta_gauss";

Изменено пользователем ktytxrf
Ссылка на комментарий

ktytxrf , посмотри в теме "Уроки по модостроению" там было про создание апгрейдов.

mrak13 ищи в папке textures/act

 

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

function spawn_killers_pda()
    local npc
    npc = "zat_b103_lost_merc_leader" -------Тесак- наёмник на подстанции--------
    alife():create("killers_pda", npc:position(), npc:level_vertex_id(), npc:game_vertex_id(), npc:id())
end

Но игра всё время вылетает. пробовал по разному писать функцию но игра ругается что якобы не может вызвать метод position

Изменено пользователем psevdoгринго
Ссылка на комментарий

Друзья, подскажите пожалуйста, где можно посмотреть и поправить время выхода NPC на затоне- со Скадовска, на юпитере- из Бара, после того как они туда зашли.

Изменено пользователем Mihunchy
Ссылка на комментарий
Я их спавнил через all.spawn

Он благополучно спавниться, переносит тебя на другую локацию, но вот прблема-

какие бы координаты спавна ГГ на другой локации ты не задавал, все равно переходишь тупо к янову. Да и еще этот флешбек с лоцманом хз как убрать, да и при переходе на припять ты пропускаешь пол игры, бред.

Так что обломись и забей на это усилия того не стоят!

напиши где править файлы из алл.спавн ( я его распоковал и не знаю где и что править)

Изменено пользователем tankist
Ссылка на комментарий

Ну например в alife_zaton.ltx вставляешь вот такую вот хреновину

[1866]

; cse_abstract properties

section_name = level_changer

name = zaton_level_changer_0001

position = 133.4,-7.04,190.17 ;--координаты левл чанджера

direction = 0,0,0

cse_abstract__unk1_h16 = 0x1

 

; cse_alife_object properties

game_vertex_id = 296

distance = 65

level_vertex_id = 1194668

object_flags = 0xffffff3e

 

; cse_shape properties

shapes = shape0

shape0:type = box

shape0:axis_x = 8.25219917297363,0,0

shape0:axis_y = 0,3.09340000152588,0

shape0:axis_z = 0,0,8.25219917297363

shape0:offset = 0,0,0

 

; cse_alife_space_restrictor properties

restrictor_type = 3

 

; cse_alife_level_changer properties

dest_game_vertex_id = 666

dest_level_vertex_id = 437980

dest_position = 211.057,4.54,-19.411 ;--коордтнаты выхода из левл чанджера

dest_direction = 0,0,0

dest_level_name = pripyat

dest_graph_point = pripyat_lc_graph_point

silent_mode = 1

 

; se_level_changer properties

 

Начинаешь новую игру, заходишь на Скадовск и вуаля - ты в Припяти

Изменено пользователем psevdoгринго
Ссылка на комментарий
Опять возник вопрос. Мне раньше никогда не приходилось спавнить что-то в инвентарь NPC. Так что возникли некоторые проблемы. Конечно, можно было просто добавить предмет неписю через его профиль, но тогда надо начинать новую игру. Вот я решил сделать для этого скрипт. Вот такой

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

Попробуй исправить вот так:

function spawn_killers_pda()
    local id, npc
    id = "zat_b103_lost_merc_leader" ------Строка, а не объект!--------
    npc = get_story_object_id(id)
    npc = alife():object(npc) ---- А вот тут уже объект 
    alife():create("killers_pda", npc:position(), npc:level_vertex_id(), npc:game_vertex_id(), npc:id())
end

Должно сработать.

Изменено пользователем Shredder
Ссылка на комментарий

psevdoгринго,

естественно - в твоем коде npc - gросто текстовая переменная

а ты с ней обращаешься как с объектом

поэтому как вариант

function spawn_killers_pda()
   name1= "zat_b103_lost_merc_leader"
   for a=1,65535,1 do
      npc = alife():object(a)
      if npc and string.find(npc:name(),name1) then
        alife():create("killers_pda", npc:position(), npc:level_vertex_id(), npc:game_vertex_id(), npc:id())
        return
      end
    end
end

Изменено пользователем Maks_K
Ссылка на комментарий

Блин, вылетает. И при обоих способах один и тот же лог

Expression    : !m_error_code
Function      : raii_guard::~raii_guard
File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line          : 748
Description   : No such operator defined

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...