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

» Подробно
» Сегодня

Привет, гость!









Автор Сообщение
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
03-04-2011 13:03 GMT3 час. #1462534   
Stalk15
Синие инвентарные ящики(с видимым визуалом equipments\item_box_01_visual.ogf) в оригинале расставлены по локациям в SDK и поэтому как и сказал Максим Р. впаяны в геометрию уровня. В качестве инвентарной подкладки используется ящик-невидимка(с моделькой из папки physics\equipment_cache\) и с классом O_INBOX.
Если заспавнить скриптом видимый синий ящик с классом O_INBOX, то можно обнаружить, что в этот ящик почему то нельзя заглянуть(у меня вроде так было). Все прочее ящики будут иметь нормальный доступ в инвентарь, однако будут физически проницаемыми(через них можно проходить), так как объекты класса O_INBOX не имеют физической оболочки. Поэтому чтобы решить данную проблему мне пришлось в тайниках пойти на такой трюк - спавнить два типа ящиков на одной координате - инвентарную невидимку и видимый ящик с классом P_DSTRBL (можно и O_PHYS_S). А чтобы видимый ящик(имеющий физ. оболочку) нельзя бы случайно сдвинуть с места - закреплять его на месте спавна специальной функцией.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
subtlegeneral
    
Посты: 2
Откуда:
Возраст:
03-04-2011 13:35 GMT3 час. #1462564   
помогите мне, тут такая проблемка..как уменьшить/увеличить отличие цен на продажу товара от цен на его покупку. долго везде искал, копался...не нашёл, помогите, обьясните, я просто этим никогда не занимался и не создавал модов...пожалуйста:-(


vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
03-04-2011 17:47 GMT3 час. #1462729   
Люди, здравствуйте.
subtlegeneral, вот. Тут рассказано о том, что и как в торговле. В том числе и о ценах:

Все настройки, связанные с ассортиментом торговцев в игре, находятся в файлах gamedata\config\misc\trade_***.ltx


Секция [trader_generic_buy]
Эта секция описывает какие товары торговец будет покупать.
Название предмета = минимальная цена покупки, максимальная цена покупки
Например:
wpn_vintorez = 0.5, 0.7
Это значит что торговец купит оружие от 50% полной его стоимости до 70%, т.е. если Винторез стоит 1000, то торговец купит его в диапазоне от 500 до 700 рублей. Диапазон зависит от отношения торговца к Меченому - чем лучше, тем дороже купит


_____________________________________________________________________________

А теперь, собственно говоря, мои вопросы:
1)

Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: ...:\s.t.a.l.k.e.r\gamedata\scripts\bind_stalker.script:338: attempt to index global 'my_script' (a nil value)

Вот, я не могу понять, что же это я делаю не так. My_script - название файла с моей функцией. Функция называется: main_f(). Объявлял ее в bind_stalker вот так: my_script.main_f()


2)
Я сделал новый тип предметов. Как хранить в каждом какой-то новый параметр, чтобы при спавне нового предмета этого типа, этот параметр уже существовал (и был инициализирован). Через нет-пакеты, как мне подсказали. Но как именно?..

3)
Как вообще посмотреть содержание нет-пакета? А то, чтобы в него вносить изменения, надо знать его структуру.


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
03-04-2011 17:58 GMT3 час. #1462738   
erlik, Максим Р.
Спасибо, теперь разобрался.


vhodnoylogin
1) В твоем скрипте(my_script.script) допущена синтаксическая ошибка. Скачай чекер луа, он найдет ошибку.


Я заспавнил в инвентарный ящик предметы. Если сохраниться и загрузиться, то заспавненные предметы в ящике изчезают. Вроде бы должны сохраняться предметы и не изчезать.
Как быть? Придется все секции предметов сохранять в пстор(предметов то много)?


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

отредактировал(а) Stalk15: 03-04-2011 18:05 GMT3 час.

Новые фишки для сталкера(см. журнал)
vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
03-04-2011 18:03 GMT3 час. #1462741   
Stalk15, скачал-проверил-не нашел.

Checking D:\S.T.A.L.K.E.R\gamedata\scripts\my_script.script:
Found 0 errors.



Проблема еще стоит.


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
Struck
    
Посты: 1946
Откуда:
Возраст:
03-04-2011 18:34 GMT3 час. #1462765   
vhodnoylogin всмысле посмотреть содержание?...может узнать на сколько заполнен?

добавлено спустя 22 секунд

vhodnoylogin кидай скрипт сюда - будем смотреть, "тут тебе не телепаты"(с)

отредактировал(а) Struck: 03-04-2011 18:36 GMT3 час.

Снова в строю.

l
vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
03-04-2011 18:39 GMT3 час. #1462769   
--------------------------------------------------------------------------------------------
**5001001a66cf24ce67c0**
--------------------------------------------------------------------------------------------

**5002001a66cf24ce67c0**de]

--------------------------------------------------------------------------------------------
function number_of_ammo(obj)
local se_obj = alife():object(obj:id())
local packet = net_packet()
cse_alife_item_ammo.STATE_Write(se_obj, packet)
packet:r_seek(packet:w_tell() - 2)
return packet:r_u16()
end

__________________________________________


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
03-04-2011 19:30 GMT3 час. #1462813   
Stalk15
Вообще странная проблема с исчезновением предметов.
Странная потому что я с ней не сталкивался :-) Но в АМК дабы ее обойти придумали перевод ящиков-тайников в онлайн\оффлайн (или наоборот :-))
Однако у меня спавн предметов в подобные тайники проходит безупречно. Может просто люди не так спавнят?
Хотя у меня спавн предметов в ящик происходит одновременно со спавном ящика - то есть получается что они спавнятся в серверный объект - может поэтому у меня все так удачно


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
vhodnoylogin
    
Посты: 211
Откуда:
Возраст: 34
03-04-2011 20:24 GMT3 час. #1462849   
erlik, благодарю за ссылку, но не помогло:
1) end'ы убрал. но ошибка осталась
2) чекер в моей писанине ничего не нашел
3) нашел ошибку в коде Сингапура

И все же, что означал мой лог?
Потому что я перешел к следующему логу:

Expression : fatal error
Function : CScriptEngine::lua_error
File : E:\stalker\patch_1_0004\xr_3da\xrGame\script_engine.cpp
Line : 73
Description :
Arguments : LUA error: d:\s.t.a.l.k.e.r\gamedata\scripts\my_script.script:20: attempt to index upvalue 'a_item' (a nil value)


Чем-то похоже, да? Только тут говорится о 'a_item'.


Зачем доказывать кому-то, что ты настоящий мужик? Лучше потратьте это время на добрые дела!
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
03-04-2011 20:47 GMT3 час. #1462861   
vhodnoylogin
Если честно переписывать твой код мне лень. У тебя значение переменной active_id будет всегда 0.
Так что думай и делай выводы. А вылет связан с нелогичностью условий - поэтому если у ГГ в руках пусто - ты вылетаешь, так как a_item равна nil, а она у тебя в конце кода используется без всякой на то проверки.


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
karavan
    
Посты: 940
Откуда:
Возраст:
03-04-2011 22:26 GMT3 час. #1462932   
Кто может подсказать, как проверить ранг актера?


Анонс мода-аддона "S.T.A.L.K.E.R. - Безопасная земля"
Узнай о моде больше - подпишись на канал (кликабельно)
Struck
    
Посты: 1946
Откуда:
Возраст:
03-04-2011 22:31 GMT3 час. #1462935   
**5001001a66cf24ce67c0**

примеров уйма...


Снова в строю.

l
karavan
    
Посты: 940
Откуда:
Возраст:
03-04-2011 22:47 GMT3 час. #1462943   
Struck ОК посмотрю. А то искал по rang. :-)


Анонс мода-аддона "S.T.A.L.K.E.R. - Безопасная земля"
Узнай о моде больше - подпишись на канал (кликабельно)
Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
04-04-2011 11:34 GMT3 час. #1463066   
erlik
Я предметы спавню, когда ящик в оф


Новые фишки для сталкера(см. журнал)
Artos
    
Посты: 4176
Откуда:
Возраст: 65
04-04-2011 12:39 GMT3 час. #1463077   
erlik, Stalk15
Если ящик уже заспавнен и в него доспавнивать или трансферить (перемещать) - то, т.к. ящики не биндятся и не имеют апдейтов - доспавненные предметы не остаются в ящике после перезагрузки (сохраняется серверная часть, теряя клиентские дополнения). Как уже заметил erlik - следует перевеси ящик из онлайна в оффлайн и обратно (что и сделано было в АМК), тогда все предметы сохранятся в сэйвах.
Это касается не только подобных ситуаций. Например на арене - вещи тоже изымаются/возвращаются через 'онлайновые' ящики и ... если не озаботиться - после сэйва своих шмоток можно недосчитаться ...


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
alykard216
    
Посты: 28
Откуда: пгт Пойковский
Возраст: 30
04-04-2011 13:51 GMT3 час. #1463103   
лиди скажите чтоза глюк когда на наклонной поверхности у меня гг вниз ползет это стало появлятся после изменения личных параметров

добавлено спустя 6 минут

и кстати как увеличить или уменьшить шанс выпода тайника

отредактировал(а) alykard216: 04-04-2011 13:58 GMT3 час.

оптимисты изучают английский, пессимисты китайский а реалисты автомат колошникова.

из книги черный ангел
Silent_Assassin
    
Посты: 78
Откуда: Ташкент
Возраст: 29
04-04-2011 14:03 GMT3 час. #1463111   
alykard216 файл treasuremanager вроде он в скриптах вот точнее
Редактирование тайников:
Частота выпадения:
treasure_manager.script - редактируешь его получаешь частоту выпадание тайников - 65 меняй на что-нить допустим на 10...


one shot one kill no luck just skill


Ищу адекватного человека, для тестирования мода на TES IV Oblivion
alykard216
    
Посты: 28
Откуда: пгт Пойковский
Возраст: 30
04-04-2011 14:10 GMT3 час. #1463117   
Silent_Assassin спасибо


оптимисты изучают английский, пессимисты китайский а реалисты автомат колошникова.

из книги черный ангел
Silent_Assassin
    
Посты: 78
Откуда: Ташкент
Возраст: 29
04-04-2011 14:13 GMT3 час. #1463118   
alykard216 незачто , если ещё вопрос есть задавай


one shot one kill no luck just skill


Ищу адекватного человека, для тестирования мода на TES IV Oblivion
alykard216
    
Посты: 28
Откуда: пгт Пойковский
Возраст: 30
04-04-2011 14:16 GMT3 час. #1463120   
чеем редоктировать 3D модели

добавлено спустя 31 секунд

и all.spavn

отредактировал(а) alykard216: 04-04-2011 14:16 GMT3 час.

оптимисты изучают английский, пессимисты китайский а реалисты автомат колошникова.

из книги черный ангел
Artos
    
Посты: 4176
Откуда:
Возраст: 65
04-04-2011 14:25 GMT3 час. #1463125   
Вопрос: (любителям головоломок)

Практически в любом моде появляются с той или иной частотой ошибки типа: 'e_entity->ID_Parent == id_parent'.
Мои изыскания показали, что в основном ноги растут из схемы собират**5007001a66cf24ce67c0**_reject
[error]File : E:\stalker\sources\trunk\xr_3da\xrGame\xrServer_process_event_reject.cpp
[error]Line : 24
[error]Description : device_pda23827
[error]Arguments : gar_stalker_respawn_123826
[/code]
Предметы могут быть разными (оружие, медикаменты, еда, ...). Общее одно - предмет уже прошедший операцию трансфера (перемещения) в онлайне сервер пытается разаттачить от прежнего владельца и судя по логу - владельцем оказывается сам предмет. Т.е. сервер запаздывает на цикл.
Вот два (упрощенных) варианта трансфера, которые одинаково пропускают подобную ошибку:
[code]
local iCnt = oBody:object_count()
for i=0,iCnt-1 do
oItem = oBody:object(i)
sSection = oItem:section()
if sSection ~="bolt" and oItem:parent() and oItem:parent():id() == oBody:id() and not oBody:marked_dropped(oItem) then
oBody:mark_item_dropped(oItem) --/ ставим метку перемещения
oBody:transfer_item(oItem,oNPC) --/ перемещаем предмет
end
end

oBody:iterate_inventory(
function (dummy,oItem)
local sSection = oItem:section()
if sSection ~="bolt" and oItem:parent() and oItem:parent():id() == oBody:id() and not oBody:marked_dropped(oItem) then
oBody:mark_item_dropped(oItem) --/ ставим метку перемещения
oBody:transfer_item(oItem,oNPC) --/ перемещаем предмет
end
end
,nil)

Прим: наличие/отсутствие метки трансфера в алгоритмах не влияет на (не)возникновение ошибки.
[/code]
Есть ли у кого мысли о причине возникновения подобных рандомных коллизий и варианте их устранения?

Прим: Варианты замены трансфера переспавном не предлагать. Имеются весткие причины неприемлемости подобной замены.

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


alykard216, Silent_Assassin
Не путайте форум с чатами! Спасибки, расшаркивания и пр. подобное - в ПМ, пл.
С вопросами типа 'чеем редоктировать ...' -> ФАК
C неграмотными постами -> в бан ...

отредактировал(а) Artos: 04-04-2011 14:37 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
04-04-2011 14:59 GMT3 час. #1463140   
Artos, не знаю как непись, а гг пять минут назад получил такой вылет при умирании от гранаты, в то время, как был в аномалии. Аномалия уже была взведена и сразу разорвала труп гг, как тот умер. Я был в мультиплеере.. один.. без модов


Хочешь работать нормально, работай один!
Artos
    
Посты: 4176
Откуда:
Возраст: 65
04-04-2011 15:04 GMT3 час. #1463146   
SkyLoader
Не очень внятна суть твоего поста.
При разрыве ГГ в аномалии или любом подобном 'исчезновении' ГГ из игры - не удивителен факт вылета. Немало кодов НЕ предусматривает исчезновение ГГ (db.actor) из игры после ее начала.

С описанным мною вопросом это никак не связано, тем более в моем случае ни труп, ни НПС ни в каких не аномалиях и никаких гранат/... НПС просто подходит к трупу и обыскивает его в относительно спокойной обстановке.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Silent_Assassin
    
Посты: 78
Откуда: Ташкент
Возраст: 29
04-04-2011 15:12 GMT3 час. #1463151   
alykard216 Для редактирования Allpaspawn hex редактор или xrSpawner 0.13.0 3D модели вроде 3D Max


one shot one kill no luck just skill


Ищу адекватного человека, для тестирования мода на TES IV Oblivion
SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
04-04-2011 15:23 GMT3 час. #1463157   
Artos, а, у меня такого не было. Только при удалении трупа мог быть такой вылет.


Хочешь работать нормально, работай один!
alykard216
    
Посты: 28
Откуда: пгт Пойковский
Возраст: 30
04-04-2011 15:29 GMT3 час. #1463164   
к стати как зделать чтобы на pda приходили сообщения о смерти сталкеров и которых я убил


оптимисты изучают английский, пессимисты китайский а реалисты автомат колошникова.

из книги черный ангел
Alex_v-bass
    
Посты: 19
Откуда:
Возраст:
04-04-2011 15:35 GMT3 час. #1463167   
ребят, подскажите пожалуйста как исправить вылеты с ТТ-2 при загрузке авто и квик сейвов


Artos
    
Посты: 4176
Откуда:
Возраст: 65
04-04-2011 15:35 GMT3 час. #1463168   
SkyLoader
Ты заблуждаешься в том что у 'тебя' не было. Можно пройти игру (чистую) или мод не один раз и не напоротьсяч на подобную ошибку,но это не значит что ошибка невозможна.
Давай не будем флудить не по сути. Мой вопрос не в том (не)было ли у кого-то ... а как избавиться от ошибки трансфера(!) и от вероятности ее проявления.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
04-04-2011 22:27 GMT3 час. #1463443   
alykard216
xr_motivator.script->каллбек на смерть->проверка кто убил->мессидж

Silent_Assassin
Вроде у Мавроди. Если не знаешь - лучше промолчи( в соответствии со своим ником). allspawn редактируют обычным текстовым редактором - предварительно его необходимо распаковать утилитой ACDC от bardak'а. XR Spawner"ом пользуются только дети.

Alex_v-bass
В тему ТТ_2 шагай... смело и уверенно. Здесь она есть. Или на оффсайт мода. Или в тему мода на сайте amk-team. А вообще там нет таких вылетов на патче 1.0004. Если у тебя другой патч - меняй.
----------------------------------------------------
Artos
Подобная ошибка у меня интенсивно проявлялась при тестировании мода RealBags - при дропе большого числа предметов за раз из инвентаря\рюкзака. Долго искал причину и пытался придумать как обойти вылет пока наконец просто не добавил в функцию дропа дополнительную проверку IsExistObject(gObj) - где проверяется наличие серверной копии у клиентского объекта.

function IsExistObject(gObj)
return level.object_by_id(gObj:id()) and alife():object(gObj:id())
end

--// Author function 7.9 (aka MRN$)
function DropObject(gObj)
local actor = db.actor
if gObj and IsExistObject(gObj) and not tExeptItem[gObj:section()] then
local posX = actor:position().x
local posY = actor:position().y
local posZ = actor:position().z
local dirX = device().cam_dir.x
local dirZ = device().cam_dir.z
local x_off = dirX*1.6
local z_off = dirZ*1.6
local x = posX + x_off
local y = posY + 1
local z = posZ + z_off
actor:drop_item_and_teleport(gObj, vector():set(x, y, z))
end
end

Вылет как ни странно исчез. И больше при дропе никогда не проявлялся.

отредактировал(а) erlik: 04-04-2011 22:52 GMT3 час.

Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Artos
    
Посты: 4176
Откуда:
Возраст: 65
05-04-2011 09:28 GMT3 час. #1463510   
erlik
Bpоде бы в моем пояснении хотя и не явно, но фигурируют и клиетский и серверный объекты ..., т.е. проверка их наличия само собою подразумевается.
Да и сам лог говорит НЕ об отсутствии серверного объекта, а о некорректности 'родителя'.
Ошибка же не 'интенсивна', как ты выразился, а как раз довольно редка, но тем не менее хотелось бы ее исключить.

P.S. Резануло глаза в твоем коде:

local posX = actor:position().x
local posY = actor:position().y
local posZ = actor:position().z
local dirX = device().cam_dir.x
local dirZ = device().cam_dir.z
local x_off = dirX*1.6
local z_off = dirZ*1.6
local x = posX + x_off
local y = posY + 1
local z = posZ + z_off

Зачем же тратить ресурсы на получение одного и того же по нескольку раз?
Вот так и проще и вроде как понятнее:

local pos = actor:position()
local dir = device().cam_dir
local x = pos.x + dir.x*1.6
local y = pos.y + 1
local z = pos.z + dir.z*1.6
:-)

отредактировал(а) Artos: 05-04-2011 10:36 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени


Форумы Архив » Свалка Модификации ТЧ, вопросы и ответы (старое, по 14.06.11)


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

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