Перейти к контенту

Скриптование


Svoboда

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

AndreySol, конечно можно - используй детектор-заглушку...

всё легко

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


Ссылка на сообщение
Краткий readme:

"readme se_stor"

Универсальное хранилище 'se_stor' для STALKER SHoC/CS/SCoP

(по материалам Malandrinus & xStream)

 

Библиотека универсального хранилища данных произвольного размера основана на использовани нет-пакетов объектов.

Используется новый тип объектов специального класса: CUST_ST <-> clsid.custom_storage

и секция для этих обектов: 'custom_storage' (добавляется в конфиги игры).

 

Особенность этого хранилища: потребление Id - один id на 8(16) КB.

Это так?

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

всё легко

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


Ссылка на сообщение

:offtopic:

Табличка СИД-ов однозначно нужна, но существующая табличка сид-ов... - неформат.

Почему? Одна сторилайн...

Формат минимум: не одна сторилайн и (соответственно) не один СИД на объект...

А может я существующую систему сид-ов не допонял... тогда она, конечно, формат :)

 

всё легко

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


Ссылка на сообщение

Вроде-бы - 2^23, не точно, в "Справочнике функций и классов..." это обсуждалось, давно.

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

всё легко

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


Ссылка на сообщение

Ограничение счётчика - давняя тема...

 

Опыт казуала:

-- file _g.script

local count_time_fix = 0
function game_time_fix()
    return game.time() + 4294967295 * count_time_fix
end

 

И понятно, что заменил всё game.time на game_time_fix. Что-то около 40 замен получилось.

Когда пробовал, дошёл... вроде до агропрома -- в игре ничего не менялось, всё работало, не вылетало.

 

Понятно, что всё это, может и ничего не значить -- всё-таки, это опыт "казуального скриптера".

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

всё легко

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


Ссылка на сообщение

Artos.

Помягче, так помягче...

Смысл того сообщения - "Запасной вариант не помешает".

В своё время, при предварительном тесте класса CTime были обнаружены аномалии.

Где гарантии, что все?

И учтут-ли те которые известны?

 

Код.

Приведённый код -- для проверки (на всякий случай, может и не надо было) последствий замены использования game.time() в исходных кодах, в пределах одного цикла этого счётчика, то-есть, в тех кодах и пределах, какие учитывались в скриптах самими разработчиками. Соответственно, кода с обновлением и сохранением той переменной в нём нет. Но разве это проблема?

 

Например, (казуальный) вариант с обновлением переменной:

local count_time_fix = 0
local count_time_save = game.time()
function game_time_fix()
    if count_time_save > game.time() then
        count_time_fix = count_time_fix + 1
    end
    count_time_save = game.time()
    return game.time() + 4294967295 * count_time_fix
end

 

Есть несколько (не всех) готовых функций на замену классу CTime от казуального скриптера, публиковать не буду -- ругаются, если кому надо -- пишите в личку.

 

всё легко

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


Ссылка на сообщение
IQDDD, реально, у меня там предполагается другое число, значительно меньшее... :)

всё легко

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


Ссылка на сообщение

IQDDD, в Сталкере -- 2^23, из-за этого данный алгоритм, прямо в таком виде, скорее всего не подойдёт (непроверено). Поэтому я стал делать альтернативный счёт годов-дней-секунд.... правда пока не доделал (начал 2010) :) -- геймплей отвлёк.

 

Добавлено через 7 мин.:

Struck, правильно работающий код из STCO:

-- если dirsector - направление на объект в градусах, ему же потом присваивается текстовое значение

    elseif dirsector < 22.5 then
        dirsector = "Север"
    elseif dirsector > 337.5 then
        dirsector = "Север"
    elseif dirsector < 67.5 and dirsector > 22.5 then
        dirsector = "Северо-Восток"
    elseif dirsector < 112.5 and dirsector > 67.5 then
        dirsector = "Восток"
    elseif dirsector < 157.5 and dirsector > 112.5 then
        dirsector = "Юго-Восток"
    elseif dirsector < 202.5 and dirsector > 157.5 then
        dirsector = "Юг"
    elseif dirsector < 247.5 and dirsector > 202.5 then
        dirsector = "Юго-Запад"
    elseif dirsector < 292.5 and dirsector > 247.5 then
        dirsector = "Запад"
    elseif dirsector < 337.5 and dirsector > 292.5 then
        dirsector = "Северо-Запад"

 

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

всё легко

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


Ссылка на сообщение

ИМХО

Если есть возможность и желание, конечно надо переписать. И по возможности, не только усовершенствовать, но и расширить.

 

"+"

И не только "sound_theme" - другие менеджеры и схемы то-же, есть куда и для чего совершенствовать и расширять.

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

всё легко

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


Ссылка на сообщение

Много писать не буду... :)

Если про "sound_theme" - то тут (с ходу) требуется расширение общего скриптового управления звуками...

Ну там: "Менеджер торговли" - точно, явно нуждается в расширении и модернизации функционала...

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

всё легко

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


Ссылка на сообщение
я в своём моде со звуками вообще никак не работаю, зачем мне расширять sound_theme

Если-бы функционал был - наверняка работал-бы. А если не работаешь, то, получается, что не надо :)

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

всё легко

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


Ссылка на сообщение
... есть ли в классе CUIStatic метод поворота текстуры... платформа ТЧ.
CUIStatic : CUIWindow { 
CUIStatic ();
...
void SetHeading(float angle);
...}

http://www.amk-team.ru/forum/index.php?showtopic=7450&page=7#entry515301

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

всё легко

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


Ссылка на сообщение

Нарисовал-бы диаграммой этот "xr_gulag.script", тогда, и не умеющие читать увидели-бы...

И вообще, кто какие сталкерские менеджеры хорошо знает - опубликовали-бы их алгоритмы, для "эффективности прогресса".

Изменено пользователем 7.9
  • Нравится 1
  • Согласен 2

всё легко

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


Ссылка на сообщение

может так надо - s.wnd():SetText("text")

то (я) скрипты писал последний раз год назад

:):(

 

всё легко

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


Ссылка на сообщение

При слишком точном сравнивании, значение параметра может никогда не быть равным точно 10.0 -- например: 10.000001, 9.999999

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

всё легко

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


Ссылка на сообщение

Что это может быть, если:

делаю 1: get_hud():AddCustomStatic()
делаю 2: wnd():AttachChild()
здесь ГГ получает хит от собаки ("разрыв")
делаю 3: wnd():DetachChild()

Но "3" уже не работает, скрипт виснет.

Нет хита -- работает.

При других хитах -- работает.

Чем рисование "разрыва" отличается от рисования других хитов?

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

всё легко

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


Ссылка на сообщение
6 часов назад, UnLoaded сказал:

писок шрифтов, доступных в скриптах(нашел поиском в движке, то что экспортировано(в 1.0007rc1)), в виде ф-ций их получения:

"GetFontSmall"

"GetFontMedium"
"GetFontDI"
"GetFontGraffiti19Russian"
"GetFontGraffiti22Russian"
"GetFontLetterica16Russian"
"GetFontLetterica18Russian"
"GetFontGraffiti32Russian"
"GetFontGraffiti50Russian"
"GetFontLetterica25"

 

Мне, в своё время, удалось реально задействовать только эти:

 

GetFontLetterica16Russian())
GetFontLetterica18Russian())
GetFontGraffiti19Russian())
GetFontGraffiti22Russian())
GetFontArialN21Russian())
GetFontHeaderRussian())
GetFontBigDigit())

 

Вообще, неплохо-бы если-б ещё шрифтов добавили...

всё легко

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


Ссылка на сообщение

Я больше про сам набор символов имел в виду, про сами текстуры шрифтов.

Помню "смайлы" хотел что-бы в текст вставить можно было, чего-то ещё то-же хотел...

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

всё легко

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


Ссылка на сообщение

Не-е -- мне слабо (графически) хороший шрифт сделать. Плюс там ещё непонятно как-то альфа канал задействован... мне слабо :)

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

всё легко

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


Ссылка на сообщение

Было дело, очень давно, правда, работал над скриптом с GUI-функциями и пришлось бросить - псевдо-собака! С работающим GUI-скриптом при атаке псевдо-собаки был стабильный безлоговоый вылет. И никаких скриптовых и любых других пересечений с псевдо-собакой ни в чём не было. И это было только если она атаковала. Если просто бродила или не работал скрипт - всё было ОК. Я предполагал, что был конфликт при выводе хитов на экран и какой-то конкретной GUI-функции. Но обойти так и не удалось, а без той функции скрипт не имел смысла.

Хотя вряд-ли Вам это поможет.

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

всё легко

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


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...