Пользователей: 0
Гостей: 261
Всего: 261

» Подробно
Привет, гость!








Автор Сообщение
Darien Fx
    
Посты: 1372
Откуда:
Возраст: 30
20-08-2010 22:24 GMT3 час. #1323000   
erlik
С заниливанием тоже нужно быть по-внимательн


Artos
    
Посты: 4176
Откуда:
Возраст: 66
20-08-2010 22:27 GMT3 час. #1323004   
erlik
А все в недостатке исходных данных, что собственно и приводит к фантазиям в интерпретациях :-)


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
20-08-2010 22:36 GMT3 час. #1323009   
Darien Fx
Насчет того, что длина таблицы не изменяется при заниливании табличного значения это я знаю. Но когда с удалением значений получаются такие вот странные накладки, приходится выбирать наименьшее "зло'.
Artos
Согласен. :-G


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
20-08-2010 22:40 GMT3 час. #1323013   
erlik
Покажи конкретный пример, когда table.insert (table, [pos,] value) работает некорректно.
У меня вставляет как п


Не стань номинантом премии Дарвина.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
20-08-2010 22:51 GMT3 час. #1323021   
Gun12

эта функция работает ТОЛЬКО с целочисленными ключами, следуюшими ПО-ПОРЯДКУ!

А вот этот момент я честно говоря вообще упустил. Так что спасибо что разъяснил.
Теперь понятно - что в моем коде она и не должна работать.

А насчет table.insert() - пример кода я приводил. Собственно в SCITE то все работает как надо.
Но не в сталке.
Да и тот пример работал в моем коде некорректно не всегда - однако примерно в 30% случаев наблюдались сбои при записи айдишек в нужные поля таблицы - при проверке их там просто не оказывалось. Когда я применил по совету Artos'a способ прямого назначения - глюки исчезли. Все нужные айди стали писаться в нужные поля.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Artos
    
Посты: 4176
Откуда:
Возраст: 66
20-08-2010 22:55 GMT3 час. #1323027   
singapur22
Все же для меня не до конца ясна "привязка к алайфу". Для трансфера предметов требуются клиентские объекты (в нашем случае актора и ящика). Если ящик появился в игре после спавна как клиентский объект, и трансфер стал возможен, то о какой привязке идет речь?

Также насчет ажура я бы не стал именно так делать.
  sobj:can_switch_online(true) - вероятно излишне, иначе бы ящики не юзались бы без указания для каждого из них данного разрешения.
а вот set_switch_online(id,true)' не помешает для гарантированного перевода в он-лайн, хотя и требует отложенного выполнения после спавна.
Сейчас заспавню своим вариантом ящик на дальний край Кордона и проверю доступность для трансфера ...


P.S. Проверил: Актор на старте игры в деревне новичков. Инвентори-бокс спавнится у перехода на Свалку (даже за пределами огороженной локации). Алайф = 150.
При спавне ящика используется отложенный перевод в он-лайн ( alife():set_switch_online(id, true) ), без него ящик не доступен в качестве клиентского объекта.
Как только ящик появляется в он-лайне как клиентский объект (первые циклы апдейта актора) - трансфер предмета от актора в ящик проходит без проблем.
После сэйв-лоада, т.е. в игре уже ящик не спавнится заново, а появляется на уже заспавненном месте и без каких-либо принудительных переводов офф-он-лайн, трансфер между актором и ящиком проходит без проблем.
Т.о. зависимости возможности трансфера от алайфа не обнаружено.

Прим: Хотел попробовать, но ... почему-то для фейк-ящика (класс O_INVBOX) недоступны методы can_switch_online/can_switch_offline. Пока не стал вникать в подробности ...

отредактировал(а) Artos: 21-08-2010 00:07 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
MRN$
    
Посты: 114
Откуда:
Возраст: 17
21-08-2010 01:13 GMT3 час. #1323085   
Про сохранение данных в сейвах.
**50016ea8aab1bb10eeba**% 400 == 0 then
return true
else
return false
end
end
else
return false
end
end

function days_per_mount(yy,mm)
local tmp = 31
if mm == 4 or 6 or 9 or 11 then tmp = 30
elseif mm == 2 and leap_year(yy) then tmp = 29
elseif mm == 2 then tmp = 28
end
return tmp
end
[/code]
, даже формат CТime упаковал в одно число, но всё равно есть неуверенность из-за известной возможности "переполнения" данных в объекте ГГ. Правда я пока с этим не сталкивался, но если эта проблема есть, то скорее всего столкнусь...
Существует-ли вариант попробовать сохранять данные в других объектах.
Посоветуйте, как такое можно организовать?

Надеюсь, это никого сильно не отвлечёт от собственных задач.


всё легко
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
21-08-2010 09:01 GMT3 час. #1323286   
Artos На счёт sobj:can_switch_online(true). Если указать его как положительное значение, то объект будет находиться в онлайн, пока не указать противоположное.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
21-08-2010 09:24 GMT3 час. #1323314   
MRN$
Я сохраняю данные через биндер своих инвентарных ящиков(пример создания своего биндера давал маландринус) - в их объектах.
Ничего сложного. Более подробно объяснять некогда.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
MRN$
    
Посты: 114
Откуда:
Возраст: 17
21-08-2010 09:44 GMT3 час. #1323340   
Спасибо erlic - направление понял.

... своих инвентарных ящиков...

Имеются в виду инв.ящики создаваемые "специально для целей сохранения данных" или произвольные, существующие в игре, и в которых могут находиться другие предметы?. Требуется-ли, что-бы эти ящики были свободны от своих "прямых обязанностей"?


всё легко
Чувак на болоте
    
Посты: 87
Откуда: Волгодонск
Возраст:
21-08-2010 10:07 GMT3 час. #1323365   
Люди как редактировать файл .object или как его конвертировать например в ogf а потом обратно?


Darien Fx
    
Посты: 1372
Откуда:
Возраст: 30
21-08-2010 11:55 GMT3 час. #1323512   
MRN$
Это необязательно может быть ящик, можно создать какой-нибудь предмет и повесить на него свой биндер, т.е. в конфиге итема указать 'script_binding = файл.init', и в дальнейшем производить операции именно в новом биндере.


Максим Р.
    
Посты: 1025
Откуда:
Возраст:
21-08-2010 14:20 GMT3 час. #1323673   
Чувак на болоте, через SDK, через Actor Editor экспортишь в ogf. А обратно через конвертер от бардака.


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
21-08-2010 16:52 GMT3 час. #1323989   
MRN$
Делай как Darien Fx написал. Объект\предмет может быть любой. У меня например есть предмет "флешка" в биндере которого сохраняются тексты сообщений на коммуникаторе - то бишь выходит она используется по своему прямому**50036ea8aab1bb10eeba**m = 1000000
for i = 1, lim do a = i end
print(collectgarbage("count"))
for i = 1, lim do a = nil end
print(collectgarbage("count"))
for i = lim + 1, 2*lim do a = nil end
print(collectgarbage("count"))
end
[/code]
вывод дал следующее результаты по выделяемым ресурсам для lua кода в кб
16413.560546875 --заполнение таблицы
16414.388671875 --заниливание значений таблицы
30.451171875 --создание доп. полей со значением nil

Как видно из показателей после третьего круга память резко освободилась. Выходит что заниливание вполне полноценная операция. И проход по таблице, в которой некоторые значения занилены, выдает только полноценные пары.

Интересно а имеет смысл в сталкере использовать луашный сборщик мусора?
В C# я помню как то в одной проге применил на пару мусорщик дотнетовский и один хитрый метод из WinAPI - поставив их вызов на односекундный таймер - так как расход ресурсов упал аж в 10-20 раз.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
21-08-2010 17:13 GMT3 час. #1324036   
Хехе. Я вспомнил тут...
В связи с тем, что скриптовые файлы в Сталкере являются субтаблицами, метатаблицы _G, а функции --элементами этих субтаблиц, то вызывать их можно как обычное обращение к таблице со строковыми

отредактировал(а) singapur22: 21-08-2010 17:40 GMT3 час.

Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
21-08-2010 17:26 GMT3 час. #1324068   
Artos а где можно прочитать про это?
Как получить серверный объект юзедаты по имени или по ID? Скажите плиз.


singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
21-08-2010 17:34 GMT3 час. #1324083   
Mehanik Yar

alife():object( id )

Юзай класс alife_simulator, в файле lua_help. Там ты найдёшь не мало полезного.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
21-08-2010 17:36 GMT3 час. #1324087   
как удалить затем этот объект с помощью reliase?


singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
21-08-2010 17:38 GMT3 час. #1324094   
Mehanik Yar

Удаление по**50016ea8aab1bb10eeba**e)
end[/code]


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
21-08-2010 17:39 GMT3 час. #1324102   
singapur22
А что делают эти два метода sobj:can_switch_online() и sobj:can_switch_offline() без булевского аргумента? Возвращают установленное состояние - true\false?


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
21-08-2010 17:42 GMT3 час. #1324112   
erlik Типа того.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Мудрец
    
Посты: 370
Откуда: Ростов-На-Дону
Возраст: 28
21-08-2010 17:47 GMT3 час. #1324123   
как создать костюм на основе сущаствующего?


SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
21-08-2010 17:48 GMT3 час. #1324128   
Народ, а как можно непися заставить подойти\отойти на определенную дистанцию от цели?


Хочешь работать нормально, работай один!
Мудрец
    
Посты: 370
Откуда: Ростов-На-Дону
Возраст: 28
21-08-2010 17:49 GMT3 час. #1324129   
как создать костюм на основе сущаствующего?


Darien Fx
    
Посты: 1372
Откуда:
Возраст: 30
21-08-2010 18:05 GMT3 час. #1324157   
singapur22
О, это интересная инфа, молодец что догадался :-).
SkyLoader
Насколько я знаю, движением неписей через скрипт управлять нельзя (изменение логики не в счёт, вей-точки всё равно нужно прописывать заранее).
К перемещению он никак не относится.


SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
21-08-2010 18:07 GMT3 час. #1324162   
Darien Fx, а через стейт_менеджер?


Хочешь работать нормально, работай один!
Мудрец
    
Посты: 370
Откуда: Ростов-На-Дону
Возраст: 28
21-08-2010 18:08 GMT3 час. #1324164   
кто небуть ответит как создать костюм на основе сущаствующего!!!!!!!!!!!!!!!


Shape
    
Посты: 34
Откуда: Запорожье
Возраст: 49
21-08-2010 18:18 GMT3 час. #1324180   
Darien Fx , SkyLoader
Вот вам ф-ция для *насильного* пе**50016ea8aab1bb10eeba**(move.line)
end
end
end[/code]


singapur22
    
Посты: 2089
Откуда: Рубцовск
Возраст: 45
21-08-2010 18:20 GMT3 час. #1324182   
Darien Fx

Насколько я знаю, движением неписей через скрипт управлять нельзя (изменение логики не в счёт, вей-точки всё равно нужно прописывать заранее).

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

stalker:set_dest_level_vertex_id(level_vertex_id)

И других с ним связанных.
Правда проблем ту не оберёшся. Слишком всё тесно связанно.


Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
21-08-2010 18:21 GMT3 час. #1324183   
А если Movement manager?
_________________
В моде "Напарники" я видел в коде, что там прописано неписям, чтобы те держались на расстоянии 20 метров от ГГ.
_________________
Shape, спасибо. Но только не понятно ничего.
_________________
singapur22, эта функция метод (спс) там используется, кстати.
Я и думаю насчет схем, но пока об этом ничего не знаю. В xStream'овских схемах ничО не понятно.
Спасибо, поищу.

отредактировал(а) SkyLoader: 21-08-2010 18:35 GMT3 час.

Хочешь работать нормально, работай один!


Форумы Архив » Свалка Вопросы и ответы (ТЧ по 11.09.10)


Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для
просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.

Использование материалов сайта возможно с разрешения администрации. Все права защищены. © 2004–2025 «Stalker-Portal.ru»