Execution error variable get

[GMS] Ошибки раннера и компилятора (описание и причины)
MusNik

KeeVee Games
GM Pro user
*

Репутация: 733
Offline Offline

Пол: Мужской
Russian Federation Russian Federation

Награды:
3000 сообщений!За постоянность! [200 дней на форуме]За лояльность! [+500 репутации]За отличную игру Rock painting story!За помощь в развитии форума!За отличные статьи по Game Maker!
API: GameMaker Studio 2
Сообщений: 3252

WWW


Когда-то давно меня посещала мысль собрать команду для перевода справки GMS, но сознав, что все ленивые ж вряд ли её соберу, стал потихоньку (очень) переводить её.

Одним из наиболее важных аспектов, я считаю ошибки. Те, которые делают все, и которые далеко не всем понятны. Ниже перевод разделов «Compile Errors» и «Runner Errors» из справки GameMaker: Studio с примечаниями.


Ошибки компиляции

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

Во время создания игры, очень легко забыть объявить переменную, или неправильно использовать переменную, строкового типа, как вещественную и т.д. .. Эти ошибки будут найдены GameMaker: Studio и игра/компиляция остановится. Откроется окно с ошибкой, как и где она была обнаружена, так как показано на изображении ниже:

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

P.S. Также эти ошибки могут показываться в редакторе кода, или в меню «Check all scripts».

>Unknown function or script

>Unable to find script

>Execute script action is not bound to a script

>Failed to parse action_execute_script() — incorrect number of arguments received

>Trying to set a read only variable

>Constant is invalid here

>Malformed … statement

>Keyword Until expected

>If requires a then statement

>Statement in a switch MUST appear after case or default

>Break used without context

>Continue used without context

>Calling a function that needs an instance and no instance is available

>Calling a function that needs an «other» and no «other» is available

>Argument naming error, {n} arguments but no reference found to {a}

>Wrong type of arguments for …

>Division by 0

>Modulo by 0

>Cannot compare arguments

>Symbol … expected

>Assignment operator expected

>Unexpected symbol in expression

>Only 1 or 2 dimensional arrays are supported

>Variable name expected


Ошибки раннера

Здесь вы можете увидеть ошибки, которые могут появится у раннера виртуальной машины

Даже после проверки синтаксиса в редакторе кода, а затем проверки самим компилятором, могут быть ещё случаи, когда что-то может пойти не так. В большинстве случаев это вызовет VM (Virtual Machine) ошибки, которые выглядят так:

VM ошибки, как правило, более серьезны, чем ошибки компиляции, поскольку это означает, что что-то серьезно не в порядке с вашим кодом, что ни редактор, ни компилятор не смогли обнаружить, и в принципе, Вы должны обращать внимание на все эти ошибки. Когда это происходит, вы можете использовать кнопку «Копировать» на всплывающем сообщении и скопировать ошибки в буфер обмена, которые затем можно вставить в текстовый файл (или еще куда) для дальнейшего использования. Возможными ошибками в VM раннере могут быть:

Примечание: Все ошибки раннера будут пытаться указать на объект или скрипт, который привел к краху.

Преобразования

  • DoConv :: Execution Error. Это означает ошибку в преобразовании одного типа данных в другой.

Прибавление

  • DoAdd :: Execution Error. Что-то пошло не так при использовании сложения (+) в выражении.

Умножение

  • DoMul :: Execution Error. Что-то пошло не так при использовании умножения (*) в выражении.

Вычитание

  • DoSub :: Execution Error. Что-то пошло не так при использовании вычитания (-) в выражении.
  • DoSub :: Execution Engine — Cannot operate on string type. Вы пытаетесь отнять неправильный тип переменных (например ,вычесть строку из вещественного).

Деление

  • DoDiv :: Execution Error. Что-то пошло не так при использовании деления (/ или div) в выражении.
  • DoDiv :: Execution Engine — Cannot operate on string type. Вы пытаетесь разделить неправильный тип переменных (например, разделить строку на вещественное).
  • DoDiv :: Divide by zero. Вы пытаетесь делить на ноль.

Остаток

  • DoMod :: Execution Error. Что-то пошло не так при использовании деления по модулю (mod) в выражении.
  • DoMod :: Execution Engine — Cannot operate on string type. Вы пытаетесь разделить по модулю неправильный тип переменных (например, разделить строку на вещественное).

Побитовое И (AND)

  • DoAnd :: Execution Error. Что-то пошло не так при использовании «&» в выражении.
  • DoAnd :: Execution Engine — Cannot operate on string type. Вы пытаетесь использовать «&» с неправильным типом переменных (например, строку и вещественное).

Побитовое ИЛИ (OR)

  • DoOr :: Execution Error. Что-то пошло не так при использовании «|» в выражении.
  • DoOr :: Execution Engine — Cannot operate on string type. Вы пытаетесь использовать «|» с неправильным типом переменных (например, строку и вещественное).

Побитовое исключающее ИЛИ (XOR)

  • DoXor :: Execution Error. Что-то пошло не так при использовании «^» в выражении.
  • DoXor :: Execution Engine — Cannot operate on string type. Вы пытаетесь использовать «^» с неправильным типом переменных (например, строку и вещественное).

Битовый сдвиг влево

  • DoShl :: Execution Error. Что-то пошло не так при использовании сдвига влево «<<» для величины.
  • DoShl :: Execution Engine — Cannot operate on string type. Вы пытаетесь использовать сдвиг влево с неправильным типом переменных (например, пытаясь «сдвинуть» строку).

Битовый сдвиг вправо

  • DoShr :: Execution Error. Что-то пошло не так при использовании сдвига влево «>>» для величины.
  • DoShr :: Execution Engine — Cannot operate on string type. Вы пытаетесь использовать сдвиг вправо с неправильным типом переменных (например, пытаясь «сдвинуть» строку).

Отрицательные числа (-)

  • DoNeg :: Execution Error. Вы пытаетесь превратить переменную в отрицательную, когда её тип не позволяет проводить такие операции.

Отрицание (not)

  • DoNot :: Execution Error. Вы пытаетесь отрицать переменную, когда её тип не позволяет проводить такие операции.

Stack Push

  • Push :: Execution Error — Variable Index out of range (var). Значение переменной превысило максимальное разрешённое в раннере
  • Push :: Execution Error — Variable Get (var). Данная переменная не определена или неизвестна.

Stack Pop

  • Pop :: Execution Error — Variable Index out of range (var). Значение переменной превысило максимальное разрешённое в раннере
  • Pop :: Execution Error — Variable Get (var). Данная переменная не определена или неизвестна.

With

  • Cannot use global in with statement. Вы пытались использовать глобальные переменные (которые не относятся к какому-либо id экземпляра) с «with» оператором.
  • Cannot use local in with statement.  Вы пытались использовать локальные переменные, помеченные «var», (которые не относятся к какому-либо id экземпляра) с «with» оператором.

Основные

  • DoCall :: Execution Engine type error. Это неизвестная ошибка в виртуальной машине. Вам следует подать отчет о баге если она произойдет
  • Stack Overflow… Переполнение стека происходит, когда слишком много памяти используется при вызове стека и когда игра пытается использовать больше пространства, чем доступно на стеке (то есть, когда он пытается получить доступ к памяти за пределами границ стека, что является по существу переполнением буфера). Стек переполнился, в результате сбоя программы. Перезагрузите компьютер и GameMaker: Studio, и если ошибка не устранится, пожалуйста, свяжитесь с поддержкой и / или сообщите об ошибке (как описано выше).

При написании использовалась справка GMS,
а также тема, об ошибках прошлых версий.
Особые благодарности Hummer и Dmitry.
Спасибо за внимание, МусНик

That looks OK.
What’s the full code in the Step Event?

step event
/// Displacement

if distance_to_object(obj_player) < 200{

VelocidadHorizontal = 0;

}

// Horizontal colision

repeat (abs(VelocidadHorizontal)){

// cuesta arriba
if (place_meeting(x + sign(VelocidadHorizontal),y, obj_roca))&& place_meeting(x+ sign(VelocidadHorizontal),y -1, obj_roca)&& !place_meeting(x+ sign(VelocidadHorizontal),y -2, obj_roca) y -= 2;
if (place_meeting(x + sign(VelocidadHorizontal),y, obj_roca))&& place_meeting(x+ sign(VelocidadHorizontal),y -1, obj_roca)&& !place_meeting(x+ sign(VelocidadHorizontal),y -3, obj_roca) y -= 3;
if (place_meeting(x + sign(VelocidadHorizontal),y, obj_roca))&& place_meeting(x+ sign(VelocidadHorizontal),y -1, obj_roca)&& !place_meeting(x+ sign(VelocidadHorizontal),y -4, obj_roca) y -= 4;
if (place_meeting(x + sign(VelocidadHorizontal),y, obj_roca))&& place_meeting(x+ sign(VelocidadHorizontal),y -1, obj_roca)&& !place_meeting(x+ sign(VelocidadHorizontal),y -1, obj_roca) y -= 1;
else if (place_meeting(x + sign(VelocidadHorizontal),y, obj_roca))&& !place_meeting(x+ sign(VelocidadHorizontal),y -1, obj_roca) y—;

//cuesta abajo
if !place_meeting(x+ sign(VelocidadHorizontal), y, obj_roca) && !place_meeting(x + sign(VelocidadHorizontal), y +1, obj_roca) && !place_meeting(x + sign(VelocidadHorizontal), y +2, obj_roca)&& place_meeting(x + sign(VelocidadHorizontal),y + 3, obj_roca) y += 2;
if !place_meeting(x+ sign(VelocidadHorizontal), y, obj_roca) && !place_meeting(x + sign(VelocidadHorizontal), y +2, obj_roca) && !place_meeting(x + sign(VelocidadHorizontal), y +3, obj_roca)&& place_meeting(x + sign(VelocidadHorizontal),y + 4, obj_roca) y += 3;
if !place_meeting(x+ sign(VelocidadHorizontal), y, obj_roca) && !place_meeting(x + sign(VelocidadHorizontal), y +3, obj_roca) && !place_meeting(x + sign(VelocidadHorizontal), y +4, obj_roca)&& place_meeting(x + sign(VelocidadHorizontal),y + 5, obj_roca) y += 4;
if !place_meeting(x+ sign(VelocidadHorizontal), y, obj_roca) && !place_meeting(x + sign(VelocidadHorizontal), y +1, obj_roca) && !place_meeting(x + sign(VelocidadHorizontal), y +2, obj_roca)&& place_meeting(x + sign(VelocidadHorizontal),y + 3, obj_roca) y += 1;
else if !place_meeting(x+ sign(VelocidadHorizontal), y, obj_roca) && !place_meeting(x + sign(VelocidadHorizontal), y +1, obj_roca) && place_meeting(x + sign(VelocidadHorizontal),y +2, obj_roca) y++;

if (!place_meeting(x + sign (VelocidadHorizontal), y, obj_roca))
{

x += sign (VelocidadHorizontal);
}
else
{
VelocidadHorizontal = 0;
Dir *= -1;
break;
}
}
// ====================

if Ataca = false{
if Camina = false
{
if (obj_player.x)> x
{

sprite_index = spr_mercenary_IdleR;

}
else
{

sprite_index = spr_mercenary_IdleL;

}
}
else
{

if VelocidadHorizontal > 0
{
VelocidadHorizontal = Dir * MoveSpeed ;
VelocidadVertical += Grav ;
sprite_index = spr_MercenaryP;
image_speed = 1;
}
else
{
sprite_index = spr_MercenaryP2;
image_speed = 1;
}
}
}
// acciones con el jugador————-
if distance_to_object(obj_player) < 200

{

//mp_potential_step_object(objetP.x,y,2.5,objetP);

if Estado = 0{
Estado = 1;
alarm[0] = 25;
}
}

// gravedad ————
//if place_meeting(x,y +1, obj_roca)
if place_free(x,y +1)
{
Grav = 1;
}
else
{
Grav = 0;
}

Помогите с переменными,пожалуйста

Major_Tom Дата: Понедельник, 13 Января 2014, 11:08 | Сообщение # 1

постоянный участник

Сейчас нет на сайте

В obj_controller ,в Create я пишу rope=0
При нажатии на obj_next_room rope=1
Дальше делаю вычисления
if rope>=1 room_goto(LVL15)
if rope<=1 room_goto(LVL14)
Выдает ошибку.Помогите,пожалуйста…
Может дело в том,что одна переменная играет роль в двух разных объектах?


MajorTom Blog

Сообщение отредактировал Kirill999Понедельник, 13 Января 2014, 11:09

LunarPixel Дата: Понедельник, 13 Января 2014, 11:12 | Сообщение # 2

старожил

Сейчас нет на сайте

if rope>=1 room_goto(LVL15)
if rope<=1 room_goto(LVL14)

Оба условия срабатывают, если переменная равна 1, в какую комнату переходить при таких условиях!?



Major_Tom Дата: Понедельник, 13 Января 2014, 12:43 | Сообщение # 3

постоянный участник

Сейчас нет на сайте

Цитата LunarPixel ()

if rope>=1 room_goto(LVL15) if rope<=1 room_goto(LVL14) Оба условия срабатывают, если переменная равна 1, в какую комнату переходить при таких условиях!?

Ок,я еще пробовал без » if rope<=1 room_goto(LVL14) «,все равно не рабтала.


MajorTom Blog

LunarPixel Дата: Понедельник, 13 Января 2014, 12:45 | Сообщение # 4

старожил

Сейчас нет на сайте

Kirill999, тогда кинь сюда сообщение об ошибке, чтобы понятнее было в чем проблема.


Major_Tom Дата: Понедельник, 13 Января 2014, 13:35 | Сообщение # 5

постоянный участник

Сейчас нет на сайте

Цитата LunarPixel ()

Kirill999, тогда кинь сюда сообщение об ошибке, чтобы понятнее было в чем проблема.

FATAL ERROR in
action number 1
of Mouse Event for Left Released
for object o_12:

Push :: Execution Error — Variable Get -1.rope(100000, -1)
at gml_Object_o_12_LeftButtonReleased_1 (line 1) — if rope>=2 room_goto(LVL15)
Это ошибка на новый код.
Вот собственно сам код

Код

if rope>=2 room_goto(LVL15)
if rope<=1 room_goto(LVL14)



MajorTom Blog

Raven84 Дата: Понедельник, 13 Января 2014, 14:18 | Сообщение # 6

старожил

Сейчас нет на сайте

Kirill999, Что-то непонятное.У тебя ошибка в объекте o_12 в событии отпускания левой кнопки мыши в первой строчке кода.Я не знаю,но может ошибку выдает потому,что синтаксис кода не правильный.Попробуй так:

Код

if rope>=2 {room_goto(LVL15)}
if rope<=1 {room_goto(LVL14)}

Но я не уверен,что это поможет.Точно не знаю обязательны ли скобки,просто ни разу без них не писал…

Добавлено (13.01.2014, 14:18)
———————————————
По идее ты все же должен ограничивать начало и конец следствия выполнения условия и они нужны.



Super Knight Story (в разработке)
Idolzzz — игра доступна в Steam и Play Market
Oliver’s Adventures in the Fairyland

Сообщение отредактировал Raven84Понедельник, 13 Января 2014, 14:19

rgs_haker Дата: Понедельник, 13 Января 2014, 14:30 | Сообщение # 7

постоянный участник

Сейчас нет на сайте

Kirill999, совершено непонятно что ты вообще хочеш добиться, но вот я недавно для своего проэкта делал
в старт гейм создаеш глоб.пер
global.item = 0
далее при выходе из пройденного уровня по нажатию мишей на кнопке уровень пройден меняеш переменую на
global.item = 1
и наконец в obj_controller или еше гдето где тебе надо проверка и запуск следушего уровня
if global.item > 1 room_goto(room1)
if global.item > 2 room_goto(room2)
if global.item > 3 room_goto(room3)
if global.item > 4 room_goto(room4)

вот как то так



_____

Major_Tom Дата: Понедельник, 13 Января 2014, 14:41 | Сообщение # 8

постоянный участник

Сейчас нет на сайте

Цитата Raven84 ()

Kirill999, Что-то непонятное.У тебя ошибка в объекте o_12 в событии отпускания левой кнопки мыши в первой строчке кода.Я не знаю,но может ошибку выдает потому,что синтаксис кода не правильный.Попробуй так: Кодif rope>=2 {room_goto(LVL15)} if rope<=1 {room_goto(LVL14)} Но я не уверен,что это поможет.Точно не знаю обязательны ли скобки,просто ни разу без них не писал… Добавлено (13.01.2014, 14:18) ——————————————— По идее ты все же должен ограничивать начало и конец следствия выполнения условия и они нужны.

Не получается
FATAL ERROR in
action number 1
of Mouse Event for Left Released
for object o_12:

Push :: Execution Error — Variable Get -1.rope(100000, -1)
at gml_Object_o_12_LeftButtonReleased_1 (line 1) — if rope>=2 {room_goto(LVL15)



MajorTom Blog

Raven84 Дата: Понедельник, 13 Января 2014, 14:55 | Сообщение # 9

старожил

Сейчас нет на сайте

Kirill999, Ну я даже не знаю! Если бы скинул исходник,я бы в миг думаю разобрался.Но проблема я думаю точно не в этом участке кода.Он верен с точки зрения написания.Логика где-то страдает,какие-то несоответсвия где-то значит есть…

Добавлено (13.01.2014, 14:48)
———————————————
Kirill999, У тебя в объекте o_12 переменная rope как и где задается и есть ли она там вообще? Может эта переменная от другого объекта? Тогда нужно сделать ее глобальной.

Добавлено (13.01.2014, 14:53)
———————————————
Судя по топику темы:

Цитата

В obj_controller ,в Create я пишу rope=0
При нажатии на obj_next_room rope=1

У тебя и правда нужна глобальная переменная.Ведь ты задаешь ее в объектах obj_controller и obj_next_room.А проверка судя по ошибке идет в объекте o_12 !!!

Добавлено (13.01.2014, 14:54)
———————————————
Просто попробуй rope везде поменять (во всех объектах где она встречается и задается) на global.rope

Добавлено (13.01.2014, 14:55)
———————————————
Я конечно понятия не имею без полного кода чего ты хочешь добиться и в чем проблема,но думаю именно в этом. smile



Super Knight Story (в разработке)
Idolzzz — игра доступна в Steam и Play Market
Oliver’s Adventures in the Fairyland

Сообщение отредактировал Raven84Понедельник, 13 Января 2014, 14:57

Major_Tom Дата: Понедельник, 13 Января 2014, 16:01 | Сообщение # 10

постоянный участник

Сейчас нет на сайте

Цитата Kirill999 ()

Kirill999, совершено непонятно что ты вообще хочеш добиться, но вот я недавно для своего проэкта делал в старт гейм создаеш глоб.пер global.item = 0 далее при выходе из пройденного уровня по нажатию мишей на кнопке уровень пройден меняеш переменую на global.item = 1 и наконец в obj_controller или еше гдето где тебе надо проверка и запуск следушего уровня if global.item > 1 room_goto(room1) if global.item > 2 room_goto(room2) if global.item > 3 room_goto(room3) if global.item > 4 room_goto(room4) вот как то так

Спасибо

Цитата Raven84 ()

Kirill999, Ну я даже не знаю! Если бы скинул исходник,я бы в миг думаю разобрался.Но проблема я думаю точно не в этом участке кода.Он верен с точки зрения написания.Логика где-то страдает,какие-то несоответсвия где-то значит есть… Добавлено (13.01.2014, 14:48) ——————————————— Kirill999, У тебя в объекте o_12 переменная rope как и где задается и есть ли она там вообще? Может эта переменная от другого объекта? Тогда нужно сделать ее глобальной. Добавлено (13.01.2014, 14:53) ——————————————— Судя по топику темы: ЦитатаВ obj_controller ,в Create я пишу rope=0 При нажатии на obj_next_room rope=1 У тебя и правда нужна глобальная переменная.Ведь ты задаешь ее в объектах obj_controller и obj_next_room.А проверка судя по ошибке идет в объекте o_12 !!! Добавлено (13.01.2014, 14:54) ——————————————— Просто попробуй rope везде поменять (во всех объектах где она встречается и задается) на global.rope Добавлено (13.01.2014, 14:55) ——————————————— Я конечно понятия не имею без полного кода чего ты хочешь добиться и в чем проблема,но думаю именно в этом.

И тебе спасибо

Цитата LunarPixel ()

Kirill999, тогда кинь сюда сообщение об ошибке, чтобы понятнее было в чем проблема.

Спасибо тоже


MajorTom Blog

  • Страница 1 из 1
  • 1

Usage: gms_self_isguest ( )

Description

Returns whether the player is logged in as a guest.

Related scripts

Replies (18)


Last message on 21 Jan 2023


FATAL ERROR in
action number 1
of Step Event0
for object GMS:

Push :: Execution Error — Variable Get -5.__player_isguest(100468, -1)
at gml_Script_gms_self_isguest (line 1) — return global.__player_isguest;
############################################################################################
———————————————————————————————
stack frame is
gml_Script_gms_self_isguest (line 1)
called from — gml_Script_scrLogin (line 3) — if !gms_self_isguest(){

Hmmm, look like this doesn’t return boolean? What does it return??


Size43

(Administrator)

on
1 Oct 2014, 12:12:14

Seems like the player info hasn’t been received. Try calling the function a little later. When the login callback script is called, it should be available.

What I did is:
gms_login_execute(scrLogin);

And I have tried this in scrLogin:
switch (argument0){
case e_ok:
if gms_self_isguest(){show_message(«Please enter your username and password»; gms_logout();}

What do you mean by I have to call it after calling the scrLogin? because I have

else { a bunch of codes which check if player had a character from server, if no then goto a room to create character, else… } //when player isn’t guest

I just wanted to let the scrLogin manage everything, but it seems like I have to create another object to perform the check for player is guest or not, and player had a character or not, right?
Btw it seems to work fine before I tried to add gms_self_isguest();


Size43

(Administrator)

on
1 Oct 2014, 15:44:31

This seems to be a server-sided bug. I’ve got a fix coming later today :)

Thank you, btw when a player register using my game, does it counts as a referal log in?
I mean, can I earn pixels from that?
I really love your extension, and only if I had spare money to donate, I will. I’m just a student for now, I don’t have credits/debit card, I can’t make money my own, and my laptop has only 1gB of RAM, too low to start a server. So many reason to love your ext :)


Size43

(Administrator)

on
1 Oct 2014, 16:09:22

Just updated the server, the bug should now be fixed. Registering in-game didn’t count as a referral, but it does now. ;)

Please let me know whether the bug is fixed!

FATAL ERROR in
action number 1
of Create Event
for object objGuestCheck:

Push :: Execution Error — Variable Get -5.__player_isguest(100468, -1)
at gml_Script_gms_self_isguest (line 1) — return global.__player_isguest;
##############
———————————————————————————————
stack frame is
gml_Script_gms_self_isguest (line 1)
called from — gml_Object_objGuestCheck_CreateEvent_1 (line 1) — if !gms_self_isguest(){

I eventually tried to use another object to check for guest, still…
Just to ask, does it really return boolean?


Size43

(Administrator)

on
3 Oct 2014, 18:29:49

I think I may know what’s going on. Are you only seeing that error when you’re logging in with an account? Try adding this code right after calling gms_init:

global.__player_isguest = false;

It worked now.

By the way, I had that error when I tried to log in as guest, too( leave username and password blank).

And another thing, everytime gms_self_isguest(); returns true, I must set global.__player_isguest back to false, or it’ll say every other account that logs in after that script is guest.

Just saying this for other users to know. And you should add that to the description, too :)


Size43

(Administrator)

on
3 Oct 2014, 20:08:00

I’ll be fixing this in the next update. (currently I’m aiming to release 1.8 at the end of the month) I won’t update documentation, as I don’t think I should be documenting bugs :)

FATAL ERROR in
action number 1
of Step Event0
for object GMS:

Push :: Execution Error — Variable Get -5.__player_isguest(100468, -1)
at gml_Script_gms_self_isguest (line 1) — return global.__player_isguest;
#########
———————————————————————————————
stack frame is
gml_Script_gms_self_isguest (line 1)
called from — gml_Script_scrLogin (line 3) — if !gms_self_isguest(){

Well, just tried, the same.
I’ll try creating an object to check for guest, hope it’ll work.

Btw I can’t log in to my account on the site, but I can reply something, although it doesn’t show that I’m logged in. It’s a pain in the ass since I can’t actually manage my game on the site.


Size43

(Administrator)

on
1 Oct 2014, 12:07:45

I’ve fixed this. Please let me know if you’re still having problems logging in.


xcj233

on
19 Nov 2022, 02:17:30

___________________________________________
############################################################################################
FATAL ERROR in
action number 1
of Step Event0
for object LoginGMS:

global variable name ‘_ls_allow_guest’ index (101211) not set before reading it.
at gml_Object_login_Step_3
############################################################################################
———————————————————————————————
stack frame is
gml_Object_login_Step_3 (line -1)


xcj233

on
19 Nov 2022, 02:32:15

My code looks like this

if gms_info_isconnected()
{
if (gms_game_ini_read(«Game», «CanLoginGuest», «0») == «0»)
gms_show_set_allowguest(0)
else if (gms_game_ini_read(«Game», «CanLoginGuest», «0») == «1»)
gms_show_set_allowguest(1)
if (ini_read_string(«Data», «LoginGuest», «false») == «ture»)
{
if global._ls_allow_guest
{
if ini_key_exists(«Account», «username»)
{
if (gms_login_player_has_account((«Guest_» + ini_read_string(«Account», «username», «»))) == 0)
{
gms_login_set_username((«Guest_» + ini_read_string(«Account», «username», «»)))
gms_login_set_password(«»)
XGms_login_error(«Login Guest…», 65280)
gms_login_execute(-5)
global.finished = 1
}
}
}
else if (!global._ls_allow_guest)
{
XGms_login_error(«This game can’t login»)
global.finished = 1
}
}
}

I put this code in the step event


Size43

(Administrator)

on
17 Dec 2022, 20:20:35

Apologies for the delay. From where did you get global._ls_allow_guest? You shouldn’t have to check that variable at all.


xcj233

on
18 Dec 2022, 01:55:30

Don’t you need it? Then how do you do it?


Size43

(Administrator)

on
21 Jan 2023, 18:37:01

Do what?

Понравилась статья? Поделить с друзьями:
  • Executing grub install dev sda failed this is fatal error
  • Execute error для не синхронизированного блока кода вызван метод синхронизации объектов
  • Execute error 183 rappelz
  • Execute command error gta san andreas
  • Exception access violation java error