Суббота, 23 Ноября 2024, 15:31

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Перебор массива.
SholarДата: Воскресенье, 25 Июля 2010, 04:17 | Сообщение # 1
Draw With Me
Сейчас нет на сайте
Есть массив отрицательных умений, при получении умении происходит поиск свободной ячейки, но вот заполняются одинаковыми умениями, а нужно что бы при одинаковых умениях, ячейка в массиве не заполнялась, а добавлялось время действия умения... вот код:
Скрип поиска и добавления умения.
Code
for (i=0; i<13; i+=1)
     {  
         if S_NUM[i,0]=0  
             {
                 S_NUM[i,0]=argument0;break;
             }
          
          
     }

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


https://vk.com/g_sholar
VinchensooДата: Воскресенье, 25 Июля 2010, 06:25 | Сообщение # 2
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Проблему не понял.
Можно по-русски и доходчиво?)


SholarДата: Воскресенье, 25 Июля 2010, 11:56 | Сообщение # 3
Draw With Me
Сейчас нет на сайте
иконки дебафов в мморпг думаю все знают, у меня в игре что то похожее. Так вот я создаю массив на 13 слота под дебафы, выше скрипт которой ставится при добавлении статуса(попадания ядовитой стрелы), следовательно статус яд должен активироваться, и на экране отобразиться иконка дебафа, это всё работает но, у статуса есть время жизни и допустим при попадании в нас 2-3 раз стрелой, иконка добавится 2-3 раза, следовательно мы будем иметь на экране 5 одинаковых дебафов. Мне необходимо что бы дебаф был один(одного вида) и при попадании н-раз стрелой, запись и рисование новой ячейки с дебафом не происходило, а просто время суммировалось бы.

Добавлено (25.07.2010, 11:46)
---------------------------------------------
+вопрос. Как сложить все значения массива.
например:

for (i=0; i<7; i+=1)
{
STR_bonus=STR_bonus_item[i]
};

нужно что бы каждое значение STR_bonus_item[i] сложилось в STR_bonus
ЗЫ предыдущий вопрос всё ещё актуален.

Добавлено (25.07.2010, 11:56)
---------------------------------------------
ЗЫ и вообще буду благодарен тому кто напишет норм системы сложения для статов. пример:

Code
TSTR=STR+STR_bonus
где STR_bonus  
STR_bonus=STR_bonus[STATUS]+STR_bonus[ITEM]+STR_bonus[BUFF]+STR_bonus[OTHER]

Это то, как я это представляю... мб вы знаете другой вариант. с меня +


https://vk.com/g_sholar

Сообщение отредактировал DrawPlayer - Воскресенье, 25 Июля 2010, 08:45
VinchensooДата: Воскресенье, 25 Июля 2010, 12:11 | Сообщение # 4
Злобный социопат с комплексом Бога
Сейчас нет на сайте
Хм, вы далеки от программинга для профессии, как я полагаю?
Эт ж элементарно, давайте рассмотрим.
Quote (DrawPlayer)
нужно что бы каждое значение STR_bonus_item[i] сложилось в STR_bonus

Пусть у нас 7 элементов, как вы указали в своем коде:
Code
STR_bonus=0; //обязательно перед циклом обнулить.
for (i=0; i<7; i+=1)  
{  
STR_bonus+=STR_bonus_item[i]  
};

Quote (DrawPlayer)
Мне необходимо что бы дебаф был один(одного вида) и при попадании н-раз стрелой

Пусть у нас есть массив buf[j], отвечающий за бафы.
Соответственно переменная buf1 несет баф, накладываемый на игрока. time1- время бафа, time[j]- аналогичный массив. q-логическая переменная
Тогда при наложении бафа ставим код:
Code
q=true; j=0;
while ((q=true)&&(j<=12))
{  
if buf1=buf[j] {time[j]+=time1; q=false}
};
if q=false  
{
//ищем первый 0.
j=0;
while ((buf[j]<>0)&&(j<=12)) {j+=1};
if ((j=12)&&(buf[12]<>0)) {show_message('Вы не можете наложить баф')}
else {buf[j]=buf; time[j]=time1}
}

Не забудьте где-нить в создании очистить массивы time и buf
ЗЫ
Quote
break;

Многие считают использование данного оператора плохим стилем. Попробуйте переделать код так, чтобы не использовать "Бряки" и "Ехиты".


SholarДата: Воскресенье, 25 Июля 2010, 12:31 | Сообщение # 5
Draw With Me
Сейчас нет на сайте
Спасибо.

https://vk.com/g_sholar
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг