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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
147 страниц V  « < 135 136 137 138 139 > »   
Ответить в эту темуОткрыть новую тему
> Скрипты, Все вопросы и ответы по скриптам
wirTUS
сообщение May 23 2011, 08:24
Сообщение #3391


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



Попытася описать
Код
void main()
{
object oPC = GetEnteringObject();
object oArea1 = GetArea(oPC);
object oArea2 = GetObjectByTag(FVgreatbridge);
vector vec = GetPosition(GetObjectByTag("WPfoJumpto"));
location Loc1 = SetLocalLocation(oPC,"Var4locj1",oArea1,vec,0.0);
location l = SetLocalLocation(oPC,"Var4locj2",oArea2,315.0,GetDistanceBetweenLocations(Loc1, GetLocation(oPC)),0.0,0.0);
//vector vect = 315.0,GetDistanceBetweenLocations(Loc1, GetLocation(oPC),0.0);
AssignCommand(oPC, ActionJumpToLocation(l);
}

или
Код
void main()
{
object oPC = GetEnteringObject();
object oArea1 = GetArea(oPC);
object oArea2 = GetObjectByTag(FVgreatbridge);
vector vec = GetPosition(GetObjectByTag("WPfoJumpto"));
location Loc1 = SetLocalLocation(oPC,"Var4locj1",oArea1,vec,0.0);
vector vect = 315.0,GetDistanceBetweenLocations(Loc1, GetLocation(oPC)),0.0);
AssignCommand(oPC, ActionJumpToLocation(oArea2, vect, 0.0);
}

или
Код
void main()
{
object oPC = GetEnteringObject();
object oArea1 = GetArea(oPC);
object oArea2 = GetObjectByTag(FVgreatbridge);
vector vec = GetPosition(GetObjectByTag("WPfoJumpto"));
location Loc1 = SetLocalLocation(oPC,"Var4locj1",oArea1,vec,0.0);
AssignCommand(oPC, ActionJumpToLocation(oArea2, 315.0, GetDistanceBetweenLocations(Loc1, GetLocation(oPC)), 0.0, 0.0);
}

Во всех случаях ругается на строчку с
Код
GetDistanceBetweenLocations(Loc1, GetLocation(oPC))

UNKNOWN STATE IN COMPILER или PARSING VARIABLES LIST, в зависимости от месстонахождения оной
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Белатрис
сообщение May 23 2011, 13:45
Сообщение #3392


Level 11
***

Класс: Воин
Характер: Lawful Good
Раса: Человек



Такая ностальгия сейчас...
Жаль, что времена NWN 1 прошли...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение May 23 2011, 17:03
Сообщение #3393


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



попробовал еще вариант
Neverwinter Script
void main()
{
object oPC = GetEnteringObject();
object oArea1 = GetArea(oPC);
object oArea2 = GetObjectByTag("FVgreatbridge");
vector Loc1 = GetPosition(oPC);
vector vec;
location loc;
float f = Loc1.y;
vec = 315,f,0;
loc = oArea2, vec, 0;
AssignCommand(oPC,ActionJumpToLocation(loc));
}

Теперь ругается на отсутствие точки с запятой (ERROR: NO SEMICOLON AFTER EXPRESSION) после
Neverwinter Script
vec = 315,f,0;
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
greye
сообщение May 23 2011, 17:31
Сообщение #3394


Level 7
**

Класс: Некромант
Характер: True Neutral
Раса: Нежить



Neverwinter Script
vec = 315,f,0;
loc = oArea2, vec, 0;

Мой разум отказывается понимать, чего ты хотел этим добиться. В примерах выше такая же ошибка: ты почему-то записываешь не вызов функции для формирования вектора или положения (Vector(float x, float y, float z), Location(object oArea, vector vPosition, float fOrientation)), а только их параметры, удивляясь, что ничего не работает.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение May 23 2011, 19:19
Сообщение #3395


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



попробовал описать так:
Neverwinter Script
void main()
{
void main()
{
object oPC = GetEnteringObject();
object oArea1 = GetArea(oPC);
vector Loc1 = GetPosition(oPC);
vector vec = Vector(315.0f,Loc1.y,0.0f);
object oArea2 = GetObjectByTag("FVgreatbridge");
AssignCommand(oPC,ActionJumpToLocation(oArea2, vec(vek.x,vek.y,vek.z), 0.0f));
}

в ассигнкомманде vec с любыми параметрами (пробовал vec(vek.x,vek.y,vek.z), vec(315.0f,Loc1.y,0.0f) и vec(), так же 2й вариант с Loc1.y выраженным отдельной переменной) выдаёт неизвестный индификатор (UNDEFINED IDENTIFIER (vec)), без параметров же ругается на отсутствие, собственно, параметров (DECLARATION DOES NOT MATCH PARAMETERS)

записал по аналогу Лексикона
Neverwinter Script
void main()
{
object oPC = GetEnteringObject();
object oArea1 = GetArea(oPC);
vector Loc1 = GetPosition(oPC);
object oArea2 = GetObjectByTag("FVoutcastle");
vector vec = Vector(315.0f,Loc1.y,0.0f);
float fAngle = 0.0;
location loc = Location(oArea2,vec,fAngle)
AssignCommand(oPC,JumpToLocation(loc);
}

На строчку ассигнкомманд ругается PARSING VARIABLE LIST
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
greye
сообщение May 23 2011, 19:26
Сообщение #3396


Level 7
**

Класс: Некромант
Характер: True Neutral
Раса: Нежить



Neverwinter Script
void main()
{
object oPC = GetEnteringObject();
object oArea1 = GetArea(oPC);
vector Loc1 = GetPosition(oPC);
object oArea2 = GetObjectByTag("FVgreatbridge");
vector vec = Vector(315.0, Loc1.y, 0.0);
AssignCommand(oPC,ActionJumpToLocation(Location(oArea2, vec, 0.0)));
}
или
Neverwinter Script
void main()
{
object oPC = GetEnteringObject();
object oArea1 = GetArea(oPC);
vector Loc1 = GetPosition(oPC);
object oArea2 = GetObjectByTag("FVgreatbridge");
AssignCommand(oPC,ActionJumpToLocation(Location(oArea2, Vector(315.0, Loc1.y, 0.0), 0.0f)));
}

А в твоём последнем вариант скобка не закрыта после AssignCommand.

Сообщение отредактировал greye - May 23 2011, 19:26
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение May 23 2011, 19:48
Сообщение #3397


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



Огромное спасибо, особенно за терпение, работает
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение May 24 2011, 20:24
Сообщение #3398


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



Neverwinter Script
int StartingConditional()
{

    if(!HasItem(GetPCSpeaker(), "Mmodacid")||!HasItem(GetPCSpeaker(), "Mmodacid_long")||!HasItem(GetPCSpeaker(), "Mmodacid_strong"))
        return TRUE;

    return FALSE;
}

Задумка: проверка в диалоге наличия в инвентаре PC одной из трех вещей. (Немного модифицированный скрипт из мастера)
Назначение: на реплику PC
Симптомы: наличие реплики (возможность PC сказать ее) при полном отсутсвии данных предметов или при наличии всех трех
Предостережение: в тэгах предметов несовпадений нет; правильно работает при одном либо двух предметах
Предварительный диагноз: напортачено в логике
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение May 24 2011, 21:12
Сообщение #3399


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Судя по коду, если все теги написаны без ошибок, фраза должна появляться, если отсутствует хотя бы 1 предмет. Если хотя бы 1 тег написан неправильно, то фраза будет появляться всегда. Может, все-таки перепроверить теги? В частности, теги чувствительны к регистру.
Кстати, код намного легче читается, если операторы (вроде ||) выделять пробелами.

Сообщение отредактировал Ilerien - May 24 2011, 21:14
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение May 24 2011, 21:33
Сообщение #3400


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



А такой вопрос, возможно глупый: "!" случаем не обозначает отрицание?

Вопрос снимается, извиняюсь за беспокойство, именно так. Убрал - работает
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение May 25 2011, 01:35
Сообщение #3401


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Означает. Я ж говорю, в вышеприведенном коде проверка на отсутствие, а не на присутствие хотя бы одного предмета.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение May 25 2011, 08:05
Сообщение #3402


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



Благодарю. Кстати, визард все условия (из тех, что я использовал) ставит "если не это условие, тогда вернуть FALSE", что равноценно "если это условие, тогда вернуть TRUE". Какая из этих конструкций эффективнее?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение May 25 2011, 10:09
Сообщение #3403


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Вторая.
Но гораздо изящнее без всяких проверок:
Neverwinter Script
int StartingContidional()
{
    return <условие>;
}


Сообщение отредактировал Ilerien - May 25 2011, 10:10
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение May 25 2011, 14:08
Сообщение #3404


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



Еще раз спасибо.
Очередной вопрос: можно ли скриптом запретить игроку получать уровни в определенном классе до выполнения некоего условия?
Задумка: реализовать условия получения престиж-классов по 3.5 (вроде убить кого-либо, кого убивать у игрока причин не было для ассасина/ достижения мирных отношений (или чего-то вроде, я обычно использовал контракт) с вызванным злым аутсайдером для блэкгарда)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение May 25 2011, 14:20
Сообщение #3405


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Можно. В таблицах требований к классам (cls_pres_*) есть тип пререквизита VAR, который требует локальной переменной с указанным названием и значением на персонаже. По дефолту для каждого престижа указана в таблицах своя переменная с требуемым значением 0, что с точки зрения требований к классу включает в себя и отсутствие данной переменной на персонаже. Для запрета левелапиться ассассином, скажем, достаточно вызвать такой код:
Neverwinter Script
SetLocalInt(oPC, "X1_AllowAsasin", 1); //oPC - игрок
Я для своего проекта, который находится в стадии разработки, довольно широко использую этот принцип, поскольку он имеет огромную гибкость. Скажем, если ввести аналогичную переменную для паладина, можно реализовать его ограничение на мультикласс из 3.5. С другой стороны, за этой переменной нужно очень аккуратно следить.

Сообщение отредактировал Ilerien - May 25 2011, 14:25
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение May 25 2011, 21:33
Сообщение #3406


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



Большое спасибо

Опять проблема с условием
Neverwinter Script
int StartingConditional()
{
    return ((GetAbilityScore(GetPCSpeaker(), ABILITY_INTELLIGENCE, TRUE) > 13) && (HasItem(GetPCSpeaker(), "Mmod_water")) && ((HasItem(GetPCSpeaker(), "Mmodacid")) || (HasItem(GetPCSpeaker(), "Mmodacid_long")) || (HasItem(GetPCSpeaker(), "Mmodacid_strong"))));
}

(все между фиг. скобками записано в одну строчку, напихал по методу "вдруг поможет" скобок, кол-во открывающих вроде как совпадает)
Ругается "ERROR: UNKNOWN STATE IN COMPILER"
планировалась конструкция "условие и условие1 и (условие2 или условие3 или условие4)".
Так же: можно ли как-либо разрешить учить перформ кому угодно, а не только барду? Попробовал через хак с измененным CLS_SKILL_ROG.2da, в который добавлялся, собственно, перформ и ставился как класс скилл, но это не помогло.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение May 26 2011, 00:34
Сообщение #3407


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Код правильный вроде, только скобок многовато.
Я бы навскидку сказал, что HasItem компилятор не признает из-за того, что не включена соответствующая библиотека через #include.

Добавить перформ вору можно именно так, как ты описал. Не знаю, где косяк - может, в подключении хаков. Попробуй выставить еще в skills.2da AllClassesCanUse в 1.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение May 26 2011, 10:52
Сообщение #3408


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



в 2da сейчас копаюсь, я там еще выставил неправильный skill index, а в скрипте действительно инклюд забыл, спасибо
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение May 26 2011, 21:31
Сообщение #3409


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



Очередной вопрос: можно ли поменять сообщение, выдаваемое игроку при исполнении скрипта
Neverwinter Script
AdjustAlignment(oPC, ALIGNMENT_EVIL, -5);

с "Your actions have shifted your alignment -5 point(s) toward Evil" на какое-либо другое и, если да, как это сделать?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение May 27 2011, 10:48
Сообщение #3410


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Простым способом нельзя. Вероятно, можно через NWNX Chat как-то изловить, но я этот плагин не ковырял.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение May 30 2011, 21:19
Сообщение #3411


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



Спасибо, попробую.

И еще вопрос: можно ли ставить скрипт, заполняющий инвентарь плэйсебла, на его onused, описывая плэйс как OBJECT_SELF, PC как GetLastUsedBy()?
Проблема: скрипт компилится нормально, стоит на onUsed сундука с активированными флагами Plot, Useable и Has Inventory, при попытке открыть персонажем 1го уровня(как свежесгенеренным, так и экспортированным) сундук открывается, но его инвентарь пустой. Т.к. существует возможность пустого сундука при верном исполнении скрипта, пробовал перезаходить (3 раза подряд) и, т.к. ограничения в одно использование в скрипте нету, пробовал открывать несколько раз подряд.
Собственно, скрипт.
Neverwinter Script
///////////////////////////////////////////////////////////////////
//Скрипт, спавнящий в плэйсеблы барахло///By HailAnDkilL aka///////
//почти по таблице 3-5(рандомные сокро-///wirTUS aka Бессонов//////
//вища) DMG 3.5. Различия в вещах(пред-///Георгий Борисович////////
//ставлено не все, ибо некоторых вещей/////////////////////////////
//в NWN нету, некоторые вещи бесполез-/////////////////////////////
//ны, а до некоторых не дошли руки) и//////////////////////////////
//в проверке не d100 и диапазоны вари-/////////////////////////////
//антов, а рандом(кол-во вариантов)+1//////////////////////////////
///////////////////////////////////////////////////////////////////
#include "NW_I0_GENERIC"

string sARMTAG()
{
string sSTR="MUNDANEARMOR";
int iMARMV = Random(13)+1;
int iMARMT = Random(9)+1;

switch(iMARMV)
{
case 10: sSTR=sSTR+"10_";
case 11: sSTR=sSTR+"11_";
case 12: sSTR=sSTR+"12_";
case 13: sSTR=sSTR+"13_";
default: sSTR=sSTR+"0"+IntToString(iMARMV)+"_";
}
sSTR=sSTR+IntToString(iMARMT);
return(sSTR);
}
//////////////////////////////////////////////
//////////////////////////////////////////////
//////////////////////////////////////////////
string sWEAPTAG()
{
string sSTR="MUNDANEWEAPON";
int iMWEMV = Random(12)+1;
int iMWEMT = Random(4)+1;

switch(iMWEMV)
{
case 10: sSTR=sSTR+"10_";
case 11: sSTR=sSTR+"11_";
case 12: sSTR=sSTR+"12_";
default: sSTR=sSTR+"0"+IntToString(iMWEMV)+"_";
}
sSTR=sSTR+IntToString(iMWEMT);
return(sSTR);
}
//////////////////////////////////////////////
//////////////////////////////////////////////
//////////////////////////////////////////////
void PGTC(int var1, int var2)
{
object oGOLD = GetObjectByTag("NW_IT_GOLD001");
object oCHEST = OBJECT_SELF;
SetItemStackSize(oGOLD, var1*var2);
ActionGiveItem(oGOLD, oCHEST);
}

void main()
{
object oPC = GetLastUsedBy();
object oCHEST = OBJECT_SELF;
int iPC_LVL = GetCharacterLevel(oPC);
int iVAR1 = Random(5)+1;
int iVAR2 = Random(3)+1;
int iVAR3 = Random(3)+1;
int iGEMV = d6(1);
string sTAG;
switch(iPC_LVL)
{
case 1:
        switch(iVAR1)
        {
        case 1: break;
        case 2: PGTC(d6(1),1);
        case 3: PGTC(d8(1),10);
        case 4: PGTC(d8(2),10);
        case 5: PGTC(d4(1),100);
        }/*
        switch(iVAR2)
        {
        case 1: break;
        case 2: sTAG="GEM"+IntToString(iGEMV);
        }*/

        switch(iVAR3)
        {
        case 1: break;
        case 2: ActionGiveItem(GetObjectByTag(sARMTAG()), oCHEST);
        case 3: ActionGiveItem(GetObjectByTag(sWEAPTAG()), oCHEST);
                }
        }
}

инклюд требуется для работы GetCharacterLevel, без него все равно не работало (использовалась сумма трёх GetLevelByPosition)
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение May 30 2011, 21:25
Сообщение #3412


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Здесь нужно использовать не ActionGiveItem(), которая применяется для передачи уже существующих предметов, а CreateItemOnObject().
Neverwinter Script
GetObjectByTag(sARMTAG()) //скорее всего, вернет OBJECT_INVALID
Цитата
инклюд требуется для работы GetCharacterLevel, без него все равно не работало (использовалась сумма трёх GetLevelByPosition)
Можно использовать GetHitDice() - это сразу общий уровень.

Сообщение отредактировал Ilerien - May 30 2011, 21:26
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение May 30 2011, 21:51
Сообщение #3413


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



Исправил на
Neverwinter Script
#include "NW_I0_GENERIC"

string sARMTAG()
{
string sSTR="MUNDANEARMOR";
int iMARMV = Random(13)+1;
int iMARMT = Random(9)+1;

switch(iMARMV)
{
case 10: sSTR=sSTR+"10";
case 11: sSTR=sSTR+"11";
case 12: sSTR=sSTR+"12";
case 13: sSTR=sSTR+"13";
default: sSTR=sSTR+"0"+IntToString(iMARMV);
}
if(iMARMV<7) {sSTR=sSTR+"_"+IntToString(iMARMT);}
return(sSTR);
}
//////////////////////////////////////////////
//////////////////////////////////////////////
//////////////////////////////////////////////
string sWEAPTAG()
{
string sSTR="MUNDANEWEAPON";
int iMWEMV = Random(12)+1;
int iMWEMT = Random(4)+1;

switch(iMWEMV)
{
case 10: sSTR=sSTR+"10_";
case 11: sSTR=sSTR+"11_";
case 12: sSTR=sSTR+"12_";
default: sSTR=sSTR+"0"+IntToString(iMWEMV)+"_";
}
sSTR=sSTR+IntToString(iMWEMT);
return(sSTR);
}
//////////////////////////////////////////////
//////////////////////////////////////////////
//////////////////////////////////////////////
void PGTC(int var1, int var2)
{
string oGOLD = "NW_IT_GOLD001";
object oCHEST = OBJECT_SELF;
CreateItemOnObject(oGOLD, oCHEST, var1*var2, "");
}
//////////////////////////////////////////////
//////////////////////////////////////////////
//////////////////////////////////////////////
void main()
{
object oPC = GetLastUsedBy();
object oCHEST = OBJECT_SELF;
int iPC_LVL = GetHitDice(oPC);
int iVAR1 = Random(5)+1;
int iVAR2 = Random(3)+1;
int iVAR3 = Random(3)+1;
int iGEMV = d6(1);
string sTAG;
switch(iPC_LVL)
{
case 1:
        switch(iVAR1)
        {
        case 1: break;
        case 2: PGTC(d6(1),1);
        case 3: PGTC(d8(1),10);
        case 4: PGTC(d8(2),10);
        case 5: PGTC(d4(1),100);
        }
        switch(iVAR3)
        {
        case 1: break;
        case 2: CreateItemOnObject(sARMTAG(), oCHEST, 1, "");
        case 3: CreateItemOnObject(sWEAPTAG(), oCHEST, 1, "");
                }
        }
}

Золото прилежно спавнит, вещи - нет. Тэги вещей заданы MUNDANEWEAPON[1-12]_[1-4], MUNDANEARMOR[1-6]_[1-9], MUNDANEARMOR[7-13]
Примеры тэгов: "MUNDANEWEAPON10_4", "MUNDANEARMOR01_5", "MUNDANEARMOR09"
Наиболее вероятно, что ошибка в процедурах, генерящих тэги
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Ilerien
сообщение May 30 2011, 21:59
Сообщение #3414


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

Класс: Волшебник
Характер: Lawful Evil
Раса: Эльф
NWN: Скриптинг [PW]
Gem of the North



Теги тут вообще ни при чём. При создании объекта из палитры нужно указывать название ресурса (ResRef) - уникальный идентификатор ресурса в определённом пространстве имен (в данном случае, в пространстве наименований ресурсов предметов). Длина ресрефа (вообще для любого ресурса в NWN, хоть для скриптов или иконок) не превышает 16 символов - скажем, попытка создать предмет с ресрефом "MUNDANEWEAPON10_4" обречена на провал сразу же. (IMG:style_emoticons/kolobok_light/smile.gif)

Сообщение отредактировал Ilerien - May 31 2011, 02:34
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
wirTUS
сообщение May 30 2011, 22:05
Сообщение #3415


Level 5
**

Класс: Убийца
Характер: Lawful Evil
Раса: Человек



Спасибо, сейчас буду исправлять, потом выложу что получится; перечитал описание CreateItemOnObject в Лексиконе, по тэгам можно вызывать только предметы стандартной палитры, почему собс-но золото и дается
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

147 страниц V  « < 135 136 137 138 139 > » 
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 9th May 2025 - 01:18