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

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

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









Автор Сообщение
Artos
    
Посты: 4176
Откуда:
Возраст: 65
14-07-2010 19:13 GMT3 час. #1291597   
Alex-San
1. Это НЕ моя конструкция, а из азбуки Сталкера (lua_help.script).
2. Если у ТЕБЯ не работает - это не означает что конструкция не работает вообще.
3. Читать и пременять функции нужно все же с умом, а не методом тыка.
И в каком мануале по LUA ты нашел прямое указание на функцию 'money()'? Если это некий пример, то и относиться к нему нужно как примеру, который не обязательно имеется в Сталкере.
Тем более применительно к игре ... это элемент массива 'userdata' объекта.
4.

db.actor:give_money(iMoney) --/ 'просто' дать денег актору
- iMoney - для любого программера ясно: параметр кол-ва денег (хоть отрицательное значение - тогда будет 'забрать').
- куда уж яснее и проще пояснить "КАК СКРИПТОМ ПРИБАВИТЬ ГГ ДЕНЕГ?" ???

Нужно не кричать, а ДУМАТЬ ... головой!

P.S.
Читая 'lua_help.script' нужно обращать внимание в 1-ю очередь к какому классу объекта применим метод/функция.
И если желаемой функции нет в 'namespace' (название тоже о чем то говорит!) - то пробовать ее 'напрямую' без объекта - глупо.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
win win
    
Посты: 258
Откуда: о_О
Возраст: 12
14-07-2010 19:29 GMT3 час. #1291632   
Как создать НПСа


Мои модельки NEW!
BeeRsek
    
Посты: 1242
Откуда: Кемеровская обл, г.Новокузнецк
Возраст: 31
14-07-2010 19:34 GMT3 час. #1291639   
win win тут искал: http://stalkerin.gameru.net ?


"Все сложное - не нужно, все нужное - просто" (М. Калашников)

>> S.T.A.L.K.E.R. Secret of the Zone: Gunslinger's Story. Prologue
Alex-San
    
Посты: 1015
Откуда:
Возраст: 51
14-07-2010 19:45 GMT3 час. #1291666   
Меня сбило с толку твоя "local iMoney = db.actor:money() ", на кой фиг она вообще там нужна? В give_money, просто число передаётся и всё, зачем из неё обьекто делать?
Вот по запаре и вписал money() вместо give_money(сумма_прописью).

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


# BeeRsek :
win win тут искал: http://stalkerin.gameru.net ?


а точнее тут
_http://stalkerin.gameru.net/wiki/index.php/Заглавная_страница

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

на там нету( я смотрел

отредактировал(а) Alex-San: 14-07-2010 19:49 GMT3 час.

Artos
    
Посты: 4176
Откуда:
Возраст: 65
14-07-2010 19:59 GMT3 час. #1291682   
Alex-San
М-да ... с чтением и пониманием явно сложности.
Твое 'отнимание': db.actor:money() = db.actor:money() - какаянить_сумма
можно сделать по разному.
1.
  local iMoney = db.actor:money()
  db.actor:give_money(-iMoney) --/ отнять все

2. db.actor:give_money(-какаянить_сумма)

Привел ВСЕ возможные 'кирпичики' для того, чтобы САМОМУ выбрать каким вариантом делать.

Мои посты НЕ только для тебя предназначены и если тебе 'ни к черту', то кому-то может быть и полезным ...

win win
Флудить нехорошо! :ary() Нарываешься на :ban:

Один флудит, остальные ... рады расстараться, засоряя топик и посты набивая :-(


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
BeeRsek
    
Посты: 1242
Откуда: Кемеровская обл, г.Новокузнецк
Возраст: 31
14-07-2010 19:59 GMT3 час. #1291683   
здесь,в этом же форуме есть тема про спавн через скрипт. Там и про НПС написано


"Все сложное - не нужно, все нужное - просто" (М. Калашников)

>> S.T.A.L.K.E.R. Secret of the Zone: Gunslinger's Story. Prologue
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
14-07-2010 21:11 GMT3 час. #1291760   

# Darien Fx :
Кстати, никогда не понимал смысла двоетичий '::', которые в оф. справке чуть ли не в каждом примере.


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


Не стань номинантом премии Дарвина.
Darien Fx
    
Посты: 1372
Откуда:
Возраст: 30
14-07-2010 21:21 GMT3 час. #1291771   
Gun12
Да нет, интересует. **5001c543**5002c54314580bda8be6**::= Name[/code]


Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
14-07-2010 21:48 GMT3 час. #1291797   
Darien Fx
Вот это как раз и, ИМХО, 'причуды' C.
В данном примере просто инициализируется глобальная переменная :-)
Кстати, для


Не стань номинантом премии Дарвина.
Artos
    
Посты: 4176
Откуда:
Возраст: 65
14-07-2010 22:04 GMT3 час. #1291804   
Gun12
Однако ... если вспомнить опять таки свойства таблицы и ее наполнение то:
1. Собственно файл скрипта/модуль - суть таблица(!)
2. При инициализации скрипта/модуля - идет последовательное чтение строк ... которые заносятся в таблицу (модуле[...] = ...).
3. Локальные переменные/функции заносятся в субтаблицы в качестве значений.
4. Глобальные переменные/функции заносятся в качестве ключей.

При попытке занести неявно объявленное module[i+1] = var будет занесено нИловое значения ключа!
При следующей распарсиваемой строе последнее поле в таблице будет с nil значением и будет перезаписано!
В обшем что-то типа этого ... :-)

А с var ::= Name - это точнее объявление/присвоение, а не инициализация, хотя трактовки различны бывают.


"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Darien Fx
    
Посты: 1372
Откуда:
Возраст: 30
14-07-2010 22:19 GMT3 час. #1291818   
Gun12
Это да, я в курсе. Просто мне непонятно, **5004c54314580bda8be6**r ::= prefixexp '[' exp ']'[/code]
Можно было бы вполне написать:
[code]var = table[key][/code]
Но оф. тутор не для новичков в программировании ведь, надо всё усложнить :-).
А вот такие конструкции, когда начинал, честно говоря сразу пропускал:
[code]stat ::= for Name '=' exp ',' exp [',' exp] do block end[/code]

Где то валялся на компе кусок из книги Иерусалимского, вот там, насколько я помню, так же (:-)) гораздо лучше всё объясняется.


Думаю о таких вещах заморачиваться в топике не стОит, это уже углубление в понимание.

Наоборот, считаю в этом топике как раз нужно развивать подобные темы, что бы хоть как то отделять посты "как сделать бессмертие" от "как сделать непися". :-)

отредактировал(а) Darien Fx: 14-07-2010 22:45 GMT3 час.

Artos
    
Посты: 4176
Откуда:
Возраст: 65
14-07-2010 22:24 GMT3 час. #1291822   
Darien Fx
Тутор позволяет однозначно трактовать все многообразие ...
**5004c54314580bda8be6**f exp1 then block {elseif exp1 then block} [else block] end[/code]
- exp1 - условие
- block - некий блок кода
- {...} - допустимость наличия множества повторений для '...'
- [...] - допустимость однократного повторения для '...'

Т.е. прописаны все обязательные элементы для цикла и оговоривается допустимость наличия неограниченного кол-ва элементов {elseif exp1 then block} и допустимость единственного [else block] . С таким конструктором можешь делать хоть простейший цикл, хоть на сотню проверок.

Gun12
Думаю о таких вещах заморачиваться в топике не стОит, это уже углубление в понимание.
Хотя понимание подобных конструкций позволяет именно полностью использовать все доступные варианты написания кодов.
Но ... объять в одном топике "как сделать бессмертие"/"как сделать непися" с трактовками туторов -невозможно. Это уже скорее оптимизация кодов, чем черновое кодирование.

Gun12: Если начать с малого, то понимание прийдёт само собой...
:-cool)
Именно так. Можно добавить:
"Ежели не начинать - то понимание может и не прийти" (примеров тоже немало :-G).

отредактировал(а) Artos: 14-07-2010 22:48 GMT3 час.

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
14-07-2010 22:30 GMT3 час. #1291826   
Artos
В принципе Вы правы. var - переменная, Name - имя.
Darien Fx сорри, ввёл в заблуждение.
Но как я уже говорил, записи и определения из С для меня достаточно противоречивы и непонятны.
Дайте мне код на Lua - другое дело. А так получаются "догадалки".
Например сейчас изучаю wxLua. Практически все доступные примеры написаны на С.
Путём проб и ошибок нахожу решения. Оказывается всё очень просто, но тяжело даётся "перевод" с непонятного мне С на Lua.
В общем больше не буду мешать - работайте.

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

Artos
Мы не можем упустить (как Вы сказали) "нами не предусмотренное", если не будем делать хотя бы предусмотренное.
А делая предусмотренное поймём не только непредусмотренное, но и весь смысл заложенный в трактовку записей официального тутора.
Кстати, именно это и заставило меня переписать офф. тутор по-своему.

Перевод (для тех кто не понял).

Если начать с малого, то понимание прийдёт само собой (хотя и не ко всем :-))

отредактировал(а) Gun12: 14-07-2010 22:41 GMT3 час.

Не стань номинантом премии Дарвина.
Cos
    
Посты: 2690
Откуда:
Возраст:
14-07-2010 22:42 GMT3 час. #1291831   
Gun12

var ::= Name


Вот это как раз и, ИМХО, 'причуды' C.




Ни разу ни в C++/C# ни тем более в C не видел ничего подобного). Еди**5002c54314580bda8be6**vate:
MyClass();
}

MyClass::MyClass()
{
SomeClass::SomeFunction();
}
[/code]


Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
14-07-2010 22:54 GMT3 час. #1291847   
Cos
Примеры из офф. сп


Не стань номинантом премии Дарвина.
Darien Fx
    
Посты: 1372
Откуда:
Возраст: 30
14-07-2010 22:58 GMT3 час. #1291855   
Кстати, а реально ли присобачить ещё один скриптовый язык? Не обязательно к Сталкеру (с его то движком), а вообще - к любому проекту на, например, С++? И выполнять опр. действия с того языка, с которого это удобнее.


Gun12
    
Посты: 773
Откуда: СССР
Возраст: 52
14-07-2010 23:03 GMT3 час. #1291862   
Darien Fx
А смысл? Lua считается самым простым и быстрым из языков ООП.
Недаром его применяют практически во всех современных играх (и не только).
А присобачить реально, но человеку (или команде) реально разбирающемся в ассемблере.

Artos
По следам Вашего сообщения ниже.
Повторяю уже в стомильЁнный раз. Люди, ну скачайте себе редактор с функцией "Поиск в файлах"
Когда возникнет вопрос, просто наберите интересующее слово в этом поиске и - О, ЧУДО! - Вы найдёте ответ САМИ!

отредактировал(а) Gun12: 14-07-2010 23:38 GMT3 час.

Не стань номинантом премии Дарвина.
Alex-San
    
Посты: 1015
Откуда:
Возраст: 51
14-07-2010 23:12 GMT3 час. #1291870   
Ой как мне это не нравится 2

Как обычно долго парился с элементарной функцие relocate_money(бабло, обьект). Всё никак не мог понять, откуда взять обьект непися с которым я общаюсь. Конечно можно было и принудительно указать, но это как то не то.
Так вот оказывается! Если юзаешь функцию из диалога то можно при её задании указать два операнда (в dialogs.srcipt к примеру они названы - first_speaker и second_speaker). Причём! когда функция вызывается из диалога через action, она указывается безо всяких параметров!
Отсюда вопрос. Как интересно я должен был об этом догадатся?
И вытекающий отсюда вопрос. А там может ещё что то можно из диалога передать?


Artos
    
Посты: 4176
Откуда:
Возраст: 65
14-07-2010 23:25 GMT3 час. #1291873   
Alex-San
Ты очень сильно удивляешь.
Перед тобою кладезь оригинальных кодов от разрабов с кучей примеров!
Качай тоннами рабочие моды и смотри как сделали другие модмейкеры!
Или ты только на школьные знания и метод тыка опираешься?

При вызове из диалога /AddPrecondition() доступны аргументы:
  function Precondition( oSpeaker1, oSpeaker2, sDlgId, idParent, idPhase )

При вызове из диалога /AddAction() доступны аргументы:
  function Action( oSpeaker1, oSpeaker2, sDlgId, idPhase )

Где:
- oSpeaker1 - инициатор диалога (гейм-объект)
- oSpeaker2 - с кем болтает инициатор (гейм-объект)
- sDlgId - строка "идентификатор диалога" (т.е.назв**5001c54314580bda8be6**oActor:give_money(iAmount - iCanMoney) --/ добавляем ГГ остаток денег
end
else
oActor:give_money(iAmount) --/ добавляем деньги ГГ
end
elseif sType == "out" then --/ ГГ отдает деньги
if oVictim and oVictim:id() ~= oActor:id() then
oActor:transfer_money(iAmount, oVictim) --/ ГГ передает деньги НПС
else
oActor:give_money(-iAmount) --/ забираем деньги у ГГ
end
end
game_stats.money_quest_update(iAmount,sType) --/#?# а если не квестовая передача?
news_manager.relocate_money(oActor, sType, iAmount)
end
end
[/code]

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

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..." ©Машина времени
Колотун
    
Посты: 62
Откуда:
Возраст: 30
15-07-2010 05:49 GMT3 час. #1291916   
Народ! у меня такой баг вышел при создании торгаша:
1) создал торговца
2) прописал ему чем он будет торговать
Баг таков что когда приходишь в бар (именно там я его смастачил) то у него половина того чем торгаш торгует, на полу (под ногами) валяется! А половина (в основном комбезы) у нпс!
У этого типа карман дырявый чтоли!?!?:-)

В общем что это и как с этим бороться?


P.S. Заранее БОЛЬШОЕ спасибо!


Дюбиль
    
Посты: 7
Откуда:
Возраст:
15-07-2010 07:26 GMT3 час. #1291934   
Народ подскажите! Как добавить в S.T.A.L.K.E.R. Hadow of Cernobyl спальник?:-(


Самое главное это остоваться человеком! Не смотря на то где вы нахолитесь.
SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
15-07-2010 09:09 GMT3 час. #1291970   
Byurrer, вроде гулаг и старттеррейн одно и тоже.
----------------------
Гулаг = лагерь
Смарттеррейн = лагерь на языке ПЫСа
В этом я уверен.
Я делал смарты.
----------------------
Через конфиги, скрипты и алл спавн. СДК не нужен вообще.
Для мобов легче

отредактировал(а) SkyLoader: 15-07-2010 10:38 GMT3 час.

Хочешь работать нормально, работай один!
Byurrer
    
Посты: 82
Откуда: А зачем?
Возраст: 32
15-07-2010 09:24 GMT3 час. #1291974   
Вот такой теоретический вопрос: как я понимаю гулаг в игре это лагерь сталкеров, а вот что такое смарттерейн? И может ли гулаг существовать без смрттерейна?
И еще: никак не могу точно понять что такой переход в онлайн и офлайн, как я понял это к примеру если объект существует должен появиться в определенном месте при каких либо условиях которые еще не настали то он в офлайне, а если в настали и он появился то в онлайне, так? Подскажите пожалуйста!

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

SkyLoader вроде нет это разные а мож и одно и тоже, посмотрим что скажут знающие люди! А ты пробовал это сам делать? А то я пробовал по статьям нифига не вышло и спросить не у кого!

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

SkyLoader а как ты делал через SDK или через блокнот? И для кого ты делал для мобов или НПС?

SkyLoader я в PM тебе написал прочти!!!

отредактировал(а) Byurrer: 15-07-2010 10:21 GMT3 час.

project S.I.P
Dietrich2009
    
Посты: 219
Откуда: Kiev
Возраст: 15
15-07-2010 10:12 GMT3 час. #1291994   
При экспорте оружия в Актор Едиторе вылетает, такая ошибка:
Expression : assertion failed
Function : i:\xray-svn\xrcore\_stl_extensions.h
File : i:\xray-svn\xrcore\_stl_extensions.h
Line : 43
Description : _Pos
stack trace:


В чём причина?


MOD: The Story of a Stalker.
Подробнее в журнале
SkyLoader
    
Посты: 755
Откуда: Москва
Возраст:
15-07-2010 10:38 GMT3 час. #1292015   
Dietrich2009, ты чето со скелетом оружия намутил. У меня такое было - заново оружие сделал.

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

Вопрос: может ли быть цикл с флагами быть в цикле с флагами?

отредактировал(а) SkyLoader: 15-07-2010 10:39 GMT3 час.

Хочешь работать нормально, работай один!
Dietrich2009
    
Посты: 219
Откуда: Kiev
Возраст: 15
15-07-2010 10:42 GMT3 час. #1292018   
SkyLoader Худ у меня нормальный, а вот мировая модель нет. Я просто Удаляю все кости с худа (я их перед этим отстёгиваю) Переделывал много раз


MOD: The Story of a Stalker.
Подробнее в журнале
Sine
    
Посты: 960
Откуда: Краснодар
Возраст: 30
15-07-2010 10:42 GMT3 час. #1292019   
Byurrer смарт террэйн это более динамичная версия гулага, онлайн/офлайн это состояния нпс/мутантов, в оффлайне они как призраки бродят по зоне, а в онлайне попадают под логику.


Last Day Mod Team work |==>>>ПОСЛЕДНИЙ ДЕНЬ
Кто понял с первого раза,
Тот ловит музу,
Когда каждая фраза
Ломает все сразу.
AAAAKKK
    
Посты: 65
Откуда: Кострома
Возраст: 47
15-07-2010 10:52 GMT3 час. #1292027   

Byurrer, вроде гулаг и старттеррейн одно и тоже.
----------------------
Гулаг = лагерь
Смарттеррейн = лагерь на языке ПЫСа
В этом я уверен.
Я делал смарты.
----------------------
Через конфиги, скрипты и алл спавн. СДК не нужен вообще.
Для мобов легче



Секция Смарттеррейн = базовые установки гулага (количество неписей секция репавна и.т.д)
Гулаг. скрипт = расширенные параметры гулага (загрузка работ для неписей состояние работ предустановки )

Гулаг. лтх = логика работ (схемы поведения или цепочки схем условия переключения с одной схемы на другую и.т.д)


Зацикленный лагерь в журнале.
Byurrer
    
Посты: 82
Откуда: А зачем?
Возраст: 32
15-07-2010 11:43 GMT3 час. #1292058   
Как я понял онлайн это приобретение определенной логики и все?
AAAAKKK как я понял без смарттерейна не может существовать гулаг, или можно под уже созданный смарттерейн запихать гулаг?


project S.I.P
GIDDRA
    
Посты: 88
Откуда:
Возраст:
15-07-2010 11:54 GMT3 час. #1292062   
Хотел добавить Джип с амк форума - вылет
Expression : fatal error
Function : CInifile::r_section
File : E:\stalker\patch_1_0004\xrCore\Xr_ini.cpp
Line : 342
Description :
Arguments : Can't open section 'explosion'




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


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

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