Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!

> Помощь по разделу

Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов

> Скрипты
Орион
сообщение 13.07.2009, 11:34
Сообщение #281


Навий черны у ношьти
***************

Репутация:   377  
Группа: Забанен
Сообщений: 2210
Регистрация: 11.03.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа



FAQ

Lua в X-Ray

Список всех функций, переменных, классов и т.п. что используются в Сталкере находится по адресу:
Код
gamedata/scripts/lua_help.script

Для получения файла надо распаковать игру. Можно скачать, в принципе smile.gif Тут =>>Ссылко<<=
Уроки

Пример создания непися скриптами ЛУА. Автор: меченый(стрелок)
Скриптинг на инсайде



Сообщение отредактировал RayTwitty - 09.06.2018, 20:23


--------------------
нарушение правил п. 7.2
Перейти в начало страницы
 
15 страниц V  « < 13 14 15  
Начать новую тему
Ответов
RayTwitty
сообщение 14.01.2021, 00:54
Сообщение #282


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Награды: 9
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Что-то я не выкупаю. Есть строка
Код
"hud_fov 0.55"

Нужно из нее вытащить символы до пробела, то есть в данном случае hud_fov.
Пишу:
Код
print ( string.match("hud_fov 0.55", "^([A-Za-z0-9_]+)%s") )

всё работает. Пишу:
Код
print ( string.match("hud_fov 0.55", "^(%w+)%s") )

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

Но ведь %w как раз должен соответствовать классу [A-Za-z0-9_] ?

https://duckduckgo.com/?q=regexp+cheat+shee...p;ia=cheatsheet


--------------------
Перейти в начало страницы
 
atanda
сообщение 14.01.2021, 10:45
Сообщение #283
Pro gamer

Почти Игроман
*********

Репутация:   72  
Группа: Участник
Сообщений: 622
Регистрация: 05.11.2017




Вставить ник Цитировать выделенное в форуму быстрого ответа


Ну, на сколько я знаю луа использует не регекспы, а паттерны, которые выглядят похожими, но соответствуют различным входным данным. http://lua-users.org/wiki/PatternsTutorial

Цитата(RayTwitty @ 14.01.2021, 00:54) *
Но ведь %w как раз должен соответствовать классу [A-Za-z0-9_] ?

нет. https://www.lua.org/manual/5.3/manual.html#6.4.1

Твой код следует написать так
Код
string.match("hud_fov 0.55", "^([%w_]+)")


Может быть можно сделать проще - не знаю, я не силён в паттернах, да и на луа давно не кодил.

Сообщение отредактировал atanda - 14.01.2021, 11:12
Перейти в начало страницы
 
RayTwitty
сообщение 15.01.2021, 01:27
Сообщение #284


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Награды: 9
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(atanda @ 14.01.2021, 10:45) *
Ну, на сколько я знаю луа использует не регекспы, а паттерны, которые выглядят похожими, но соответствуют различным входным данным

Да, в луа %w не содержит нижнее подчеркивание.
Цитата
For example, [%w_] (or [_%w]) represents all alphanumeric characters plus the underscore.

Подразумевается, мы сами как бы группу(класс) расширяем. По работе в основном сталкиваюсь с js и питоном, там по стандарту андескор в \w есть. Спасибо за наводку.


--------------------
Перейти в начало страницы
 
Пчел 3д
сообщение 24.01.2021, 14:01
Сообщение #285


Новичок
*

Репутация:   0  
Группа: Участник
Сообщений: 5
Регистрация: 15.12.2020




Вставить ник Цитировать выделенное в форуму быстрого ответа


Добрый день, подскажите пожалуйста, как прописать скрипт на дверь в сталкер зов припяти, чтоб дверь открывалась нажатием клавиши "F" (использовать). Скрипт двери я прописал, но дверь открывается только в одну сторону и только тогда, когда актер в нее упирается. А хотелось бы как в игре, чтоб выскочило сообщение (открыть дверь - нажмите F)
Перейти в начало страницы
 
Билдомассон
сообщение 24.01.2021, 15:29
Сообщение #286


Продвинутый геймер
********

Репутация:   9  
Группа: Участник
Сообщений: 201
Регистрация: 22.02.2020




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Пчел 3д @ 24.01.2021, 14:01) *
Добрый день, подскажите пожалуйста, как прописать скрипт на дверь в сталкер зов припяти, чтоб дверь открывалась нажатием клавиши "F" (использовать). Скрипт двери я прописал, но дверь открывается только в одну сторону и только тогда, когда актер в нее упирается. А хотелось бы как в игре, чтоб выскочило сообщение (открыть дверь - нажмите F)

скопируй логику какой-нибудь из labx8.level, он по-моему идет вместе с сдк 0.7.
ну или вот взял логику от рандомной двери:
CODE
[collide]
ignore_static

[logic]
active = ph_door@close

[ph_door@close]
locked = false
closed = true
snd_open_start = trader_door_open_start
snd_close_start = trader_door_close_start
snd_close_stop = trader_door_close_stop
on_use = ph_door@open

[ph_door@open]
locked = false
closed = false
snd_open_start = trader_door_open_start
snd_close_start = trader_door_close_start
snd_close_stop = trader_door_close_stop
on_use = ph_door@close


Сообщение отредактировал Билдомассон - 24.01.2021, 15:39
Перейти в начало страницы
 
Пчел 3д
сообщение 28.01.2021, 12:35
Сообщение #287


Новичок
*

Репутация:   0  
Группа: Участник
Сообщений: 5
Регистрация: 15.12.2020




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Билдомассон @ 24.01.2021, 15:29) *
Цитата(Пчел 3д @ 24.01.2021, 14:01) *
Добрый день, подскажите пожалуйста, как прописать скрипт на дверь в сталкер зов припяти, чтоб дверь открывалась нажатием клавиши "F" (использовать). Скрипт двери я прописал, но дверь открывается только в одну сторону и только тогда, когда актер в нее упирается. А хотелось бы как в игре, чтоб выскочило сообщение (открыть дверь - нажмите F)

скопируй логику какой-нибудь из labx8.level, он по-моему идет вместе с сдк 0.7.
ну или вот взял логику от рандомной двери:
CODE
[collide]
ignore_static

[logic]
active = ph_door@close

[ph_door@close]
locked = false
closed = true
snd_open_start = trader_door_open_start
snd_close_start = trader_door_close_start
snd_close_stop = trader_door_close_stop
on_use = ph_door@open

[ph_door@open]
locked = false
closed = false
snd_open_start = trader_door_open_start
snd_close_start = trader_door_close_start
snd_close_stop = trader_door_close_stop
on_use = ph_door@close



Спасибо, все получилось.
Перейти в начало страницы
 

15 страниц V  « < 13 14 15
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29.03.2024, 00:31