Перейти к содержанию

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

 
 

ian98 я  в папке с чекером создал папку отдельную, только туда кидаю скрипты для проверки


В беге за рассветом приближаешь свой закат

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


Ссылка на сообщение
Поделиться на другие сайты
 

vader_33 снова лог со столом, он же вроде есть, или его нет? Или table в луа это вообще не стол?

Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : .\script_engine.cpp
Line          : 73
Description   : <no expression>
Arguments     : LUA error: ...ow of chernobyl\gamedata\scripts\bind_stalker.script:30: attempt to call field 'change_rank2' (a table value)
 

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


Ссылка на сообщение
Поделиться на другие сайты
 

ian98 table - это таблица. Как щас файл выглядит?


Дополнено 0 минут спустя

ian98 и как функция в бинд сталкере выглядит


В беге за рассветом приближаешь свой закат

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


Ссылка на сообщение
Поделиться на другие сайты
 

vader_33 

  Показать контент

таблица сверху есть одна npc_tbl

Я вот думаю, может она вообще не нужна? Таблица эта. Ну-ка уберу ее.

 

Изменено пользователем ian98

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


Ссылка на сообщение
Поделиться на другие сайты
 

ian98 вообще весь файл. В бинд сталкере как прописано?


В беге за рассветом приближаешь свой закат

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


Ссылка на сообщение
Поделиться на другие сайты
 

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


Ссылка на сообщение
Поделиться на другие сайты
 

ian98 а, блин, невнимательность. Функция называется change_rank_2(), а в биндере прописано change_rank2()

Изменено пользователем vader_33
  • Смех 1

В беге за рассветом приближаешь свой закат

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


Ссылка на сообщение
Поделиться на другие сайты
 

vader_33 боги. я только сейчас увидел... Целый день копался в character_desc, выдавал там визуалы сюжетным нпс, с ума сойдешь...

Изменено пользователем ian98

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


Ссылка на сообщение
Поделиться на другие сайты
 

ian98 надо отдыхать)


В беге за рассветом приближаешь свой закат

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


Ссылка на сообщение
Поделиться на другие сайты
 

vader_33 так хочется доделать уже, плюс все пробегать нужно, а там внезапно ВСЕГДА какие-то вылеты на пути. Их править, пока правишь еще что-то придумал, ввел, опять пробегать и снова вылеты, и так по кругу. Уже 7 круг.

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


Ссылка на сообщение
Поделиться на другие сайты
 

ian98 по невнимательности еще больше вылетов будет, лучше делать не спеша


В беге за рассветом приближаешь свой закат

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


Ссылка на сообщение
Поделиться на другие сайты
 

vader_33 Да тут уже:D

Expression    : fatal error
Function      : CScriptEngine::lua_error
File          : .\script_engine.cpp
Line          : 73
Description   : <no expression>
Arguments     : LUA error: ...w of chernobyl\gamedata\scripts\change_rank_2.script:263: attempt to perform arithmetic on global 'upgrade_exp' (a nil value)

Неправильно выдаю експу видно. Ага upgrade_exp это из xrs_armor скрипта

Изменено пользователем ian98

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


Ссылка на сообщение
Поделиться на другие сайты
 

ian98 upgrade_exp не назначено


Дополнено 2 минуты спустя

ian98 я ж говорю, отдыхать надо) Всё, я ушел, уже бежать надо

  • Смех 1

В беге за рассветом приближаешь свой закат

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


Ссылка на сообщение
Поделиться на другие сайты
 

Проспался, а теперь не могу понять как выдать репутацию. set_character_reputation(number) и change_character_reputation(number) приводят к вылетам. И еще это условие как-то через одно место проверяется sobj:rank() == 0. 

  Показать контент

Вообще, цель создать скрипт, который бы выдавал ранг и репутацию всем у кого ранг равняется 0.

Сейчас я вроде понял почему не работало sobj:rank() == 0. Ну, я понял, что оно не в той строчке не так вставлено, но я не знаю как вставить так.

Пробовал так

  Показать контент
  Показать контент

Я думаю ошибка какая-то простая, ранга этого нет, но как сделать чтобы он был. Я не понимаю. Это должно быть как local rank = что-то там? А уже потом все это?

Что-то типо такого

  Показать контент

 

Изменено пользователем ian98

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 21.06.2021 в 17:13, ian98 сказал:

set_character_reputation(number) и change_character_reputation(number) приводят к вылетам

просил же лог прикладывать

  В 21.06.2021 в 17:13, ian98 сказал:

И еще это условие как-то через одно место проверяется sobj:rank() == 0. 

в чем именно там ошибка проверки? Сверяли ранг всех нпс до изменения и после изменения? Перебрал всех нпс и вывел в лог ранги - ни у кого 0 не было, в основном больше 100

  В 21.06.2021 в 17:13, ian98 сказал:

local rank = что-то там?

это уже есть, sobj:rank(). А вылет из-за того, что сначала должно идти условие if sobj..., чтобы потом sobj:rank() применялось к точно существующему объекту в игре. При переборе просто подставляются числа от 1 до 65534, не обязательно alife():object(a) при этом будет существовать в  игре

 


Дополнено 10 минуты спустя
  В 21.06.2021 в 17:13, ian98 сказал:

set_character_reputation(number) и change_character_reputation(number) приводят к вылетам

может вылет происходит из-за того, что нпс не успевают выйти в онлайн. Если в луа_хелп метод находится только в C++ class game_object - значит, он только для онлайнового объекта

Изменено пользователем vader_33

В беге за рассветом приближаешь свой закат

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 22.06.2021 в 02:42, vader_33 сказал:

в чем именно там ошибка проверки? Сверяли ранг всех нпс до изменения и после изменения? Перебрал всех нпс и вывел в лог ранги - ни у кого 0 не было, в основном больше 100

 

sobj:rank() == 0 then

Если вставляю в скрипт, то персонажи с 0 рангом не получают ранг, а все остальные получают. А как можно сделать так, чтобы наоборот персонажи с нулевым получали, а все остальные нет? Неужели просто поставить 1? В общем, нет, странно все это.

Вот, мой скрипт, уже в который раз:

  Показать контент

Вот профиль волка

  Показать контент

А вот, что в игре

  Показать контент
  Показать контент

Да, у волка еще есть 105 профилей, все сделаны по шаблону

  Показать контент

А каждый конфиг в gamedata/random_visual выглядит вот так. Вот прям каждый. Проверено тотал коммандером(имеется ввиду <rank>0</rank> или его отсутствие вообще)

  Показать контент

или я уже отчаялся и делал так

  Показать контент

Это я к тому, что ранг Волка, ну, полюбому нулевой, а скрипт его игнорит... И если убрать проверку, только тогда Волк вместе со всеми начинает получать свой ранк. Только скрипт на нетспавне висит и каждый раз ранк роллит по новой, что прикольно, но ломает xrs_armor, который я все же решил не отключать и раздавать им визуалы несюжетным персам. Так и сижу, голову ломаю. Что делаю не так.. Можно ли вырезать выдачу ранга в xrs_armor, но оставить выдачу визуала?  Там скрипт большой, пытался удалить строки за это отвечающие пару раз, но в итоге ломал н?*)ен весь скрипт целиком.

Изменено пользователем ian98

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 22.06.2021 в 03:15, ian98 сказал:

Можно ли вырезать выдачу ранга в xrs_armor, но оставить выдачу визуала?

а, так это из-за выдачи ранга в xrs_armor все получают ранг. Я-то думаю, что такое, у меня с условием "if sobj and is_stalker(sobj) and sobj:alive() and sobj:rank()==0 then" вообще никто ничего не получает, мистика. Вечером гляну xrs_armor


Дополнено 3 минуты спустя

ian98 он остался как в этом сообщении или менялся? 

 


В беге за рассветом приближаешь свой закат

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


Ссылка на сообщение
Поделиться на другие сайты
 

vader_33 Да, xrs_armor дает ранг, но, уточню на всякий, скриншоты которые скидывал я сделаны с отключенным xrs_armor. А вообще, если оставить xrs_armor и скрипт на выдачу ранга, то xrs_armor кое-как выдает скины(выдает далеко не всем, а только персонажам с высоким рангом, только они переодеваются, хотя броники для переодевания у всех прописаны со 100 шансом. НО, уже переодетые нпс при перезагрузке могут своего визуала лишиться, я думаю это уже связано со вторым скриптом на выдачу ранга.)

  с таким скриптом я играл какое-то время+xrs_armor (Показать контент)

 


Дополнено 2 минуты спустя

vader_33 остался таким же. Я могу вообще всю геймдату дать, заодно и оценишь свой вклад, да и проще будет. Она 400 мб весит. Мод, на мой скромный вкус, получается действительно весьма потешный в самом хорошем смысле.


Дополнено 3 минуты спустя

xrs_armor.script а могу просто оставить, на всякий. Все-таки там были изменения, хоть и незначительные.

Изменено пользователем ian98

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


Ссылка на сообщение
Поделиться на другие сайты
 

ian98 пока не ушел, быстренько раздал новичкам в деревне экзы - как был ранг новичок, так и остался. xrs_armor.script редактировал оригинальный, копировать 100 визуалов - ну такое) change_rank2.script тоже скидываю, с которым проверял, ни у одного ранга 1000 нету. Только для теста в xrs_armor.script закомментил 607 строчку, чтобы нпс сразу переодевались. У меня всё работает, как задумано, нпс с рангом не 0 не меняют ранг ни при переодевании ни при загрузке, если с этими файлами все равно будут менять ранг - я уже не знаю, в чем тут дело

change_rank2.scriptПолучение информации... xrs_armor.7zПолучение информации...

  • Спасибо 1

В беге за рассветом приближаешь свой закат

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


Ссылка на сообщение
Поделиться на другие сайты
 

vader_33 Я даю 105 визуалов) Только тем у кого проблемы с xrs_armor и они выходят калеками из оффлайна. Хотя, возможно, потихоньку действительно раздам каждому нпс в игре по 105 визуалов+несюжетные будут получать по визуалу сверху+ранг динамический, еще бы репутацию динамическую ко всему прочему. Дело нехитрое, просто долгое и нудное.


Дополнено 32 минуты спустя

vader_33 не знаю, а что должно было произойти? Со своим xrs_armor, но с комментарием строчки

			--if dist_to_actor>1 or dist_to_actor>150 then

скомбинировал твой скрипт для выдачи ранга. В самой игре выдал всем экзоскелеты: персонажи с 0 рангом остались с 0 рангом и не сменили визуалы, в топе были какие-то военные и я не знаю сменили ли они визуалы, не смотрел. Мне кажется не сменили. 

Попробовал потом свой xsr_armor выключить, полностью взяв два файла твоих. Вижу визуалы у всех экзоскелетные и ранги новички. Я могу и так обыграть, прикольно. Это я могу 200 мб расплодившихся визуалов по своиму какому-то косяку явно удалять теперь и без смены ранга менять один раз и навсегда визуал через костюм. Всего 1 строчка? Ну, кстати, по-моему там две строчки. Я еще увидел -- end. Нет, вообще большое спасибо, у меня явно были какие-то проблемы в скриптах. Теперь их точно меньше.

А вот там таймер стоит аж на 10 секунд, так ли он нужен?

Возвращаясь к 100+ визуалам, можно ли тогда это сделать скриптом? 

Речь об этой строчке из профиля каждого нпс в игре 

        <icon x="20" y="10"></icon> - можно ли выдавать скриптом это? 

Изменено пользователем ian98

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


Ссылка на сообщение
Поделиться на другие сайты
 

ian98 строчка с условием закоменчена для теста, чтобы сразу переодевались. С условием будут переодеваться когда актор не видит нпс и отошёл от них. Она не влияет ни на что, просто красивее смотрится, чем исчезающий и проявляющиеся нпс. А ранг менялся той же функцией сет ранк, её закомментил. 

Я щас не могу посмотреть, что там за таймер, вечером гляну


В беге за рассветом приближаешь свой закат

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


Ссылка на сообщение
Поделиться на другие сайты
 

vader_33 таймер на срабатывания переодевания(уход в оффлайн/онлайн). Их там два. Один на +11000, второй на +8500.

 

Я поставил на +1000, +500 - скрипт практически сразу срабатывает и избавляет игрока от случайного вылета с логом 

stack trace:

0023:004D8F60 XR_3DA.exe, CTheoraSurface::`vftable'()
 
[error][     126]    : Не найден указанный модуль.

или

stack trace:

0023:004D8F60 XR_3DA.exe, CTheoraSurface::`vftable'()

при использовании пда во время срабатывания скрипта. 

Еще попытался снова выдать репутацию. Сменил немного скрипт согласно рекомендациям. 

Сейчас он выглядит так, но не работает. Но и не вылетает, что тоже неплохо. 

  Показать контент

dbg log может и убрать можно бы было, но я боюсь трогать скрипты. Они об меня ломаются.

Изменено пользователем ian98

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


Ссылка на сообщение
Поделиться на другие сайты
 

ian98 дбг лог можно убрать, я убрать забыл. В нет спавне ещё не успевают выйти в онлайн нпс, в дб.сторадж онлайновые только


Дополнено 7 минуты спустя

ian98 насчёт изменения иконки, надо  смотреть скрипт изменения нет-пакета, меняется ли она


В беге за рассветом приближаешь свой закат

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


Ссылка на сообщение
Поделиться на другие сайты
 

del

Изменено пользователем Ruwar

 

  youtube (Показать контент)

 

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


Ссылка на сообщение
Поделиться на другие сайты
 
  В 22.06.2021 в 07:35, ian98 сказал:

при использовании пда во время срабатывания скрипта.

хм, у меня не вылетает


В беге за рассветом приближаешь свой закат

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу