QUOTE (NiMH @ Dec 11 2004, 15:48) |
ГЮЛЕМХ ХУ ОСЯРШЬЙЮЛХ |
Ась?
Добавлено в [mergetime]1102758632[/mergetime]
Смени кодировку
komu nado, tot poimet
Перевод - "Замени их пустышками"
Зы. Интересные мысли насчет ворот - спасибо за наводку
Аваддон
Dec 12 2004, 20:53
Тут решил факелы включающиеся ночью с OnHB перевести, чтобы при входе в локацию если ночь все не включенные факелы загорались.
Написал скрипт
Neverwinter Script Source |
void main() { object oTorch = GetFirstObjectInArea(OBJECT_SELF); if (GetIsDay()!=TRUE) { while (GetIsObjectValid(oTorch)) { if (GetTag(oTorch)=="test_torch" && GetLocalInt(oTorch,"on")!=1) { AssignCommand(oTorch,PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); SetLocalInt(oTorch,"on",1); oTorch = GetNextObjectInArea(OBJECT_SELF); } } } } |
Тестил - пишет Too many Instructions.. и загорается только часть факелов. Поправьте пожалуйста. Я редко с while и for работаю
смотри. Во первых ты перебираешь все объекты в локе, так?
а вот меняешь oTorch ты внутри ифа, те если (GetTag(oTorch)=="test_torch" && GetLocalInt(oTorch,"on")!=1) то у тебя включ, и меняется торч. Так вот, первый же объект, который не удовлетворит условию приведет к тому, что этот объект будет у тебя в while вечно бегать.
Решение:
Neverwinter Script Source |
while (GetIsObjectValid(oTorch)) { if (GetTag(oTorch)=="test_torch" && GetLocalInt(oTorch,"on")!=1) { AssignCommand(oTorch,PlayAnimation(ANIMATION_PLACEABLE_ACTIVATE)); SetLocalInt(oTorch,"on",1); } oTorch = GetNextObjectInArea(OBJECT_SELF); } |
в этом случае мы всегда переключ. торч на след. объект и цикл кончится, как только все объекты будут проверены.
Аваддон
Dec 12 2004, 23:25
Lex 
спасибо Лекс. Я все понял
Аваддон
Dec 16 2004, 17:02
А никто не подскажет, как была реализована система языков на Axistown. Ну я когда там играл можно было на эльфийском говорить, "по фене ботать" (на воровском). Конечно псевдо - заменялись буквы только. Но как отслеживалось что игрок сказал, не выдавалось это в эфир и после выписывало другое значение?
знаю только, что через невидимых слухачей, что раскиданы по всем локам.
Говоришь в пати, они все слышат, и заставляют игрока говорить всякую белеберду в общий канал, кидая SendMessageToPC тем, кто язык понимает.
в принципе написать не составляет труда.
Аваддон
Dec 17 2004, 21:03
Lex написал бы...
у меня тут нет тулсета... он дома, а дома нету нета.
Франческо Ракоци
Dec 19 2004, 13:47
Усем дарово...вот решил написать мод, а точнее шард =) (безумец скажите вы =) )
Так вот, нифига не пойму как одну штуковину сделать:
Создал три фракции: Тьма, Свет, Серые. Соответсвенно Тьма не любит Свет, Свет не любит Тьму, а Серым ваще на всё по барабану...Так вот, играк начинает в великих чертогах 3 богов, каждый бог для каждой фракции...Терь вопрос, как мне сделать что бы после выбора фразы во время базара с каким либо богом, игрок становился членом этой фракции???
FeaNor
Dec 19 2004, 14:44
Хоть я и не скриптер - ответить наверное могу. Игрокам сменить фракцию нельзя, она у них всего одна - PC. Так что тут важен результат этого причисления к фракции, чего ты хочешь добиться? В принципе к каждому игроку можно привязать переменную, сохраненную в базе данных, которая будет определять его принадлежность к определенной группе. Потом на входе на шард проверять наличие переменной и проводить соответсвующие действия с игроком (перемещать его в нужную локацию например).
Франческо Ракоци
Dec 19 2004, 14:49
FeaNor
ну вот к примеру, игрок решил идти на сторону Тьмы, тада любой НПС из фракции Света начнёт его бить как только встретит (ну это грубо говоря), а Серый ни чё не будет делать пока его не ударят +)
NPC фракцию настроить можно, как сказал Феанор, повесь локалку на РС и если он ТЕМНЫЙ, то отношение меняется. Ты вообще не шаришь в скриптах или понял что мы говорим?
Франческо Ракоци
Dec 19 2004, 15:15
Aiwan
в НВН скриптах очень мало =) тока недавно начал...но суть уловил =)
Lemegeton
Dec 23 2004, 09:04
Вопросец, конечно, дебилизмом попахивает, но никто не пытался изменить/создать GUI_Panel???
DBColl
Dec 23 2004, 11:26
Lemegeton На ваульте де-то валяется GUI-панель в стиле БГ.

Так что пробовали.
Lemegeton
Dec 23 2004, 14:16
А что насчет создания новых панелей?
DBColl
Dec 23 2004, 16:23
Ну вот тот автор и "рескинил" стандартные. Так почему нельзя сделать что-то иное?.. Единственное что, это скорее всего расположение и размеры окон с динамичными данными скорее всего не изменить (я про окно сообщений сервера, диалоговое окно и т.п...)
QUOTE (Lemegeton @ Dec 23 2004, 12:04) |
Вопросец, конечно, дебилизмом попахивает, но никто не пытался изменить/создать GUI_Panel??? |
На кой?
Lemegeton
Dec 24 2004, 09:54
Да, собственно говоря, ради любобытства... Хотел систему крафта магических предметов сделать а-ля Morrowind - с ГУИ. Так как-то многовато скриптов...
Я заметил, чтоь на этом форуме обитают хорошие люди, которые всегда помогут.Спасибо им за это.По этому поводу решил задать еще вопросы и надеюсь получить на них ответы
1.Есть вот такой скрипт на OnClientEnter, проверяет первый ли раз зашел игрок в модуль, если первый то выдает вещи, но тут есть проблема, при потере опыта и нажатии кнопки респауна, хр игрока скатывается до 0, при перезаходе опять срабатывает скрипт и игроку повторно выдается комплект вещей.Собственно вопрос:как сделать так чтобы вещи выдавались один единственный раз!без возможности перезахода при смерти>респауне?
вот этот скрипт
Neverwinter Script Source |
void main() { object oPC = GetEnteringObject(); int i;
if (GetIsPC(oPC) && (GetXP(oPC) > 0) && !GetIsDM(oPC)) { SetXP(oPC, 1);
for (i = 0; i <= 13; i++) { object oItem = GetItemInSlot(i, oPC); if (oItem != OBJECT_INVALID) DestroyObject(oItem); }
int nAmount = GetGold(oPC); AssignCommand(oPC, TakeGoldFromCreature(nAmount, oPC, TRUE));
object oItem = GetFirstItemInInventory(oPC); while (oItem != OBJECT_INVALID) { DestroyObject(oItem); oItem = GetNextItemInInventory(oPC); } } CreateItemOnObject("item004", oPC); CreateItemOnObject("item", oPC); CreateItemOnObject("item", oPC); CreateItemOnObject("item", oPC); CreateItemOnObject("item001", oPC); CreateItemOnObject("item003", oPC); GiveGoldToCreature(oPC, 200); } |
Это самое важное, очень прошу с этим помочь
Теперь второе
2.Есть корабль, на котором есть капитан, который за деньги переправляет игрока в другую точку модуля, за это просят 50gp, но тут тоже проблема, даже если у игрока меньше 50 золотых, его все равно переправляют, просто забирают все деньги которые есть, например есть 150 gp, забирают 50 и переправляют, второй случай: есть 37 gp, забирают эти 37 и все равно переправляют
вопрос: как сделать проверку золота, и чтобы если у игрока нет 50 гп, ему вежливо отказывали в поездке
пока все, заранее спасибо

----------------------
Вспомнил еще кое что
3.Как сделать случайную погоду, чтобы в локации не все время лил дождь но иногда выглядывало солнце и дождь проходил?
QUOTE (Лито @ Dec 25 2004, 19:32) |
Собственно вопрос:как сделать так чтобы вещи выдавались один единственный раз!без возможности перезахода при смерти>респауне? |
1. Уже поднимали этот вопрос. Дай РС предмет в инвентарь, что бы он не мог его выкинуть и проверяй его при заходе-перезаходе.
2. Очень просто. Сделай две ветки одна под другой. На одну из них повесь проверку на количество золота в инвентаре:
+ Проезд 50 монет! Ты будешь платить?
- У тебя нет такой суммы!
(На строку с плюсом повесь скрипт)
Neverwinter Script Source |
//::////////////////////////////////////////////// //:: Copyright © 2004 WRG! www.wrg.ru //:: Name:am_pv_gold_50 //::////////////////////////////////////////////// /* Проверка наличных в инвентаре если меньше 50, то диалога не будет */ //::////////////////////////////////////////////// //:: Created By: Aiwan Aiwan@e-mail.ru //:: Created On: 08.07.2004 //::////////////////////////////////////////////// int StartingConditional() { int iGold = GetGold(GetPCSpeaker()); if (iGold >= 50) // 50 - сумма нужных наличных { return TRUE; } return FALSE; } |
Можно поинтересней скрипт написать... УНИВЕРСАЛЬНЫЙ
Neverwinter Script Source |
//::////////////////////////////////////////////// //:: Copyright © 2004 WRG! www.wrg.ru //:: Name:am_pv_gold_50 //::////////////////////////////////////////////// /* УНИВЕРСАЛЬНЫЙ скрипт проверкпи наличных в инвентаре, если меньше i, то диалога не будет Укажите сумму в строке НПС в субрассе.
*/ //::////////////////////////////////////////////// //:: Created By: Aiwan Aiwan@e-mail.ru //:: Created On: 25.12.2004 //::////////////////////////////////////////////// int StartingConditional() { int iGold = GetGold(GetPCSpeaker()); int i = StringToInt(GetSubRace(OBJECT_SELF)); if (iGold >= i) // i - сумма нужных наличных { return TRUE; } return FALSE; } |
очень благодарен за 2, мог бы и сам додуматся, учится и еще раз учится мне надо
но вот с тем чтобы выдавать предмет при первом заходе...вобще я не знаю как будет лучше но я хотел чтобы если при респауне опыт вдруг становился равен 0 то автоматом игроку давали 1хр, а дальше пусть перезаходит сколько угодно, у него же 1хр есть,значит и скрипт на заход не сработает....о я сам себя осенил!поставлю на скрипт респауна GiveXP! все спасибо
По поводу погоды - я сейчас как раз буду начинать над этим работать, так что как зделаю - жди описания
Если невтерпеж - посмотри на Ваулте, я там видел пару WeatherSim`ов, но не смотрел, не тестил, ниче сказать не могу по поводу этих хаков
вообще в свойствах локи настраиваются вероятности дождя, снега, ясной погоды и тд. Крути проценты и все.
про респаун: уже видел такой подоход (1 экс) где-то...раз этак 5. :-)
2Lex если настраивать с св-ах локи проценты, то тогда будет - немножко дождя со снегом +ветер, и это все одновременно, а мне ведь надо случайность
Лито, проверь и если нужна СЛУЧАЙНОСТЬ настрой через ранндом и свич.
Neverwinter Script Source |
void main() { // object oModule = GetModule(); object oArea = GetArea(OBJECT_SELF); object oPC = GetEnteringObject();
if(GetIsPC(oPC) && !GetLocalInt(OBJECT_SELF, "WEATHER")) { SetWeather(oArea, WEATHER_RAIN); //WEATHER_CLEAR, WEATHER_SNOW, // WEATHER_USE_AREA_SETTINGS - настройки арены по умолчанию SetLocalInt(OBJECT_SELF, "WEATHER", TRUE); DelayCommand(500.0, SetWeather(oArea, WEATHER_USE_AREA_SETTINGS)); DelayCommand(600.0, SetLocalInt(OBJECT_SELF, "WEATHER", FALSE)); } } |
Aiwan
Neverwinter Script Source |
int StartingConditional() { int iGold = GetGold(GetPCSpeaker()); if (iGold >= 50) // 50 - сумма нужных наличных { return TRUE; } return FALSE; } |
не компилируется у меня, пробовал по разному...
Попробуй еще.
п.с. Злобный компилятор пишет что типа добавить войд мен функцию? А ты говоришь, нет! Дядя Айв не говорил такое!

Этот скрипт скомпелится без трабл токма на первом слоте в диалоге.
Aiwan Мистика

, он меня даже спросил - "оставить пустой сценарий без войд мейн?"
Lemegeton
Dec 27 2004, 11:02
Пилят! Убирайте нафиг русский текст в комментах! Зуб даю!
Лито так ты его закомпилял или он тебя?
QUOTE (Lemegeton @ Dec 27 2004, 14:02) |
Пилят! Убирайте нафиг русский текст в комментах! Зуб даю! |
Хм, ну гони свой зуб. У меня компилится весть скрипт.
Lemegeton
Dec 27 2004, 20:26
У тебя - да. Но не у всех. У меня, например, с русскими комментами не компилится. К сожалению, недостаточно данных для выяснения причины.
DBColl
Dec 27 2004, 20:49
Lemegeton Причина только в маленькой букве "я". Если в комментсах или вообще в скрипте она есть, то все, амба!
Lemegeton
Dec 27 2004, 20:50
DBColl: Не, у меня вообще русских букв не понимает. Никаких.
Аваддон
Dec 27 2004, 22:15
Lemegeton у тебя линуха вроде? Если винда не понимает, то надо в реестре кодировку переписать.
Для 98ой винды это выглядит вот так:
CODE |
REGEDIT4
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Nls\Codepage] "1250"="cp_1251.nls" "1251"="cp_1251.nls" "1252"="cp_1251.nls" "1253"="cp_1251.nls" "1254"="cp_1251.nls" "1257"="cp_1251.nls"
|
Для XP
CODE |
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage] "1250"="c_1251.nls" "1251"="c_1251.nls" "1252"="c_1251.nls" "1253"="c_1251.nls" "1254"="c_1251.nls" "1255"="c_1251.nls"
|
Франческо Ракоци
Dec 28 2004, 00:36
Народ! Хелп, чё то я не фтыкаю (и не надо мня к окулисту напровлсять

). Вот как сделать в диалгов возвращение. Т.е. например. Игрок может задать НПС 4 вопроса. Задаёт первый, получил ответ, терь они выбирает фразу типа, "сенкс, но у мня ещё вопросы", и его относит опять к списку вопросов. Как это можно сделать в редакторе разговоров, или что в скрипт надо?
Заранее большое человеческо спасибо
ЗЫ на крайняк хоть намекните =)
QUOTE (Франческо Ракоци @ Dec 28 2004, 00:36) |
Народ! Хелп, чё то я не фтыкаю (и не надо мня к окулисту напровлсять ). Вот как сделать в диалгов возвращение. Т.е. например. Игрок может задать НПС 4 вопроса. Задаёт первый, получил ответ, терь они выбирает фразу типа, "сенкс, но у мня ещё вопросы", и его относит опять к списку вопросов. Как это можно сделать в редакторе разговоров, или что в скрипт надо? |
Сходи к окулисту
А если счерьезно, выбираещ ветку, к которой хочеш вернуться, кликаешь правой кнопкой, выбираешь "Копировать". Потом выбираешь фразу героя, после которой осуществляется возврат и кликаешь снова правой кнопкой. выбираешь "Paste as link". Все.
Правдо сожно?
Франческо Ракоци
Dec 28 2004, 10:11
Q'elt'rine элементарно...терь я уверился что я идиот
БОЛЬШОЕ СЕНКС ТЕ
Lemegeton
Dec 28 2004, 14:18
Аваддон: У меня WineX стоит. Под Линух тулсета нема. WineX иммитирует мастдай. Там даже подобие реестра есть

Странно, но описаный тобой метод не пашет.

Абына, да.
Может кто подскажет, как с такой бедой бороться?
Попробуй шрифт в скрипт едиторе в настройках поменять на разный. К примеру у меня простой курьер...
Lemegeton
Dec 28 2004, 15:37
КОД символа от изменения шрифта не изменяется. Если #128 - "А", то он в любой кодировке будет #128. А глюкает именно код символа.
Ну не знаю, у меня многие шрифты русским просто не отображаются и не компиляться. Как хошь...
LemegetonНу тогда просто попробуй поставить win32.
Falcon
Dec 29 2004, 09:16
чегойто я совсем сдурел.
вопрос вот, я накладываю ефекты
CODE |
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_DUR_GHOSTLY_VISAGE), oPlayer); DelayCommand(2.0,FadeToBlack(oPlayer)); DelayCommand(5.0,BlackScreen(oPlayer));
|
а как их снять ?
Lemegeton
Dec 29 2004, 09:59
Neverwinter Script Source |
RemoveEffect(oPlayer, EffectVisualEffect(VFX_DUR_GHOSTLY_VISAGE)); DelayCommand(2.0,FadeFromBlack(oPlayer)); DelayCommand(5.0, StopFade(oPlayer)); // Кстати, строчка не нужная. FadeFromBlack и так все вернет. |
Наслаждайся. Выдрал прямехонько из Лексикона.

, кстати.
Falcon
Dec 29 2004, 10:10
Пасибо теперь буду знать
Lemegeton
Dec 29 2004, 10:53
Falcon:
Наслаждайся. И не забудь RTFM
Twin:
QUOTE |
Ну тогда просто попробуй поставить win32. |
Угу. Поставили мы с Max'ом Win32 - и тормознули крутейший P4
Да не, у меня тут, знаете ли, сервачок-с такой. Машинок на 30 (сам точно не знаю сколько). Вломак это дело под мастдаем разруливать да от хацкеров и от вирей шифроваться. А файловый на линухе (напр. Samba) ЗНАЧИТЕЛЬНО быстрее мастдайного. Особенно от Win32. Я уж не говорю про красавца KDE, Shorewall, smtp и pop3 сервера, SQUID... Нет. От этого не откажешься. "Попробовав раз, ем и сейчас".
А все это дело я Вином залил (WineX), дабы игры мастдайные пускать можно было. Ну и стремный же пакет.
Falcon
Dec 29 2004, 11:04
QUOTE (Lemegeton @ Dec 29 2004, 10:53) |
Falcon: Наслаждайся. И не забудь RTFM
Twin:
Угу. Поставили мы с Max'ом Win32 - и тормознули крутейший P4
Да не, у меня тут, знаете ли, сервачок-с такой. Машинок на 30 (сам точно не знаю сколько). Вломак это дело под мастдаем разруливать да от хацкеров и от вирей шифроваться. А файловый на линухе (напр. Samba) ЗНАЧИТЕЛЬНО быстрее мастдайного. Особенно от Win32. Я уж не говорю про красавца KDE, Shorewall, smtp и pop3 сервера, SQUID... Нет. От этого не откажешься. "Попробовав раз, ем и сейчас".
А все это дело я Вином залил (WineX), дабы игры мастдайные пускать можно было. Ну и стремный же пакет. |
а где этот мануал почитать ?
по повду тормознутости

мог бы поспорить, ибо линукс ненамного быстрее винды, особенно с КДЕ или гномом. по воду дырявоти теже грабли самя уязвимая ось 2003 года линукс ну и этого тоже будет повидимому. тоестьесли юзать то уже либо фриху либо вин. а правильно настроенный вин вполне нормлано пашет, и радмином админиться. конечно с путти не сравинться но он и недолжно сравниваться. а самба таки да подниксами быстрее. но мея устраиваен невер под 2000 сервером, правад он не стоит у меня голой жопой в инет. для локалки вполне. 15 человек постоянно на шарде, не лагает все ок.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.