Kamrad.ru
 
 
дневники | кабинет | регистрация | календарь | участники | faq | правила | поиск | фотоальбом | каська | выйти
Kamrad.ru Kamrad.ru » Тематические форумы » RPG » Серия TES: Oblivion, Morrowind и т.д. » проблема со скриптом
новая тема  ответить следующая тема | предыдущая тема
Автор
  << < 1 2 > >>
@MatriXP@ - offline @MatriXP@
15-01-2004 14:30 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



SerKOS кстати в main можно свои скрипты вводить в строчку с
командой start (какои нибудь скрипт их там и вправду не очень много но гдето штуки 3-4 есть)

@MatriXP@ - offline @MatriXP@
15-01-2004 16:49 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Wolf The Gray извеняй опять проблема делаю чтоб допустим при значении переменной допустим от 100 до 80 вылетало сообщение сообщение то вылетает но оно вылетает постоянно
и поэтому висит 3 сообщения и не проподает пытался поставить переменную Short Doonce типо чтоб выполнялось 1 раз но не пашет игра опять ошибки выдаёт не знаю может щас докопаю и всё запашет может какая тупая ошибка типа цифру или букву не ту написал или с чем-то переборщил но всё-таки если сможешь помоги а или может пусть кто-нибудь другой поможет (хотя возможно я к тому времени сам справлюсь но всё равно если можете помогите). Зарание СПАСИБО!
Вот пример
short DoOnce
if DoOnce == 0
if (Global_Var <= 948)
if ( Global_Var > 936)
MessageBox "!!!!"
set DoOnce to 1
endif
endif
if DoOnce == 1
Set DoOnce to 0
return
endif
и т д

Изменено: @MatriXP@, 15-01-2004 в 17:00

@MatriXP@ - offline @MatriXP@
15-01-2004 17:36 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



пока ни каких продвижений

Изменено: @MatriXP@, 16-01-2004 в 17:25

SerKOS - offline SerKOS
15-01-2004 20:04 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Жизнерадостный амиго



@MatriXP@

short DoOnce
if DoOnce == 0
if (Global_Var <= 948)
if ( Global_Var > 936)
MessageBox "!!!!"
set DoOnce to 1
endif
endif
if DoOnce == 1
Set DoOnce to 0
return
endif



Точно разобрался?
Выделенные строчки - лишние.
И условие:

if (DoOnce == 1)
return
endif

лучше поставить в начало скрипта. Не забывай про условие с функцией MenuMode (его надо располагать в начале, сразу после объявления переменной) если не хочешь, чтоб воздействия твоего скрипта можно было бы избежать, отсидевшись в режиме Меню. Вот так будет корректнее:

short DoOnce

if (MenuMode == 1)
return
endif

if (DoOnce == 1)
return
endif

if ( Global_Var > 936)
if (Global_Var <= 948)
MessageBox "!!!!"
set DoOnce to 1
endif
endif

@MatriXP@ - offline @MatriXP@
16-01-2004 13:49 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



SerKOS в общем я так уже делал всё по идее получается но я просто не очень хорошо обьяснил у нас с тобой получается что
при условии что глобальная такая-то и такая то он выдаёт сообщение один раз ,но если эта переменная опять станет того же значения о не выдаёт сообщение, а надо

Изменено: @MatriXP@, 16-01-2004 в 14:10

SerKOS - offline SerKOS
16-01-2004 19:13 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Жизнерадостный амиго



@MatriXP@
получается что
при условии что глобальная такая-то и такая то он выдаёт сообщение один раз ,но если эта переменная опять станет того же значения о не выдаёт сообщение

Правильно, это и есть принцип doOnce....

Извини, не понял, так ты хочешь, чтоб сообщение вылазило любой раз, когда переменная принимает значение из указанного диапазона? Тогда зачем тебе doOnce? Просто убери его.
Или всё не так просто?

Изменено: SerKOS, 16-01-2004 в 19:24

@MatriXP@ - offline @MatriXP@
16-01-2004 21:02 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



ну да мне нужно чтоб сообщение вылазило каждый раз, когда переменная принимает значение из указанного диапазона и оно вылазит только постоянно из-за этого постоянно висит 3 сообщения оно не успевет пропасть как снова появляется так как условие действует очень долго

SerKOS - offline SerKOS
16-01-2004 21:07 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Жизнерадостный амиго



@MatriXP@
Ну попробую...
Скажем если у тебя максимум сытости равен 960. И при значении 948 у тебя вылазит сообщение "неплохо бы перекусить", потом при значении 936 у тебя вылазит другое окошко, скажем "жрать охота" и т.д. Объявляем некоторую переменную, например variable.

short variable
......

if (Global_Var <= 948)
if (Global_Var > 936)
if (variable == 1)
return
endif
MessageBox "неплохо бы перекусить"
set variable to 1
endif
endif

if (Global_Var <= 936)
if (Global_Var > 924)
if (variable == 2)
return
endif
MessageBox "жрать охота"
set variable to 2
endif
endif

.....
и т.д.

Т.е. в каждом указанном диапазоне скрипт будет выводить соответствующее ему (диапазону) сообщение один раз. При переходе в следующий диапазон он без проблем выведет новое сообщение, однократно.

Вроде так. Попробуй.

@MatriXP@ - offline @MatriXP@
Unhappy16-01-2004 21:26 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



попробую

Изменено: @MatriXP@, 16-01-2004 в 22:47

@MatriXP@ - offline @MatriXP@
19-01-2004 16:47 URL сообщения      K-Mail    Профиль    Поиск    Контакт-лист   Редактировать
Камрад



Люди Вульф и все вообщим опять хелп типо вопрос как мастер-файлы делать срочно!!!!Во всех подробностях

Текущее время: 13:17 << < 1 2 > >>
новая тема  ответить следующая тема | предыдущая тема
 
Перейти:

версия для печати   отправить эту страницу по e-mail   подписаться на эту тему

 
Powered by: vBulletin Version 2.0.1
Copyright ©2000, 2001, Jelsoft Enterprises Limited.
Любое использование материалов сайта
возможно только с разрешения его администрации.


 

Рейтинг@Mail.ru
Рейтинг@Mail.ru