Повелитель Зоны бамповскую тектсуру переиминуй в нормальную, бует как то так, но прозрачность вроде в модели) Влад-Счастливчик закоментируй диалоги, если бует вылет то ещё и закоментируй инфопоршни
Изменил слегка свое чит-меню:
1. добавил озвучку на кнопки вступления в группировки.
2. добавил постэффект и озвучку телепортации.
3. добавил в меню две свободные кнопки - можете вешать свои скрипты.
4. исправил не рабочую кнопку "выход".
3. Дистанция телепортации - 70 метров.
Через стены зданий нельзя - а вот через железную двери Сидора получается. :-)
Версия окончательная.
ссылка
_http://ifolder.ru/14370029
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik что такое? я короче вытаскиваю спальник из огсм, т.к. без таймеров амк мне пока слоэно его сделать(хотя знаю в каких скриптах они лежат), так вот, у меня спальник в инфентаре валяеться, я на него нажимаю и он пропадает на мотив тушенки, и возникают две ветки вариантов, либо проапдейтил не так, либо поставлен не тот класс, ща попробую переапдейтить где у меня репбокс стоит)
добавлено спустя 5 минут
erlik ещё бы бессмертие на локальных переменных повесил)
отредактировал(а) Struck: 07-10-2009 14:49 GMT3 час. Снова в строю.
Struck
спальник у тебя исчезает потому либо ты его обратно не спавнишь, либо его айди при release у тебя не ловится.
бессмертие оно нафиг надо - тем более проще сделать арт бессмертия и когда надо вешать его на пояс.
хотел повесить еще скрипт "гоп-стоп" - отбор вещей у неписей при подходе к ним на дистанцию 2 метра, но не знаю как задать переменную для всех npc в онлайне.
просто npc не работает.
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
хотел повесить еще скрипт "гоп-стоп" - отбор вещей у неписей при подходе к ним на дистанцию 2 метра, но не знаю как задать переменную для всех npc в онлайне.
просто npc не работает.
Через таблицу db.storage.
Данная таблица содержит все онлайновые объекты. Соответственно, нужно производить проверку, является ли объект сталкером:
if obj and IsStalker(obj) then
...
Производишь прогонку таблицы через in pairs, и производишь проверку на дистанцию.
Предупреждаю сразу, проверка на дистанцию сильно грузит движок, поэтому советую использовать метод:
npc:position():distance_to_sqr(db.actor:position()) --где, измерение производится в квадрате метров расстояния (dist * dist)
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
singapur22
Спасибо :-). будем разбираться - с db.storage дела пока не имел - придется вникать.
вот еще хотел спросить:
есть вот такие варианты присваивания переменной значений объектов игры.
local obj = alife():object("rostok_stalker_zombied_0003")
и
local obj = level.object("m_stalker_e")
в первом случае я так понимаю надо использовать имя объекта по спавн секции (или профилю)
Можно ли с помощью второго варианта что-то делать со всеми объектами секции stalker, то бишь npc ?
Или что это вообще за запись? нашел где то в игре...
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Да. Чуть не забыл. Актор тоже имеет два типа объекта:
db.actor --клиентский объект
alife():actor() --серверный объект
отредактировал(а) singapur22: 07-10-2009 16:32 GMT3 час. Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
singapur22
обязательно - у меня все ходы гроссмейстера записаны :-)
Помнишь ты мне писал, что отыгрыш партиклов сильно грузит систему, если их много.
Так вот на амк сайте один чел делает (точнее уже сделал) управляемую ракету (на классе вертолета) -
у него проблемс со шлейфом - пишет что использовал короткоживущий партиклы с их рисованием через fastcall - и в общем у него вылет без лога на второй ракете.
Это связано с тем что система не справляется с таким кол-вом партиклов, которые надо отрисовать в единицу времени? (кстати что за fastcall - вызывается он в два раза чаще чем апдейт эктора)
Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
erlik во я дураг,спавнил через асдс,а надо спавнить примерно так)))
function spawn_item_in_inv(spawn_item,npc)
if npc==nil then
npc=db.actor
end
return alife():create(spawn_item,
npc:position(),
npc:level_vertex_id(),
npc:game_vertex_id(),
npc:id())
end
singapur22 а как сделать чтобы когда ГГ садился в машину спавнился вертолёт и летел за машиной атаковав её? Отдельная логика вертолёту нужна?...и спавн по условию?
вот нашел на форуме www.gamedev.ru
"fastcall — соглашение вызова подпрограмм. Говоря в общем, суть в том, что часть параметров передаётся в подпрограмму через регистры общего назначения. Чёткого стандарта на то, сколько параметров передавать через регистры процессора и какие регистры использовать, не существует. К примеру, в Delphi используются три регистра (eax, edx и ещё какой-то), остальное — через стек. Как в VisualC++ реализовано, я не интересовался. В любом случае, передача параметров через регистры быстрее передачи через стек.
2. Целесообразность использования fastcall — это большой вопрос. Думается, что выигрыш от этого можно получить лишь в том случае, когда функция маленькая, и передаваемых в неё параметров тоже мало. Если не критичен размер дистрибутива, то лучше всего добавлять к функциям спецификатор inline. Это автоматически заставит забыть о соглашениях вызова. Для всяких векторов, как у тебя, так обычно и делают".
добавлено спустя 9 минут
Struck
логика вертолету конечно нужна.
а вот как ты отследишь, что эктор сел в машину - вопрос.
разве что повесить активацию атаки вертоля на нажатие кнопок управления авто - если это вообще можно.
насколько я помню отследить можно только клавишу tab
отредактировал(а) erlik: 07-10-2009 17:10 GMT3 час. Разработки: "Тотализатор","Kill-zone", "Mega-bomba", Mega_gravi",
"Рандомные тайники(а также декодер, мины+диалоговый аддон"), "Выбрасываемый рюкзак", "Аналоговые часики на худ"
Кажется понял как работает этот чёртов fastcall.
Просмотрев файл bind_heli.script, пришёл к такому выводу.
В функции initialize() производится регистрация функции fastcall() методом set_fastcall( self.fastcall, self ), которая в последствии вызывается постоянным апдейтом из тела движка. Надо попробывать её протестить, и определить частоту обновлений.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
erlik Протестил и проанализировал fastcall. Запускал таким образом:
local fast = false
function test()
if not fast then
db.actor:set_fastcall( fastcall, db.actor )
fast = not fast
end
end
function fastcall()
...
end
Работает как надо. После вызова функции test(), функция fastcall() начала апдейдиться постоянным обновлением.
По подсчётам, за период игры в 30 минут игрового времени, частота обновлений менялась в диапазоне от 244 до 671 запроса в минуту игрового времени. В среднем, в основном стояла скорость порядка 470. Так что не шибко то она быстрее акторского апдейта.
Но и это хорошая новость, упростит многие задачи.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Парочка вопросов.
1.Можно сделать так чтобы после определенного момента срабатывал постэффект для ГГ и запускалась Видяха?
2.Возможно предать НПСу прозрачность как у Сосокрова?
function gop_stop(actor, npc)
local num = actor:money()
out_object = actor
in_object = npc
actor:inventory_for_each(transfer_object_item)
actor:transfer_money(num, npc)
game_stats.money_quest_update (-num)
end
Дальнейшие действия, те же.
Проект "Mobile Manager" закрыт, в связи со стечениями неблагоприятных обстоятельств, и последующей потерей всех файлов и справок текущего проекта.
Эта тема закрыта, публикация новых сообщений недоступна.
Продолжая пользоваться сайтом, вы соглашаетесь с использованием файлов cookie. Страницы сайта могут содержать информацию, запрещенную для просмотра посетителям младше 18 лет. Авторское право на серию игр «S.T.A.L.K.E.R» и используемые в ней материалы принадлежит GSC Game World.