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

Внимание. На форуме проводятся технические работы с боковым меню.

_Val_ _Val_

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


Svoboда

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

Привет комрады.

Помогите с одной функцией:

Скрытый текст

function sleep(obj)
    if obj:section() == "sleep_bag" then -- при использовании спального мешка будет открываться выборочное меню
        for k=0,65534 do
            local m_obj = level.object_by_id(k)
            if m_obj then
                if ((IsStalker(m_obj) and ogse.get_npc_relation(m_obj,db.actor)=="enemy") or IsMonster(m_obj))
                    and m_obj:position():distance_to(db.actor:position()) < 40 and m_obj:see(db.actor)  then
                    ogse.send_tip("Не получится заснуть пока вокруг шляются всякие", "Меченый", 0, 10, "mecheny")
                    ogse.spawn_item_in_inv("sleep_bag")
                else
                    local hud = sleep_ui(get_hud()) -- указываем на class "sleep_ui" (CUIScriptWnd)
                    level.start_stop_menu(hud, true) -- открываем меню
                end
            end
        end
    end
end

При использовании предмета меню всё равно появляется (то есть проверка не срабатывает), при этом фпс игры падает до, примерно, одного кадра в секунду.

Может что подскажете? Может я не правильно функцию оформил?

пы.сы. Да да да, я знаю что давно пора самому lua выучить. Не получается, либо мозгов не хватает, либо...

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

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


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

@mole venomous, ты прав, я переделал функцию, вот так:

Скрытый текст

function sleep(obj)
local enemy=false
    for k=0,65534 do
        local m_obj = level.object_by_id(k)
        if m_obj then
            if ((IsStalker(m_obj) and ogse.get_npc_relation(m_obj,db.actor)=="enemy") or IsMonster(m_obj))
            and m_obj:position():distance_to(db.actor:position()) < 40 and m_obj:see(db.actor)  then
                enemy = true
                break
            end
        end
    end
    if obj:section() == "sleep_bag" then -- при использовании спального мешка будет открываться выборочное меню
        if enemy == true then
            ogse.send_tip("Не получится заснуть пока вокруг шляются всякие", "Меченый", 0, 10, "mecheny")
            ogse.spawn_item_in_inv("sleep_bag")
        else
            local hud = sleep_ui(get_hud()) -- указываем на class "sleep_ui" (CUIScriptWnd)
            level.start_stop_menu(hud, true) -- открываем меню
        end
    end
end

И она заработала, благодарю за отзывчивость, сэр:good:

Я так понял, без оператора break перебор id объектов не прекращался, от того и фпс игры упало. Самая большая ошибка сталкера - невнимательность:WhiteVoid_2:

Изменено пользователем UriZzz
  • Согласен 3

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


Ссылка на сообщение
4 часа назад, Kirgudu сказал:

а просто всегда дёргаешь её в коллбэке на дроп (ТЧ) или использование предмета (ЧН, ЗП

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

@Kirgudu, твоя функция прекрасно работает:good2:

 

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


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

Привет. Господа, кто пользует модули Артоса от сюда: https://www.amk-team.ru/forum/topic/13216-sborochnyy-ceh/?do=findComment&comment=971137

или просто в курсе, объясните, как запускать сохраняемые таймеры? 

В общем даны две такие тестовые функции:

Скрытый текст

function start_game_callbeck()
    if GetVar("start_game") == nil then
        SendTip("TEST Проверка на отсутствие переменной в хронилище","Сообщение",nil,5)
        start_game_timer(30*60, nil, "UriZzz_test.mecheny_mail")
        SetVar("start_game", 1)
    else
        SendTip("TEST Проверка на наличие переменной в хронилище","Сообщение",nil,5)
    end
end

function mecheny_mail()
    SendTip("Меченый, зайди ко мне, работа появилась","Сообщение",nil,5)
end

Таймер не запускается, в логе такая строка: ! Cannot find saved game ~:m_timers:set_callback: gametimer'g@1' id[1] action(timerhelper) timerest[30:00] timeend[06:02:22:180], args=[string]~not_table!:<warning!>

Я и без кавычек прописывал функцию, бесполезно.

Скрытый текст

* Detected CPU: GenuineIntel Pentium-III, F6/M7/S10, 3005.00 mhz, 33-clk 'rdtsc'
* CPU Features: RDTSC, MMX, SSE, SSE2

Initializing File System...
using fs-ltx fsgame.ltx
FS: 28687 files cached, 3935Kb memory used.
Init FileSystem 0.632546 sec
'xrCore' build 7720, Mar 27 2020

Initializing Engine...
Executing config-script "user.ltx"...
[d:\s.t.a.l.k.e.r\stalker-shoc\user.ltx] successfully loaded.
Starting INPUT device...
Loading DLL: xrRender_R2.dll
Loading DLL: xrGame.dll
* [win32]: free[4059608 K], reserved[53828 K], committed[80804 K]
* [ D3D ]: textures[0 K]
* [x-ray]: crt heap[5875 K], process heap[669 K], game lua[0 K], engine lua[0 K], render[0 K]
* [x-ray]: economy: strings[1033 K], smem[0 K]
Executing config-script "d:\s.t.a.l.k.e.r\gamedata\config\default_controls.ltx"...
[d:\s.t.a.l.k.e.r\gamedata\config\default_controls.ltx] successfully loaded.
Executing config-script "user.ltx"...
Executing config-script "d:\s.t.a.l.k.e.r\gamedata\config\rspec_default.ltx"...
! Unknown command:  r__wallmark_ttl
! Unknown command:  rs_skeleton_update
[d:\s.t.a.l.k.e.r\gamedata\config\rspec_default.ltx] successfully loaded.
Executing config-script "d:\s.t.a.l.k.e.r\gamedata\config\default_controls.ltx"...
[d:\s.t.a.l.k.e.r\gamedata\config\default_controls.ltx] successfully loaded.
[d:\s.t.a.l.k.e.r\stalker-shoc\user.ltx] successfully loaded.
SOUND: OpenAL: enumerate devices...
SOUND: OpenAL: EnumerationExtension Present
devices Generic Hardware
SOUND: OpenAL: system  default SndDevice name is Generic Hardware
SOUND: OpenAL: default SndDevice name set to Generic Software
SOUND: OpenAL: All available devices:
1. Generic Software, Spec Version 1.1 (default)
2. Generic Software, Spec Version 1.1 (default)
SOUND: OpenAL: SelectBestDevice is Generic Software 1.1
SOUND: OpenAL: Required device: Generic Software. Created device: Generic Software.
* sound: EAX 2.0 extension: absent
* sound: EAX 2.0 deferred: absent
* sound : cache: 65538 kb, 7609 lines, 8820 bpl
Starting RENDER device...
* GPU [vendor:10DE]-[device:622]: NVIDIA GeForce 9600 GT (Microsoft Corporation - WDDM v1.1)
* GPU driver: 8.15.11.8593
* CREATE: DeviceREF: 1
* Vertex Processor: PURE HARDWARE
*     Texture memory: 2784 M
*          DDI-level: 9.0
* GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30)
* GPU vertex cache: recognized, 24
* DVB created: 6144K
* DIB created: 1024K
load time=58 ms
* NULLRT supported
* ...and used
* HWDST/PCF supported and used
* NV-DBT supported and used
- r__tf_aniso 4
- r2_tf_mipbias 0.
Starting engine...
Loading DLL: xrGameSpy.dll
! Missing ogg-comment, file:  d:\s.t.a.l.k.e.r\gamedata\sounds\characters_voice\scenario\video\intro_компания-разработчик (признана нежелательная)_wp_r.ogg
* DVB created: 6144K
* DIB created: 1024K
- r__tf_aniso 4
- r2_tf_mipbias 0.
* GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30)
* GPU vertex cache: recognized, 24
*** RESET [418 ms]
"d:\s.t.a.l.k.e.r\bin\xr_3da.exe" 
* phase time: 0 ms
* phase cmem: 110516 K
Кэширование объектов...
Loading objects...
Loading models...
* [prefetch] time:    4578 ms
* [prefetch] memory:  82510Kb
* phase time: 4608 ms
* phase cmem: 182160 K
Сервер: Старт...
* phase time: 73 ms
* phase cmem: 182416 K
Сервер: Загрузка симуляции жизни...
* phase time: 7 ms
* phase cmem: 182416 K
Создание новой игры...
* Creating new game...
* Loading spawn registry...
* 8641 spawn points are successfully loaded
* Saving spawns...
* Saving objects...
* 16800 objects are successfully saved
* Game all.sav is successfully saved to file 'd:\s.t.a.l.k.e.r\stalker-shoc\savedgames\all.sav'
* New game is successfully created!
* phase time: 3391 ms
* phase cmem: 229424 K
Сервер: Соединяемся...
MaxPlayers = 32
* phase time: 20 ms
* phase cmem: 229424 K
Клиент: Соединение с localhost...
# Player not found. New player created.
* client : connection accepted - <>
* phase time: 9 ms
* phase cmem: 229449 K
Открытие потока...
* phase time: 15 ms
* phase cmem: 233447 K
Загрузка формы объектов...
* phase time: 3236 ms
* phase cmem: 306116 K
Загрузка шейдеров...
* phase time: 245 ms
* phase cmem: 307515 K
Загрузка геометрии...
* [Loading VB] 65532 verts, 2047 Kb
* [Loading VB] 65525 verts, 2047 Kb
* [Loading VB] 65535 verts, 2047 Kb
* [Loading VB] 65466 verts, 2045 Kb
* [Loading VB] 17208 verts, 537 Kb
* [Loading VB] 65533 verts, 2047 Kb
* [Loading VB] 65534 verts, 2047 Kb
* [Loading VB] 65534 verts, 2047 Kb
* [Loading VB] 65531 verts, 2047 Kb
* [Loading VB] 65535 verts, 2047 Kb
* [Loading VB] 65535 verts, 2047 Kb
* [Loading VB] 46595 verts, 1456 Kb
* [Loading VB] 65534 verts, 2047 Kb
* [Loading VB] 65533 verts, 2047 Kb
* [Loading VB] 65535 verts, 2047 Kb
* [Loading VB] 65532 verts, 2047 Kb
* [Loading VB] 65533 verts, 2047 Kb
* [Loading VB] 65533 verts, 2047 Kb
* [Loading VB] 53181 verts, 1661 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048572 indices, 2047 Kb
* [Loading IB] 1048572 indices, 2047 Kb
* [Loading IB] 1048572 indices, 2047 Kb
* [Loading IB] 1048572 indices, 2047 Kb
* [Loading IB] 1048572 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048572 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 228285 indices, 445 Kb
* [Loading VB] 65533 verts, 767 Kb
* [Loading VB] 65534 verts, 767 Kb
* [Loading VB] 65534 verts, 767 Kb
* [Loading VB] 65535 verts, 767 Kb
* [Loading VB] 65535 verts, 767 Kb
* [Loading VB] 65534 verts, 767 Kb
* [Loading VB] 65535 verts, 767 Kb
* [Loading VB] 14030 verts, 164 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 1048575 indices, 2047 Kb
* [Loading IB] 718302 indices, 1402 Kb
* phase time: 63 ms
* phase cmem: 307890 K
Загрузка базы пространств...
* phase time: 562 ms
* phase cmem: 312287 K
Загрузка детальных объектов...
* [DETAILS] VertexConsts(256), Batch(61)
* [DETAILS] 40687 v(20), 26352 p
* [DETAILS] Batch(61), VB(794K), IB(154K)
* phase time: 52 ms
* phase cmem: 320493 K
Загрузка секторов и порталов...
* Loading HOM: d:\s.t.a.l.k.e.r\gamedata\levels\l01_escape\level.hom
* phase time: 15 ms
* phase cmem: 320650 K
Загрузка ИИ объектов...
- Loading music tracks from 'l01_escape_musics'...
* phase time: 12 ms
* phase cmem: 316691 K
Клиент: Создание...
- Game configuring : Started 
- Game configuring : Finished 
* phase time: 206 ms
* phase cmem: 324548 K
Загрузка текстур...
* t-report - base: 1437, 387210 K
* t-report - lmap: 7, 7168 K
* phase time: 1170 ms
* phase cmem: 324548 K
Клиент: Синхронизация...
* phase time: 11 ms
* phase cmem: 324548 K
* [win32]: free[2927872 K], reserved[126556 K], committed[1139812 K]
* [ D3D ]: textures[394378 K]
* [x-ray]: crt heap[324548 K], process heap[7978 K], game lua[23618 K], engine lua[221 K], render[0 K]
* [x-ray]: economy: strings[3691 K], smem[28221 K]
! Cannot find saved game ~:lua_helper:fget_inisection:ini=[<userdata>],not_found_section=[levels],type=[table]:<error!>
! Cannot find saved game ~:lua_helper:fget_inisection:ini=[<userdata>],not_found_section=[levels_underground],type=[true]:<error!>
! Cannot find saved game ~:lua_helper:correct_max_idlevelvertex:=[594270]=>[595499](+1229), map(1)=[l01_escape] :<info!>
! Cannot find saved game ~:m_timers:set_callback: gametimer'g@1' id[1] action(timerhelper) timerest[30:00] timeend[06:02:22:180], args=[string]~not_table!:<warning!>
Intro start 4095
* MEMORY USAGE: 342948 K
- Disconnect
- Destroying level
DestroySingleton::RefCounter: 0
DestroySingleton::RefCounter: 0
DestroySingleton::RefCounter: 0
DestroySingleton::RefCounter: 0
Input:  1
Config-file [d:\s.t.a.l.k.e.r\stalker-shoc\user.ltx] saved successfully
Destroying Direct3D...
* RM_Dump: textures  : 0
* RM_Dump: rtargets  : 0
* RM_Dump: rtargetsc : 0
* RM_Dump: vs        : 0
* RM_Dump: ps        : 0
* RM_Dump: dcl       : 0
* RM_Dump: states    : 0
* RM_Dump: tex_list  : 0
* RM_Dump: matrices  : 0
* RM_Dump: lst_constants: 0
* RM_Dump: v_passes  : 0
* RM_Dump: v_elements: 0
* RM_Dump: v_shaders : 0
refCount:pBaseZB 1
refCount:pBaseRT 1
DeviceREF: 1
 

 

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


Ссылка на сообщение
10 часов назад, AndrewMor сказал(а):

Прямо дистанционное собирательство

Да, та ночная звезда на Агро уже давно будоражит умы сталкеров. Отсюда и такие идеи рождаются.

Я её зверски удалил в СДК:1287641402_p02501:, шоб глаза не мазолила.

1 час назад, AndrewMor сказал(а):

Хотя бывает обидно: лежит труп

Согласен но, с патронами, шамовкой, медикаментами, стволами всё таки по проще.

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


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

@ted.80 если я правильно понял@Colder то при зажатой клавише, а не по нажатию. Тобеш нажал и удерживая используешь.

Я правда не знаю - рассчитан ли твой кейлогер на такое, но ведь есть в xray ext (и в ogsr) коллбэк на удержание нажатой клавиши, можно попробовать его использовать.

@Zander_driver хм, значит может? Ок:good:

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


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

@Баба ЯГА я так подозреваю что без ковыряния движка, ни как.

  • Согласен 2

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


Ссылка на сообщение
4 часа назад, Jek@n сказал(а):

нажать паузу, а затем Esc, то такой диалог всё-таки закроется. Как это поправить?

Ну, самый простой способ: не нажимать на esc вовремя паузы.

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

Ни чего больше, кроме правки движка, в голову не лезет.

  • Согласен 2
  • Полезно 1

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


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

Привет всем.

Вопрос такой глупый:

Допускается ли такое оформление условий определяющих значение переменной?

Скрытый текст

if uslovie_1 then

var = 1

elseif uslovie_2 then

var = 2

end

function blablabla()

if tratata == true then

metod(var)

end

end

 

 

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

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


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

@I am Dead То есть выше просто объявить local var ?

Хм, надо будет потестировать, когда доберусь до компьютера.

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

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


Ссылка на сообщение
1 час назад, I am Dead сказал(а):

Полнейший бред, уроки русского языка вам поучить, товарищ!

В чём же там бред? Всё правильно. То что вы, мил человек, упоминали, есть не более чем сценки - логика + анимации + звуки. С точки зрения игры, диалог с неписями может вести только гг.

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


Ссылка на сообщение
21 час назад, Labadal сказал:

upd: да, можно

Хм, интересно, а в X-ray ext коллбэк before_hit (Чи как он там?) Какие данные передаёт???

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


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

@Labadal огсе и X-ray ext во многом схожи, по крайней мере в коллбэках точно. Думаю есть смысл поковыряться в ём.

Сам то я не интересовался конкретно этой областью, потому и не копал в том направлении.

30 минут назад, Labadal сказал:

(p_s_hit, p_ignore_flags)

Мало о чём говорит. Это надо смотреть клиентский скрипт.

Ну да ладно.

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


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

@Labadal не понял, в смысле?

Что конкретно там есть чего нет в ext? Может я не так глубоко копал? У меня с ОГСЕшными скриптами пока ни каких проблем не возникало. Может имеются в виду шейдерные прибомбасы??? Там да, не копал, ибо не нужно конкретно мне.

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


Ссылка на сообщение
Local uAct = db.actor

@mole venomous одна из причин почему я всегда делаю вот так:

 

Потому что сам грешен)

  • Нравится 1

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


Ссылка на сообщение
02.01.2022 в 13:21, DenVer сказал:

А вот чего НПС в упор не выдели, так это переносной рюкзак-нычку.

Что!? Ну блин!:facepalm:А я то дурень старой, голова с дырой, думал - о какое место я у бара для рюкзака нашёл. И бармен рядом, и сталкеры, похоже не видят. Потому как сколько раз АМК мож проходил, всегда там рюкзак бросал. Не разу от-туда не чего не взяли. Оказывается это товарищ @DenVerк капитан-кайфолом:dry:

Сори за :offtopic:

А если серьёзно: что, реально не шмонали рюкзак!?

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

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


Ссылка на сообщение
4 часа назад, Zander_driver сказал:

И я так понимаю, что за такие минусы здесь меня сейчас тухлыми помидорами наверное закидают, да? Или нет?

За что тебя тухлыми яйцами закидывать? СУБД вообще норм штука, сам пользую postgres на дому. Правда без php морды.

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

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


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

@imcrazyhoudinidell

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

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


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

@ted.80 false? Хм, а точно не nil сопровождаемый вылетом с ругонью на эту самую переменную?

 Моя нычка, Нычка в арендованном у Опричника холодильнике  

Мы хорошие ребята, жаль патронов маловато:):ukostra:

UriZzz.gif

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


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

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