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

Сообщения от Скрипты

В ответ пользователю Азгалор
Аватар пользователя
5 лет назад
Спасибо вам огромное (только сегодня смогла проверить)
С уважением, ваша Дарина)
Мои сценарии:  
Лесной хранитель (лесной союз)
Путь к свету (чернокнижник)
Фалькон Сокол (орден порядка)
Инквизиция Ариоха (некроманты) - готово на 90%
Аватар пользователя
5 лет назад

function RandomCircleSpawnCoords(x,y,r,fl)
  if x and y and r then
    if not fl then
      flooor = GROUND
    end
    local t = {}
    local n = 1
    x = x-r
    y = y-r
    r = r+r
    for i = x, r do
      print(i)
      for j = y, r do
        print(j)
        if (i - x)*(i - x) + (j - y)*(j - y) <= r*r then
          t[n] = {x1, y1, flooor}
          n = n + 1
        end
      end
    end
    print('Ìàññèâ: ', t)
    print('Äëèíà: ', length(t))
    local c = t[random(length(t))+1]
    return c[1], c[2], c[3]
  end
end

RCSC = RandomCircleSpawnCoords

Массив t не заполняется, циклы i и j не крутятся совсем. В чём может быть проблема?

С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
В ответ пользователю }{0TT@6bI4
Аватар пользователя
5 лет назад
}{0TT@6bI4

function RandomCircleSpawnCoords(x,y,r,fl)
  if x and y and r then
    if not fl then
      flooor = GROUND
    end
    local t = {}
    local n = 1
    x = x-r
    y = y-r
    r = r+r
    for i = x, r do
      print(i)
      for j = y, r do
        print(j)
        if (i - x)*(i - x) + (j - y)*(j - y) <= r*r then
          t[n] = {x1, y1, flooor}
          n = n + 1
        end
      end
    end
    print('Ìàññèâ: ', t)
    print('Äëèíà: ', length(t))
    local c = t[random(length(t))+1]
    return c[1], c[2], c[3]
  end
end

RCSC = RandomCircleSpawnCoords

Массив t не заполняется, циклы i и j не крутятся совсем. В чём может быть проблема?

RCSC = RandomCircleSpawnCoords
прям так строчка и написана или скопировал не все? если так и написано, то очевидно, почему не работает)
Нет войне.
Аватар пользователя
5 лет назад
Да, так и написано. Это я алиас для функции создал; вызываю RCSC(14,14,2), например.
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
Аватар пользователя
5 лет назад
Не хочу показаться надоедливым, но снова проблема с потоком:

function Diff_setup()
slozhnost = GetDifficulty();
if slozhnost == DIFFICULTY_EASY  then
print("easy");
startThread(sloz_easy);
elseif slozhnost == DIFFICULTY_NORMAL then
print("norm");
startThread(sloz_norm);
elseif slozhnost == DIFFICULTY_HARD then
print("hard");
startThread(sloz_hard);
elseif slozhnost == DIFFICULTY_HEROIC then
print("hero");
startThread(sloz_hero);
end;
end;

function sloz_easy()
if (GetDate( DAY ) == 31) then
SetRegionBlocked("blok", nil, 4);
end;
end;

function sloz_norm()
if (GetDate( DAY ) == 28) then
SetRegionBlocked("blok", nil, 4);
end;
end;

function sloz_hard()
if (GetDate( DAY ) == 14) then
SetRegionBlocked("blok", nil, 4);
end;
end;

function sloz_hero()
if (GetDate( DAY ) == 12) then
SetRegionBlocked("blok", nil, 4);
end;
end;

startThread(Diff_setup);

Консоль ругается и выдаёт ошибку.

Вложения 1
1 файл • Общий размер: 14,6 KB
Сценарий: "Наследие прошлого"
Кампании:
"
Новый порядок", "Серый Альянс""Поиски Истины"

Трейлер №2 кампании "Дыхание Пустоты": https://www.youtube.com/watch?v=XkHKXk5BctA&ab_channel=%D0%90ndrei_21

В ответ пользователю Andrei_21
Аватар пользователя
5 лет назад
Andrei_21
Не хочу показаться надоедливым, но снова проблема с потоком:

function Diff_setup()
slozhnost = GetDifficulty();
if slozhnost == DIFFICULTY_EASY  then
print("easy");
startThread(sloz_easy);
elseif slozhnost == DIFFICULTY_NORMAL then
print("norm");
startThread(sloz_norm);
elseif slozhnost == DIFFICULTY_HARD then
print("hard");
startThread(sloz_hard);
elseif slozhnost == DIFFICULTY_HEROIC then
print("hero");
startThread(sloz_hero);
end;
end;

function sloz_easy()
if (GetDate( DAY ) == 31) then
SetRegionBlocked("blok", nil, 4);
end;
end;

function sloz_norm()
if (GetDate( DAY ) == 28) then
SetRegionBlocked("blok", nil, 4);
end;
end;

function sloz_hard()
if (GetDate( DAY ) == 14) then
SetRegionBlocked("blok", nil, 4);
end;
end;

function sloz_hero()
if (GetDate( DAY ) == 12) then
SetRegionBlocked("blok", nil, 4);
end;
end;

startThread(Diff_setup);

Консоль ругается и выдаёт ошибку.

Скопировал код в консоль с добавлением @ в начале и он исполнился - т. е. как минимум напечатал уровень сложности.
Если это не весь код, то ошибка, полагаю, в чём-то другом.
К слову, код, скорее всего, работает не так, как вы от него ожидаете.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4
Аватар пользователя
5 лет назад
Ясно. Не исключаю, что напортачил где-то раньше. Спасибо за помощь, RedHeavenHero.
Сценарий: "Наследие прошлого"
Кампании:
"
Новый порядок", "Серый Альянс""Поиски Истины"

Трейлер №2 кампании "Дыхание Пустоты": https://www.youtube.com/watch?v=XkHKXk5BctA&ab_channel=%D0%90ndrei_21

Аватар пользователя
5 лет назад
Автор
К слову, код, скорее всего, работает не так, как вы от него ожидаете.
Ну да. Код выполняется однократно в первый день, выдаёт false на проверки даты и заканчивается. Если только там ещё чего-нибудь нет.
 

К А
Стикеры GBF в Telegram
В ответ пользователю Ment
Аватар пользователя
5 лет назад
Ment
Ну да. Код выполняется однократно в первый день, выдаёт false на проверки даты и заканчивается. Если только там ещё чего-нибудь нет.

Подозревал такой исход событий. Ну ничего, переделаю по-другому.
Сценарий: "Наследие прошлого"
Кампании:
"
Новый порядок", "Серый Альянс""Поиски Истины"

Трейлер №2 кампании "Дыхание Пустоты": https://www.youtube.com/watch?v=XkHKXk5BctA&ab_channel=%D0%90ndrei_21

Аватар пользователя
5 лет назад
RedHeavenHero, а не подскажете такой момент? Если переписать функцию Errormessage например даже так:
errmsg = _ERRORMESSAGE
function _ERRORMESSAGE(msg)
errmsg(msg)
end

И в консоли вызвать MessageBox(''), то вместо обычной ошибки "Empty message text!" происходит вылет игры. Давным-давно вы помогали дурману скрыть ошибку attmept to call a nil value; таким же методом я хочу отловить ошибку отсутствия текстового файла, т.е. определять, существует ли он. Буду признателен за помощь
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
В ответ пользователю }{0TT@6bI4
Аватар пользователя
5 лет назад
Здравствуйте, дорогие картостроители.  Можете подсказать скрипт, который убирает существо с карты?
С уважением, ваша Дарина)
Мои сценарии:  
Лесной хранитель (лесной союз)
Путь к свету (чернокнижник)
Фалькон Сокол (орден порядка)
Инквизиция Ариоха (некроманты) - готово на 90%
В ответ пользователю Flame Crystal
Аватар пользователя
5 лет назад
Flame Crystal
Здравствуйте, дорогие картостроители.  Можете подсказать скрипт, который убирает существо с карты?

RemoveObject("скриптовое имя монстра");
Сценарий: "Наследие прошлого"
Кампании:
"
Новый порядок", "Серый Альянс""Поиски Истины"

Трейлер №2 кампании "Дыхание Пустоты": https://www.youtube.com/watch?v=XkHKXk5BctA&ab_channel=%D0%90ndrei_21

В ответ пользователю Andrei_21
Аватар пользователя
5 лет назад
Andrei_21

RemoveObject("скриптовое имя монстра");
Спасибо большое)
С уважением, ваша Дарина)
Мои сценарии:  
Лесной хранитель (лесной союз)
Путь к свету (чернокнижник)
Фалькон Сокол (орден порядка)
Инквизиция Ариоха (некроманты) - готово на 90%
В ответ пользователю }{0TT@6bI4
Аватар пользователя
5 лет назад
}{0TT@6bI4
RedHeavenHero, а не подскажете такой момент? Если переписать функцию Errormessage например даже так:
errmsg = _ERRORMESSAGE
function _ERRORMESSAGE(msg)
errmsg(msg)
end

И в консоли вызвать MessageBox(''), то вместо обычной ошибки "Empty message text!" происходит вылет игры. Давным-давно вы помогали дурману скрыть ошибку attmept to call a nil value; таким же методом я хочу отловить ошибку отсутствия текстового файла, т.е. определять, существует ли он. Буду признателен за помощь
По какой-то причине игра вылетает, когда пытается вызвать _ERRORMESSAGE, который не является встроенной С-функцией. То есть ее можно только переназначить на другую уже существующую, например, print или StopTrigger (последняя, не смотря на свое название, ничего не делает по моим наблюдениям).
Если надо выловить ошибку, используйте errorHook.
Карты для Героев Меча и Магии 5
Одиночные: Завеса срывается, Посол, Последний рывок, Эхо Пустоты
Кампания: Империя Единорога

Существа NCF
Орден Порядка: 1
Нейтралы: 1 2 3 4

Статистика

Приветствуем новейшего участника: recijeb