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

Рекомендуемые сообщения

Опубликовано (изменено)
13.04.2016 14:09:15, Dimonoider сказал(-а):

Да. либо вообще удалить эту строку

Попробовал оба варианта. Итог 1 - серый экран.

Изменено пользователем GOLDEN KINDER
  • Ответов 4,8 тыс
  • Создана
  • Последний ответ

Топ авторов темы

Опубликовано
13.04.2016 14:14:31, GOLDEN KINDER сказал(-а):

 

Как-то тупо... 

Так, по порядочку. 

Какой скрипт вызывает смерть игрока, при этом без пепельных эффектов и без серого экрана.

репостни его сюда.

Опубликовано
13.04.2016 14:19:48, Dimonoider сказал(-а):

Какой скрипт вызывает смерть игрока, при этом без пепельных эффектов и без серого экрана.
репостни его сюда.

Держи.

Спойлер
Scriptname BloodPlagueScript extends ActiveMagicEffect

EXPLOSION PROPERTY corpseExplosion AUTO

; //////////
; //ASH PILE VARIABLES
; //////////
float property fDelay = 0.75 auto
{time to wait before Spawning Ash Pile}
float property fDelayEnd = 1.65 auto
{time to wait before Removing Base Actor}
float property ShaderDuration = 0.00 auto
{Duration of Effect Shader.}
Activator property pDefaultAshPileGhost auto
{The object we use as a pile.}
Bool property bSetAlphaZero = True auto
{The Effect Shader we want.}
FormList Property pDisintegrationMainImmunityList auto
{If the target is in this list, they will not be disintegrated.}
EFFECTSHADER PROPERTY pGhostDeathFXShader AUTO
{the shader to play while dying}

race VictimRace
ACTOR victim
bool TargetIsImmune = True

EVENT onEffectStart(Actor akTarget, Actor akCaster)
victim = akTarget

endEVENT

EVENT onDying(ACTOR akKiller)
victim.placeAtMe(corpseExplosion)
createAshPile()

endEVENT

FUNCTION createAshPile()
IF ( victim != game.getPlayer() )
; //check to see if the target is in the immunity list
IF(pDisintegrationMainImmunityList == none)
TargetIsImmune = False
ELSE
ActorBase VictimBase = victim.GetBaseObject() as ActorBase
VictimRace = VictimBase.GetRace()

IF(pDisintegrationMainImmunityList.hasform(VictimRace) || pDisintegrationMainImmunityList.hasform(VictimBase))
TargetIsImmune = True
ELSE
TargetIsImmune = False
ENDIF
ENDIF

; //if the target is not immune, disintegrate them
IF(TargetIsImmune == False)
; debug.trace("victim just died")


victim.kill(game.getPlayer())
victim.SetCriticalStage(victim.CritStage_DisintegrateStart)

IF(pGhostDeathFXShader != none)
pGhostDeathFXShader.play(victim,ShaderDuration)
ENDIF

victim.SetAlpha (0.0,True)

; //attach the ash pile
victim.AttachAshPile(pDefaultAshPileGhost)

utility.wait(fDelayEnd)
IF(pGhostDeathFXShader != none)
pGhostDeathFXShader.stop(victim)
ENDIF
IF(bSetAlphaZero == True)
victim.SetAlpha (0.0,True)
ENDIF
victim.SetCriticalStage(victim.CritStage_DisintegrateEnd)
ENDIF
ENDIF
endFUNCTION
Опубликовано
13.04.2016 14:22:07, GOLDEN KINDER сказал(-а):

 

Попробуем так

Вот в этот вот отрывок: (самый конец)
 

ENDIF

victim.SetCriticalStage(victim.CritStage_DisintegrateEnd)
ENDIF
ENDIF

endFUNCTION

ENDIF

ELSE
Game.GetPlayer().PlaceAtMe(YourAshPile)
Game.GetPlayer().SetAlpha(0)

ENDIF
endFUNCTION

не забудь в начале скрипта YourAshPile обозначить как я выше писал уже. И выставить его тоже не забудь. (модельку привязать)


Сделай и скажи что получилось.

Опубликовано
13.04.2016 14:33:41, Dimonoider сказал(-а):

Вот в этот вот отрывок: (самый конец)
 

ENDIF

ELSE
Game.GetPlayer().PlaceAtMe(YourAshPile)
Game.GetPlayer().SetAlpha(0)

ENDIF
endFUNCTION

не забудь в начале скрипта YourAshPile обозначить как я выше писал уже. И выставить его тоже не забудь. (модельку привязать)

Мне сейчас чей скрипт нужно отредактировать? Werr'a?

Опубликовано (изменено)
13.04.2016 14:44:20, Dimonoider сказал(-а):

нет, тот который ты мне скинул

Если редактировать другой, то он выдает ошибку

Спойлер
Scriptname BloodPlagueTestScript extends ActiveMagicEffect

Activator property YourAshPile auto
EXPLOSION PROPERTY corpseExplosion AUTO

; //////////
; //ASH PILE VARIABLES
; //////////
float property fDelay = 0.75 auto
{time to wait before Spawning Ash Pile}
float property fDelayEnd = 1.65 auto
{time to wait before Removing Base Actor}
float property ShaderDuration = 0.00 auto
{Duration of Effect Shader.}
Activator property pDefaultAshPileGhost auto
{The object we use as a pile.}
Bool property bSetAlphaZero = True auto
{The Effect Shader we want.}
FormList Property pDisintegrationMainImmunityList auto
{If the target is in this list, they will not be disintegrated.}
EFFECTSHADER PROPERTY pGhostDeathFXShader AUTO
{the shader to play while dying}

race VictimRace
ACTOR victim
bool TargetIsImmune = True

EVENT onEffectStart(Actor akTarget, Actor akCaster)
victim = akTarget

endEVENT

EVENT onDying(ACTOR akKiller)
victim.placeAtMe(corpseExplosion)
createAshPile()

endEVENT

FUNCTION createAshPile()
IF ( victim != game.getPlayer() )
; //check to see if the target is in the immunity list
IF(pDisintegrationMainImmunityList == none)
TargetIsImmune = False
ELSE
ActorBase VictimBase = victim.GetBaseObject() as ActorBase
VictimRace = VictimBase.GetRace()

IF(pDisintegrationMainImmunityList.hasform(VictimRace) || pDisintegrationMainImmunityList.hasform(VictimBase))
TargetIsImmune = True
ELSE
TargetIsImmune = False
ENDIF
ENDIF

; //if the target is not immune, disintegrate them
IF(TargetIsImmune == False)
; debug.trace("victim just died")


victim.kill(game.getPlayer())
victim.SetCriticalStage(victim.CritStage_DisintegrateStart)

IF(pGhostDeathFXShader != none)
pGhostDeathFXShader.play(victim,ShaderDuration)
ENDIF

victim.SetAlpha (0.0,True)

; //attach the ash pile
victim.AttachAshPile(pDefaultAshPileGhost)

utility.wait(fDelayEnd)
IF(pGhostDeathFXShader != none)
pGhostDeathFXShader.stop(victim)
ENDIF
IF(bSetAlphaZero == True)
victim.SetAlpha (0.0,True)
ENDIF
ELSE
Game.GetPlayer().PlaceAtMe(YourAshPile)
Game.GetPlayer().SetAlpha(0)
ENDIF
endFUNCTION

 

Спойлер
Starting 1 compile threads for 1 files...
Compiling "BloodPlagueTestScript"...
D:\Program Files (x86)\R.G. Mechanics\Skyrim - Legendary Edition\Data\Scripts\Source\temp\BloodPlagueTestScript.psc(83,0): mismatched input 'endFUNCTION' expecting ENDIF
No output generated for BloodPlagueTestScript, compilation failed.

Batch compile of 1 files finished. 0 succeeded, 1 failed.
Failed on BloodPlagueTestScript
Изменено пользователем GOLDEN KINDER
Опубликовано
13.04.2016 14:46:06, GOLDEN KINDER сказал(-а):

 

Еще один Endif допиши (или два. или по ситуации, ну ты понял, тут условие не закрыто)

ENDIF

ELSE
Game.GetPlayer().PlaceAtMe(YourAshPile)
Game.GetPlayer().SetAlpha(0)
ENDIF

ENDIF
endFUNCTION

 

Опубликовано (изменено)
13.04.2016 14:50:37, Dimonoider сказал(-а):

Еще один Endif допиши (или два. или по ситуации, ну ты понял, тут условие не закрыто)

Изменил, потестил, увидел следующее: ГГ умирает обычной смертью. Серого экрана нет, пепла тоже (модельку в скрипте привязал)

Спойлер
ScreenShot21.jpg

ScreenShot22.jpg
ScreenShot23.jpg

 

на всякий случай скину скрипт с изменениями:

Спойлер
Scriptname BloodPlagueTestScript extends ActiveMagicEffect

Activator property YourAshPile auto
EXPLOSION PROPERTY corpseExplosion AUTO

; //////////
; //ASH PILE VARIABLES
; //////////
float property fDelay = 0.75 auto
{time to wait before Spawning Ash Pile}
float property fDelayEnd = 1.65 auto
{time to wait before Removing Base Actor}
float property ShaderDuration = 0.00 auto
{Duration of Effect Shader.}
Activator property pDefaultAshPileGhost auto
{The object we use as a pile.}
Bool property bSetAlphaZero = True auto
{The Effect Shader we want.}
FormList Property pDisintegrationMainImmunityList auto
{If the target is in this list, they will not be disintegrated.}
EFFECTSHADER PROPERTY pGhostDeathFXShader AUTO
{the shader to play while dying}

race VictimRace
ACTOR victim
bool TargetIsImmune = True

EVENT onEffectStart(Actor akTarget, Actor akCaster)
victim = akTarget

endEVENT

EVENT onDying(ACTOR akKiller)
victim.placeAtMe(corpseExplosion)
createAshPile()

endEVENT

FUNCTION createAshPile()
IF ( victim != game.getPlayer() )
; //check to see if the target is in the immunity list
IF(pDisintegrationMainImmunityList == none)
TargetIsImmune = False
ELSE
ActorBase VictimBase = victim.GetBaseObject() as ActorBase
VictimRace = VictimBase.GetRace()

IF(pDisintegrationMainImmunityList.hasform(VictimRace) || pDisintegrationMainImmunityList.hasform(VictimBase))
TargetIsImmune = True
ELSE
TargetIsImmune = False
ENDIF
ENDIF

; //if the target is not immune, disintegrate them
IF(TargetIsImmune == False)
; debug.trace("victim just died")


victim.kill(game.getPlayer())
victim.SetCriticalStage(victim.CritStage_DisintegrateStart)

IF(pGhostDeathFXShader != none)
pGhostDeathFXShader.play(victim,ShaderDuration)
ENDIF

victim.SetAlpha (0.0,True)

; //attach the ash pile
victim.AttachAshPile(pDefaultAshPileGhost)

utility.wait(fDelayEnd)
IF(pGhostDeathFXShader != none)
pGhostDeathFXShader.stop(victim)
ENDIF
IF(bSetAlphaZero == True)
victim.SetAlpha (0.0,True)
ENDIF
ELSE
Game.GetPlayer().PlaceAtMe(YourAshPile)
Game.GetPlayer().SetAlpha(0)
ENDIF
ENDIF

Изменено пользователем GOLDEN KINDER
Опубликовано

Оке

Тогда убери правки последние (т.е. оставляй скрипт как ты мне его кидал)

Вот в этом фрагменте:

EVENT onDying(ACTOR akKiller)

victim.placeAtMe(corpseExplosion)

IF (victim = game.getPlayer())

Game.GetPlayer().PlaceAtMe(YourAshPile)

Game.GetPlayer().SetAlpha(0)

Debug.MessageBox("Нас что-то убило!")

Endif

createAshPile()

EndEvent

Опубликовано

Внес правки, и получил ошибки: (а вообще спасибо за терпение, немногие им могут похвастаться  :mosking: )

Спойлер
Scriptname BloodPlagueTestScript extends ActiveMagicEffect

EXPLOSION PROPERTY corpseExplosion AUTO

; //////////
; //ASH PILE VARIABLES
; //////////
float property fDelay = 0.75 auto
{time to wait before Spawning Ash Pile}
float property fDelayEnd = 1.65 auto
{time to wait before Removing Base Actor}
float property ShaderDuration = 0.00 auto
{Duration of Effect Shader.}
Activator property pDefaultAshPileGhost auto
{The object we use as a pile.}
Bool property bSetAlphaZero = True auto
{The Effect Shader we want.}
FormList Property pDisintegrationMainImmunityList auto
{If the target is in this list, they will not be disintegrated.}
EFFECTSHADER PROPERTY pGhostDeathFXShader AUTO
{the shader to play while dying}

race VictimRace
ACTOR victim
bool TargetIsImmune = True

EVENT onEffectStart(Actor akTarget, Actor akCaster)
victim = akTarget

endEVENT

EVENT onDying(ACTOR akKiller)
victim.placeAtMe(corpseExplosion)

IF (victim = game.getPlayer())
Game.GetPlayer().PlaceAtMe(YourAshPile)
Game.GetPlayer().SetAlpha(0)
Debug.MessageBox("Нас что-то убило!")
Endif

createAshPile()
endEVENT

FUNCTION createAshPile()
IF ( victim != game.getPlayer() )
; //check to see if the target is in the immunity list
IF(pDisintegrationMainImmunityList == none)
TargetIsImmune = False
ELSE
ActorBase VictimBase = victim.GetBaseObject() as ActorBase
VictimRace = VictimBase.GetRace()

IF(pDisintegrationMainImmunityList.hasform(VictimRace) || pDisintegrationMainImmunityList.hasform(VictimBase))
TargetIsImmune = True
ELSE
TargetIsImmune = False
ENDIF
ENDIF

; //if the target is not immune, disintegrate them
IF(TargetIsImmune == False)
; debug.trace("victim just died")


victim.kill(game.getPlayer())
victim.SetCriticalStage(victim.CritStage_DisintegrateStart)

IF(pGhostDeathFXShader != none)
pGhostDeathFXShader.play(victim,ShaderDuration)
ENDIF

victim.SetAlpha (0.0,True)

; //attach the ash pile
victim.AttachAshPile(pDefaultAshPileGhost)

utility.wait(fDelayEnd)
IF(pGhostDeathFXShader != none)
pGhostDeathFXShader.stop(victim)
ENDIF
IF(bSetAlphaZero == True)
victim.SetAlpha (0.0,True)
ENDIF
victim.SetCriticalStage(victim.CritStage_DisintegrateEnd)
ENDIF
ENDIF

 

Спойлер
Starting 1 compile threads for 1 files...
Compiling "BloodPlagueTestScript"...
D:\Program Files (x86)\R.G. Mechanics\Skyrim - Legendary Edition\Data\Scripts\Source\temp\BloodPlagueTestScript.psc(35,4): no viable alternative at input 'victim'
D:\Program Files (x86)\R.G. Mechanics\Skyrim - Legendary Edition\Data\Scripts\Source\temp\BloodPlagueTestScript.psc(35,29): required (...)+ loop did not match anything at input ')'
No output generated for BloodPlagueTestScript, compilation failed.

Batch compile of 1 files finished. 0 succeeded, 1 failed.
Failed on BloodPlagueTestScript
Опубликовано
13.04.2016 15:20:50, GOLDEN KINDER сказал(-а):

Внес правки, и получил ошибки: (а вообще спасибо за терпение, немногие им могут похвастаться  :mosking: )
 

Этоне терпение, это лень :haha: . Я в редакторе проверил только возможность накладывания шейдера при смерти, а сам скрипт не проверяю.

Но ради такого случая проверил

вместо

IF (victim = game.getPlayer())

сделать

IF (victim == game.getPlayer())
 

Да. редактор такой херней страдать любит.

  • Нравится 1
Опубликовано (изменено)
13.04.2016 15:27:16, Dimonoider сказал(-а):

Да. редактор такой херней страдать любит.

 Есть изменения!)))
Теперь мы заражаемся, умираем, видим сообщение из скрипта, а потом происходит вот это:
 

Спойлер
ScreenShot26.jpg
ScreenShot28.jpg


Серого экрана нет!) Идет обычная загрузка. Единственное, прах зависает в воздухе, а не появляется на земле/полу. Это можно как-то исправить?) Изменено пользователем GOLDEN KINDER
Опубликовано
13.04.2016 15:41:21, GOLDEN KINDER сказал(-а):

Серого экрана нет!) Идет обычная загрузка. Единственное, прах зависает в воздухе, а не появляется на земле/полу. Это можно как-то исправить?)

Ммм... Попробуй там после placeatme

YourAshPile.SetAngle(0.0, 0.0, 0.0)

А еще, после setalpha

pGhostDeathFXShader.play(victim,ShaderDuration)

(по идее просто визуально эффект появится)

 

Опубликовано (изменено)
13.04.2016 15:48:16, Dimonoider сказал(-а):

Ммм... Попробуй там после placeatme ............

 

Протестил изменения (правки вроде бы внес правильно) 

Спойлер
Scriptname BloodPlagueTestScript extends ActiveMagicEffect

Activator property YourAshPile auto
EXPLOSION PROPERTY corpseExplosion AUTO

; //////////
; //ASH PILE VARIABLES
; //////////
float property fDelay = 0.75 auto
{time to wait before Spawning Ash Pile}
float property fDelayEnd = 1.65 auto
{time to wait before Removing Base Actor}
float property ShaderDuration = 0.00 auto
{Duration of Effect Shader.}
Activator property pDefaultAshPileGhost auto
{The object we use as a pile.}
Bool property bSetAlphaZero = True auto
{The Effect Shader we want.}
FormList Property pDisintegrationMainImmunityList auto
{If the target is in this list, they will not be disintegrated.}
EFFECTSHADER PROPERTY pGhostDeathFXShader AUTO
{the shader to play while dying}

race VictimRace
ACTOR victim
bool TargetIsImmune = True

EVENT onEffectStart(Actor akTarget, Actor akCaster)
victim = akTarget

endEVENT

EVENT onDying(ACTOR akKiller)
victim.placeAtMe(corpseExplosion)
IF (victim == game.getPlayer())
Game.GetPlayer().PlaceAtMe(YourAshPile).SetAngle(0.0, -10.0, 0.0) <== Пробовал играться с цифрами, что бы опустить прах на землю. (не получилось)
Game.GetPlayer().SetAlpha(0)
pGhostDeathFXShader.play(victim,ShaderDuration)
Debug.MessageBox("Нас что-то убило!")
Endif
createAshPile()
endEVENT

FUNCTION createAshPile()
IF ( victim != game.getPlayer() )
; //check to see if the target is in the immunity list
IF(pDisintegrationMainImmunityList == none)
TargetIsImmune = False
ELSE
ActorBase VictimBase = victim.GetBaseObject() as ActorBase
VictimRace = VictimBase.GetRace()

IF(pDisintegrationMainImmunityList.hasform(VictimRace) || pDisintegrationMainImmunityList.hasform(VictimBase))
TargetIsImmune = True
ELSE
TargetIsImmune = False
ENDIF
ENDIF

; //if the target is not immune, disintegrate them
IF(TargetIsImmune == False)
; debug.trace("victim just died")


victim.kill(game.getPlayer())
victim.SetCriticalStage(victim.CritStage_DisintegrateStart)

IF(pGhostDeathFXShader != none)
pGhostDeathFXShader.play(victim,ShaderDuration)
ENDIF

victim.SetAlpha (0.0,True)

; //attach the ash pile
victim.AttachAshPile(pDefaultAshPileGhost)

utility.wait(fDelayEnd)
IF(pGhostDeathFXShader != none)
pGhostDeathFXShader.stop(victim)
ENDIF
IF(bSetAlphaZero == True)
victim.SetAlpha (0.0,True)
ENDIF
victim.SetCriticalStage(victim.CritStage_DisintegrateEnd)
ENDIF
ENDIF
endFUNCTION


В игре это выглядит следующим образом: (один раз, появилось 2 праха  :haha: )
Спойлер
ScreenShot32.jpg
ScreenShot36.jpg


И еще хотел задать 1 вопрос: В целом заклинание кастуется нормально. ГГ "заряжает" заклинание, потом происходит взрыв, NPC заражается и т.д. НО, когда NPC умирает - проигрывается двойной визуальный эффект взрыва (от NPC и ГГ). Не подскажите, как это исправить? (из-за двойных взрывов сильно просаживается фпс, а если NPC 3, 4 и больше, то игра просто не справляется с таким большим объемом массовых визуальных эффектов и зависает.)

Спойлер
ScreenShot33.jpg

ScreenShot34.jpg

Изменено пользователем GOLDEN KINDER
Опубликовано
14.04.2016 04:57:10, GOLDEN KINDER сказал(-а):

Game.GetPlayer().PlaceAtMe(YourAshPile).SetAngle(0.0, -10.0, 0.0) <== Пробовал играться с цифрами, что бы опустить прах на землю. (не получилось)

С цифрами тут играть не нужно. SetAngle - это для выравнивания угла. 

Вообще попробуй так:
Game.GetPlayer().PlaceAtMe(YourAshPile)

YourAshPile.MoveTo(Game.GetPlayer(), 0, 0, -32, abMatchRotation = false)

 

В общем поиграйся со смещением относительно игрока по Z оси. Чтобы в воздухе не весело.
 

Что до дублирования. Не знаю.

victim.kill(game.getPlayer())

Попробуй без этой строки. Я работу скрипта не видел, но мне кажется странным. Дело в том что процесс ashpile начинается как только персонаж начинает умирать. Но тогда зачем персонажа опять убивать. 

Опубликовано

Ребят... у меня возник такой вопрос: все слышали про мод Magicka Sabers? Так вот я хочу создать свою рукоять для меча... во первых какая программа мне лучше подойдет? А во вторых как мне поменять рукоять и, чтобы мечи можно было крафтить в кузнице, и меч соответственно включался и выключался... в общем как мне изменить рукоять меча не меняя параметров и всяких функций?

Опубликовано

Здравствуйте. Пилил новую локацию (создавал новый мир), в итоге каким-то образом изуродовал территорию близ Вайтрана. Можно ли это как-нибудь исправить не теряя прогресса в моей локации? Бэкапов не осталось. 

Если ты сжигаешь ее деревню на первом свидании - значит ты викинг.

Опубликовано
14.04.2016 18:51:05, Mr.Death сказал(-а):

Здравствуйте. Пилил новую локацию (создавал новый мир), в итоге каким-то образом изуродовал территорию близ Вайтрана. Можно ли это как-нибудь исправить не теряя прогресса в моей локации? Бэкапов не осталось. 

Через TES5Edit можно зачистить правки в регионе Вайтрана.

Ну или скинь мне в личку файл я гляну..

 

Опубликовано (изменено)

Всем доброго времени суток) Я продолжал искать, в чем же заключалась проблема двойного праха при смерти ГГ и двойного визуального эффекта при смерти NPC (когда NPC умирает, красный сферический взрыв отображается при его смерти и параллельно этому, по непонятным причинам этот же взрыв появляется у ГГ)

Долго думал, что проблема кроется в скрипте (однако, где только я его не показывал - никто не понимал, из-за чего подобная "хурма" происходит), но как потом оказалось, возможно проблема кроется в следующем:
1) Представим, что мы заразили 1 NPC - он умирает, и если мы попадаем в радиус взрыва (и не являемся вампиром), то заражаемся от него. (с помощью мода "SkyUI" я смог увидеть активный магический эффект, который был наложен на нас в этот момент)

Обратим внимание на кол-во налаживаемых маг. эфф. на ГГ
wptGnzeTiMA.jpg

2) После этого я попробовал сделать тоже самое, но уже с 4 NPC.

Опять смотрим на кол-во налаживаемых маг. эфф. на ГГ
wjulGU1RWlE.jpg

Т.е. на втором скрине отчетливо видно, что на ГГ 1 магический эффект накладывается на другой. Возможно, именно из-за этого накладывания дублируется прах.
После того, как мы заразились от 4 NPC - от нас осталось примерно 3-4 праха
jIP6CuF_Yco.jpg

 

Вопрос: Как избавиться от двойного визуального взрыва (когда NPC умирает, красный сферический взрыв отображается при его смерти и параллельно этому, по непонятным причинам этот же взрыв появляется у ГГ) и от наложения дополнительных отрицательных магических эффектов на ГГ?

 

P.s. Создал архив, в котором содержится мод только с "кровавой чумой". Книгу с заклинанием выбросил в Рифтен. (Единственное, некоторые визуальные эффекты отсутствуют, из-за того, что они есть только в DLC Dawnguard).

P.s.s. Кстати, скрипт теперь выглядит немного иначе. (были внесены пару дополнительных строчек)
https://cloud.mail.ru/public/8bsi/SQgWDCFr6

Изменено пользователем GOLDEN KINDER
Опубликовано
19.04.2016 12:49:33, GOLDEN KINDER сказал(-а):

 

Я кажется говорил. Что если убрать эту строку?

victim.Kill(akKiller)

Далее

 

If ( YourAshPile == None )
         YourAshPile = pDefaultAshPileGhost
        EndIf

А это тут нахрена. Ты итак уже кучке пепла присваиваешь определенную модель. Зачем абсолютно левая проверка ни к чему не ведущая.
 

 

Проверь, может быть в заклинании выставлены взрывы. Вот они дважды и штампуются

Опубликовано (изменено)
19.04.2016 13:35:55, Dimonoider сказал(-а):

Я кажется говорил. Что если убрать эту строку?

Убирал, ничего не менялось. (забыл отписаться)
 

19.04.2016 13:35:55, Dimonoider сказал(-а):

А это тут нахрена. Ты итак уже кучке пепла присваиваешь определенную модель. Зачем абсолютно левая проверка ни к чему не ведущая.

Не я редактировал скрипт. Ответить не могу.
 

19.04.2016 13:35:55, Dimonoider сказал(-а):

Проверь, может быть в заклинании выставлены взрывы. Вот они дважды и штампуются

В заклинании присутствует взрыв "ExplosionIllusionMassiveDark01". (Именно этот взрыв добавляет нужный визуальный эффект при прочтении заклинания, но не нужный "эффект дублирования"). Я вообще хотел сделать так: При прочтении заклинания отображается 1 визуальный эффект (например наш "ExplosionIllusionMassiveDark01"), а при смерти ГГ/NPC другой, но у меня не вышло это реализовать. 

Спойлер
rfhy.jpg
Изменено пользователем GOLDEN KINDER

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

×
×
  • Создать...