Помощь с Lua-скриптами Баян Баян 21-02-2012, 20:56 0 В чём ошибка? Показать / Скрыть текст |-- Как правильно? [signature]--------------------{signature}[/signature] [fast]Цитировать[/fast] Жалоба #0 UnSlayeRLBarsik Модераторы публикаций комментариев UnSlayeRLBarsik 14 января 2013 02:19 0 Astaroth, Кстати кроме тебя так никто не объяснил как это сделать. Тебе спасибо огромное! Цитировать Жалоба #61 Astaroth Модераторы публикация комментариев Astaroth 14 января 2013 13:21 0 UnSlayeR, Получилось или не получилось? Цитировать Жалоба #62 BlooDFloweR Администраторы публикаций комментариев BlooDFloweR 14 января 2013 17:54 0 UnSlayeR, если хочешь могу скинуть скрипт Носферату из некровижна. Он тоже может спавнить мобов Цитировать Жалоба #63 Evgeniy Модераторы публикаций комментариев Evgeniy Офлайн 9 февраля 2013 18:36 0 Вопрос: Можно каким-нибудь скриптом принудительно забрать у игрока всё оружие?А если этого нету в скриптах,то можно так сделать?Чтобы при прописывании в Эмбаше определённой фразы у игрока пропадало всё оружие и все патроны? Цитировать Жалоба #64 Havcom Мастера публикаций комментариев Havcom 9 февраля 2013 18:58 0 Evgeniy, пропадало безвозвратно? Цитировать Жалоба #65 Evgeniy Модераторы публикаций комментариев Evgeniy Офлайн 9 февраля 2013 19:04 0 Havcom, Ну да,вообще удалить его из кэша...Чтобы на последующих уровнях остался такой же арсенал,какой стал после изменения Цитировать Жалоба #66 Havcom Мастера публикаций комментариев Havcom 9 февраля 2013 19:25 0 Расскажи более подробно о своей задумке. Можно сделать команду на простое удаление оружия. Со следующего уровня будешь собирать по новой. Если ты хочешь удалить одно оружие и на том же уровне взять другое в том же слоте, то это будет сложнее. Цитировать Жалоба #67 Evgeniy Модераторы публикаций комментариев Evgeniy Офлайн 9 февраля 2013 19:29 0 Цитата (Havcom)Если ты хочешь удалить одно оружие и на том же уровне взять другое в том же слоте, то это будет сложнее. Говорить,зачем мне это, не хочу,поэтому мне надо именно такой способ Цитировать Жалоба #68 Havcom Мастера публикаций комментариев Havcom 9 февраля 2013 19:41 0 Чтож, я знаю, из-за чего оружие не заменяется в одном и том же слоте на другое на одном уровне, но пока не знаю, как подойти к этой проблеме. Цитировать Жалоба #69 ItramariN Посетители + публикаций комментариев ItramariN 9 февраля 2013 21:35 0 Цитата (Evgeniy)Можно каким-нибудь скриптом принудительно забрать у игрока всё оружие? Поддерживаю Havcom'а. Расскажи поподробнее,что именно нужно. А вообще у игрока есть переменная Weapons, которая является списком имеющегося у игрока оружия и его характеристик и переменная EnabledWeapons, которая отвечает за то, какие пушки он сможет выбрать (вроде как-то так). Чтобы безвозвратно удалить у игрока пушку в n-ном слоте нужно написать Player.EnabledWeapons[n]=nil и Player.Weapons[n]=nil - первая операция не позволит игроку взять это оружие в руки, а вторая скинет его статистику. Цитировать Жалоба #70 Havcom Мастера публикаций комментариев Havcom 9 февраля 2013 21:46 0 Ооо, друже, ты только что подсказал мне гинеальную идею по удалению пушки и замене её другой на одном уровне. Добавляем экшены в амбуш для удаления пухи Actions.OnTouch L:Player.Weapons[2]=nil L:Player.EnabledWeapons[2]=nil Для оружия, находящегося во втором слоте, тобишь это дробовик. Далее подбираем новое оружие, которое также назначено на второй слот и воаля!! Добавлено (09.02.2013, 21:46) --------------------------------------------- Либо создать экшен CAction.lua function CAction:Action_DeleteWeapon(slot) Player.Weapons[slot]=nil Player.EnabledWeapons[slot]=nil end Добавляем экшен в амбуш DeleteWeapon:2 Ай, нет. Появляется ошибочка индексации. Тогда не знаю, как по другому. Цитировать Жалоба #71 Evgeniy Модераторы публикаций комментариев Evgeniy Офлайн 9 февраля 2013 22:06 0 Блин,господа,я ж вроде понятно пишу... Надо так: Мы идём,у нас есть только коломёт,мы подходим к эмбашу,мы теряем коломёт(убрать его, вообще стереть),но потом снова находим его и всё ок!Добавлено (09.02.2013, 22:06)---------------------------------------------Ещё бы счётчик патронов сбросить,тогда вообще супер будет Цитировать Жалоба #72 Havcom Мастера публикаций комментариев Havcom 9 февраля 2013 22:16 0 С этого надо было начинать. Добавляем в амбуш экшены L:Player.EnabledWeapons[3]=nil L:Player.Ammo.Stakes = 0 L:Player.Ammo.Grenades = 0 L:Player.WeaponChangeRequest(Player._Entity,1) только если коломёт был в руках, то он и останется в руках, пока не сменится оружие. Цитировать Жалоба #73 ItramariN Посетители + публикаций комментариев ItramariN 10 февраля 2013 00:42 0 Цитата (Havcom)Ай, нет. Появляется ошибочка индексации. У меня ничего такого не было, все скидывалось нормально. Цитата (Havcom)только если коломёт был в руках, то он и останется в руках, пока не сменится оружие. А принудительно поменять оружие игроку? Player.WeaponChangeRequest(self._Entity,slot) Цитировать Жалоба #74 Havcom Мастера публикаций комментариев Havcom 10 февраля 2013 03:07 0 Цитата (ItramariN)Player.WeaponChangeRequest(self._Entity,slot) Ах да. Забыл про эту строку. Добавлено (10.02.2013, 03:07)---------------------------------------------Цитата (ItramariN)У меня ничего такого не было, все скидывалось нормально. Ошибка выскакивает при закрытии игры или редактора и, помоему, при переходе на следующий уровень, хотя в последнем не уверен. Непомню. Цитировать Жалоба #75 ItramariN Посетители + публикаций комментариев ItramariN 10 февраля 2013 11:41 0 Цитата (Havcom)Ошибка выскакивает при закрытии игры или редактора и, помоему, при переходе на следующий уровень, хотя в последнем не уверен. Непомню. Да, у меня тоже такая ошибка. Надо писать Player.Weapons[n]:Delete, тогда все будет корректно работать, а то иначе при удалении игрока пушка оставалась, на это игра и ругалась. Эта команда удаляет модельку оружия, но статы не сбрасывает, так что потом не забудь скинуть счетчик патронов и удалить пушку из EnabledWeapons, а не то будешь бегать с пустыми руками, из которых вылетают колья, например))) Цитировать Жалоба #76 Havcom Мастера публикаций комментариев Havcom 10 февраля 2013 13:50 0 ItramariN, молодец. Если кому пригодится, вот экшен для кооректного удаления оружия у игрока: function CAction:Action_DeleteWeapon(slot) if not Player.Weapons[slot] then return end Player.Weapons[slot]:Delete() Player.Weapons [slot]= nil Player.EnabledWeapons [slot]= nil end В амбуш вписываем DeleteWeapon:n Вместо n вписываем номер слота оружия. Цитировать Жалоба #77 Evgeniy Модераторы публикаций комментариев Evgeniy Офлайн 10 февраля 2013 14:07 0 Благодарю!А саму функцию куда вбивать? Цитировать Жалоба #78 ItramariN Посетители + публикаций комментариев ItramariN 10 февраля 2013 14:11 0 Ну во первых ты опять-таки забыл про скидывание патронов у оружия и принудительной смены... а во-вторых если ты подберешь удаленное оружие то у тебя не будет его модельки... Так что надо писать так: Player.WeaponChangeRequest(Player._Entity,1) -- меняем оружие на первый слот Player.EnabledWeapons[3]=nil -- коломет недоступен Player.Ammo.Stakes=0 -- сбрасываем патроны для первого режима Player.Ammo.Grenades=0 -- и для второго Аналогично можно сделать для любого оружия - надо только поменять названия патронов и номер блокируемого оружия. Цитировать Жалоба #79 Havcom Мастера публикаций комментариев Havcom 10 февраля 2013 14:19 0 ItramariN, тем экшеном у меня всё корректно удалилось. Оружие, если удаляемое на момент было в руках, само переключается на первое в списке. подбирая новое в тот же слот, появляется новое. С моделями и прочим вроде всё нормально. Ну а скидывать инфу про патроны, это уже по желанию. Цитировать Жалоба #80 ItramariN Посетители + публикаций комментариев ItramariN 10 февраля 2013 14:22 0 Havcom, ну, если новое подбирать в тот же слот, то да - твой вариант вполне рабочий, мой же подходит если нам нужно выкинуть оружие, а затем подобрать снова) Цитировать Жалоба #81 Havcom Мастера публикаций комментариев Havcom 10 февраля 2013 14:22 0 Цитата (Evgeniy)Благодарю!А саму функцию куда вбивать? Цитата (Havcom)L:Player.EnabledWeapons[3]=nil L:Player.Ammo.Stakes = 0 L:Player.Ammo.Grenades = 0 L:Player.WeaponChangeRequest(Player._Entity,1) В этом случае можно вписать все 4 экшена в амбуш для получения желаемого. Цитата (Havcom)function CAction:Action_DeleteWeapon(slot) if not Player.Weapons[slot] then return end Player.Weapons[slot]:Delete() Player.Weapons [slot]= nil Player.EnabledWeapons [slot]= nil end А если в этом, то дописать новый экшен в CAction.lua Цитировать Жалоба #82 ItramariN Посетители + публикаций комментариев ItramariN 10 февраля 2013 14:23 0 Просто два разных варианта получились) Цитировать Жалоба #83 Evgeniy Модераторы публикаций комментариев Evgeniy Офлайн 13 февраля 2013 01:31 0 Как-то давно,помню,пытался придать патронам массу и способность к взаимодействиям,т.е они начали падать,их можно было двигать и т.д.,однако у половины терялась возможность к "забиранию",т.е. их взять просто нельзя было...Не знаете,почему? Цитировать Жалоба #84 ItramariN Посетители + публикаций комментариев ItramariN 13 февраля 2013 14:14 0 Evgeniy, Скорее всего просчитывалась коллизия, предмет сдвигался и никогда не оказывался на нужном расстоянии от игрока, чтобы тот мог его взять. Цитировать Жалоба #85 Evgeniy Модераторы публикаций комментариев Evgeniy Офлайн 13 февраля 2013 14:46 0 ItramariN, А исправить никак?А то,если б всё было хорошо,можно было бы много интересностей придумать. Цитировать Жалоба #86 ItramariN Посетители + публикаций комментариев ItramariN 13 февраля 2013 19:08 0 Evgeniy, Давай по порядку - как ты делал патроны физическими объектами? Цитировать Жалоба #87 Evgeniy Модераторы публикаций комментариев Evgeniy Офлайн 13 февраля 2013 19:18 0 ItramariN, Вот блин,чтоб я помнил.. То ли отключал Pinned-состояние,то ли что-то другое делал..я честно не помню,давно это былоДобавлено (13.02.2013, 19:18)---------------------------------------------А если по-другому сказать,что тыкал методом тыка..нескилованный я,поэтому и спрашиваю Цитировать Жалоба #88 ItramariN Посетители + публикаций комментариев ItramariN 13 февраля 2013 21:46 0 Evgeniy, и чего тогда ты ждешь тогда от меня?О_о Можно ли исправить проблему с неберущимися патронами? Да, можно. А как - тут уже надо знать как реализована коллизия... Цитата (Evgeniy)А если по-другому сказать,что тыкал методом тыка 90% моих знаний получено именно таким способом. Цитировать Жалоба #89 Evgeniy Модераторы публикаций комментариев Evgeniy Офлайн 13 февраля 2013 22:37 0 Цитата (ItramariN)90% моих знаний получено именно таким способом. Все вы так говорите! Цитировать Жалоба #90