Перейти к содержанию

Dr.Sinc

Граждане
  • Постов

    14
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Dr.Sinc

  1. Между прочим, в проблеме темы я разобрался и в помощи по данному конкретному вопросу более не нуждаюсь... Меню создается самим движком Oblivion; при активации спящего NPC и выборе опции "кормиться" вызывается функция Player.VampireFeed, устанавливающая флаг игрока HasVampireFeed в 1, и ничего с этим боле не поделаешь... Зато есть обходной путь! Теперь мне нужно, чтобы кто-нибудь проверил мой скрипт...

     

    Хоть я тоже в скриптах Морровинда почти ни бум бум, <...>

     

    Нет, Вы не поняли... Я в них совсем ни бум бум. Если я могу бегло писать на Java всяких консольных математических автоматов, то здесь все совсем плохо. То есть, моя степень умения писать на TES Script выражается отрицательным числом. Все настолько плохо, что поначалу я эти скрипты пишу на аналоге школьного алгоритмического языка образца 72-го года ^_^

     

    но все равно выложи текст етого вампирского скрипта

     

    В общем, совершенно без понятия, будет ли оно работать или нет... Ибо переводил с алгоритмического языка ^_^ Итак, в чем суть. Имеются три глобальных переменных - Saint, Pacific и Killer, хранящие "вампирский" рейтинг игрока как Святого, Мирного и Убийцы соответственно. Первый возрастает каждые n дней голодания (отслеживается самим скриптом), второй - за каждую глотку, укушенную без гибели жертвы (тот самый HasVampireFed), третий - за каждого убитого ради крови (отслеживается через глобальную перменную HasVampireFedForcibly, которая изменяется с помощью скрипта, навешенного на спелл "убийства ради крови"). Поначалу (сразу после вампиризации) игрок является "нейтральным вампиром" со всеми 3-мя переменными, равными 0. С превышением одного из рейтингов над другими игрок получает новые статусы в каждой из трех ветвей развития (а с ними и новые способности), вплоть до трех высших "чинов" - Темного Святого (Святой, Saint = 50), Повелителя Ночи (Мирный, Pacific = 50) и Кровавого Лорда (Убийца, Killer = 50). После достижения одного из 3-х этих статусов "развитие" заканчивается и переменные больше не меняются - игрок добился высшего уровня. Собственно скрипт:

     

    ScriptName VampireScript
    
    global short Saint
    global short Pacific
    global short Saint
    global short HasVampireFedForcibly
    global short LastActionPerformed
    
    short doOnce
    short PCVampStatus
    short hasDisease
    short currentDay
    short dayCount
    short hungryDays
    short growthComplete
    
    float vampHours
    
    begin GameMode
    
    ; Блок системных настроек
    If ( doOnce == 1 )
    	Set fQuestDelayTime To 0.5
    	Set doOnce To 1
    endif
    
    ; Если игрок излечился (т.е. PCVampire и PCVampStatus == -1), то ничего не делаем
    If ( PCVampire == -1 )
    	Return
    endif
    
    ; Если PCVampStatus == -1 (т.е. игрок излечился), то устанавливаем и PCVampire в -1
    If ( PCVampStatus == -1 )
    	Set PCVampire To -1
    endif
    
    ; Если PCVampStatus != -1 (т.е. игрок - вампир), то устанавливаем и PCVampire в 1
    If ( PCVampStatus != -1 && PCVampire != 1 )
    	Set PCVampire To 1
    endif
    
    ; ----------------------------- БЛОК ПОЛУЧЕНИЯ ВАМПИРИЗМА ----------------------------------
    
    ; Коррекция статуса инфицирования по наличию заклинания болячки
    If ( hasDisease == 0 )
    	If ( Player.IsSpellTarget VampDisease == 1 )
    		Set hasDisease To 1
    	endif
    endif
    
    If ( hasDisease == 1 )
    	If ( Player.IsSpellTarget VampDisease == 0 )
    		Set hasDisease To 0
    	endif
    endif
    
    ; Собственно блок на превращение порфириновой гемофилии в настоящий вампиризм
    If ( PCVampStatus == 0 )
    	If ( hasDisease == 1 )
    		If ( GetPCIsSex Male == 1 )
    			MessageBox "Вступительный текст для мужчины"
    		else
    			MessageBox "Вступительный текст для женщины"
    		endif
    		Set hasDisease To 0
    
    		Player.RemoveSpell VampDisease
    		Player.AddSpell "_DA_Vampirism_lv0_f"
    		Player.AddSpell "_DA_Vampire_lv0_f_Skills"
    		Player.AddSpell "_DA_Vampire_lv0_f_Attrs"
    		Player.AddSpell "_DA_Vampire_lv0_f_Spells"
    
    		Player.SetFactionRank PlayerVampireFaction 0
    		AddTopic CureforVampirism
    		StartQuest MS40
    		Set vampDay To GameDay
    		Set vampHour To GameHour
    	endif
    endif
    
    ; ------------------- БЛОК ОТСЛЕЖИВАНИЯ ДЕЙСТВИЙ, ИЗМЕНЯЮЩИХ СТАТУСЫ -----------------------
    
    ; Блок, отслеживающий "покусывания без жертв" и изменяющий статус "Мирного"
    If ( Player.HasVampireFed == 1 )
    	Set hungryDays To 0
    
    	Set Pacific To ( Pacific + 1 )
    	Set Saint To ( Saint - 1 )
    	Set Killer To ( Killer - 1 )
    endif
    
    ; Блок, отслеживающий убийства ради крови и изменяющий статус "Убийцы"
    If ( HasVampireFedForcibly == 1 )
    	Set hungryDays To 0
    	Set HasVampireFedForcibly To 0
    
    	Set Killer To ( Killer + 1 )
    	Set Saint To ( Saint - 1 )
    	Set Pacific To ( Pacific - 1 )
    endif
    
    ; ----------------- БЛОК, ИЗМЕНЯЮЩИЙ УРОВНИ В СООТВЕТСТВИИ СО СТАТУСАМИ --------------------
    
    If ( growthComplete != 1 )
    	; Условия для "Святого"
    	If ( Saint > Pacific && Saint > Killer && Saint == 5 )
    		Set PCVampStatus To 1
    	elseif ( Saint > Pacific && Saint > Killer && Saint == 10 )
    		Set PCVampStatus To 2
    	elseif ( Saint > Pacific && Saint > Killer && Saint == 20 )
    		Set PCVampStatus To 3
    	elseif ( Saint > Pacific && Saint > Killer && Saint == 35 )
    		Set PCVampStatus To 4
    	elseif ( Saint > Pacific && Saint > Killer && Saint == 55 )
    		Set PCVampStatus To 5
    		Set growthComplete To 1
    	endif
    
    	; Условия для "Мирного"
    	If ( Pacific > Saint && Pacific > Killer && Pacific == 5 )
    		Set PCVampStatus To 11
    	elseif ( Pacific > Saint && Pacific > Killer && Pacific == 10 )
    		Set PCVampStatus To 12
    	elseif ( Pacific > Saint && Pacific > Killer && Pacific == 20 )
    		Set PCVampStatus To 13
    	elseif ( Pacific > Saint && Pacific > Killer && Pacific == 35 )
    		Set PCVampStatus To 14
    	elseif ( Pacific > Saint && Pacific > Killer && Pacific == 55 )
    		Set PCVampStatus To 15
    		Set growthComplete To 1
    	endif
    
    	; Условия для "Убийцы"
    	If ( Killer > Saint && Killer > Pacific && Killer == 5 )
    		Set PCVampStatus To 21
    	elseif ( Killer > Saint && Killer > Pacific && Killer == 10 )
    		Set PCVampStatus To 22
    	elseif ( Killer > Saint && Killer > Pacific && Killer == 20 )
    		Set PCVampStatus To 23
    	elseif ( Killer > Saint && Killer > Pacific && Killer == 35 )
    		Set PCVampStatus To 24
    	elseif ( Killer > Saint && Killer > Pacific && Killer == 55 )
    		Set PCVampStatus To 25
    		Set growthComplete To 1
    	endif
    endif
    
    ; ----------- БЛОК, ИЗМЕНЯЮЩИЙ СПОСОБНОСТИ В СООТВЕТСТВИИ СО СТАТУСАМИ --------------------
    
    If ( PCVampStatus == 0 )
    ; "Нейтральный" ("начальный") вампир
    	If ( daysHungry >= 3 )
    	; Если голодает более 3-х дней, то слабеет...
    		Player.RemoveSpell "_DA_Vampirism_lv0_f"
    		Player.RemoveSpell "_DA_Vampire_lv0_f_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv0_f_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv0_f_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv0_h"
    		Player.AddSpell "_DA_Vampire_lv0_h_Skills"
    		Player.AddSpell "_DA_Vampire_lv0_h_Attrs"
    		Player.AddSpell "_DA_Vampire_lv0_h_Spells"
    		Set vampHour To GameHour
    	else
    		Player.RemoveSpell "_DA_Vampirism_lv0_h"
    		Player.RemoveSpell "_DA_Vampire_lv0_h_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv0_h_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv0_h_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv0_f"
    		Player.AddSpell "_DA_Vampire_lv0_f_Skills"
    		Player.AddSpell "_DA_Vampire_lv0_f_Attrs"
    		Player.AddSpell "_DA_Vampire_lv0_f_Spells"
    		Set vampHour To GameHour
    	endif
    elseif ( PCVampStatus == 1 )
    	If ( daysHungry >= 3 )
    	; Если голодает более 3-х дней, то слабеет...
    		Player.RemoveSpell "_DA_Vampirism_lv1_f"
    		Player.RemoveSpell "_DA_Vampire_lv1_f_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv1_f_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv1_f_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv1_h"
    		Player.AddSpell "_DA_Vampire_lv1_h_Skills"
    		Player.AddSpell "_DA_Vampire_lv1_h_Attrs"
    		Player.AddSpell "_DA_Vampire_lv1_h_Spells"
    		Set vampHour To GameHour
    	else
    		Player.RemoveSpell "_DA_Vampirism_lv1_h"
    		Player.RemoveSpell "_DA_Vampire_lv1_h_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv1_h_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv1_h_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv1_f"
    		Player.AddSpell "_DA_Vampire_lv1_f_Skills"
    		Player.AddSpell "_DA_Vampire_lv1_f_Attrs"
    		Player.AddSpell "_DA_Vampire_lv1_f_Spells"
    		Set vampHour To GameHour
    	endif
    elseif ( PCVampStatus == 2 )
    	If ( daysHungry >= 3 )
    	; Если голодает более 3-х дней, то слабеет...
    		Player.RemoveSpell "_DA_Vampirism_lv2_f"
    		Player.RemoveSpell "_DA_Vampire_lv2_f_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv2_f_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv2_f_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv2_h"
    		Player.AddSpell "_DA_Vampire_lv2_h_Skills"
    		Player.AddSpell "_DA_Vampire_lv2_h_Attrs"
    		Player.AddSpell "_DA_Vampire_lv2_h_Spells"
    		Set vampHour To GameHour
    	else
    		Player.RemoveSpell "_DA_Vampirism_lv2_h"
    		Player.RemoveSpell "_DA_Vampire_lv2_h_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv2_h_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv2_h_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv2_f"
    		Player.AddSpell "_DA_Vampire_lv2_f_Skills"
    		Player.AddSpell "_DA_Vampire_lv2_f_Attrs"
    		Player.AddSpell "_DA_Vampire_lv2_f_Spells"
    		Set vampHour To GameHour
    	endif
    elseif ( PCVampStatus == 3 )
    	If ( daysHungry >= 3 )
    	; Если голодает более 3-х дней, то слабеет...
    		Player.RemoveSpell "_DA_Vampirism_lv3_f"
    		Player.RemoveSpell "_DA_Vampire_lv3_f_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv3_f_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv3_f_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv3_h"
    		Player.AddSpell "_DA_Vampire_lv3_h_Skills"
    		Player.AddSpell "_DA_Vampire_lv3_h_Attrs"
    		Player.AddSpell "_DA_Vampire_lv3_h_Spells"
    		Set vampHour To GameHour
    	else
    		Player.RemoveSpell "_DA_Vampirism_lv3_h"
    		Player.RemoveSpell "_DA_Vampire_lv3_h_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv3_h_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv3_h_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv3_f"
    		Player.AddSpell "_DA_Vampire_lv3_f_Skills"
    		Player.AddSpell "_DA_Vampire_lv3_f_Attrs"
    		Player.AddSpell "_DA_Vampire_lv3_f_Spells"
    		Set vampHour To GameHour
    	endif
    elseif ( PCVampStatus == 4 )
    	If ( daysHungry >= 3 )
    	; Если голодает более 3-х дней, то слабеет...
    		Player.RemoveSpell "_DA_Vampirism_lv4_f"
    		Player.RemoveSpell "_DA_Vampire_lv4_f_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv4_f_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv4_f_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv4_h"
    		Player.AddSpell "_DA_Vampire_lv4_h_Skills"
    		Player.AddSpell "_DA_Vampire_lv4_h_Attrs"
    		Player.AddSpell "_DA_Vampire_lv4_h_Spells"
    		Set vampHour To GameHour
    	else
    		Player.RemoveSpell "_DA_Vampirism_lv4_h"
    		Player.RemoveSpell "_DA_Vampire_lv4_h_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv4_h_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv4_h_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv4_f"
    		Player.AddSpell "_DA_Vampire_lv4_f_Skills"
    		Player.AddSpell "_DA_Vampire_lv4_f_Attrs"
    		Player.AddSpell "_DA_Vampire_lv4_f_Spells"
    		Set vampHour To GameHour
    	endif
    elseif ( PCVampStatus == 5 )
    ; "Темный Святой"; он не голодает ^_^
    	Player.AddSpell "_DA_Vampirism_lv5_h"
    	Player.AddSpell "_DA_Vampire_lv5_h_Skills"
    	Player.AddSpell "_DA_Vampire_lv5_h_Attrs"
    	Player.AddSpell "_DA_Vampire_lv5_h_Spells"
    elseif ( PCVampStatus == 11 )
    	If ( daysHungry >= 3 )
    	; Если голодает более 3-х дней, то слабеет...
    		Player.RemoveSpell "_DA_Vampirism_lv11_f"
    		Player.RemoveSpell "_DA_Vampire_lv11_f_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv11_f_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv11_f_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv11_h"
    		Player.AddSpell "_DA_Vampire_lv11_h_Skills"
    		Player.AddSpell "_DA_Vampire_lv11_h_Attrs"
    		Player.AddSpell "_DA_Vampire_lv11_h_Spells"
    		Set vampHour To GameHour
    	else
    		Player.RemoveSpell "_DA_Vampirism_lv11_h"
    		Player.RemoveSpell "_DA_Vampire_lv11_h_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv11_h_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv11_h_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv11_f"
    		Player.AddSpell "_DA_Vampire_lv11_f_Skills"
    		Player.AddSpell "_DA_Vampire_lv11_f_Attrs"
    		Player.AddSpell "_DA_Vampire_lv11_f_Spells"
    		Set vampHour To GameHour
    	endif
    elseif ( PCVampStatus == 12 )
    	If ( daysHungry >= 3 )
    	; Если голодает более 3-х дней, то слабеет...
    		Player.RemoveSpell "_DA_Vampirism_lv12_f"
    		Player.RemoveSpell "_DA_Vampire_lv12_f_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv12_f_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv12_f_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv12_h"
    		Player.AddSpell "_DA_Vampire_lv12_h_Skills"
    		Player.AddSpell "_DA_Vampire_lv12_h_Attrs"
    		Player.AddSpell "_DA_Vampire_lv12_h_Spells"
    		Set vampHour To GameHour
    	else
    		Player.RemoveSpell "_DA_Vampirism_lv12_h"
    		Player.RemoveSpell "_DA_Vampire_lv12_h_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv12_h_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv12_h_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv12_f"
    		Player.AddSpell "_DA_Vampire_lv12_f_Skills"
    		Player.AddSpell "_DA_Vampire_lv12_f_Attrs"
    		Player.AddSpell "_DA_Vampire_lv12_f_Spells"
    		Set vampHour To GameHour
    	endif
    elseif ( PCVampStatus == 13 )
    	If ( daysHungry >= 3 )
    	; Если голодает более 3-х дней, то слабеет...
    		Player.RemoveSpell "_DA_Vampirism_lv13_f"
    		Player.RemoveSpell "_DA_Vampire_lv13_f_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv13_f_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv13_f_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv13_h"
    		Player.AddSpell "_DA_Vampire_lv3_h_Skills"
    		Player.AddSpell "_DA_Vampire_lv3_h_Attrs"
    		Player.AddSpell "_DA_Vampire_lv13_h_Spells"
    		Set vampHour To GameHour
    	else
    		Player.RemoveSpell "_DA_Vampirism_lv13_h"
    		Player.RemoveSpell "_DA_Vampire_lv13_h_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv13_h_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv13_h_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv13_f"
    		Player.AddSpell "_DA_Vampire_lv13_f_Skills"
    		Player.AddSpell "_DA_Vampire_lv13_f_Attrs"
    		Player.AddSpell "_DA_Vampire_lv13_f_Spells"
    		Set vampHour To GameHour
    	endif
    elseif ( PCVampStatus == 14 )
    	If ( daysHungry >= 3 )
    	; Если голодает более 3-х дней, то слабеет...
    		Player.RemoveSpell "_DA_Vampirism_lv14_f"
    		Player.RemoveSpell "_DA_Vampire_lv14_f_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv14_f_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv14_f_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv14_h"
    		Player.AddSpell "_DA_Vampire_lv14_h_Skills"
    		Player.AddSpell "_DA_Vampire_lv14_h_Attrs"
    		Player.AddSpell "_DA_Vampire_lv14_h_Spells"
    		Set vampHour To GameHour
    	else
    		Player.RemoveSpell "_DA_Vampirism_lv14_h"
    		Player.RemoveSpell "_DA_Vampire_lv14_h_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv14_h_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv14_h_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv14_f"
    		Player.AddSpell "_DA_Vampire_lv14_f_Skills"
    		Player.AddSpell "_DA_Vampire_lv14_f_Attrs"
    		Player.AddSpell "_DA_Vampire_lv14_f_Spells"
    		Set vampHour To GameHour
    	endif
    elseif ( PCVampStatus == 15 )
    ; "Владыка Ночи"
    	If ( daysHungry >= 2 )
    	; Если голодает более 2-х дней, то слабеет...
    		Player.RemoveSpell "_DA_Vampirism_lv15_f"
    		Player.RemoveSpell "_DA_Vampire_lv15_f_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv15_f_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv15_f_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv15_h"
    		Player.AddSpell "_DA_Vampire_lv15_h_Skills"
    		Player.AddSpell "_DA_Vampire_lv15_h_Attrs"
    		Player.AddSpell "_DA_Vampire_lv15_h_Spells"
    		Set vampHour To GameHour
    	else
    		Player.RemoveSpell "_DA_Vampirism_lv15_h"
    		Player.RemoveSpell "_DA_Vampire_lv15_h_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv15_h_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv15_h_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv15_f"
    		Player.AddSpell "_DA_Vampire_lv15_f_Skills"
    		Player.AddSpell "_DA_Vampire_lv15_f_Attrs"
    		Player.AddSpell "_DA_Vampire_lv15_f_Spells"
    		Set vampHour To GameHour
    	endif
    elseif ( PCVampStatus == 21 )
    	If ( daysHungry >= 3 )
    	; Если голодает более 3-х дней, то слабеет...
    		Player.RemoveSpell "_DA_Vampirism_lv21_f"
    		Player.RemoveSpell "_DA_Vampire_lv21_f_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv21_f_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv21_f_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv21_h"
    		Player.AddSpell "_DA_Vampire_lv21_h_Skills"
    		Player.AddSpell "_DA_Vampire_lv21_h_Attrs"
    		Player.AddSpell "_DA_Vampire_lv21_h_Spells"
    		Set vampHour To GameHour
    	else
    		Player.RemoveSpell "_DA_Vampirism_lv21_h"
    		Player.RemoveSpell "_DA_Vampire_lv21_h_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv21_h_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv21_h_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv21_f"
    		Player.AddSpell "_DA_Vampire_lv21_f_Skills"
    		Player.AddSpell "_DA_Vampire_lv21_f_Attrs"
    		Player.AddSpell "_DA_Vampire_lv21_f_Spells"
    		Set vampHour To GameHour
    	endif
    elseif ( PCVampStatus == 22 )
    	If ( daysHungry >= 3 )
    	; Если голодает более 3-х дней, то слабеет...
    		Player.RemoveSpell "_DA_Vampirism_lv22_f"
    		Player.RemoveSpell "_DA_Vampire_lv22_f_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv22_f_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv22_f_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv22_h"
    		Player.AddSpell "_DA_Vampire_lv22_h_Skills"
    		Player.AddSpell "_DA_Vampire_lv22_h_Attrs"
    		Player.AddSpell "_DA_Vampire_lv22_h_Spells"
    		Set vampHour To GameHour
    	else
    		Player.RemoveSpell "_DA_Vampirism_lv22_h"
    		Player.RemoveSpell "_DA_Vampire_lv22_h_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv22_h_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv22_h_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv22_f"
    		Player.AddSpell "_DA_Vampire_lv22_f_Skills"
    		Player.AddSpell "_DA_Vampire_lv22_f_Attrs"
    		Player.AddSpell "_DA_Vampire_lv22_f_Spells"
    		Set vampHour To GameHour
    	endif
    elseif ( PCVampStatus == 23 )
    	If ( daysHungry >= 3 )
    	; Если голодает более 3-х дней, то слабеет...
    		Player.RemoveSpell "_DA_Vampirism_lv23_f"
    		Player.RemoveSpell "_DA_Vampire_lv23_f_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv23_f_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv23_f_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv23_h"
    		Player.AddSpell "_DA_Vampire_lv23_h_Skills"
    		Player.AddSpell "_DA_Vampire_lv23_h_Attrs"
    		Player.AddSpell "_DA_Vampire_lv23_h_Spells"
    		Set vampHour To GameHour
    	else
    		Player.RemoveSpell "_DA_Vampirism_lv23_h"
    		Player.RemoveSpell "_DA_Vampire_lv23_h_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv23_h_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv23_h_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv23_f"
    		Player.AddSpell "_DA_Vampire_lv23_f_Skills"
    		Player.AddSpell "_DA_Vampire_lv23_f_Attrs"
    		Player.AddSpell "_DA_Vampire_lv23_f_Spells"
    		Set vampHour To GameHour
    	endif
    elseif ( PCVampStatus == 24 )
    	If ( daysHungry >= 3 )
    	; Если голодает более 3-х дней, то слабеет...
    		Player.RemoveSpell "_DA_Vampirism_lv24_f"
    		Player.RemoveSpell "_DA_Vampire_lv24_f_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv24_f_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv24_f_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv24_h"
    		Player.AddSpell "_DA_Vampire_lv24_h_Skills"
    		Player.AddSpell "_DA_Vampire_lv24_h_Attrs"
    		Player.AddSpell "_DA_Vampire_lv24_h_Spells"
    		Set vampHour To GameHour
    	else
    		Player.RemoveSpell "_DA_Vampirism_lv24_h"
    		Player.RemoveSpell "_DA_Vampire_lv24_h_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv24_h_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv24_h_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv24_f"
    		Player.AddSpell "_DA_Vampire_lv24_f_Skills"
    		Player.AddSpell "_DA_Vampire_lv24_f_Attrs"
    		Player.AddSpell "_DA_Vampire_lv24_f_Spells"
    		Set vampHour To GameHour
    	endif
    elseif ( PCVampStatus == 25 )
    ; "Кровавый Лорд"
    	If ( daysHungry >= 1 )
    	; Если голодает более 1-го дня, то слабеет...
    		Player.RemoveSpell "_DA_Vampirism_lv25_f"
    		Player.RemoveSpell "_DA_Vampire_lv25_f_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv25_f_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv25_f_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv25_h"
    		Player.AddSpell "_DA_Vampire_lv25_h_Skills"
    		Player.AddSpell "_DA_Vampire_lv25_h_Attrs"
    		Player.AddSpell "_DA_Vampire_lv25_h_Spells"
    		Set vampHour To GameHour
    	else
    		Player.RemoveSpell "_DA_Vampirism_lv25_h"
    		Player.RemoveSpell "_DA_Vampire_lv25_h_Skills"
    		Player.RemoveSpell "_DA_Vampire_lv25_h_Attrs"
    		Player.RemoveSpell "_DA_Vampire_lv25_h_Spells"
    
    		Player.AddSpell "_DA_Vampirism_lv25_f"
    		Player.AddSpell "_DA_Vampire_lv25_f_Skills"
    		Player.AddSpell "_DA_Vampire_lv25_f_Attrs"
    		Player.AddSpell "_DA_Vampire_lv25_f_Spells"
    		Set vampHour To GameHour
    	endif
    endif
    end
    
    begin MenuMode
    
    
    ; Отсчитываем дни, которые игрок был заражен порфириновой гемофилией
    If ( hasDisease == 1 )
    	If ( currentDay == 0 )
    		Set currentDay To GameDay
    	else
    		If ( currentDay != GameDay )
    			Set dayCount To ( dayCount + 1 )
    			Set currentDay To GameDay
    		endif
    	endif
    endif
    
    ; Если прошло 3 или более дня с заболевания порфириновой гемофилией, изменяем уровень на 0
    If ( hasDisease == 1 )
    	If ( dayCount >= 3)
    		If ( IsPCSleeping )
    			WakeUpPC
    			Set PCVampStatus To 0
    		endif
    	endif
    endif
    
    ; Блок, отслеживающий голодные дни и изменяющий статус Святого
    If ( PCVampStatus != -1 )
    	If ( IsTimePassing )
    		If ( vampHours >= 22 )
    			Set hungryDays To ( hungryDays + 1 )
    			Set vampHours To 0
    
    			If ( growthComplete != 1 )
    				Set lastActionPerformed To 1
    				Set Saint To ( Saint + 1 )
    				Set Pacific To ( Pacific - 1 )
    				Set Killer To ( Killer - 1 )
    			endif
    		endif
    	endif
    endif
    
    end
    
    End

  2. Приветствую, товарищи!

     

    Эта тема раньше называлась по-другому, и таков ее оригинальный текст:

     

    Нынче я засел-таки за подковыривание Облявского способа вампиризации населения, и возник у меня следующий вопрос. В стандартном Oblivion, когда вампир подходит к спящему NPC и активирует его, появляется диалог - поговорить или укусить. Вопрос в следующем: где находится данное окно в TES? Я посмотрел VampireScript и, насколько я понимаю, это окно прописано не там (хотя я очень слаб в скриптовании, воистину, десу). Итак, где же прописываются все эти окошки? В скриптах? Или в конфигурационных файлах? Как можно поменять эти окна, если это возможно?

     

    Для уточнения приведу суть плагина... Я хочу сделать 3 возможных "вампирских карьеры" для игры. В зависимости от своего поведения игрок либо преодолеет свою вампирскую сущность и получит признание и любовь, либо позволит вампиру пересилить человека и превратится в ходячую мясорубку с вытекающей оттуда ненавистью со стороны рода людского, либо найдет средний путь и останется вампиром, способным кушать кровушку без потери больших человеческих жертв. Соответственно, игрок может игнорировать жажду крови, борясь за свою человечность (для этого нужно никого не кусать). Игрок может убивать ради крови (для этого нужно помечать своих жертв заклинанием). И игрок может пойти на компромисс и пить кровь, но не убивая - то есть мирно посасывая спящих граждан. Последнее и делается через этот злокозненный диалог, и к нему нужно прикрутить нечто, что позволило бы оповещать управляющий скрипт, что игрок насытился именно "мирным" способом... И где же это окошко кроется?

     

    Теперь вопрос другой. Я написал-таки новый вампир-скрипт и был бы признателен, если бы кто-нибудь проверил в нем синтаксис...

     

    --

    S.

  3. Товарищи, имею вопрос... Я знаю, что для того же Oblivion существует возможность создавать "лицевые модели" во внешних редакторах и импортировать их в игру, чтобы не пользоваться убитым внутренним редактором. Существует ли такая же возможность для Morrowind? Создать "лицо" каким-нибудь FaceGen Modeller и экспортировать его в файл плагина для последующего применения, чтобы не играть одним из типовых / подключенных лиц? (Имеется в виду: возможно ли это каким-либо другим способом окромя использования всяческих высокоумных программ для БОЛЬШИХ И МОЩНЫХ компьютеров вроде 3DS Max и иже с ними).
  4. Что хотелось бы лично мне - при полном отсутствии дизайнерского и модостроительского таланта - так это строительство городов. Мне, например, всегда обидно, когда достопочтенному лорду Архимастеру Великого Дома (вписать нужный) вместо обещанной крепости выдают какое-то унылое статичное поселение. У товарищей из Редорана крепость хотя бы напоминает поселение - со стенами, с домами - в то время как товарищам Хлаалу выдают всего лишь одинокий домик, а за Телваннийцев вообще обидно - несчастный гриб торчит из обожженой земли Молаг Амура. А в том же Chaos Heart есть возможность принимать пришедших на поселение торговцев и строить для них дома, и все такое - в общем, выстраивать целые города по собственному усмотрению! Как же замечательно - почувствовать себя истинно властителем Великого Дома, имеющим целый город в собственном распоряжении - с Гильдиями, с тавернами, с магазинами... Вот что было бы неплохо!
  5. Еще... За двемеров ^_^ Они, в предвоенное время, хотели наладить дипломатические отношения с данмерами и потому отправили в Куртейн тонального архитектора в рамках программы "обмена опытом". Однако вместо того, чтобы поделиться с Сота Силом знаниями двемеров, этот "посол" едва не убил Мыслителя. Скандал? Конечно. Потому-то игроку и поручают выяснить, в чем дело. А дело вот в чем - посол двемеров был перехвачен по дороге какими-то третьими силами, фанатиками (намек на то, что у этого дела ноги растут из Шестого Дома). Поскольку кто эти третьи силы, установлено не было, скандал был улажен.

     

    Ссора двемеров и эшев уже есть в одном из доп. квестов... Д25

  6. За Двемеров... Помните книгу "Азура и шкатулка"? Хехехе ^___^ Произошло это, естесственно, до Красной Горы, ибо тогда еще были двемеры. Вот... Непереварину придется помочь двемерскому мистику, который захотел повторить "подвиг" своего предшественника. А именно - разыскать мага-данмера, способного призвать Азуру. Но все маги, способные на это, естесственно, будут артачиться - мол, один раз нас уже прокляли, и все такое. Потому Непереварину придется... Устроить шоу-спектакль для жадного до знаний двемера. Найти мага, хорошо знающего школу иллюзий, чтобы тот запудрил двемеру мозги и тот подумал, будто ему призвали Азуру. И собрать какой-нибудь скрипт, чтобы двемер поверил. Тот счастлив, все счастливы, Азура спокойна. Как вам такое?
  7. Ребят, откройте "38 заповедей Вивека", там открытым текстом. А вообще, с чем согласен - так с тем, что город должен быть пафосным, напыщенным. В конце концов, неподалеку Морнхолд, а он выполнен с шиком. Кроме того, в крепости должны ведь жить все члены Трибунала и Дагот со товарищи, а сии субъекты роскошь любят...
  8. Нет. Почему - поскольку в таком случае вступление во фракции, имеющие аналог в оригинальном Морре, будет вызывать конфликт. Проще и лучше сделать возможность выполнения квестовой линии, но без создания фракции как таковой и, соответственно, без записи ее в список фракций в менюшке.
  9. Приветствую, товарищи!

     

    Товарищи анимешники-морролюбы! Возмущенная общественность вновь передала мне важное сообщение. А сообщение сие состоит в том, что мы, товарищи анимешники, совершенно не ловим мышей. Дескать, нахлебничаем только, а плагинов анимешных не делаем... Стыдно, причем не столько за нашего слегка обленившегося брата, а за державу стыдно. О, сколько нам открытий чудных мог бы дать извращенный в плане фантазии отакованный ум плагинотворца! Сколько правоверных анимешников страдают, изнывая от желания облачиться в наряды героев аниме или помахать каким-нибудь мечом... Посему от лица той самой страдающей возмущенной общественности хочу попросить (именно попросить, вот, даже на колени могу встать - на что не пойдешь ради обиженной державы ^_^) - товарищи! Доколе мы будем сидеть сложа руки?! Даешь плагинов, хороших и разных!

     

    Поскольку я сам анимешник, выражу лично от себя, чего мне не хватает в Морре как отакованному на всю голову. Полагаю, с этим согласится и возмущенная общественность. А список, в общем-то, достаточно большой, что лишний раз говорит о том, что мы не теряем время зря, мы его попросту разбазариваем. Итак:

     

    1. Анимешного шмота. Ну как же хочется честному отакованному вампиру, сидящему в семейных гробницах напуганной еды... То есть Верующих Данмеров, попугать своих жертв красной широкополой шляпой - метр в диаметре... Как же не хватает нормальных белых перчаток! Как не хватает очков! Как не хватает прочей одежды... Мой Злобный Бретонец классно бы смотрелсля в фирменной одежде Ордена Розенкройц или сутане священника Ватикана из сюжетно провального, но до жути красивого аниме Trinity Blood (кто знает, тот поймет)...

    2. Анимешное оружие. Я уже молчу про Алукардовские килограммовые пистолеты - это просто не подходит к Морру по атмосфере. (Хотя можно было бы закосячить приготовление пороха из огненной соли и толченого эбонита, и модельки сделать средневековых мушкетов... Чтоб вампира серебрянной пулей... Мда...) Но как же страдает народ без возможности заехать супостату в лоб Нарутовским кунаем или сюрикеном, помахать гнутым мечом Отца Александра Андерсона... Да даже без той же секиры из все того же Trinity Blood!

    3. Анимешные расы. Не спорю, уже много создано чудных плагинов, лица и причесы в которых претендуют на анимешность. Однако как ни крути, все же не сотворить в Морре какого-нибудь стройного CLAMP'овского мальчика, или какого-нибудь мрачного Сефирота с белыми волосами по пояс... Ах, как бы выглядел мой бретонец с длинными ровными черными волосами!..

    4. Квестов в духе аниме. Морр, как ни крути, есть игра западная с соответствующим сюжетом. Анимешностью тут и не пахнет. Ну, магия, ну, махание мечами, но... Нет той завернутости и некоторой извращенности анимешных сюжетов. Нет, хотя есть, но все же нет...

     

    На самом деле, плагинотворец из меня никакой. Честно. Мне очень не хватает усидчивости для создания плагинов; еще больше не хватает времени. Также не хватает мастерства; я довольно посредственнен в применении CS, поверхностно знаю скриптовый язык Морра... Посему я прошу прощения у всех товарищей отакованных плагинотворцев за свою пламенную речь. Прошу заранее, чтобы потом не говорили, "Вот, завел народ, а сам нифига делать не умеет". Однако я все же могу помочь. В чем я хорош - так это в "работах писательских", таких, как написание текстов NPC, выдумывание сюжетов и тому подобное... Какой-нибудь завернутый анимешный сюжет я смогу придумать... Так, чтобы Гильдия параноиков аля Орочимару-сама нанимала главгероя, чтобы тот тырил для них артефакты, из которых те, применяя богопротивные двемерские технологии и энчанты, будут строить убероружие для захвата всея Морровинда, с последующим истреблением врагов народа лично Нереварином...

     

    Братья анимешники! Не посрамим наше гордое звание самых отакованных плагинщиков всея Фуллреста! Дадим плагины народу и возмущенной общественности! Пятилетку за три года!... Эээ... В общем, в бой, в отаку!

     

    --

    Доктор Элс Синк, безумный ученый-изобретатель на ранге Магуса в Великом Доме Телванни,

    на данный момент уже трижды поджаренный Мастером Арионом за излишнюю горячность

  10. Я, такой-то... Кгхм. Прошу прощения. (Встает в картинную позу, поправляет свой фирменный причес "взрыв на двемерской фабрике", поправляет галстук и надевает свою маньяческую улыбочку "под отца Андерсона".) Я, доктор Элс Синк, сумасшедший ученый изобретатель на ранге Магуса в Великом Доме Телванни, приперся чтобы заявить о своем желании вступить в Замок Отаку, ради процветая аниме во всея Рунете, и являясь также неполномочным представителем крупного портала Evangelion-Not-End.

     

    Смотрел следующее: (курсивом - то, что знаю хорошо) Neon Genesis Evangelion, End of Evangelion, X/1999, X: Movie, Full Metall Alchemist, FMA Movie, Cowboy Bebop, Cowboy Bebop Movie, Hellsing, Vision of Escaflowne, Escaflowne Movie, Wings of Honneamise, Battle Angel Alita, Trinity Blood, Excel Saga, Spriggan, Ghost in the Shell, Ghost in the Shell 2: Innocence, Ghost in the Shell: Stand Alone Complex, Ghost in the Shell: Stand Alone Complex 2nd GIG, FLCL, Naruto, Yami no Matsuei, Vampire Hunter D, Last Exile и еще чего-то... В общем, вполне ничего себе набор. Также мангу читал... Хеллсинг, не всю, но в чем дело в общих чертах знаю. Пару томов FMA... Clover читал (редкость, мда...) Ну и еще кой-чего по мелочи.

     

    Номер Аси моей - 392-165-751, однако заявляю сразу, что в Сети бываю от случая к случаю (чтобы если вдруг мое очередное творение взорвется, то знали, что бить надо когда заявлюсь ^_^). Торжественно клянусь сражаться бок о бок, рука об руку, манипулятор о манипулятор, тентакль о... О чем это я... В общем, с анимешниками всея Рунета, ради искоренения неверных, которые смеют звать нас "фанатами кетайских порнографических мультиков" и вообще.

     

    Хайль Илпаллаццо-сама! Опять-таки, о чем это я... Мда. Тяжелый случай. Я б даже сказал, клинический. У меня, естесственно. Ну что поделаешь, профессия обязывает ^_^

  11. Ну, мну отаку... Точнее, не скажу, чтобы прям отаку - это громко сказано. Но от аниме фанатею в определенной степени. Творчейская моя жизнь закипает особенно бурно с покупкой новой стопочки свежей травы; где-то ближе к концу безанимешного периода творческая жизнь идет на убыль и нуждается в новой порции вдохновения... Можно сказать, существую, впитывая все разумное-доброе-вечное из восхитетльных образчиков японской анимации. Японскую культуру уважаю, пытаюсь учить язык. Рисую немного, правда, без особого успеха, пытаюсь писать... В общем, все как у всех.
×
×
  • Создать...