![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
![]()
Сообщение
#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 Раса: Человек ![]() |
Спасибо!!! Щас буду пробовать. Потом отпишу.
|
![]()
Сообщение
#1176
|
|||||
Level 9 ![]() Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] ![]() |
в данном случае все проще - надо место смерти тупо повесить на объект игрока. :yes: в конец скрипта OnPlayerDeath:
на "оживляющую" ветку диалога:
|
||||
![]()
Сообщение
#1177
|
|||
Восставший из пепла ![]() ![]() ![]() Класс: Бледный Мастер Характер: Neutral Evil Раса: Человек ПОДМАСТЕРЬЕ ![]() |
А куда ж его тогда пихать? Это самый подходящий слот. Темболее другие команды нормально работают. Все проверял раз 10, но НеПиСь застревает только на ActionSit!!! |
||
![]()
Сообщение
#1178
|
|
Level 9 ![]() ![]() ![]() Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
Archangel, Значит именно на ActionSit, твой скрипт повторяется...
|
![]()
Сообщение
#1179
|
|||
Восставший из пепла ![]() ![]() ![]() Класс: Бледный Мастер Характер: Neutral Evil Раса: Человек ПОДМАСТЕРЬЕ ![]() |
Интересно... Даж не знаю... А может еще куда-нить запихнуть моно, чтоб работало? :this: |
||
![]()
Сообщение
#1180
|
|
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
// Уу..развели тут без меня..
- все, что выше я читать в поисках вопросов неотвеченных не буду. - пишите скрипты в NSS ([*]ТУТ СКРИПТ[/*], где * это NSS), а то хрен прочитаешь. |
![]()
Сообщение
#1181
|
|
Level 9 ![]() Класс: Фея Характер: Chaotic Evil Раса: Тварь NWN: Скриптинг [PW] ![]() |
Archangel
не надо его никуда "пихать" - все необходимые проверки для исключения повторного выполнения "действующих" кусков кода выполнены. что нужно сделать: 1. после блока объявления объектов поставь ClearAllActions(TRUE); 2. все нужно перетащить под DelayCommand, ибо иначе ты не имеешь возможности нормально управлять процессом - в частности, в существующем варианте, если ты после команды усадки на стул поставишь ClearAllActions(TRUE), чтобы поднять непися, то ничего не выйдет, потому как к моменту выполнения этого ClearAllActions непись успеет только первый Actionбла-бла отработать. и он встанет и больше ничего не сделает. :yes: после каждой ночной "усадки" нужно вставить DelayCommand(<время за которое непись уже сядет и успеет посидеть>, ClearAllActions(TRUE)); собственно и все. совет(и не только тебе) - еще пару раз перечитать доки и попытаться четко себе представить, как именно работают все функции, связанные с Actions. |
![]()
Сообщение
#1182
|
|
Level 9 ![]() ![]() ![]() Класс: Страж Тьмы Характер: Chaotic Evil Раса: Нежить ![]() |
dumbo, поставил твой скрипт, ничего не меняя(ну всмысле сделал все как ты сказал)
Опыт снимается, чар рукой машет, но в локу к трупу не транпортируется :( Вопрос снимается повестки :) Сообщение отредактировал Лито - May 23 2005, 18:24 |
![]()
Сообщение
#1183
|
|||
Level 6 ![]() Класс: Страж Тьмы Характер: Lawful Good Раса: Баатезу ![]() |
Я не понел, я спрашивал про стул.????? Лито я ввожу эти полоски скрипта что вы мне дали, проавильно. но Мне всюравно выдаёт ошибку, я прошу, может ты знаеш. Напиши этот скрипт в настоящем размере, а то я сам немогу все эти ковычки и т.д я просто не понимаю. спасибо заранее. скрипт я ещё раз опишу. в ХотУ был момент когда жирный куб, сожрал дроу, и он дёргался сночало а потом превратился в скелета, продолжал дёргатся и умер, мне очень нужно чтоб у меня также сробатывал скрипт но талько, чтобы он запускался при смерти Непися. Пожалуйста последняя надежда на вас. Спасибо. Сообщение отредактировал Мефистофель - May 23 2005, 19:45 |
||
![]()
Сообщение
#1184
|
|||
Level 5 ![]() Класс: Обыватель Характер: Lawful Neutral Раса: Человек NWN: Модмейкер Проклятие Левора Порядок Времени ![]() |
я так понял, что ты сам писать не хочешь, а хочешь, чтобы это тебе сделали...эх... это не есть гут. Напишу позже вечером. |
||
![]()
Сообщение
#1185
|
|
Level 6 ![]() Класс: Страж Тьмы Характер: Lawful Good Раса: Баатезу ![]() |
Lex Я знаю, что это не есть хорошо, нопросто этот скрипт мне очень нужен, а я просто не в состоянии его написать, я пробовал, много раз но ничё не выходило. и поэтому попросил у вас.
|
![]() ![]() |
Текстовая версия | Сейчас: 5th May 2025 - 01:43 |