batment Это всё понятно. Просто я выдал тебе самый простой способ, который к сожалению требует новую игру. Если тебе нужно чтобы можно было спавнить в любое время, то сначала определись, как тебе удобней всего активировать функцию. (при разговоре/при входе в определённую зону/ и т. д.)
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
batment Можно. Тут нужно для начала, определить рестриктор, который его активирует (выводит в онлайн). Затем в логике данного рестриктора, помимо активации контролёра прописываем запуск собственной функции. Собственную функцию нужно создавать в файле xr_effects.script Думаю описывать как спавнить зомби тебе не нужно. Или же...?
В принципе, для начала, определи требуемый рестриктор. К сожалению это будет сделать не так просто.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
**50016ea8aab1bb10eeba**
Если это поставить на дроп_итем, то условие выполняется не только когда сьел аптечку, а даже когда выбросишь её.Как можно сделать, чтоб условие выполнялось только, когда сьел аптечку?
Stalk15 о господи ну это **50016ea8aab1bb10eeba**й используем - должен иметь класс антирада или аптечки - в общем то что юзается
thing = obj
end
end
[/code]
Вот эт допустим вызывается меню при съедании предмета item_filter_gp7
Журнал
- модель M79
- модель HK SL-8
- модель Milkor m32 WIP
Stalk15
Скрипт от камрада singapur22, пользуюсь уже чу**50016ea8aab1bb10eeba**on() == "medkit" then
item = obj
end
end[/code]
По названию догадаешься, что куда ставить.
В честь чего вылет? Не с того ни с сего. Поиграл, норм было. Потом запускаю игру, не хочет грузить и все. НА синхронизации:
Expression : fatal error
Function : weapon_hud_value::load
File : E:\stalker\patch_1_0004\xr_3da\xrGame\WeaponHUD.cpp
Line : 34
Description :
Arguments : There is no 'wpn_barrel_0' bone for weapon 'wpn_shotgun_hud'
erlik Не многовато? :-) Обычно используются 6-8 значные коды. Думаю и здесь можно этим ограничиться. Собсно я вообще думаю в игре нет смысла использовать громадные числа. Я использую рандом в пределах от 1000 до 999999.
Про юзердату. В каком смысле? Ну сохрани айди объекта, а потом по нему определяй уже юзердату. Обычно так и делается. Если не канает, то используй xr_logic.pstor_store(...) У меня в классе, именно данное сохранение и используется.
P.S.
Конкурирующие говоришь?! А ведь конкурентов надо уничтожать. :-) И как ты это будешь делать? Спихнёшь мне какой нибудь мощный вирус? :-) Да и какой с меня конкурент, с одной то рукой? ;-)
отредактировал(а) singapur22: 13-08-2010 18:22 GMT3 час. Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
singapur22
Мне нужно чтобы юзердата сохранялась в поле моей таблицы (а значит нетпакетом) - просто если записывать и айди и секцию объекта (а нужно и то и другое), то табличку сильно поменять придется ( она сейчас очень удобна для рандомного перебора - а если менять, то даже пока ее новую структуру не очень представляю - так чтобы она соответствовала моим надобностям.) В общем было бы проще если бы можно было все таки юзердату сохранять.
Странно, что разрабы такого метода не предусмотрели в классе нетпакет.
-------------------------------------------------------------------------------------------------
на самом деле у меня код пока двузначный - тут и так вариантов перебора навалом.&P
-----------------------------------------------------------------------------------------------------------
я за честную конкуренцию :-)
и где это ты умудрился поломаться?
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
blackraven6 с чего бы вдруг??? У меня конечно игра любитель, за ночь например, пока комп выключен там чего нибудь сломается в моде/игре. Но тут я не знаю че с ним, играл вроде и при следующем запуске облом.
Darien Fx
Так я о чем. Просто закинуть в таблицу юзердату через table.insert проблем нет(я так и делал пока не увидел чем мне это грозит) - и это очень удобно в дальнейшем - так как к ней можно и метод id() (или свойство id) применить и так же section() .
А вот если надо чтобы таблица сохранялась? Метода для юзердаты тю-тю. Стринги там, числа, вектора или булеан - все можно сохранять. Даже матрицу можно и какой то token, а юзерадату нет. Облом.
Пришлось структуру таблицы организовать иначе(усложнив себе жизнь):
local inventory = {
[id_box] ={
[1] ={id_1, id_2, id_3 и т.д.},
[2] ={section_1, section_2, section_3 и т.д.}
}
}
чтобы и доступ по ключу был - без перебора таблицы - к нужным полям(либо секции либо айди) и чтобы можно было как и раньше рандомно получать секции хабара.
------------------------------------------------------------------------------------- Artos
Ну как сохранять то и загружать таблички я знаю - плавали :-)
Возни просто много с таблицами со сложной структурой.
И все таки очень жаль, что нельзя юзердату сохранять через методы класса нетпакет.
отредактировал(а) erlik: 13-08-2010 19:43 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik
Наверное не стОит удивляться, почему разрабы не дали метода работы с юзердатами в нет-пакетах.
Класс нет-пакетов - это типовые 'кирпичики', которые могут быть использованы для построения любого 'здания'. Если тебе потребовалось 'строить этажами', то 'этажные' модули тебе и тервуется самому делать из имеющихся уже 'кирпичиков'.
1. Способы хранения таблиц ((рас)паковка массивов) уже есть в модах (AMK,Simbion,...), так что можно и в них глянуть.
2. Собственно и модули нет-пакетов (как в Simbion'е) и те же se_ОБЪЕКТ:STATE_Read/Write() - по сути и работают (уже!) с юзердатами серверных объектов. И сам видишь, что каждому классу юзердате требуется свой (суб)модуль.
3. Только зная полную структуру юзердаты(ключи/значения) можно с ней работать. Передавать помимо самой юзердаты и ее структуру в какой-нить модуть нет-пакетов - по сути писать огромный новый класс, способный воспринимать структуру и обрабатывать по ней текущую юзердату. ИМХО, нерационально! singapur22
Начал немного возиться и 'db.actor.health' и иже ...
Однозначно и ты заблуждаешься о том, что это некоторы образом параметр для добавления значения к текущему, но и однозначно нельзя сказать и о том, что это параметр для установки конкретного значения здоровья.
Все очень нетривиально. Собственно 'db.actor.healt' - некий параметр, который получается от серверного объекта актора (alife():actor():healt()) в начале каждого цикла. Его изменение возможно в текущем цикле.
Но ... А вот тут пока столкнулся со странностями. Если параметр изменить и тут же считать - никакого изменения параметра НЕТ!(???).
Ну и то, что после окончания цикла апдейта актора и до следующего движок обрабатывает все значения влияющие на здоровье (текущее,кровотечение, сытость, радиацию, ....) и выдает некое новое значение в новый цикл - не поддается никаким обдозначностям, т.к. у нас нет собственно формулы зависимостей от всех этих параметров.
Копаюсь далее ...
blackraven6 Чего создать? Кость или модель? Поверь, я просто не пойму опять, из за чего этот долбанный вылет. В игре нет не модели, не конфига подобных.
Artos Я не говорил, что это параметр для добавления значения. Это скорее свойство. Я н**50016ea8aab1bb10eeba**
отредактировал(а) singapur22: 13-08-2010 19:49 GMT3 час. Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
АнархОПанк Не по адресу вопрос. Хотя у меня такое было как-то я забыл что закинул новую модель в папку с игрой и потом мучался с вылетами. Правда безлоговыми.
Журнал
- модель M79
- модель HK SL-8
- модель Milkor m32 WIP
singapur22
'Health += value;' - это и назвал/подразумеваю 'добавление к текущему'.
Если даже это и свойство, то однозначно не такое простое и новое значение (value) НЕ обрабатыается этим свойством, а вероятно запоминается и передается серверу.
Изменение db.actor.healt = iValue НЕ приводит к мгновенному изменению этого параметра, возвращается прежнее значение (т.е. пока можн сделать вывод, что он НЕ изменен в одном цикле апдейта).
db.actor - это массив клиентской юзердаты актора.
healt - это ключ массива, которому определено числовое значение (а не какие то get/set), постоянное на весь период апдейта актора.
alife():actor() - серсерная юзердата объекта-актор
alife():actor():healt() - метод, возвращающий значение здоровья серверного актора, постоянное на весь период апдейта актора (и отличное от клиентского значения!).
Пока получил однозначно: alife():actor():healt() - db.actor.healt = (0.01...0.015) - т.е. клиентская юзердата однозначно уже не тождественна серверной, что означает - запрос о значении здоровья клиентского объекта актора (db.actor.healt) берется из массива (число!), а не возвращается сервером, обработкой неким методом/свойством.
А вот как влияет установленное db.actor.healt = iValue (где/как запоминается) - пока изучаю ...
Люди объясните что значит этот лог
Expression : !object->used_ai_locations() || ai().level_graph().valid_vertex_id(object->m_tNodeID)
Function : CALifeSwitchManager::add_online
File : E:\stalker\patch_1_0004\xr_3da\xrGame\alife_switch_manager.cpp
Line : 64
Description : Invalid vertex for object
Arguments : mil_wpn_vintorez
когда я захожу со своим модом на радар и прохожу 10 метров вперёд игра зависает
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.