Ошибка attempt to call global 'isSampAvailable' (a nil value)

mmrv

Известный
Автор темы
9
2
Здравствуйте, хочу написать простенький скрипт на Lua, но выбивает ошибку.
test.lua:4: attempt to call global 'isSampAvailable' (a nil value)

Код:
require "moonloader"

function main()
    while not isSampAvailable() do wait(100) end

    print("MoonLoader загружен!")

    if isSampLoaded() then
        sampAddChatMessage("салам", 0xFFFFFF)
    else
        print("SAMP не загружен!")
    end

    while true do
        wait(0)
    end
end
 

mmrv

Известный
Автор темы
9
2
установи sampfuncs
1743336235876.png

Он есть
 

zytrix

Потрачен
3
1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
fix:
function main()
    repeat wait(0) until isSampAvailable()
    sampAddChatMessage("moonloader zagruzhen", -1)
    if isSampAvailable() then
        sampAddChatMessage("samp zagruzhen", -1)
    else
        sampAddChatMessage("samp ne zagruzhen", -1)
    end
end
 

kyrtion

Известный
1,361
524
fix:
function main()
    repeat wait(0) until isSampAvailable()
    sampAddChatMessage("moonloader zagruzhen", -1)
    if isSampAvailable() then
        sampAddChatMessage("samp zagruzhen", -1)
    else
        sampAddChatMessage("samp ne zagruzhen", -1)
    end
end
Ты не понял о чем идет речь. ТС спрашивает почему что функция isSampAvailable() еще не создали.
А теперь посмотрите в ошибке о чем пишет: attempt to call global 'isSampAvailable' (a nil value)
Оказывается что isSampAvailable еще не создавали. MoonLoader загружает после запуска сампа, с скриптом должно работать без каких-то сбоев.
Но видимо там нет SAMPFUNCS, или взял с подделкой, или реверсирован, либо что-то поменял - поэтому плагин просто повредился
А теперь ответы дали, дальше нет смысла писать))
 

mrtk

Известный
11
0
Ты не понял о чем идет речь. ТС спрашивает почему что функция isSampAvailable() еще не создали.
А теперь посмотрите в ошибке о чем пишет: attempt to call global 'isSampAvailable' (a nil value)
Оказывается что isSampAvailable еще не создавали. MoonLoader загружает после запуска сампа, с скриптом должно работать без каких-то сбоев.
Но видимо там нет SAMPFUNCS, или взял с подделкой, или реверсирован, либо что-то поменял - поэтому плагин просто повредился
А теперь ответы дали, дальше нет смысла писать))
Такая же проблема и у меня сейчас, сф установлен

Вот логи
 

Вложения

  • moonloader.log
    1.6 KB · Просмотры: 1

moreveal

Известный
987
715
мунлоадер не станет регать samp* функции, если:
1. по адресу 0x4667DB не байт E9 (не установлен/не инициализирован CLEO)
2. по адресу 0x561931 не байт E9 (не установлен/не инициализирован SAMPFUNCS)

E9 - JMP rel32, т.е. проверяется был ли установлен хук на вышеупомянутые адреса, если CLEO/SAMPFUNCS почему-то этот хук туда не установили значит они вовсе не работают

Решение: переустановить CLEO и SAMPFUNCS, соответственно, если и это не сработает - конфликт версий о котором никому не известно 😐

C++:
void __cdecl sub_10038E80(int (*a1)())
{
  sub_100335A0(a1);
  sub_1007C4C0(a1);
  sub_100DD120(a1);
  sub_100FE340(a1);
  sub_10108220(a1);
  sub_1011A960(a1);
  sub_100418D0(a1);
  if ( check_cleo() )
  {
    registerCleoFunctions(a1);
    if ( check_sampfuncs() )
    {
      registerSampFunctions(a1);                // samp*
      registerAnotherSampFunctions(a1);         // registercommand, raknet, etc.
    }
  }
}

bool check_cleo()
{
  bool result; // al

  if ( byte_101D7E2D )
    return byte_101D7E2C;
  result = safe_memcmp((char *)0x4667DB, (int)&dword_101897A0, 1u);
  byte_101D7E2C = result;
  byte_101D7E2D = 1;
  return result;
}
bool check_sampfuncs()
{
  bool result; // al

  if ( sf_already_checked )
    return sf_exists;
  result = safe_memcmp((char *)0x561931, (int)&dword_101897A0, 1u);
  sf_exists = result;
  sf_already_checked = 1;
  return result;
}
 
Последнее редактирование:

mrtk

Известный
11
0
мунлоадер не станет регать samp* функции, если:
1. по адресу 0x4667DB не байт E9 (не установлен/не инициализирован CLEO)
2. по адресу 0x561931 не байт E9 (не установлен/не инициализирован SAMPFUNCS)

E9 - JMP rel32, т.е. проверяется был ли установлен хук на вышеупомянутые адреса, если CLEO/SAMPFUNCS почему-то этот хук туда не установили значит они вовсе не работают

Решение: переустановить CLEO и SAMPFUNCS, соответственно, если и это не сработает - конфликт версий о котором никому не известно 😐

C++:
void __cdecl sub_10038E80(int (*a1)())
{
  sub_100335A0(a1);
  sub_1007C4C0(a1);
  sub_100DD120(a1);
  sub_100FE340(a1);
  sub_10108220(a1);
  sub_1011A960(a1);
  sub_100418D0(a1);
  if ( check_cleo() )
  {
    registerCleoFunctions(a1);
    if ( check_sampfuncs() )
    {
      registerSampFunctions(a1);                // samp*
      registerAnotherSampFunctions(a1);         // registercommand, raknet, etc.
    }
  }
}

bool check_cleo()
{
  bool result; // al

  if ( byte_101D7E2D )
    return byte_101D7E2C;
  result = safe_memcmp((char *)0x4667DB, (int)&dword_101897A0, 1u);
  byte_101D7E2C = result;
  byte_101D7E2D = 1;
  return result;
}
bool check_sampfuncs()
{
  bool result; // al

  if ( sf_already_checked )
    return sf_exists;
  result = safe_memcmp((char *)0x561931, (int)&dword_101897A0, 1u);
  sf_exists = result;
  sf_already_checked = 1;
  return result;
}
можете посоветовать версию клео и сф которые у вас работают с луа?

я просто скачал все самое новое с этого форума, все последних версий, видимо это баговое Г не работает вместе)
 

moreveal

Известный
987
715
можете посоветовать версию клео и сф которые у вас работают с луа?

я просто скачал все самое новое с этого форума, все последних версий, видимо это баговое Г не работает вместе)
у меня то же самое, ты уверен что скачанные клео и сф работают? открывается ли консоль (~), пишет ли о клео в главном меню и т.п.