Город Мастеров
IPB

Здравствуйте, гость ( Вход | Регистрация )

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 22 23 24 25 26 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
Лито
сообщение Dec 23 2004, 10:31
Сообщение #561


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



CODE
object oPC = GetEnteringObject();
if(GetIsPC(oPC) && !(GetXP(oPC)) && !GetIsDM(oPC));
{ SetXP(oPC, 1);
// Removing PC's Items In Slots
for(i=0; i<=13; i++){
oItem = GetItemInSlot(i, oPC);
DestroyObject(oItem);
}
  // Removing PC's Gold
      int nAmount = GetGold(oPC);
      AssignCommand(oPC, TakeGoldFromCreature(nAmount, oPC, TRUE));

  // Removing PC's Inventory.
      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);
      }
  }

Я точно знаю что скрипт кривой :xz: ,пожалуйста помогите разобратся что в нем не так?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Dec 23 2004, 12:06
Сообщение #562


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



А что он должен делать-то? У тебя странная подача вопроса... ;)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Raven
сообщение Dec 23 2004, 12:48
Сообщение #563


Level 8
***

Класс: Фея
Характер: Chaotic Evil
Раса: Фея



Ну как я понял - это скрипт на OnClient Enter. Он дает вновь прибывшему игроку 1 XP, уничтожает его вещи и дает свои...

У меня шас нет толчка под рукой, но

Neverwinter Script Source
if(GetIsPC(oPC) && !(GetXP(oPC)) && !GetIsDM(oPC));
{ SetXP(oPC, 1);
// Removing PC's Items In Slots
for(i=0; i<=13; i++){
oItem = GetItemInSlot(i, oPC);
DestroyObject(oItem);
}


Незнаю, можно ли проверять наличие какого-нить опыта с помощью
Neverwinter Script Source
!(GetXP(oPC))
но в любом случае
Neverwinter Script Source
if(GetIsPC(oPC) && !(GetXP(oPC)) && !GetIsDM(oPC));
{ SetXP(oPC, 1);


Тут нада скобочку закрыть после SetXP (oPC,1);

Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lemegeton
сообщение Dec 23 2004, 14:26
Сообщение #564


Level 10
Иконки Групп

Класс: Монах
Характер: Lawful Good
Раса: Человек
NWN: Контент



Лито:
В таких условиях можно лишь предпологать вариант коррекции ошибок, но я попробую. Пункт первый - ошибка стопудово. Исправление - есть мое IMHO. Остальные - по усмотрению и необходимости в скрипте.

1. Бяку нашел. Сразу. Ты удаляешь все предметы в инвентаре и в этом цикле создаешь еще ЧЕТЫРЕ новых!!! Посмотри, где скобочку не закрыл...

IMHO:
Neverwinter Script Source
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);
      }


Скорее всего, должно быть:
Neverwinter Script Source
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);


Обрати внимание на закрывающую скобку, перенесенную с последней строчки на пятую.


2. С помощью
Neverwinter Script Source
!(GetXP(oPC))
ты проверяешь НЕ НУЛЕВОСТЬ экспы, т.е. скрипт сработает, только если у игрока не 0 экспы. Если так и надо, тогда ОК, но конструкция явно "дикая" (wild expression :yes: ). Лучше, наверно, !(GetXP(oPC)) перевести в (GetXP(oPC)>0). Хотя первый вариант явно быстрее.
Скорее всего, CreateItem'ы надо вынести за условие. Чтобы они давались и "нулевым" входящим.


3. В коде:
Neverwinter Script Source
oItem = GetItemInSlot(i, oPC);
DestroyObject(oItem);

Надо бы проверять на valid. Вроде:
Neverwinter Script Source
oItem = GetItemInSlot(i, oPC);
if (oItem != OBJECT_INVALID) {DestroyObject(oItem);};

На всякий случай. Иногда, почему-то слетает. Несмотря на все уверения. :xz:

Пока только это. :crazy:

З.Ы. Вопросы надо задавать яснее. Пока Raven не намекнул, что это OnClientEnter, я тоже не врубался, что нужно.

Сообщение отредактировал Lemegeton - Dec 23 2004, 14:46
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Raven
сообщение Dec 23 2004, 14:33
Сообщение #565


Level 8
***

Класс: Фея
Характер: Chaotic Evil
Раса: Фея



Брр.. из-за этой пунктуации сразу не врубился :(
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Dec 23 2004, 15:54
Сообщение #566


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



Молодцы ребята! ;) РЕСПЕКТ! :good:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
baskan
сообщение Dec 23 2004, 16:42
Сообщение #567


Level 7
**

Класс: Бард
Характер: Lawful Good
Раса: Фея



Вот у меня вопросик))Как игровому персу присобачить какиенибудь крылья, или хвост?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Dec 23 2004, 16:59
Сообщение #568


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



Никак, наверное. Это рассовый признак.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lemegeton
сообщение Dec 23 2004, 17:35
Сообщение #569


Level 10
Иконки Групп

Класс: Монах
Характер: Lawful Good
Раса: Человек
NWN: Контент



Как так - "рассовый"? Хвост может быть у каждого! :D
Только тулсет этого, похоже, не позволяет (вернее, шибко геморно)... :xz:

Сообщение отредактировал Lemegeton - Dec 23 2004, 17:36
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
VantallA
сообщение Dec 23 2004, 17:39
Сообщение #570


Level 3
*

Класс: Рейнджер
Характер: Chaotic Good
Раса: Эльф



Я знаю, что когда заходишь под ДМом то можно контролить кого угодно, а можно ли тогда в это время какой-нить консольной командой(если такая есть) сохранить перса??
И ещё, чем мона править файлы персов? те которые по моему в локалваулте хранятся?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Dec 23 2004, 18:15
Сообщение #571


Level 8
***

Класс: Маг
Характер: Lawful Good
Раса: Полуэльф



DBColl
Мну не понимать... :crazy:
Каком всплывающем меню...И у мну на русском... :xz:
Добавлено в [mergetime]1103815058[/mergetime]
и еще ..
Пробую поставить с помощью мастера скриптов в диалог ограничение на характер(злой, нейтрал или хор.), но вместо того, чтоб правильно работать, диалог всегда обрывается на месте фразы со скриптом......дело ясное, что дело темное...во
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Dec 23 2004, 19:07
Сообщение #572


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



QUOTE (VantallA @ Dec 23 2004, 16:39)
И ещё, чем мона править файлы персов? те которые по моему в локалваулте хранятся?

Есть на ваульте прога Leto называется. Ищи.
QUOTE (MasterMage @ Dec 23 2004, 17:15)
Мну не понимать... Каком всплывающем меню...И у мну на русском...

Во-первых, ставь тулсет на инглише, ибо давно известно, что тул криво работает на руссише.
Во-вторых, по делу. Ты должен сначала сделать Copy строки на которую хочешь перескочить, затем ставишь курсор на ту строку, с которой хочешь перескакивать в это "другое" место и по правой мыши в менюшке нажимаешь Copy As Link (или в твоем случае "Связать"). Вот и все.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Dec 23 2004, 20:07
Сообщение #573


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



В будущем лучше буду ставить вопрос :yes:

CODE
void main()
{
object oPC = GetEnteringObject();
if(GetIsPC(oPC) && (GetXP(oPC)>0) && !GetIsDM(oPC))
{ SetXP(oPC, 1);
for(i=0; i<=13; i++){
oItem = GetItemInSlot(i, oPC);
if (oItem != OBJECT_INVALID) {DestroyObject(oItem);};
}
int nAmount = GetGold(oPC);
AssignCommand(oPC, TakeGoldFromCreature(nAmount, oPC, TRUE));
oItem = GetFirstItemInInventory(oPC);
while(oItem!=OBJECT_INVALID){
DestroyObject(oItem);
oItem = GetNextItemInInventory(oPC);
}
}
}
- это то что я переписал
CODE
for(i=0; i<=13; i++){
- А в этой строчке он ругается
+не могу нигде присобачить создание итемов, вобщем - :xz:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Dec 23 2004, 20:35
Сообщение #574


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



QUOTE (Лито @ Dec 23 2004, 19:07)
if (oItem != OBJECT_INVALID) {DestroyObject(oItem);};

Убери из этой строчки последнюю точку с запятой.
Добавлено в [mergetime]1103824302[/mergetime]
QUOTE (Лито @ Dec 23 2004, 19:07)
+не могу нигде присобачить создание итемов, вобщем -

Создание итемов присобачь в конце скрипта, перед последней фигурной скобкой.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Dec 23 2004, 21:02
Сообщение #575


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



QUOTE
Убери из этой строчки последнюю точку с запятой.

все равно на той же строчке та же ошибка :this:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Аваддон
сообщение Dec 23 2004, 21:13
Сообщение #576


Level 10
***

Класс: Воин
Характер: Lawful Neutral
Раса: Человек
NWN: Скриптинг [PW]



QUOTE (Лито @ Dec 23 2004, 20:07)
oItem = GetItemInSlot(i, oPC);
if (oItem != OBJECT_INVALID) {DestroyObject(oItem);};

Странно вы как то наличие предмета проверяете...
А может лучше так:
if(GetIsObjectValid(oItem)) ???
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DBColl
сообщение Dec 23 2004, 21:19
Сообщение #577


4-х Кубовый
Иконки Групп

Класс: Некромант
Характер: Lawful Evil
Раса: Человек
NWN: Скриптинг [Sn]
Проклятие Левора



Лито
Приведи текст ошибки что ль?.. :this:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Dec 23 2004, 21:31
Сообщение #578


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



очень прошу, может вы все готовое выложите в одном коде, а то я уже замучался, не работает, буду очень признателен :yes:

у меня тулсет русский к сожелению :swoon: пишет вот это - переменная, определенная без типа

Сообщение отредактировал Лито - Dec 23 2004, 21:33
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Dec 23 2004, 22:27
Сообщение #579


Level 8
***

Класс: Маг
Характер: Lawful Good
Раса: Полуэльф



Пнятненько:)
Только вот я не разберусь на инглише.... Хоть и знаю его, но на русском понятней, особенно пока учусь. :)
Но теперь понял и попробую....:)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Twin
сообщение Dec 24 2004, 02:40
Сообщение #580


Level 5
**

Класс: Некромант
Характер: Neutral Evil
Раса: Нежить
NWN: Скриптинг [PW]



QUOTE (Лито @ Dec 23 2004, 21:31)
у меня тулсет русский к сожелению :swoon:  пишет вот это - переменная, определенная без типа

Добавь сразу после
Neverwinter Script Source
object oPC = GetEnteringObject();

строчку
Neverwinter Script Source
int i;

Пиши скрипты не в тэгах CODE, а в тэгах NSS. Для этого они на этом форуме и реализованы.

И научись скрипты писать с соблюдением правил лестницы. То есть делай отступы в виде 2-4 пробелов в начале КАЖДОЙ новой строки в блочных операторах. И никогда не стоит пренебрегать пробелами. Иначе ты еще ОЧЕНЬ долго будешь допускать мелкие синтаксические ошибки...
То есть твой скрипт должен был бы выглядить следующий образом (ошибки скрипта я не исправлял, мне некогда их искать):
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++) {
            oItem = GetItemInSlot(i, oPC);
            if (oItem != OBJECT_INVALID)
                DestroyObject(oItem);
        }

        int nAmount = GetGold(oPC);
        AssignCommand(oPC, TakeGoldFromCreature(nAmount, oPC, TRUE));

        oItem = GetFirstItemInInventory(oPC);
        while (oItem != OBJECT_INVALID) {
            DestroyObject(oItem);
            oItem = GetNextItemInInventory(oPC);
        }
    }
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Dec 24 2004, 09:27
Сообщение #581


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



Заработал :yes:
Спасибо всем кто принял участие.Большое! :yes!:
PS На будущее...у меня есть еще несколько подобных вопросов, может мне стоит их писать в топ "скрипты"?

Сообщение отредактировал Лито - Dec 24 2004, 09:39
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Dec 24 2004, 10:13
Сообщение #582


Миловидный Бегрюссунг
Иконки Групп

Класс: Воин
Характер: Chaotic Good
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



QUOTE (Лито @ Dec 24 2004, 12:27)
PS На будущее...у меня есть еще несколько подобных вопросов, может мне стоит их писать в топ "скрипты"?

Да, в тему с проблемами скриптов. Пиши туды. :yes:
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
MasterMage
сообщение Dec 24 2004, 11:33
Сообщение #583


Level 8
***

Класс: Маг
Характер: Lawful Good
Раса: Полуэльф



Aiwan
Хех, а вот и ты.... :)

DBColl
у мну получилось... Теперь буду диалоги осваивать...
Может кто поможет мне понять, каким скриптом запустить триггер встречи...
Хочу, чтоб зомби появлялись только ночью...:)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Лито
сообщение Dec 24 2004, 11:36
Сообщение #584


Level 9
***

Класс: Страж Тьмы
Характер: Chaotic Evil
Раса: Нежить



А вот у меня вопрос не по скриптам , я создал предмет у торговца (еда) но у него она стоит 1gp как сделать так чтобы она стоила 10? :xz:
PS помоему абсолютная глупость :yes: но никак не могу с этим разобратся

Сообщение отредактировал Лито - Dec 24 2004, 11:37
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lemegeton
сообщение Dec 24 2004, 12:05
Сообщение #585


Level 10
Иконки Групп

Класс: Монах
Характер: Lawful Good
Раса: Человек
NWN: Контент



Лито:
Стоимость товара у торговца зависит от многого. В основном, от процентной наценки торговца и от умения персонажа торговаться.
Но и у предмета есть стоимость (в самой первой вкладке в свойствах предмета, слева-сверху). Она зависит от предмета (точнее, от того, как она прописана на предмет в файле 2da >:/ ), но есть и параметр Дополнительной стоимости (вроде непосредственной и необоснованной наценки) он расположен как раз под "зарядами" на той же самой первой вкладке. Увеличь ее на сколько нужно. ;)

Сообщение отредактировал Lemegeton - Dec 24 2004, 12:05
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 22 23 24 25 26 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 9th July 2025 - 06:58