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

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

 Правила этого форума ПРАВИЛА РАЗДЕЛА
205 страниц V  « < 73 74 75 76 77 > »   
Ответить в эту темуОткрыть новую тему
> Вопросы новичков, Абсолютные глупости
-fenix-
сообщение Aug 17 2005, 12:13
Сообщение #1836


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

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



QUOTE (Proydoha @ Aug 17 2005, 10:10)
2.А что? if(iNumber=10) это так фатально? Да у меня есть такой кусок в скрипте, но ведь это условие?

Смысл совсем другой!
"=" - это оператор присваивания, присваивает левой части значение правой. А равно это "==".
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
DEM
сообщение Aug 17 2005, 13:03
Сообщение #1837


Level 7
**

Класс: Маг
Характер: Lawful Neutral
Раса: Эльф



э-Э-Э-Э-э-э-э, вот у меня такой вопросик :D КОторый кроме как в "ВОПРОСЫ НОВИЧКОВ" нельзя поместить :D Как зделат что бы НеПиСь выполняла сразу несколько действий оновремено? Пробовал зделать так:
Neverwinter Script Source
DelayCommand(2.5, AssignCommand(oJREC, ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL))); // Жрец машет руками, как бы сердитсья
DelayCommand(2.5, AssignCommand(oJREC, ActionSpeakString("Деритесь! Вы же войны!!!"))); // Жрец говорит

И так:
Neverwinter Script Source
DelayCommand(2.5, AssignCommand(oJREC, ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL))); // Жрец машет руками, как бы сердитсья
DelayCommand(2.5, AssignCommand(oJREC, SpeakString("Деритесь! Вы же войны!!!"))); // Жрец говорит


Но ничего... :this: :vava:

Сообщение отредактировал DEM - Aug 17 2005, 13:04
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 17 2005, 13:19
Сообщение #1838


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

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



DEM, второй вариант рабочий (нужно через SpeakString).
Наверное у тебя есть еще действия, которые мешают(мож скрипт покажешь).



Сообщение отредактировал -fenix- - Aug 17 2005, 14:40
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vitalist
сообщение Aug 17 2005, 17:09
Сообщение #1839


Level 4
**

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Можно ли в диалоге сделать так, чтобы у перса сняли XP'у?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
baskan
сообщение Aug 17 2005, 17:30
Сообщение #1840


Level 7
**

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



Вставляеш в ячейку Action Taken(выполнить действие)

Neverwinter Script Source
void main()
{
  GiveXPToCreature(GetPCSpeaker(), -количество опыта);
}


Сообщение отредактировал baskan - Aug 17 2005, 17:32
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 17 2005, 18:15
Сообщение #1841


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

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



Neverwinter Script Source
DelayCommand(2.5, AssignCommand(oJREC, ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL)));
DelayCommand(3.5, AssignCommand(oJREC, SpeakString("Деритесь! Вы же войны!!!"))); // Жрец говорит

Задержку второй строки увеличь. Тогда первое действо начнется, второе чуток попозже, как раз будет реально.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vitalist
сообщение Aug 17 2005, 18:54
Сообщение #1842


Level 4
**

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Не, мне надо чтобы ЗАБРАЛИ. Такое можно?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
-fenix-
сообщение Aug 17 2005, 19:18
Сообщение #1843


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

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



QUOTE (Vitalist @ Aug 17 2005, 18:54)
Не, мне надо чтобы ЗАБРАЛИ. Такое можно?

Функции не видел, но наверное можно с помощью
Neverwinter Script Source
int GetXP(object oCreature) // получить ко-во опыта
void SetXP(object oCreature, int nXpAmount) // установить опыт

С помощью GetXP получаешь опыт, затем уменьшаешь его на нужное кол-во и спомощью SetXP устанавливаешь его.
QUOTE (Aiwan @ Aug 17 2005, 18:15)
Задержку второй строки увеличь. Тогда первое действо начнется, второе чуток попозже, как раз будет реально.

А почему так, у меня в одно время и все нормально.?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Valleo
сообщение Aug 17 2005, 19:26
Сообщение #1844


Level 4
**

Класс: Друид
Характер: Neutral Evil
Раса: Эльф
NWN: Скриптинг [PW]



Думаю лучше так:
Neverwinter Script Source
void main()
{
  SetXP(GetPCSpeaker(), GetXP(GetPCSpeaker())-(нужное_колво_опыта_для_снятия));
}
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 17 2005, 21:15
Сообщение #1845


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

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



QUOTE (-fenix- @ Aug 17 2005, 22:18)
А почему так, у меня в одно время и все нормально.?

Видишь ли, много задачь в одно время могут порушить цепь или сработать неверно. рекомендую никогда не юзать одно время много раз. Лучше измени на пол секунды, вернее будет.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Proydoha
сообщение Aug 17 2005, 21:25
Сообщение #1846


Level 4
**

Класс: Маг
Характер: Chaotic Good
Раса: Эльф



Исправил с = на == и все равно-таки получаеться 10! Может есть какие другие команды для генерации случайных чисел? Помниться в Turbo Pascal была команда Randomize без нее программа все время генерировала одни и те же случайные числа. Может и тут у меня что-то такое?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 17 2005, 22:04
Сообщение #1847


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

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



Proydoha рандом привязан к локации и тайлам и прочему. ЕСли локи одинаковые и маленькие то будут одни и те же цифры. Я это уже съел. Читай лексикон.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Proydoha
сообщение Aug 17 2005, 22:29
Сообщение #1848


Level 4
**

Класс: Маг
Характер: Chaotic Good
Раса: Эльф



Понял. Буду искать другие методы.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
dumbo
сообщение Aug 17 2005, 22:59
Сообщение #1849


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

Класс: Фея
Характер: Chaotic Evil
Раса: Тварь
NWN: Скриптинг [PW]



Aiwan
я тоже прочитал плачевные нотайсы к рандому, но смею тебя заверить: в текущей версии ничего подобного не наблюдается. даже специально проверил - создал две пустые локи 2х2, переход между ними и default.nss[SendMessageToPC(OBJECT_SELF, IntToString(Random(50)));] - нормальный рандом. никаких повторов последовательностей нет. а товарищу Proydoha еще раз посоветую показать скрипт - судя по ошибкам, там им есть где развернуться...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Vitalist
сообщение Aug 18 2005, 12:04
Сообщение #1850


Level 4
**

Класс: Обыватель
Характер: Lawful Good
Раса: Человек



Если пользоваться стандартным скриптом на атаку, то атакуют все из этой фракции. А что нужно, чтобы только конкретно говорящий атаковал (после диалога), а остальные не нападали?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Dik Morris
сообщение Aug 18 2005, 12:53
Сообщение #1851


Вечно меняющийся
Иконки Групп

Класс: Монах
Характер: True Neutral
Раса: Человек
NWN: Скриптинг [Sn]



Виталист, сделай фракцию, ему другую настрой как нужно, все.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Aiwan
сообщение Aug 18 2005, 12:55
Сообщение #1852


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

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



dumbo а сделай рандом из 5-7. Я проверял почти неделю. Ломал голову %) Оказалось все просто.
Добавлено в [mergetime]1124359005[/mergetime]
QUOTE (dumbo @ Aug 18 2005, 01:59)
создал две пустые локи 2х2

Сделай их в одних тайлах. А еще лучше копией :D
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Proydoha
сообщение Aug 18 2005, 18:39
Сообщение #1853


Level 4
**

Класс: Маг
Характер: Chaotic Good
Раса: Эльф



:crazy: Все началось с того, что я захотел азартных игр в моем модуле... Это рулетка.
Возможно я сделал не грамотно или не правильно. Не судите строго.

Neverwinter Script Source
void main()
{
int iNumber;
string sNumber="";
int iNumberBet; //Сумма которую поставил игрок на число
int iNumberP;//Это номер на который ставит(не ставит) игрок
string sChetNechet="";
int iChetNechet; //Это ставка игрока
int iChetNechetP;//Переменная для проверки: выиграл игрок или нет? 1-Нечет;2-Чет;
int iChetNechetBet; //Сумма которую поставил игрок на чет/нечет
string sBlackRed="";
int iBlackRed;//Это ставка игрока
int iBlackRedP;//Переменная для проверки: выиграл игрок или нет? 1-Красный;2-Черный;
int iBlackRedBet; //Сумма которую поставил игрок на красное/черное
string sPolovina="";
int iPolovina;//Это ставка игрока
int iPolovinaP;//Переменная для проверки: выиграл игрок или нет? 1-числа 1-18;2-числа 19-36;
int iPolovinaBet; //Сумма которую поставил игрок на числа 1-18/19-36
string sTret="";
int iTret;//Это ставка игрока
int iTretP;//Переменная для проверки: выиграл игрок или нет? 1-числа 1-12; 2-числа 13-24; 3-числа 25-36;
int iTretBet;//Сумма которую поставил игрок на числа 1-12/13-24/25-36
string sRyad="";
int iRyad;//Это ставка игрока
int iRyadP;//Переменная для проверки: выиграл игрок или нет?  1-Верхний ряд;2-Средний ряд;3-Нижний ряд;
int iRyadBet;//Сумма которую поставил игрок на числа 3,6,9,12,../2,5,8,11,../1,4,7,10...
int iWIN;//Сумма, которую выиграл игрок

iNumber=Random(37)-1;
if (iNumber==-1) sNumber="Двойное Зеро"; else if (iNumber==0) sNumber="Зеро"; else sNumber=IntToString(iNumber);

if ((iNumber==1) || (iNumber==3) || (iNumber==5) || (iNumber==7) || (iNumber==9) || (iNumber==11) || (iNumber==13)
|| (iNumber==15) || (iNumber==17) || (iNumber==19) || (iNumber==21) || (iNumber==23) || (iNumber==25) || (iNumber==27)
|| (iNumber==29) || (iNumber==31) || (iNumber==33) || (iNumber==35)) {sChetNechet="Не четное"; iChetNechetP=1;}
else if ((iNumber==2) || (iNumber==4) || (iNumber==6) || (iNumber==8) || (iNumber==10) || (iNumber==12) || (iNumber==14)
|| (iNumber==16) || (iNumber==18) || (iNumber==20) || (iNumber==22) || (iNumber==24) || (iNumber==26) || (iNumber==28)
|| (iNumber==30) || (iNumber==32) || (iNumber==34) || (iNumber==36)) {sChetNechet="Четное";iChetNechetP=2;}

if ((iNumber==1) || (iNumber==3) || (iNumber==5) || (iNumber==7) || (iNumber==9) || (iNumber==12) || (iNumber==14)
|| (iNumber==16) || (iNumber==18) || (iNumber==19) || (iNumber==21) || (iNumber==23) || (iNumber==25) || (iNumber==27)
|| (iNumber==30) || (iNumber==32) || (iNumber==34) || (iNumber==36)) {sBlackRed="Красное";iBlackRedP=1;}
else if ((iNumber==2) || (iNumber==4) || (iNumber==6) || (iNumber==8) || (iNumber==10) || (iNumber==11) || (iNumber==13)
|| (iNumber==15) || (iNumber==17) || (iNumber==20) || (iNumber==22) || (iNumber==24) || (iNumber==26) || (iNumber==28)
|| (iNumber==29) || (iNumber==31) || (iNumber==33) || (iNumber==35)) {sBlackRed="Черное";iBlackRedP=2;}

if (iNumber>0 && iNumber<13) {sTret="1-12";iTretP=1;} else if (iNumber>12 && iNumber<25) {sTret="13-24";iTretP=2;}
else if (iNumber>24 && iNumber<37) {sTret="25-36";iTretTret=3;}

if (iNumber>0 && iNumber<19) {sPolovina="1-18";iPolovinaP=1;} else if (iNumber>18 && iNumber<37) {sPolovina="19-36";iPolovinaP=2;}

if ((iNumber==3) || (iNumber==6) || (iNumber==9) || (iNumber==12) || (iNumber==15) || (iNumber==18)
|| (iNumber==21) || (iNumber==24) || (iNumber==27) || (iNumber==30) || (iNumber==33) || (iNumber==36)) {sRyad="Верхний ряд";iRyadP=1;} else
if ((iNumber==2) || (iNumber==5) || (iNumber==8) || (iNumber==11) || (iNumber==14) || (iNumber==17)
|| (iNumber==20) || (iNumber==23) || (iNumber==26) || (iNumber==29) || (iNumber==32) || (iNumber==35)) {sRyad="Средний ряд";iRyadP=2;} else
if ((iNumber==1) || (iNumber==4) || (iNumber==7) || (iNumber==10) || (iNumber==13) || (iNumber==16)
|| (iNumber==19) || (iNumber==22) || (iNumber==25) || (iNumber==28) || (iNumber==31) || (iNumber==34)) {sRyad="Нижний ряд";iRyadP=3;}

if (iNumber==iNumberP) iNumberBet=iNumberBet*//Я не знаю на сколько тут умножать//;
if (iBlackRed==iBlackP) iBlackRedBet=iBlackRed*2;
if (iChetNechet==iChetNechetP) iChetNechetBet=iChetNechetBet*2;
if (iPolovina==iPolovinaP) iPolovinaBet=iPolovinaBet*2;
if (iTret==iTretP) iTretBet=iTretBet*3;
if (iRyad==iRyadP) iRyadBet=iRyadBet*3;

iWIN=iNumberBet+iBlackRedBet+iChetNechetBet+iPolovinaBet+iTretBet+iRyadBet;

SetCustomToken(1,sNumber);
SetCustomToken(2,sBlackRed);
SetCustomToken(3,sChetNechet);
SetCustomToken(4,sPolovina);
SetCustomToken(5,sTret);
SetCustomToken(6,sRyad);
SetCustomToken(7,IntToString(iWIN));
}


Я сильно налажал?:crazy:

Сообщение отредактировал Proydoha - Aug 18 2005, 23:02
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Aug 18 2005, 18:45
Сообщение #1854


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



мама...


если никто не выскажется, я тебе напишу, как бы я сделал (хотя можно и ошибку поискать, напомни только где там и что не работает...).. но if такого размаха... нееее...
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Misty Dragon
сообщение Aug 18 2005, 19:09
Сообщение #1855


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

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



QUOTE (Proydoha @ Aug 18 2005, 18:39)
:crazy: Все началось с того, что я захотел азартных игр в моем модуле... Это рулетка.
Возможно я сделал не грамотно или не правильно. Не судите строго.

Я сильно налажал?:crazy:

как минимум это тяжелый код на первый взгляд. попробуй поработать над упрощением условия проверки. :)

Neverwinter Script Source
if ((iNumber==1) || (iNumber==3) || (iNumber==5) || (iNumber==7) || (iNumber==9) || (iNumber==11) || (iNumber==13)
|| (iNumber==15) || (iNumber==17) || (iNumber==19) || (iNumber==21) || (iNumber==23) || (iNumber==25) || (iNumber==27)
|| (iNumber==29) || (iNumber==31) || (iNumber==33) || (iNumber==35)) {sChetNechet="Не четное"; iChetNechetP=1;}


Hint: тут у тебя идет инкремент на 2. :drag:

Сообщение отредактировал Misty Dragon - Aug 18 2005, 19:16
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Proydoha
сообщение Aug 18 2005, 19:14
Сообщение #1856


Level 4
**

Класс: Маг
Характер: Chaotic Good
Раса: Эльф



QUOTE
как минимум это тяжелый код на первый взгляд. все структуры с или можно заменить на одну с формулой.

Я думал об этом, но там уж больно хитрая разметка с красным/черным и горизонтальными рядами чисел. Мне ничего лучше в голову не пришло.

Напиши пожалуйста пример. Я так понимаю лучше. По примерам.

Сообщение отредактировал Proydoha - Aug 18 2005, 19:23
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Misty Dragon
сообщение Aug 18 2005, 19:21
Сообщение #1857


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

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



QUOTE (Proydoha @ Aug 18 2005, 19:14)
Я думал об этом, но там уж больно хитрая разметка с красным/черным и горизонтальными рядами чисел. Мне ничего лучше в голову не пришло.

разметка тут ни при чем.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Proydoha
сообщение Aug 18 2005, 19:31
Сообщение #1858


Level 4
**

Класс: Маг
Характер: Chaotic Good
Раса: Эльф



Нет я понимаю, что, скажем, в ряде чисел 3,6,9,12,15,18,21,24,27,30,33,36 каждое из чисел на 3 больше предидущего, но я не понимаю как это вставить в проверку. Поэтому и прошу пример.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Lex
сообщение Aug 18 2005, 21:12
Сообщение #1859


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

Класс: Обыватель
Характер: Lawful Neutral
Раса: Человек
NWN: Модмейкер
Проклятие Левора
Порядок Времени



Neverwinter Script Source
int Check(int nNumber, int nStart, int nStep)
{
int nIter = 0;
while (nIter*nStep + nStart <= nNumber)
   {
   if (nNumber == nIter*nStep + nStart)
         return TRUE;
   nIter ++;
   }
return FALSE;


ну грубо говоря так. 1 доп функция, описывай ее наверху.
nNumber - твое рандомное число
nStart - первое число в ряду. (тут имеется ввиду ряд чисел.. как в школе все :) )
nStep - длина шага.. все как в школе

те проверка на нечетность такая:
if (Check(nNumber, 1, 2)) \\ нечет
else \\ чет
на твой рад 3,6,9,12 такая:
if (Check(nNumber, 3, 3))

ну и так далее...

даже в этом маленьком коде есть место оптимизации. (не считать каждый раз nIter*nStep + nStart а скидывать все в ту-же nStart и потом к ней nStep плюсовать каждую итерацию.. )
но идея кажись такая... хотя могу и ошибаться.
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения
Proydoha
сообщение Aug 18 2005, 22:56
Сообщение #1860


Level 4
**

Класс: Маг
Характер: Chaotic Good
Раса: Эльф



Суть цикла понял. Спасибо. Отныне я буду учиться мыслить рационально. Цикл проверяет числа с определенным интервалом(по формуле nInter*... и тд.), пока не подберет то которое равняеться nNumber. А подобрав выполнит все что написано после If(Check,... Так?
Но ничто не рождает так много вопросов, как поиски ответа.
Вопрос номер раз: nInter ++ как я понял равносильно nInter=nInter+1?
Вопрос номер два: Что означает ошибка:"Потеря анализатора переменной"?
Вопрос номер три: Так что же все-таки с токенами и рандомом?
Вернуться в начало страницы
Скопировать ник в поле быстрого ответа
+Ответить с цитированием данного сообщения

205 страниц V  « < 73 74 75 76 77 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 19th July 2025 - 18:16