Помощь с Lua-скриптами Баян Баян 21-02-2012, 20:56 0 В чём ошибка? Показать / Скрыть текст |-- Как правильно? [signature]--------------------{signature}[/signature] [fast]Цитировать[/fast] Жалоба #0 4044410 Посетители + публикаций комментариев 4044410 20 июля 2013 15:47 0 Цитата (Havcom)Не подскажешь, как узнал?Havcom в каком смысле? Цитировать Жалоба #151 Havcom Мастера публикаций комментариев Havcom 20 июля 2013 15:52 0 Кто дал ссылки? Цитировать Жалоба #152 4044410 Посетители + публикаций комментариев 4044410 20 июля 2013 15:55 0 Цитата (Havcom)Кто дал ссылки?дилеттант вроде сам где то писал,и я где то там же их и откопал если нужна ссылка вот: http://dilettante.front.ru/datafiles/ правда по другим разделам у меня не получается полазить.И вот ещё с монстрами и моделями повешенных зомби и солдата из некро http://dilettante.front.ru/NV_Monsters/ Цитировать Жалоба #153 Havcom Мастера публикаций комментариев Havcom 20 июля 2013 16:04 0 Ты очень пронырлив, мой друг. Даже слишком. Цитировать Жалоба #154 4044410 Посетители + публикаций комментариев 4044410 20 июля 2013 16:16 0 Цитата (Havcom)Ты очень пронырлив, мой друг. Даже слишком.кстати Havcom проверь следующие ссылки я ещё натырил с его сайта http://dilettante.front.ru/dem/ http://dilettante.front.ru/exe/Добавлено (20.07.2013, 16:16)---------------------------------------------и ещё http://dilettante.front.ru/exec/ http://dilettante.front.ru/data/ http://dilettante.front.ru/index_files/ кому может пригодится Цитировать Жалоба #155 Havcom Мастера публикаций комментариев Havcom 20 июля 2013 16:20 0 Я скажу так: Не нужно лезть туда, куда тебя не приглашают. Цитировать Жалоба #156 4044410 Посетители + публикаций комментариев 4044410 20 июля 2013 16:27 0 Цитата (Havcom)Я скажу так: Не нужно лезть туда, куда тебя не приглашают.ну знаешь,я там модель достал мёртвого скелета очень под пейн подходит(жаль что мертвый ) Цитировать Жалоба #157 Astaroth Модераторы публикация комментариев Astaroth 20 июля 2013 17:05 0 4044410, Да ты очень даже проворный поцан)Добавлено (20.07.2013, 17:05)---------------------------------------------Цитата (4044410)следующие ссылки я ещё натырил с его сайта dilettante наверное будет в восторге от такого. Цитировать Жалоба #158 Evgeniy Модераторы публикаций комментариев Evgeniy Офлайн 28 июля 2013 01:25 0 4044410, Astaroth,Прекратите флудить везде,где только можно! Цитировать Жалоба #159 UnSlayeRLBarsik Модераторы публикаций комментариев UnSlayeRLBarsik 6 сентября 2013 01:50 0 LaunchRnd - вот кто-нибудь знает в чем заключается суть команды. Я паначалу думал что это рандомный запуск команд, но кажись это не так, может я не допер просто. Разбераться что-то не хочется просто, поэтому кто знает дайте ответ. Цитировать Жалоба #160 Havcom Мастера публикаций комментариев Havcom 7 сентября 2013 10:35 0 UnSlayeR, вот этот экшен. --=========================== function CAction:Action_LaunchRnd(obj,rand,...) if rand and (math.random(0,100) > rand) then return end if obj and obj.OnLaunch then obj:OnLaunch(unpack(arg)) end end --=========================== Тут на самом деле всё очевидно, но раз ты задал такой вопрос, то я спрошу, ты сам примерно хоть понимаешь, что тут написано? Цитировать Жалоба #161 UnSlayeRLBarsik Модераторы публикаций комментариев UnSlayeRLBarsik 9 сентября 2013 19:26 0 Havcom, Не особо наверно, просто яж не такой мастер как ты в скриптах. Примерно понимаю (может и нет конечно), но не могу допереть как он все же работает. То есть как его нужно в экшенах писать. Так и еще сразу же вдогонку, XchgTexture команда работающая в моделях CActor, так вот пока-что я еще ничего не предпринимал, но вот и пришел к вопросу: А возможно ли вписать ее в Citem, чтоб предметам менять текстуры, а то чет не хочется редачить сами модельки меняя названия текстур и создавая при этом новые. Вроде бы еще какая-то команда есть, но я не помню ее сейчас (где-то тут есть в теме). Цитировать Жалоба #162 Havcom Мастера публикаций комментариев Havcom 9 сентября 2013 19:59 0 [spoiler]uSpoilerLFO_h7l LFO_h7' LFO_h7' LFO_h7' LFO_h7')).val('[\–] Спойлер');$( LFO_h7' LFO_h7' LFO_h7')).val('[+] Спойлер');$( LFO_h7'[+] СпойлерЦитата (UnSlayeR)яж не такой мастер как ты А кто сказал, что я мастер?? Ты меня явно немного переоцениваешь. :DD:[/spoiler] Цитата (Havcom)ты сам примерно хоть понимаешь, что тут написано? Цитата (UnSlayeR)Не особо наверно Это очень плохо, так как, создавая мод, ты даже не понимаешь, что за что отвечает и как работает. И с этим надо что-то делать. А делать вот что - изучать экшены и функции, тренироваться в редакторе по их применению, в скриптах что-то мутить хоть ради познания нового материала, создав заранее резервную копию своих скриптов. Тупо копировать с одного на другое совсем не интересно. Не зная, как всё работает, ты не сможешь понять, как это можно изменить и получится опять тоже самое. Теперь пропустим вступление и перейдём к практике. Если внимательно посмотреть, то этот экшен точь в точь похож на стандартный экшен Launch. Надеюсь, хоть как стандартный работает, ты знаешь. Но в этом добавлено условие. if rand and (math.random(0,100) > rand) then return end А также значение rand вынесено за скобки (function CAction:Action_LaunchRnd(obj,rand,...)) и следовательно мы можем свободно запускать экшен, назначая самостоятельно параметр rand. Запускается экшен так: LaunchRnd:AmbushForPlayer_001,50 AmbushForPlayer_001 - Имя обьекта (там амбуши, чекпоинты) 50 - значение rand, которое мы поставили на 50 из возможных ста(100). А вот как будет выглядеть условие, если на русский перевести. if(если) rand(указанное нами значение rand) and(и) (math.random(0,100)(диапазон значений от нуля до ста) >(больше, чем) rand(указанное нами значение rand)) then(тогда) return(Отменяет, возвращает функцию) end На практике всё просто. Указывая значение rand, мы добавляем шанс (в процентах, если хочется), что состоится запуск обьекта. Я указал значение 50 т.е. 50 на 50, что обьект запустится. Надеюсь, теперь понятно, что к чему. Цитировать Жалоба #163 UnSlayeRLBarsik Модераторы публикаций комментариев UnSlayeRLBarsik 9 сентября 2013 20:12 0 Havcom, немножко не так я все-таки думал. Цитата (Havcom)изучать экшены и функции, тренироваться в редакторе по их применению Я это и делаю, пока дойдет просто до меня, что и как работает, время за изучением проходит. Надо будет поэкспериментировать с этим экшеном, что и как. Цитировать Жалоба #164 Havcom Мастера публикаций комментариев Havcom 9 сентября 2013 20:25 0 Цитата (UnSlayeR)пока дойдет просто до меня, что и как работает, время за изучением проходит Всё постигается на практике. А ты хотел сесть и сразу всё сделать, нечего не изучая? Так не бывает.Добавлено (09.09.2013, 20:25)---------------------------------------------Цитата (UnSlayeR)Вроде бы еще какая-то команда есть MATERIAL.Replace("items/vajce","items/vajce_grim") Указываем сначала используемую текстуру, а потом ту, на которую меняем. Цитировать Жалоба #165 UnSlayeRLBarsik Модераторы публикаций комментариев UnSlayeRLBarsik 9 сентября 2013 20:49 0 Цитата (Havcom)ты хотел сесть и сразу всё сделать, нечего не изучая?Нет конечно, знал, что придетсяизучать, так как то что я хочу сделать в моем моде, требует изучения редактора. Цитировать Жалоба #166 4044410 Посетители + публикаций комментариев 4044410 10 сентября 2013 07:23 0 Цитата (Havcom)Теперь пропустим вступление и перейдём к практике. Если внимательно посмотреть, то этот экшен точь в точь похож на стандартный экшен Launch. Надеюсь, хоть как стандартный работает, ты знаешь. Но в этом добавлено условие. if rand and (math.random(0,100) > rand) then return end А также значение rand вынесено за скобки (function CAction:Action_LaunchRnd(obj,rand,...)) и следовательно мы можем свободно запускать экшен, назначая самостоятельно параметр rand. Запускается экшен так: LaunchRnd:AmbushForPlayer_001,50 AmbushForPlayer_001 - Имя обьекта (там амбуши, чекпоинты) 50 - значение rand, которое мы поставили на 50 из возможных ста(100). А вот как будет выглядеть условие, если на русский перевести. if(если) rand(указанное нами значение rand) and(и) (math.random(0,100)(диапазон значений от нуля до ста) >(больше, чем) rand(указанное нами значение rand)) then(тогда) return(Отменяет, возвращает функцию) end На практике всё просто. Указывая значение rand, мы добавляем шанс (в процентах, если хочется), что состоится запуск обьекта. Я указал значение 50 т.е. 50 на 50, что обьект запустится. Надеюсь, теперь понятно, что к чему. как Havcom когда-то говорил: Цитатапрям как в школе Цитировать Жалоба #167 gg Посетители + публикаций комментариев gg 10 сентября 2013 08:25 0 Кто-нибудь знает как сделать секретный уровень? (Замок из Буха) И какой скрипт отвечает за условия (ударься головой о стену 10 раз) его загрузки? Цитировать Жалоба #168 UnSlayeRLBarsik Модераторы публикаций комментариев UnSlayeRLBarsik 10 сентября 2013 20:16 0 gg, где-то я точно видел уже этот скрипт, но что-то вспомнить не могу никак. Там он не особо сложный-то даже. (не знаю точно, но посмотри EndGame.Cprocess - если правильно я написал конечно, вроде так пишется). Цитировать Жалоба #169 gg Посетители + публикаций комментариев gg 11 сентября 2013 10:21 0 Спасибо. Буду копать в этом направлении. Цитировать Жалоба #170 Astaroth Модераторы публикация комментариев Astaroth 11 сентября 2013 13:59 0 gg, Ещё это вроде связано в файлах: SaveGame.lua и ещё в Levels.lua , может ещё и Game.lua. Цитировать Жалоба #171 nonnamed Посетители + публикаций комментариев nonnamed 24 октября 2013 17:36 0 помогите мне с lua скриптами и настройками уровня(level.lua файл "lua") Цитировать Жалоба #172 Havcom Мастера публикаций комментариев Havcom 24 октября 2013 17:39 0 nonnamed, ты сам догадался, куда писать или направил кто? Да и вообще, свершилось наконец!! Хоть что-то дошло. По делу всё настолько просто, что проще некуда. Открываешь блокнотом lua скрипт, редачишь, сохраняешь либо через меню блокнота, либо жмешь Ctrl+S на клаве. Цитировать Жалоба #173 UnSlayeRLBarsik Модераторы публикаций комментариев UnSlayeRLBarsik 28 октября 2013 23:21 0 Собственно вопрос: Ести ли способ разблокировать, заблокировованные CheckBox кнопки? (Типа прошел уровень и кнопка разблокировалась), EnableItem командой не получается. Цитировать Жалоба #174 Havcom Мастера публикаций комментариев Havcom 29 октября 2013 00:07 0 EnableItem работает, только разблокируемый элемент надо сначала заблокировать параметром disabled = 1, Цитировать Жалоба #175 Astaroth Модераторы публикация комментариев Astaroth 5 ноября 2013 20:53 0 Как добавить музыку во время загрузки уровня [spoiler]uSpoilerMWRaOgl MWRaOg' MWRaOg' MWRaOg' MWRaOg')).val('[\–] Спойлер');$( MWRaOg' MWRaOg' MWRaOg')).val('[+] Спойлер');$( MWRaOg'[+] СпойлерHud/Levels.lua -- Setup for demo { { "", "", "", "", 0, 0, nil }, }, { { "", "", "", "", 0, 0, nil }, }, { { "C3L3_Military_Base", Languages.Texts[296], "sketch_baza", Languages.Texts[409], 20, 0, nil }, }, { { "", "", "", "", 0, 0, nil }, }, { { "", "", "", "", 0, 0, nil }, -- { "C5L1_City_On_Water", Languages.Texts[303], "sketch_wenecja", Languages.Texts[416], 24, 0, nil }, }, { -- { "C2L5_Town", Languages.Texts[292], "sketch_town", Languages.Texts[405] }, -- { "", "", "", "" }, -- { "C4L1_Oriental_Castle", Languages.Texts[299], "sketch_arabski", Languages.Texts[412] }, { "", "", "", "" }, -- { "C3L5_Ruins", Languages.Texts[297], "sketch_ruins", Languages.Texts[410] }, }, ]]-- } LoadingMusicTable= { --losowy utwor ["Other"]={ "loading_music", }; } -- function LoadScreen_FillIcons() for i=1,table.getn(ProgressIcons) do PMENU.SetProgressIcon( i - 1, ProgressIcons[1], ProgressIcons[2], ProgressIcons[3] ) end end function StartLoadingMusic() if Game and Game._levelNameBeforeLoad then local tab=LoadingMusicTable[Game._levelNameBeforeLoad] if not tab then tab=LoadingMusicTable["Other"] end if not tab then Game:Print("LoadingMusicTable is empty") return end if table.getn(tab)<1 then return end local music=tab[math.random(1,table.getn(tab))] if not music then Game:Print("[2] LoadingMusicTable is empty") return end SOUND.StreamLoad(3,music) SOUND.StreamPlay(3,true) SOUND.StreamSetVolume(3,Cfg.MusicVolume) Game._loadingMusic=true end end function StopLoadingMusic() if Game._loadingMusic==true then SOUND.StreamPause(3) SOUND.StreamDelete(3) Game._loadingMusic=false end end Main/Cfg.lua Cfg = { ... ... LoadingMusic = true, ... ... } Main/Game.lua --============================================================================ function Game:LoadLevel(name) if self.GMode == GModes.SingleGame then MPCfg.GameMode = "" end self._levelNameBeforeLoad = name PMENU.ActivateLoadingScreen( true, self.CurrLevel, Levels_GetSketchByDir(name), name ) PMENU.SetLoadingScreenOverall( Game:CountLevelElems(name), 10 ) StartLoadingMusic() -- look for level file local files = FS.FindFiles(path.."*.CLevel",1,0) if table.getn(files)>0 then -- create and load level object local fname, ext = ParseFileName(files[1]) self:NewLevel(fname,"","",3) Lev = LoadObj(path..files[1]) PMENU.LoadingProgress() getfenv() [fname]= Lev -- load level templates PreloadTemplates("../Data/Levels/"..Lev._Name.."/Templates", true) -- load objects self:LoadObjectsDirectory(path,mpmode) else self:NewLevel(name,"","",3) end --if( MENU.Active() ) then -- WORLD.SetInLoadingScreen(true) -- MenuLocalLoadingScreenObjectsOverall = GObjects:Count() -- MenuLocalLoadingScreenObjectsCounter = 0 --end WORLD.LateVBsBegin() Lev:Apply() if not PrecacheDisabled then Cache:PrecacheLevel(name) end if string.find(name,"C6L",1,true) == 1 then Lev.AddOn = true end if Lev.AddOn then Game.AddOn = true else Game.AddOn = false end if Game.AddOn then Levels = LevelsAddOn else Levels = LevelsMain end -- na kliencie niektore obiekty tylko cachuje bo stworzy je serwer for i,o in GObjects.Elements do if o._DeleteAfterCache then GObjects:ToKill(o) end end GObjects:DeleteKilled() GObjects:Apply() WORLD.LateVBsEnd() self:SetupMapEntities(path) --if( MENU.Active() ) then -- WORLD.SetInLoadingScreen(false) -- MENU.ShowOnly('ConsoleMenu') --end PMENU.ActivateLoadingScreen( false ) GObjects:AfterLoad() StopLoadingMusic() Game:ApplySettings() if not IsDedicatedServer() then EDITOR.OnMsg("SelectObject",Lev._Name) Editor.SelObj = nil Editor.ToSelObj = nil Hud.Enabled = true end -- P.S. Скрипты передал Lexa_2012, но я исправил пару недочётов.[/spoiler] Цитировать Жалоба #176 Havcom Мастера публикаций комментариев Havcom 1 декабря 2013 17:34 0 Я чёт забыл, как отключить иконку у боссов. Может подскажет кто? Чтобы полоса HP осталась, а иконки небыло. Цитировать Жалоба #177 UnSlayeRLBarsik Модераторы публикаций комментариев UnSlayeRLBarsik 1 декабря 2013 17:37 0 Все в HUD.Lua смотри. У меня вопрос к мододелам. Кто-нибудь пытался поменять скин (текстуру) к оружию с помощью скриптов. (В некро есть такая функция, но она не работает). Цитировать Жалоба #178 Havcom Мастера публикаций комментариев Havcom 1 декабря 2013 20:32 0 Цитата UnSlayeR ()Все в HUD.Lua смотри. Я так и понял, где и что смотреть. Очень исчерпывающий ответ.Добавлено (01.12.2013, 20:32)---------------------------------------------Ну так мне поможет кто-нить с моим вопросом или нет? Тут что нету специалистов по скриптам? Цитировать Жалоба #179 Astaroth Модераторы публикация комментариев Astaroth 2 декабря 2013 00:05 0 Цитата Havcom ()Я чёт забыл, как отключить иконку у боссов. Может подскажет кто? Чтобы полоса HP осталась, а иконки небыло. Цитировать Жалоба #180