Сповіщення
Очистити все

Легендарний «raii_guard» Line 748


Ранг:
Майстер
Роль:
Гість
Записи:
752
Приєднався:
2 роки тому
 

Особисто в мене він виникав найчастіше за всі, мабуть, разом узяті.

 

Загальне рішення

Вирішення подібних помилок [1] ​​- завдання нетривіальне. Тому їх виправленням слід займатися тільки тим, хто має хоча б базові знання скриптингу.

 

1 варіант

Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line : 748
Description : not enough memory

Помилка [2] [3]

Опис аналогічний 14 варіантам вильоту: script_engine.cpp

Відмінність лише у версії гри, див. рядок File:(в даному випадку: ЗП )

Рішення

Рішення аналогічне 14 варіантам вильоту: script_engine.cpp

Відмінність лише в тому, що використовувати двигун X-Ray Oxygen

 

2 варіант

Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line : 748
Description : ...\gamedata\scripts\xxx.script:<номер_рядка>: attempt to index global 'ім'я_функції|ім'я_файлу' (a nil value)

Помилка

Проблеми з читанням функції чи файлу.

Підказка скриптеру

Якщо в помилці вказано имя_функции, то гра не може визначити цю функцію у вказаному файлі. Можливі причини:

  1. Функції справді немає.
  2. Ім'я функції написано помилково.
  3. У деяких випадках, функція знаходиться нижче за кодом від місця, де йде її виклик.

Якщо ж у помилці зазначено имя_файла, то файлу не існує (можливо неправильне ім'я файлу), або у зазначеному файлі припущена синтаксична помилка.

 

3 варіант

Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line : 748
Description : ...- cop\gamedata\scripts\ui_si.script:383: attempt to perform arithmetic on a string value
Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line : 748
Description : ...- cop\gamedata\scripts\ui_si.script:383: attempt to compare string with number

Помилка

Спроба виконати в одному зі скриптів арифметичні операції з рядком або порівнювати рядок з числом.

Підказка скриптеру

Можливо, пропущено виклик tostringабо замість операції ..(конкатенація рядків) використовували +(складання чисел).

Якщо нічого пропущено був, то т.к. LUA – мова з динамічною типізацією, цілком можливо, що щось змінило тип змінної.

Можливий і такий варіант вильоту за відсутньої функції:

Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line : 748
Description : ...- cop\gamedata\scripts\ui_si.script:383: attempt to call 'qwe' (a nil value)

Поєднання "несумісних типів" можуть бути й іншими.

Можливо, спроби конкатенації чисел призведуть до схожих вильотів. Наочний приклад:

local a = "name"
local b = 123
local c = a..b

Зчеплення рядків із неабиякою часткою ймовірності в третьому рядку коду - викличе виліт. Число 25- це рядок, тобто. не слово. Тому необхідно перевести число в рядок.

 

4 варіант

Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line : 748
Description : ...lker - Поклик Прип'яті\gamedata\scripts\utils.script:355: attempt to perform arithmetic on local 't_pos' (a nil value)

Помилка

Опис аналогічний 3 варіантам вильоту: script_engine.cpp

Відмінність лише у версії гри, див. рядок File:(у разі: ЗП )

Підказка скриптеру

Аналогічно 3 варіантам вильоту: script_engine.cpp

 

5 варіант

Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line : 748
Description : Відсутній такий оператор

Помилка

Опис аналогічний 9 варіантам вильоту: script_engine.cpp

Відмінність лише у версії гри, див. рядок File:(у разі: ЗП )

Підказка скриптеру

Аналогічно 9 варіантам вильоту: script_engine.cpp

 

6 варіант

Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line : 748
Description : C stack overflow

Помилка [4]

Опис аналогічно 8 варіантів, вильоту: script_engine.cpp

Відмінність лише у версії гри, див. рядок File:(у разі: ЗП )

Підказка скриптеру

Аналогічно 8 варіантів, вильоту: script_engine.cpp

 

7 варіант

Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line : 748
Description : ...- call of pripyat\gamedata\scripts\xr_logic.script:623: attempt to call field '?' (a nil value)

Помилка [5]

Опис аналогічний 12 варіантам вильоту: script_engine.cpp

Відмінність лише у версії гри, див. рядок File:(у разі: ЗП )

Підказка скриптеру

Аналогічно 12 варіантам вильоту: script_engine.cpp

 

8 варіант

Expression : !m_error_code
Function : raii_guard::~raii_guard
File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line : 748
Description : ...er - Поклик Прип'яті\gamedata\scripts\sim_board.script:233: attempt to call method 'create_npc' (a nil value)

Помилка [6] [7] [8] [9]

Опис аналогічний 2 варіантам вильоту: script_engine.cpp

Відмінність лише у версії гри, див. рядок File:(у разі: ЗП )

Підказка скриптеру

Аналогічно 2 варіантам вильоту: script_engine.cpp


   
Цитата