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

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

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









Автор Сообщение
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
23-06-2010 17:51 GMT3 час. #1276883   

# Stalk15 : Обьясните, как пользоваться этой функцией?

Сначала ответь - что должна возвратить функция вызываемая в ?
Николай ФеНиКс
Да, дело хуже чем я думал.
Даже не знаю с чего начать. Вот с чего. Изучай xr_kаmр. Да и вообще скриптование.

отредактировал(а) Gun12: 23-06-2010 17:57 GMT3 час.

Не стань номинантом премии Дарвина.
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
23-06-2010 18:02 GMT3 час. #1276894   
Gun12
ему наверно


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
23-06-2010 18:07 GMT3 час. #1276899   
Gun12
:-G


musnuk
    
Посты: 487
Откуда: припять,проспект Ленина 86
Возраст: 30
23-06-2010 18:08 GMT3 час. #1276902   
дайте функцию спавна ,в скрипте, npc в деревне новичков.


Мафия не прощает оскорблений...
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
23-06-2010 18:12 GMT3 час. #1276906   
erlik
Я тут воспитанием занимаюсь, а ты...
Подсказывать не хорошо. Завтра с родителями ...:-)

отредактировал(а) Gun12: 23-06-2010 19:08 GMT3 час.

Не стань номинантом премии Дарвина.
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
23-06-2010 18:40 GMT3 час. #1276923   
musnuk
А не слишком будет?


Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
23-06-2010 18:52 GMT3 час. #1276927   
Gun12
Должна возращать нулевое значение;-)...
Я без подсказки:sarcastic:&P

Добавил return, как сказал erlik - работает.

У меня вопрос по работе самой функции:

function Actor_Has_ListItems(sSection,iNum) --Просто секция обьекта и число(Ну вы поняли, что я имею ввиду(Наверно)
...
Actor_Has_ListItems("2_bumazhki_sidora", 2) -- Конкретная секция обьекта и его число
Почему в аргументах первой функции написано sSection,iNum, а не Section,Num?


musnuk

дайте функцию спавна ,в скрипте, npc в деревне новичков.

А разве бываю функции, предназначеные специально для определенной локации и местности на ней?(Рит.вопрос)Я таких функций не встречал, и, думаю, таковых нет.


Новые фишки для сталкера(см. журнал)
vovang
    
Посты: 68
Откуда:
Возраст: 38
23-06-2010 18:56 GMT3 час. #1276930   
Как отключить автоматические квесты,например,помочь сталкерам отбиться от бандитов,и т.п.?


XrKamp
    
Посты: 129
Откуда:
Возраст: 14
23-06-2010 19:14 GMT3 час. #1276946   
вопрос: куда прописать новую анимацию из stalker_animation.omf чтоб ее можно было использывать в игре? в state_lib.script нужно точно... но думаю что не только туда.... мне для стоячего состояния


Внимание! В подписи запрещены ссылки на любые внешние ресурсы!
не смотри журнал
Николай ФеНиКс
    
Посты: 1493
Откуда: От Туда!
Возраст: 29
23-06-2010 19:16 GMT3 час. #1276949   
XrKamp
Отправляйся ко мне в журнал=) там Восстановление вырезанных анимаций. ;-)


Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
23-06-2010 19:27 GMT3 час. #1276965   
Stalk15
**5001c54314580bda8be6**
Это вызов функции. Что это значит?
Начинается выполнение функции Actor_Has_ListItems
Дополнительно, в неё передаются некие данные.
В нашем случае это 2 аргумента "2_bumazhki_sidora" и 2, с которыми эта функция будет что-то делать.

Теперь сама "виновница" Actor_Has_N_Item(sSection,iNum)
Как объяснить?
Она ждёт, когда её что-нибудь вызовет.
Также она принимает 2 аргумента, которые программист укажет в вызове, описанном выше.

Но так как эта функция может запуститься от разных вызовов, в которых могут передаваться разные аргументы, то в самой функции объявляются переменные (например sSection и iNum, или A и B, или что хочешь пиши). Эти переменные являются локальными , использующимися только внутри самой функции. Поэтому назови их хоть матом, наружу они не выйдут, но будут принимать любые значения от вызывающей конструкции.

Так что поговорка, - "Как вы лодку назовёте - так она и поплывёт" к этому случаю не относится.


Не стань номинантом премии Дарвина.
Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
23-06-2010 19:32 GMT3 час. #1276971   
Gun12
Спасибо за пояснение...

...1-го хлеба и 3-х бутылок "шайтан-вода".

"шайтан-вода" :lol)


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

**5001c54314580bda8be6**cond_speaker)
for i=1,2 do
dialogs.relocate_item_section(second_speaker, "2_bumazhki_sidora", "out")
end
end
[/code]

Если я отдам "2_bumazhki_sidora" Волку, то функция нормально сработает, а если отдам Сидрычу - получаю вылет с логом:
FATAL ERROR

[error]Expression : e_entity->ID_Parent == id_parent
[error]Function : xrServer::Process_event_reject
[error]File : E:\stalker\patch_1_0004\xr_3da\xrGame\xrServer_process_event_reject.cpp
[error]Line : 24
[error]Description : 2_bumazhki_sidora27905
[error]Arguments : single_player

.Это как понимать?Типа Сидрыч особенный, ему дукументы противопоказано в руки брать:sarcastic:

отредактировал(а) Stalk15: 23-06-2010 19:40 GMT3 час.

Новые фишки для сталкера(см. журнал)
Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
23-06-2010 19:39 GMT3 час. #1276976   

# Николай ФеНиКс :
XrKamp
Отправляйся ко мне в журнал=) там Восстановление вырезанных анимаций. ;-)


я не понял где куда? Это где смотреть?


Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
23-06-2010 19:41 GMT3 час. #1276979   
Mehanik Yar
СМОТРЕТЬ ВОТ СЮДА

--------------------------------------------------------------------------------------
erlik
Угу, понятно

отредактировал(а) Stalk15: 23-06-2010 20:15 GMT3 час.

Новые фишки для сталкера(см. журнал)
erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
23-06-2010 19:49 GMT3 час. #1276984   
Дополню Gun12 в другом направлении :-)
Stalk15

Почему в аргументах первой функции написано sSection,iNum, а не Section,Num?

Artos любит использовать венгерскую нотацию Симони в именовании переменных - перед именем переменной ставится префикс обозначающий тип переменной (ИМХО стиль неудобный -разве что для UI элеметов).
А вообще имена входных параметров внутри скобок функций могут быть любые. В том числе и совершенно одинаковые (у разных функций имею ввиду). Поскольку они (процитирую Gun12 )" являются локальными , использующимися только внутри самой функции".


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Artos
    
Посты: 4176
Откуда:
Возраст: 65
23-06-2010 20:25 GMT3 час. #1277013   
erlik
Ты по сути прав, в том что мною использована некая система нотации именования элементов программирования.

Назовем это - почерк программиста.
Ранее, я придерживался "стиля" разрабов и ... не особенно затрагивал их "систему" наименований, т.к. чем-то проще искать то, что изменено ... Но(!) надоело!!! Более неудобного наименования сложно придумать, точнее и придумывать то нечего, т.к. никто из разрабов не озаботился систематизацией наименования переменных и пр. элементов.
Не буду тут разъяснять/навязывать что-то, просто ... буду 'гнуть свою линию'.
В моих кодах принята некая 'система' при которой элементам (имена начинаются в верхнем регистре) присваивается некая приставка/префикс (в нижнем регистре):
- 's' - string/строка - строковая переменная;
- 'i' - indes/индекс - числовая переменная;
- 't' - table/таблица
- 'v' - vector/вектор**5001c54314580bda8be6**string" then
local iNum = 1
if type(arg[i+1]) == "number" then
iNum = arg[i+1]
end
if not Has_N_Item(arg, iNum, oNPC) then
return false --/> у NPC нет i-предмета(ов)
end
end
end
return true --/> NPC имеет полный набор предметов
end
return false
end

--/ Примеры вызова:
--/ Result = Has_TableItems({"section1", "section2", "section3"})
--/ Result = Has_TableItems({["section1"]=3, ["section2"]=5, ["section3"]=2}, [oNPC])
function Has_TableItems(tTable, oNPC)
if type(tTable) == "table" and ( oNPC == nil or type(oNPC) == "userdata") then
for k,v in pairs(tTable) do
if type(k) == "string" and type(v) == "number" then
if not Has_N_Item(k, v, oNPC) then
return false --/> у NPC нет k-предмета(ов)
end
elseif type(k) == "number" and type(v) == "string" then
if not Has_N_Item(v, 1, oNPC) then
return false --/> у NPC нет k-предмета
end
else
return false --/> ошибка в таблице
end
end
return true --/> NPC имеет полный набор предметов
end
return false
end
[/code]
- пока не все (пере)проверил.
Дописал 'с колена' и собираюсь, перепроверив, внести в мною используемый модуль общих функций.
Если у вас есть замечания/предложения - давайте вместе доделаем универсальные/надежные 'кирпичики' ...

отредактировал(а) Artos: 23-06-2010 21:03 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
GIDDRA
    
Посты: 88
Откуда:
Возраст:
23-06-2010 20:57 GMT3 час. #1277039   
Ответьте плиз как сделать чтобы обьект вот так бы выделялся

как в ЗП


подскажите плиз....


Artos
    
Посты: 4176
Откуда:
Возраст: 65
23-06-2010 21:09 GMT3 час. #1277047   
GIDDRA
Это просто вариант метки на (мини)карте.
Отличается от остальных - названием (ты сам именуешь) и используемым фрагментом текстуры.
Создаешь свой тип метки, аля "red_location", используя нужный фрагмент текстуры (можешь из ЗП импортировать) и ... используй, аналогично остальным, по тобою выбранному имени.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
EvgenWeb
    
Посты: 4
Откуда: Железноводск
Возраст:
23-06-2010 21:16 GMT3 час. #1277052   
Привет!
ВОПРОС:
В секции [stalker_damage] прописаны четыре столбика с параметрами урона
1-й - вроде прямой урон от пули
4-й - возможность крита
За что отвечают 2-й и 3-й столбики?

[stalker_damage]
--- ---------- урон -? -? - крит
bip01_neck = 1.0, 0, 1.0
bip01_head = 1.5, 0, 1.0, 5.0
eyelid_1 = 1.5, 0, 1.0, 5.0
eye_left = 1.5, 0, 1.0, 5.0
eye_right = 1.5, 0, 1.0, 5.0

ВОПРОС2:
Как отключить красные метки врагов на миникарте?

отредактировал(а) EvgenWeb: 23-06-2010 21:27 GMT3 час.

Мой ник в сетевой - Б.А.Р.С.[KMW]
;------------------------------------------------
Не завидуй тому, кто сильней и богат.
3а рассветом всегда наступает закат.
С этой жизнью короткою, равною вздоху,
Обращайся, как с данной тебе напрокат.
GIDDRA
    
Посты: 88
Откуда:
Возраст:
23-06-2010 21:19 GMT3 час. #1277056   
Artos меня как раз интересует название

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

подскажи пли3

отредактировал(а) GIDDRA: 23-06-2010 21:19 GMT3 час.

Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
23-06-2010 21:19 GMT3 час. #1277060   
Здрасьте ребят. Вопрос такой, где можно увидеть нормальную функцию проверки. Проверки на деньги (чтоб у ГГ было нужное кол) и проверки на предмет (1 шт или несолько).


Artos
    
Посты: 4176
Откуда:
Возраст: 65
23-06-2010 21:28 GMT3 час. #1277073   
GIDDRA
Я же написал - имя ты сам какое нужно тебе самому назначаешь вновь созданной метке.
Хочешь как в ЗП - бери из ЗП.
Также фрагмент текстуры для метки - хоть сам рисуй, х

отредактировал(а) Artos: 23-06-2010 21:39 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Stalk15
    
Посты: 1023
Откуда: Как-бэ Новосибирск(Точно не знаю=))
Возраст: 30
23-06-2010 21:35 GMT3 час. #1277081   
А нет ли такой функции, при вызове которой проигрывался видео-ролик?


Новые фишки для сталкера(см. журнал)
EvgenWeb
    
Посты: 4
Откуда: Железноводск
Возраст:
23-06-2010 21:38 GMT3 час. #1277084   
Artos
Спасибо за подсказку!:ye)
А на счет красных меток на миникарте не в курсе как их отключить?


Мой ник в сетевой - Б.А.Р.С.[KMW]
;------------------------------------------------
Не завидуй тому, кто сильней и богат.
3а рассветом всегда наступает закат.
С этой жизнью короткою, равною вздоху,
Обращайся, как с данной тебе напрокат.
Darien Fx
    
Посты: 1372
Откуда:
Возраст: 30
23-06-2010 21:40 GMT3 час. #1277085   
Stalk15
Есть хороший метод - game.start_tutorial("название"), где "название" - имя тега из game_tutorials.xml и вытекающих из него файлов.


Artos
    
Посты: 4176
Откуда:
Возраст: 65
23-06-2010 21:42 GMT3 час. #1277087   
EvgenWeb
Извини, но ... на вопросы мне НЕ интересные, и тем более на которые любой НЕ ленивый может сам получить ответ, заглянув в многочисленные ФАК'и, статьи и/или в оригиналы кодов от разрабов - как правило НЕ отвечаю.
Сорри. :-G


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
EvgenWeb
    
Посты: 4
Откуда: Железноводск
Возраст:
23-06-2010 21:47 GMT3 час. #1277091   
Artos
ОК! Будем посмотреть....будем посмотреть...;-)


Мой ник в сетевой - Б.А.Р.С.[KMW]
;------------------------------------------------
Не завидуй тому, кто сильней и богат.
3а рассветом всегда наступает закат.
С этой жизнью короткою, равною вздоху,
Обращайся, как с данной тебе напрокат.
Mehanik Yar
    
Посты: 469
Откуда: Уфа
Возраст:
23-06-2010 21:56 GMT3 час. #1277095   
stalker_animation.skls а зачем он нужен?


erlik
    
Посты: 2338
Откуда: Набережные Челны
Возраст: 47
23-06-2010 23:05 GMT3 час. #1277133   
Artos
... я тут все мозги над своим виджетом сломал - так что не до предложений сейчас.:-)
-----------------------------------------------------------------------------------------------------------------
Не могу понять почему у меня вылетает при перезаг**5006c54314580bda8be6** inventory_open = true
inventory = level.main_input_receiver()
elseif info_id == "ui_inventory_hide" then
inventory_open = false
end
end [/code]

[code]это ставил на вызов в net_destroy
function DetachWnd()
inventory:DetachChild(wnd)
end[/code]

-- объект самого виджета назначается переменной один раз в момент приаттачивания. Больше мой класс Gravi не вызывается. Хотя пробовал как и с однократным приаттачиванием - так что даже после перезагрузки новая инициализация виджета не происходит, так и с повторным аттачем.
В обоих случаях виджет все равно присутствует в инвентаре.
Но заметил такую вещь - если использовать DetachChild() то кнопки вроде как принимают дефолтное(выключенное состояние), а если его не использовать - то сохраняют свое состояния даже после перезагрузки игры.


... На net_destroy Колмогор посоветова ставить. Правда Меченый(Стрелок) сказал что у них с Колмогором вроде так и не решилась проблема идентичная моей (давно это было и они сами точно не помнят как там и что - но вылеты были при аналогичных действиях).


в логе почти всегда (последние вылеты) это:
stack trace:

001B:00584360 xrCore.dll, IReaderBase::find_chunk

[error][ 259] : Дополнительные данные отсутствуют.

--]]


Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Artos
    
Посты: 4176
Откуда:
Возраст: 65
23-06-2010 23:31 GMT3 час. #1277144   
erlik

1. Уточни, плз, что ты подразумеваешь под "у меня вылетает при перезагрузке"?
Перезагрузаешь сэйв? Игру (с выходом в ОС)?

Насчет DetachChild():
Разрабы действительно не дали примеров использования, остается домысливать/предполагать.
Мыслю так: После аттача - виджет принимает установки скоррелированные с родительским объектом. Это и проверить можно. Аттачил твои кнопки и к инвентори и к статику - кнопки появлялись соответственно по надлежащим им координатам.
После де-аттача - координаты остаются(!) и визуально ты видишь кнопки на своих местах, но апдейт окон/виджетов уже не затрагивает твои кнопки, т.е. они стали неинтерактивным рудиментом - вот и не определяется их статус/состояние.

Насчет вылетов. То, что у тебя вылетает - это требует анализа. Я пока не анализировал разницу между твоими кодами и теми, которые у меня. Действительно, у меня вылетов ... не было, пока не стал оптимизировать коды. Логически все должно оставаться было неизменным, но ... после некоего шага стал тоже ловить вылеты при наведении курсора на раб.область кнопок. Причем вылеты по времени рандомны (1...5 сек).
Могу только пока предполагать - что-то связано с апдейтом состояния кнопок.

Более пока писать не считаю возможным. Погадалки/предполагалки редко приносят пользу, а шоры надеть или в тупик завести - запросто ...
Поковыряюсь еще сегодня. Думаю нужное тебе исчезновение виджета при отсутствии в слоте предмета - удатся сделать. Ну а далее - либо откачусь на раб. вариант 'дооптимизации' или ... еще поковыряю (более вероятно).


Прибой Слипченко
Тут топик как делать моды, а не как их удалять!
Тебе сюда: <Проблемы с модами>


P.S. Это НЕ повод оффтопить куда не попадя! :st)

Спешка нужна при ловле блох.
Не смертельно НЕ поиграться в твоем возрасте часок-другой ...

Банально попробуй удалить папку "gamedata" в директории/папке где у тебя установлена игра.

Если не справишься - удали и переставь игру.
Подчисть, плз, за собою.

отредактировал(а) Artos: 24-06-2010 00:01 GMT3 час.

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


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


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

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