Модератор форума: КсюXa, ApeX  
Форум » Fallout: New Vegas » Мастерская » Скрипты (Вопросы и ответы)

Скрипты
a3apbi4  Offline  Сообщение №1 написано: 7 декабря 2010, 18:01



11
Скрипты - неотъемлемая часть GECK. При написании возникает очень много казусов. Данная тема должна помочь не наступать на "грабли" новичкам и делиться опытом с другими более продвинутых мододелов.




Steady  Offline  Сообщение №541 написано: 3 ноября 2011, 21:21 | Отредактировано: Straight - 3 ноября 2011, 21:22



Может ли функция AddPerk работать в скрипте quest типа? А то я добавляю ее в блок Begin GameMode а скритт не сохраняется. Или она работает только в effect скриптах?

Fossy  Offline  Сообщение №542 написано: 4 ноября 2011, 10:30



134
Цитата Straight

Может ли функция AddPerk работать в скрипте quest типа


Может. Вот формат - [ActorRefID].AddPerk PerkID:ref Наверно указываешь не правильно ActorRefID или имя перка

Разрабатываю свой мод "Выживание"
Spalny_Vagon  Offline  Сообщение №543 написано: 4 ноября 2011, 10:31


Мастер


Цитата Straight

Может ли функция AddPerk работать в скрипте quest типа? А то я добавляю ее в блок Begin GameMode а скритт не сохраняется. Или она работает только в effect скриптах?


Может работать в любых.

======================
Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294
Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
Steady  Offline  Сообщение №544 написано: 4 ноября 2011, 11:11



Fossy, точно забыл про ActorREF. Спасибо, хоть уже и не надо.

Turdus  Offline  Сообщение №545 написано: 4 ноября 2011, 15:09



125
Дайте, пожалуйста, совет по изменению скрипта, который регулирует урон всего оружия в игре. Я видел подобные моды в Нексусе, но они нубовские - так как там тупо просто изменен урон конкретного оружия, даже я такое могу сделать. Мне же нужно изменить скрипт, чтобы все оружие в игре, в том числе и добавляемое ДЛЦ и модами, без какого-либо редактирования наносило тройной урон.

Красота спасет мир...
Vi[RUS]  Offline  Сообщение №546 написано: 4 ноября 2011, 23:39 | Отредактировано: Vi[RUS] - 4 ноября 2011, 23:39



275
Создал лифт (как при входе на Аванпост Изгоев в Operation Anchorage)
Лифт нормально едет вниз, как только приезжаю на нужный этаж, войти в дверной проем я не могу, ибо мне мешает Нечто недоступное человеческому глазу.
Но если я поеду наверх, то лифт проедет 2-3 этажа и остановится и застрянет (навечно), хотя меня должно было телепортнуть в другую локацию.
Что делать???? unsure

Вот скрипт:
Code
scn DLC02ElevatorSCRIPT

; this script contrls the elevator on the DLC02VSS01 side of things

short state  ; 0 = not running, at top
       ; 1 = going down
       ; 2 = not running, at bottom
       ; 3 = going UP
ref actronaut

begin onActivate

   set actronaut to getActionRef

   if actronaut == player
    if state == 2
     set state to 3
     DLC02ElevShaft.playgroup backward 0     
     DLC02ElevGate.playgroup backward 0     
     .playgroup forward 0           
    else
     ; do nothing
    endif
   else
    ; if not the player
    actronaut.activate ElevTeleportREF

   endif

end

begin gameMode

                    
    if state == 0                    
     DLC02ElevShaft.playgroup forward 0      
     DLC02ElevGate.playgroup forward 0      
     set state to 1
    endif
      
    if DLC02ElevShaft.isAnimPlaying forward == 0           
     set state to 2

    endif

   endif

   if state == 3
    if DLC02ElevShaft.isAnimPlaying backward == 0
     ElevTeleportREF.activate player     
    endif
   endif   

   if DLC02ElevShaft.isAnimPlaying forward == 1 || DLC02ElevShaft.isAnimPlaying backward == 1
    triggerHitShader 0.1
    setRumble 0.15 0.1 0.01                    
   endif

end


P.S Если надо то могу кинуть плагин с локацией.

Zero_Malkav  Offline  Сообщение №547 написано: 5 ноября 2011, 04:21



621
Vi[RUS], может стоит локацию с лифтом отдельную сделать... и двери расставить на те уровни, где лифт останавливается. Т.к. теперь двери служат телепортами, то в проем входить нет надобности.

З.Ы. Рабочий лифт из Акориджа - это круто. Молодец.

Fossy  Offline  Сообщение №548 написано: 5 ноября 2011, 05:43



134
Цитата Turdus

чтобы все оружие в игре, в том числе и добавляемое ДЛЦ и модами, без какого-либо редактирования наносило тройной урон


Поставь мультипликативное значение порога урона защитников и атакующих на 0,3 и будет тебе счастье лицезреть убойную силу всего оружия.

Разрабатываю свой мод "Выживание"
Turdus  Offline  Сообщение №549 написано: 5 ноября 2011, 09:50 | Отредактировано: Turdus - 5 ноября 2011, 09:51



125
Цитата Fossy

Поставь мультипликативное значение порога урона защитников и атакующих на 0,3 и будет тебе счастье лицезреть убойную силу всего оружия.


По-английски в ГЕККе оно как значится и где его можно найти?

Красота спасет мир...
Fossy  Offline  Сообщение №550 написано: 5 ноября 2011, 10:11



134
Цитата Turdus

По-английски в ГЕККе оно как значится и где его можно найти?


Делаешь новый перк.
Ставишь там Perk Entries:
1. Entry Point - выбираешь modify damage treshold (attaker) и ставь multiply value 0.3
2. Entry Point - выбираешь modify damage treshold (defender) и ставь multiply value 0.3
Данный перк присваиваешь своему ГГ.

Разрабатываю свой мод "Выживание"
Artem13  Offline  Сообщение №551 написано: 5 ноября 2011, 10:26


Mercenaries. Со смертью на ты.


Цитата Fossy

Данный перк присваиваешь своему ГГ.


Только учти, что это будет работать только в отношении ГГ и его противников. При разборках неписей/кричеров между собой оно работать не будет.

<a class="link" href="http://nick-name.ru/sertificates/278209/" rel="nofollow" target="_blank"> border="0" alt=""/</a>
Да, мы бандиты и бродяги, как злословит молва,
Мы попадаем в передряги, помня эти слова.
Смотри вперед и не сдавайся ты на милость судьбе!
Предай их всех, останься верен себе. (Канцлер Ги - Кантри Бреган Д'Эрт)
Fossy  Offline  Сообщение №552 написано: 5 ноября 2011, 10:39 | Отредактировано: Fossy - 5 ноября 2011, 10:40



134
Цитата Artem13

При разборках неписей/кричеров между собой оно работать не будет.


ага, можно это добавить и спутникам. Зато самый быстрый способ, как он и просил )

Разрабатываю свой мод "Выживание"
Turdus  Offline  Сообщение №553 написано: 5 ноября 2011, 11:37 | Отредактировано: Turdus - 5 ноября 2011, 11:41



125
Цитата Artem13

Только учти, что это будет работать только в отношении ГГ и его противников. При разборках неписей/кричеров между собой оно работать не будет.


Спасибо! Мне это и было нужно. А то бегаю, как Терминатор в детском саде, и всех убиваю, а меня и целая обойма остановить не может. В Ф3 у меня был подобный мод, но без перка, вот там действительно было жарко и смертельно опасно(выстрел по мне из трехлучевки или хедшот из снайперки - 100% труп), а здесь - детский сад, даже на очень сложном.

Красота спасет мир...
Zero_Malkav  Offline  Сообщение №554 написано: 5 ноября 2011, 12:02



621
Turdus,

во вкладке gameplay\settings введеш поиск и найдешь переменную fDamageWeaponMult.

Изменяя значение - меняешь поврежедения у ВСЕГО оружия.

Vi[RUS]  Offline  Сообщение №555 написано: 5 ноября 2011, 13:27



275
А как сделать так, чтобы при использовании активатора появлялось окно ну и там были варианты типа "Подняться наверх", "Спуститься вниз", "Отойти" (Знаю, что надо создавать Message и в скрипте вписывать showmessage id), но как сделать, чтобы ГГ телепортировался, выбирая эти варианты действий?

IЙ  Offline  Сообщение №556 написано: 5 ноября 2011, 13:52


Робомозг


Vi[RUS],

Создаешь Messagebox пишешь в нем текст и снизу 3 кнопки приделываешь (просто текст):
вниз
вверх
выход

Создаешь скрипт:
Code

scn NameScript /имя скрипта/

short Button

begin OnActivate
if IsActionRef player == 1
ShowMessage NameMessagebox /созданный ранее Messagebox/
endif
end

begin gamemode
set Button to GetButtonPressed

if (Button == 0)
Player.moveto Marker0  /реф маркера 0, может быть дверь или что-то еще/

elseif (Button == 1)
Player.moveto Marker1  /реф маркера 1, может быть дверь или что-то еще/

elseif (Button == 2)  /никаких действий нет, это кнопка выхода/
endif   
end


Вешаешь скрипт на дверь, лифт или куда тебе нужно

Fossy  Offline  Сообщение №557 написано: 5 ноября 2011, 13:55 | Отредактировано: Fossy - 5 ноября 2011, 13:57



134
Цитата Mercutio

fDamageWeaponMult


да, так еще проще. Измени на 3, если хочешь в 3 раза больший урон

Разрабатываю свой мод "Выживание"
Turdus  Offline  Сообщение №558 написано: 5 ноября 2011, 14:29



125
Цитата Mercutio

Turdus,

во вкладке gameplay\settings введеш поиск и найдешь переменную fDamageWeaponMult.

Изменяя значение - меняешь поврежедения у ВСЕГО оружия.



И вам спасибо! Молодцы ребята!

Красота спасет мир...
Vi[RUS]  Offline  Сообщение №559 написано: 6 ноября 2011, 16:28 | Отредактировано: Vi[RUS] - 6 ноября 2011, 16:29



275
И я снова со своим лифтом :D

Мне надо чтобы у лифта сначала закрылись ворота (DLC02ElevGate.playgroup backward 1) затем вкл анимация шахты лифта (DLC02ElevShaft.playgroup backward 1) а затем ГГ телепортировался к нужному маркеру (Player.moveto ToRB01Ref)
Но у меня ни одна анимация не включается, сразу телепортирует к маркеру.

Скрипт:

Spalny_Vagon  Offline  Сообщение №560 написано: 6 ноября 2011, 17:32


Мастер


Цитата Vi|RUS|

Но у меня ни одна анимация не включается, сразу телепортирует к маркеру.


Она включается, но без ГГ, он переносится на новое место и поэтому ничего не видит. Надо сделать задержку по времени, тогда будет видна работа двери и кабины.

======================
Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294
Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
Vi[RUS]  Offline  Сообщение №561 написано: 6 ноября 2011, 18:34



275
Цитата Spalny_Vagon

Надо сделать задержку по времени


А как ее сделать?

Spalny_Vagon  Offline  Сообщение №562 написано: 6 ноября 2011, 19:57


Мастер


Цитата Vi|RUS|

А как ее сделать?


Ну, я бы вместо переноса игрока (Player.moveto ToRB01Ref) вставил бы какую-нибудь еще одну переменную (set EnyVar to 1). А потом сделал бы еще один блок:
if EnyVar == 1
if DLC02ElevGate.isAnimPlaying == 0 ;дверь закончила анимацию.
Player.moveto ToRB01Ref
set set EnyVar to 0
endif
endif
Там у Вас, кстати, и дверь и лифт начинают анимацию одновременно.

======================
Мод "Нью-Йорк" на русском: https://modgames.net/load/fallout3/addon/new-york-bolshoe-yabloko/34-1-0-1294
Мод "Нью-Йорк" на английском: https://modgames.net/load/fallout3/kvesty/the-big-apple/23-1-0-19771
Vi[RUS]  Offline  Сообщение №563 написано: 6 ноября 2011, 22:31



275
Spalny_Vagon,
При сохранении выдает "Несоответствие блока if/else/endif начиная с линии 23"


IЙ  Offline  Сообщение №564 написано: 6 ноября 2011, 22:36


Робомозг


Vi[RUS],

if EnyVar == 1
if DLC02ElevGate.isAnimPlaying == 0
Player.moveto ToRB01Ref
set set EnyVar to 0
endif
endif - еще один вроде как нужен
end

Vi[RUS]  Offline  Сообщение №565 написано: 6 ноября 2011, 22:37



275
IЙ,
Спасибо. :)

Galko  Offline  Сообщение №566 написано: 7 ноября 2011, 19:21 | Отредактировано: Galko - 7 ноября 2011, 19:35


GALAктическая мартышка


Цитата Vi|RUS|

begin gamemode
set Button to GetButtonPressed

elseif (Button == 1)

elseif (Button == 0)
DLC02ElevShaft.playgroup backward 1
DLC02ElevGate.playgroup backward 1


а мне кажется, что ошибка где-то тут...
начинается блок (begin) а следом идет команда elseif (иначе если)
А что - Иначе, если не указано предыдущее Если (if)

Ведь построение скрипта идет по принципу:
if (если) данное условие верно
сделать что-то
elseif (иначе если) если предыдущее условие неверно, то проверяется другое условие и если оно верно, то
сделать то-то или то-то
endif (конец)

PS. (с акцентом) лично я тааак думаю.. Хотя, да.. несоответствие на линии 23 - это ак раз конец скрипта, как и указал ID smile2

Ваше счастье, что я не ваше счастье
Monroe  Offline  Сообщение №567 написано: 6 декабря 2011, 16:00



857
Как будет выгледить скрипт вида "если это огнестрельное оружие то пусть использует н вид патронов если нет то пусть нечего не меняется"

P.s.: Хочу сделать читерный мод где всё оружие использует одни и те же патроны :D

Vi[RUS]  Offline  Сообщение №568 написано: 16 декабря 2011, 19:30 | Отредактировано: Vi[RUS] - 17 декабря 2011, 11:55



275
Хочу делать скрипт, чтобы использовании активатора был выстрел, как у Бомбистов, когда они обстреливали игрока (делаю гаубицу)
Но, чтобы при второй активации гаубицы снаряд уже летел по другой траектории и в другую точку.

Можно ли такое сотворить?

_KT_  Offline  Сообщение №569 написано: 3 января 2012, 13:51



117
Помогите пожалуйста, как запретить неписю компаньону подбирать оружие с земли\трупа, т.е. независимо, есть у него оружие или нету. Спасибо.

1.3 Высота подписи пользователя не должна превышать 150 px. Рекомендованная ширина подписи - 400 px
Volkogava  Offline  Сообщение №570 написано: 10 января 2012, 18:20 | Отредактировано: Volkogava - 10 января 2012, 18:22



73
Всем привет.
Подскажите пожалуйста, есть ли какая функция на проверку попадания по игроку, что-то вроде GetHit по игроку?

Вот сдам бутылки - тогда и куплю гранатомет (©)
Форум » Fallout: New Vegas » Мастерская » Скрипты (Вопросы и ответы)
Поиск:





Ответ на жалобу смотрите в разделе жалоб