![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#1151
|
|||||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
вот это ты сделал? Добавлено в [mergetime]1116687381[/mergetime]
это пашет - 100%. |
||||
![]()
Сообщение
#1152
|
|
Level 9 ![]() ![]() ![]() Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
Конечно :yes: . Все поставил.
Сейчас еще проверю... Сообщение отредактировал Лито - May 21 2005, 18:04 |
![]()
Сообщение
#1153
|
|
Level 5 ![]() ![]() Класс: Маг Характер: True Neutral Раса: Человек ![]() |
Я могу предположить 2 варианта:
1) Твой плэйс расположен так, что PC не может его использовать(подойти к нему с нужной стороны на нужное расстояние). Когда кликаешь на него, в левом верхнем углу вылазит иконка движения. Если когда PC подошел к плэйсу, иконка не ушла, значит это так. 2) Ну, это на всякий случай, проверь, скрипт стоит на OnUsed? Диалог вставлен? Да, и есть ли еще на этом плэйсе какие-то скрипты? Если есть, то где? |
![]()
Сообщение
#1154
|
|
Level 9 ![]() ![]() ![]() Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
Все я понял в чем дело...Дело в том что там 10 шаров и я не по тому целкал :swoon:
Новый вопрос у меня, дроп золота я сделал. Теперь у меня задача сделать дроп одной случаной вещи из инвенторя. Дальше возможны варианты выпадение вещи по ее стоимости или скажем выпадение одной одетой вещи(кстати дополнительный вопрос: как правильно говорить? Одетой и надетой? :)). (это когда игроки забивают всю сумку хламом...) |
![]()
Сообщение
#1155
|
|||||
Level 6 ![]() Класс: Страж Тьмы Характер: Lawful Good Раса: Баатезу ![]() |
Lex Большое спасибо, что помогаеш мне, но вотя в этих скриптах дуб дубком, немог бы ты описать более понятным для меня образом.
?????
?????
|
||||
![]()
Сообщение
#1156
|
|
Level 1 Класс: Чемпион Торма Характер: Lawful Good Раса: Человек ![]() |
Кто нибудь помогите. Делаю модуль по мотивам книг Ника Перумова - Хранитель мечей, точнее по миру описанному там.
Скриптер из меня никакой. Нужен скрипт: Герой умирает и переносится в межреальность, там общается и его отправляют назад в место где он погиб. За основу я взял скрипты (помоему от Аваддон"а),и чуть переделал. OnPlayerDying Герой без сознания. void bleed(int iBleedAmt) { effect eShake=EffectVisualEffect(VFX_FNF_SCREEN_SHAKE); effect eBleedEff; if (GetCurrentHitPoints() <= 3) { SpeakStringByStrRef (110519); if (iBleedAmt > 0) { eBleedEff = EffectDamage(iBleedAmt); } else { eBleedEff = EffectDamage(iBleedAmt); } ApplyEffectToObject(DURATION_TYPE_INSTANT, eBleedEff, OBJECT_SELF); if (GetCurrentHitPoints() <= -10) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDeath(), OBJECT_SELF); return; } if (iBleedAmt > 0) { if (d10(1) == 1) { iBleedAmt = -iBleedAmt; } } } DelayCommand(6.0,bleed(iBleedAmt)); } void main() { effect eBlood=EffectVisualEffect(VFX_COM_CHUNK_RED_MEDIUM); object oDying = GetLastPlayerDying(); object oEnemy = GetLastAttacker(); float fWho = (GetFacing(oEnemy)); ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,eBlood, GetLocation(oDying), 10.0); AssignCommand(oDying, ClearAllActions()); AssignCommand(oDying, bleed(1)); CreateObject(OBJECT_TYPE_PLACEABLE,"bloody",GetLocation(oDying),TRUE); } Далее OnPlayerDeath Герой умирает и переносится в межреальность. void main() { object oPlayer = GetLastPlayerDied(); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_DEATH), GetLocation(oPlayer)); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_PROTECTION_GOOD_MAJOR), oPlayer,6.0); DelayCommand(2.0,FadeToBlack(oPlayer)); DelayCommand(5.0,BlackScreen(oPlayer)); DelayCommand(5.5,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oPlayer)); DelayCommand(5.8,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oPlayer)), oPlayer)); DelayCommand(6.0,AssignCommand(oPlayer,ClearAllActions())); DelayCommand(6.2,AssignCommand(oPlayer,JumpToLocation(GetLocation(GetObjectByTag("WP_RAISE"))))); } И еще в локации межреальности - куда перемещается мертвый игрок OnEnter void main() { object oPC = GetEnteringObject(); DelayCommand(2.0,FadeFromBlack(oPC,FADE_SPEED_SLOWEST)); } Огромная просьба, ПОМОГИТЕ!!! Допишите скрипт пожалуйста. P.S. Нужен еще один скрипт, который я поставлю на ветвь разговора. И чуть дописать скрипт на OnPlayerDeath. [COLOR=red][COLOR=red] |
![]()
Сообщение
#1157
|
|||||||
Level 9 ![]() ![]() ![]() Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
Это просто пример функции. на место int OBJECT_TYPE_* - ставишь константу, типа объекта(плэйсибл, существо и т.д.) string ref - РесРеф создаваемого объекта. location lloc - куда объект создается. FALSE - эффект "появления". Например паук спускается по нити паутины... 2JesterX, гм...ты же сам все сделал. Сообщение отредактировал Лито - May 22 2005, 10:30 |
||||||
![]() ![]()
Сообщение
#1158
|
|||
Восставший из пепла ![]() ![]() ![]() Класс: Бледный Мастер Характер: Neutral Evil Раса: Человек ПОДМАСТЕРЬЕ ![]() |
Люди, памажите! Вот скрипт:
Но почему-то, когда НеПиСь выполняет команду ActionSit, то он больше не встает со стула! Почему же так происходит? Все компилится без проблем. Я пытался после этой ф-ии ставить ClearAllActions(), но непомогает. Так же пытался все преплести к DelayCommand, но толку никакого... :vava: Кто-нибудь знает в чем загвостка? ЗЫ Скрипт ставится в OnHeartBeat НеПиСя. Сообщение отредактировал Archangel - May 22 2005, 11:04 |
||
![]()
Сообщение
#1159
|
|||||||
Level 9 ![]() ![]() ![]() Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
Вобщем система выпадения одной шмотки из слота при смерти PС и золота, была написана... Если кому интересно то вот:
Из игроков левелом 5 или меньше, вещи не падают, только золото. Есть шанс выпадения. У 10 -70%,у 20 уровня он равен 80%,у 30 - 90%, у 40%... Если вещей в слотах не было найдено, то тогда ничего не выпадает. Собственно есть задача с которой я не могу справится. Я хочу переписать систему смерти на шарде. При смерти игрока кидает в фугу, где он либо входит в портал, за что с него снимают n-кол-во XP, либо ждет пока его реснут(скастовав райз или резурект на труп, который создается на месте смерти.) Вот с момента воскрешения начинаются проблемы... Пробовал реализовать через стринги которые накладываются при смерти на труп и на игрока.
И если они равны, применять к игроку в фуге необходимые эффекты, но! я на 100% уверен, что -
уже не верно.
Даже не знаю как реализовать :xz: , помогайте мастера :shout: Сообщение отредактировал Лито - May 22 2005, 15:01 |
||||||
![]()
Сообщение
#1160
|
|
Level 9 ![]() Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] ![]() |
а причем тут GetNextPC()?! - это функция получения следущего объекта игрока при перечислении игроков. тебе надо при создании трупа игрока на объект трупа вешать ссылку на объект игрока. и потом при юзании резурректа на труп, читать с него переменную объекта игрока и уже с ней работать.
|
![]()
Сообщение
#1161
|
|||||
Level 9 ![]() ![]() ![]() Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
dumbo, что надо использовать не GetNextPC() мне понятненько, а вот это: 1п.
- нет, как это сделать? Я надеюсь что пойму вот это: 2п.
Но для начала надо разобратся с 1п :xz: |
||||
![]()
Сообщение
#1162
|
|||||
Level 9 ![]() Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] ![]() |
где-то в подыхании игрока стоит что-то вроде:
и, соответственно, в тоем скрипте воскрешения:
ps. и юзайте irc-канал. там самое место для такого чата. :yes: |
||||
![]()
Сообщение
#1163
|
|||||||
Level 9 ![]() ![]() ![]() Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
Собственно поставил на OnPlayerDeath
GetName(oPC), потому что делается для шарда, и локалка по идее должна отличатся от локалок других трупов. и написал вот такой скрипт на OnCastSpell трупа
Проверял так: Убивал сам себя, после чего пытался наложить райз или резурект на свой же труп. Эффект = 0. Где проблема опять же ума не приложу :xz: Добавлено в [mergetime]1116779131[/mergetime]
Да...пора бы уже настроить. |
||||||
![]()
Сообщение
#1164
|
|||||||||||
Level 9 ![]() Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] ![]() |
Лито, ты своим введением все и поломал. ;)
не должна она отличаться. у каждого трупа своя переменная "oOwner". ты же не путаешь свою ногу с чужой только от того, что они обе называются "нога"? потом еще момент - я писал определение GetSpellTargetObject(), потому как предполагал, что ты изменяешь скрипт спелла(общего). в пределах скрипта OnSpellCastAt это определение бессмысленно. вот эта твоя конструкция вообще не выдерживает никакой критики:
по идее, такое не должно компилиться. но тут огреха компилятора - собирает и не пикает. почему ты выставляешь экспу трупу - вообще загадка.. ;) причем, до этого уничтожаешь его(само уничтожение происходит, кстати, только после выхода из скрипта). ладно. от теории к практике: 1. в скрипте смерти вернуть то, что тебе предлагали:
2. скрипт в слот OnSpellCastAt:
3. скрипт "переодевания" - reequip.nss
ps. модифицировать это все нужно очень вкурчиво, следить за логикой и очередностью происходящих с объектами операций... :drag: |
||||||||||
![]()
Сообщение
#1165
|
|
Level 6 ![]() Класс: Страж Тьмы Характер: Lawful Good Раса: Баатезу ![]() |
Лито немогли бы вы показать целый скрипт, а то, я ничерта несмыслю.
Заранее спасибо. |
![]() ![]()
Сообщение
#1166
|
|
Level 1 Класс: Чемпион Торма Характер: Lawful Good Раса: Человек ![]() |
Кто нибудь помогите. Делаю модуль по мотивам книг Ника Перумова - Хранитель мечей, точнее по миру описанному там.
Скриптер из меня никакой. Герой умирает и переносится в межреальность, там общается и его отправляют назад в место где он погиб. Нужен скрипт телепорта на место смерти героя. За основу я взял скрипты (помоему от Аваддон"а),и чуть переделал. OnPlayerDying Герой без сознания. void bleed(int iBleedAmt) { effect eShake=EffectVisualEffect(VFX_FNF_SCREEN_SHAKE); effect eBleedEff; if (GetCurrentHitPoints() <= 3) { SpeakStringByStrRef (110519); if (iBleedAmt > 0) { eBleedEff = EffectDamage(iBleedAmt); } else { eBleedEff = EffectDamage(iBleedAmt); } ApplyEffectToObject(DURATION_TYPE_INSTANT, eBleedEff, OBJECT_SELF); if (GetCurrentHitPoints() <= -10) { ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDeath(), OBJECT_SELF); return; } if (iBleedAmt > 0) { if (d10(1) == 1) { iBleedAmt = -iBleedAmt; } } } DelayCommand(6.0,bleed(iBleedAmt)); } void main() { effect eBlood=EffectVisualEffect(VFX_COM_CHUNK_RED_MEDIUM); object oDying = GetLastPlayerDying(); object oEnemy = GetLastAttacker(); float fWho = (GetFacing(oEnemy)); ApplyEffectAtLocation(DURATION_TYPE_TEMPORARY,eBlood, GetLocation(oDying), 10.0); AssignCommand(oDying, ClearAllActions()); AssignCommand(oDying, bleed(1)); CreateObject(OBJECT_TYPE_PLACEABLE,"bloody",GetLocation(oDying),TRUE); } Далее OnPlayerDeath Герой умирает и переносится в межреальность. void main() { object oPlayer = GetLastPlayerDied(); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_DEATH), GetLocation(oPlayer)); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectVisualEffect(VFX_DUR_PROTECTION_GOOD_MAJOR), oPlayer,6.0); DelayCommand(2.0,FadeToBlack(oPlayer)); DelayCommand(5.0,BlackScreen(oPlayer)); DelayCommand(5.5,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectResurrection(),oPlayer)); DelayCommand(5.8,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectHeal(GetMaxHitPoints(oPlayer)), oPlayer)); DelayCommand(6.0,AssignCommand(oPlayer,ClearAllActions())); DelayCommand(6.2,AssignCommand(oPlayer,JumpToLocation(GetLocation(GetObjectByTag("WP_RAISE"))))); } И еще в локации межреальности - куда перемещается мертвый игрок OnEnter void main() { object oPC = GetEnteringObject(); DelayCommand(2.0,FadeFromBlack(oPC,FADE_SPEED_SLOWEST)); } Огромная просьба, ПОМОГИТЕ!!! Допишите скрипт пожалуйста. |
![]() ![]()
Сообщение
#1167
|
|||
Лорд AxisTown'a ![]() Класс: Монах Характер: Lawful Good Раса: Дварф NWN: Маппинг ![]() |
...в последнем предложении кроется ответ на твою проблем :lol: "Скрипт ставится в OnHeartBeat НеПиСя. " наводящий вопрос : как часто выполняется скрипт на OnHeartBeat? |
||
![]()
Сообщение
#1168
|
|
Level 9 ![]() Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] ![]() |
JesterX
ты извини, конечно, но напрашивается пародия на твой вопрос: "я тут делаю модуль. вот нашел скрипт и немного его изменил: object oPC = OBJECT_SELF! помогите! допишите мне скрипт!" ps. телепаты в отпуске. :yes: pss. поясняю позицию - что там у тебя за диалоги? - остальное вроде интуитивно понятно, хотя конкретики тоже не помешает. что ты хочешь-то? Сообщение отредактировал dumbo - May 23 2005, 08:57 |
![]()
Сообщение
#1169
|
|
Level 1 Класс: Чемпион Торма Характер: Lawful Good Раса: Человек ![]() |
Просто мне нужно как-то пометить место смерти и написать скрипт телепорта для отправки игрока на это самое место смерти.
|
![]()
Сообщение
#1170
|
|
Level 9 ![]() Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] ![]() |
так кинь там трупак... только что ведь обсуждалась очень схожая ситуация! смотри наши терки с Лито.
ps. народ, вам когда что-то такое надо, сами не знаете что или если чувствуете, что предстоит такое вот общение в режиме чата - идите на irc-канал #wrg(как и что - написано вверху страницы). у меня такое ощущение, что модератор уже откинул крышечку с оптики... |
![]()
Сообщение
#1171
|
|
Level 1 Класс: Чемпион Торма Характер: Lawful Good Раса: Человек ![]() |
В том то и дело, что труп на месте смерти мне не нужен.
Еще раз - Игрок умирает в точке А, и переносится в точку Б, там он общается и его отправляют обратно в точку А. Нужен скрипт отправки из Б в А Я бы не писал все это если бы разбирался в скриптах. |
![]()
Сообщение
#1172
|
|||
Level 9 ![]() ![]() ![]() Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
Мефистофель, Хартбит все время повторяется, не так ли? Вот и подумай, твоему неписю каждые 6 секунд идет команда присесть на стул :D Добавлено в [mergetime]1116832825[/mergetime] JesterX
|
||
![]()
Сообщение
#1173
|
|
Level 1 Класс: Чемпион Торма Характер: Lawful Good Раса: Человек ![]() |
#include "x0_i0_secret"
void main() { object oPC = GetLastPlayerDied(); object oJump = GetWaypointByTag("B");//Вэйпоинт с тэгом B TransportToWaypoint(oPC,oJump); } Я так понял, что это отправка на место смерти. А в инклюде что? Или я не прав? |
![]()
Сообщение
#1174
|
|||||||
Level 9 ![]() ![]() ![]() Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
JesterX, это отправка с места смерти. В инклюде в функция
. Если хочешь чтобы игрока портили при разговоре на место смерти то -
На скрипте смерти пишешь:
Подойдет скорее только для сингла. |
||||||
![]()
Сообщение
#1175
|
|
Level 1 Класс: Чемпион Торма Характер: Lawful Good Раса: Человек ![]() |
Спасибо!!! Щас буду пробовать. Потом отпишу.
|
![]() ![]() |
Текстовая версия | Сейчас: 30th April 2025 - 12:09 |