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

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


Halford

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

у кого у непися или у ГГ?

если у ГГ то так:

local has_item = db.actor:object("af_electra_moonlight") --проверяем наличие арта Лунный свет

если у непися -

local has_item = npc:object("af_electra_moonlight")
--npc - это объект непися

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение

смотри внимательней вместо then ... else ты написал then ... then

 

ладно, раз пошли такие пляски вот функция

function has_item(item_name, npc)
  if npc == nil then npc = db.actor end
  return npc:object(item_name) ~= nil
end

 

юзать так:

has_item("af_blood") - для ГГ

has_item("af_blood", npc) - для непися, где npc это объект того сталка у которого хотим прверить наличие предмета

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение

потому что ты неправильно её написал, вот смотри

function global_bind_clock()
  if db.actor ~= nil then
    return db.actor:object("clock") ~= nil
  else
    --получается по условию у тебя тут db.actor равен nil а ты пытаешься юзнуть метод give_info_portion нила
    db.actor:give_info_portion("clock_activ")
  end
  return false
end

 

 

перечитай еще раз что я написал

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение
Arguments : LUA error: ...g\s.t.a.l.k.e.r\gamedata\scripts\xr_motivator.script:111: attempt to index global 'xiani_config' (a nil value)

что делать?

Показывай скрипт xiani_config

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение
Макс непонял что добовлять в бинд_сталкер?

чо непонятного, у тебя end не там стоит:

local ui_show_time = time
|-end
|
|function on_time()
|if db.actor:has_info("clock_activ") then
|time = true
|end
|-> сюда его

 

Подскажите,как в ТЧ отключить на мини-карте счётчик контактов и звук

файл gamedata\config\ui\maingame.xml

найди строку

<static_pda_online x="138" y="167" width="35" height="28" light_anim="ui_pda_contacts" la_cyclic="0"
замени на

<static_pda_online x="3000" y="167" width="35" height="28" light_anim="ui_pda_contacts" la_cyclic="0"
чтобы убрать звук, в этом же файле найди строку

<new_contact_snd>detectors\contact_1</new_contact_snd>

и замени звук контакта на пустой звук

ЗЫ Это все касается если ты играешь на не широкоэкранке, если на широкоэкранке, то ищи все это дело в файле maingame_16.xml

Изменено пользователем Gonarh
  • Нравится 1
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение

и не поможет, потому шо так низзя, попробуй:

<new_contact_snd>characters_voice\scenario\magnitofon\magnitofon_3</new_contact_snd>

 

как не помогло? звук какой-нить есть?

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение

у тебя опечатка или действительно после tostring скобки нестоит?

get_console():execute("error="..tostring(string.gsub(gul, " ", "_")))

если чесно, конструкция непонятна, так

get_console():execute("error="..string.gsub(tostring(gul), " ", "_"))

выглядит получче

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение

ммм, щас ковырнул xr_gulag на скока я понял get_npc_gulag возвращает объект а не строку, при закомментаривании строки get_console():execute(.... вылета не происходит, причем переменная gul nil

не содержит, тама чото есть

 

Добавлено через 10 мин.:

все, кажись разобрался:

  local gulag = nil
  if obj then gulag = xr_gulag.get_npc_gulag(obj) end
  if gulag and gulag.name
  then get_console():execute("gulag_name="..gulag.name)
  else get_console():execute("error") end

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение
то есть запись strn.gulag должна возвращать именно строку из таблицы

как ты уже наверное понял, это все таки не строка а объект :)

ЗЫ. айдишник смарта ты могешь читать из нетпакета непися, если непись не ходит под смартом, его айдишник смарта = 65535

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение
кстати как ты понял как надо правильно обращаться к этой переменной?

так же как и все остальное - углубленным ковырянием оригинальных и чужих скриптов

в данном случае заинтересовал метод gulag:print в xr_gulag.script

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение

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

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение
чтобы он заработал со смартами и гулагами?

Вопрос некорректен, ты сам расставляешь смарты, спавнишь неписей(я это делал через all.spawn) и настраиваешь логику гулагов, само оно ничего делаться не будет

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение

а ты включил файл который создал в конфиг/миск в gulag_tasks.ltx?

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение
но возникла проблема. и в огсм и в паке есть файлы particles.xr и shaders.xr . всё остальное я совместил, а эти файлы не могу - не знаю даже как к ним подбираться

помогите объединить! без этого игра вылетает.

Шейдеры не знаю, а вот софтина и тутор для объединения партиклов

 

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение

могу, в файл death_items_by_communities.ltx в самый конец добавь такую строку

[имя_новой_группировки]:stalker
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение

такой же?

так, стоп, в файле death_manager.script

найди такую строку

local community_list = { "stalker", "dolg", "freedom", "bandit", "military", "zombied", "ecolog", "killer", "monolith", "arena_enemy", "actor_dolg" }

и добавь туда свою группировку

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение

попробуй игру начать заново

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение

хмм, в game_relations.ltx все правильно прописал?

 

Добавлено через 2 мин.:

а, еще забыл в xr_statistic.script в таблицу local killCountProps = {...

добавить строку

имя_новой_группировки_novice = 1, имя_новой_группировки_experienced = 2, имя_новой_группировки_veteran = 3, имя_новой_группировки_master = 4,
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение

читай character_name из нетпакета объекта (в АМК моде это реализовано)

Изменено пользователем Gonarh
118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение

ща...

 

Добавлено через 22 мин.:

ммм, похоже я дал неверную информацию (сам плаваю в энтих делах).

вот функция которая читает чарактер_нейм на входе объект непися на выходе строка с именем

function get_charname(sobj)
  local stpk=net_packet()
  sobj:STATE_Write(stpk)
  stpk:r_seek(0)
  money=stpk:r_s32()
  profile=stpk:r_stringZ()
  infammo=stpk:r_s32()
  class=stpk:r_stringZ()
  communityid=stpk:r_s32()
  rank=stpk:r_s32()
  reputation=stpk:r_s32()
  return stpk:r_stringZ()
end

 

118 101 110 105 44 32 118 105 100 105 44 32 118 105 99 105

Поделиться этим сообщением


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

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