кстати 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/ кому может пригодится
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 --=========================== Тут на самом деле всё очевидно, но раз ты задал такой вопрос, то я спрошу, ты сам примерно хоть понимаешь, что тут написано?
Havcom, Не особо наверно, просто яж не такой мастер как ты в скриптах. Примерно понимаю (может и нет конечно), но не могу допереть как он все же работает. То есть как его нужно в экшенах писать.
Так и еще сразу же вдогонку, XchgTexture команда работающая в моделях CActor, так вот пока-что я еще ничего не предпринимал, но вот и пришел к вопросу: А возможно ли вписать ее в Citem, чтоб предметам менять текстуры, а то чет не хочется редачить сами модельки меняя названия текстур и создавая при этом новые. Вроде бы еще какая-то команда есть, но я не помню ее сейчас (где-то тут есть в теме). - Painkiller Сайт PKRC.RU Вконтакте! - Группа по Игре Painkiller: Hell & Madness (2015)
А кто сказал, что я мастер?? Ты меня явно немного переоцениваешь. :DD:
Цитата (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, что обьект запустится.
Надеюсь, теперь понятно, что к чему.
Сообщение отредактировал Havcom - Понедельник, 09.09.2013, 20:04
Теперь пропустим вступление и перейдём к практике. Если внимательно посмотреть, то этот экшен точь в точь похож на стандартный экшен 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, что обьект запустится. Надеюсь, теперь понятно, что к чему.