Как сделать?

Re: Как сделать?

oleksandrigo,
У кого-то уже была подобная проблема. Советую поискать на форуме. Либо использовать qqsp, он вроде с гифками нормально работает

Последний из Гаяр
Неуклюжий хранитель
useravatar
Offline
69 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

oleksandrigo,
А в чём конкретно поломанность выражается?)

NickoAilus
Админъ.
useravatar
Онлайн
105 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

oleksandrigo,
возможно нужна оптимизация. Здесь Аджента рассказывает, как оптимизировать гифку для плеера.

Aleks Versus
воздвигатель башни
useravatar
Offline
1512 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Aleks Versus,
о, прекрасно!

oleksandrigo
ТвореЦ
useravatar
Offline
102 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Как заставить его вывести полный список?
Выводит только первого остальных "игнорит".

 Спойлер Show Spoiler Hide Spoiler
 
*pl'<center>За время путешествия Вы ,благословили следующих монстров</center>'
BLMNmax = arrsize('BLMN')
arrsize('BLMN')
*pl '<<BLMN[MONS]>>'
if arrsize('BLMN')>0:
    :BLMNstart
        j+=1
            *pl '<center>Монстр <<$MONS[BLMN[j]]>> он получил <<BLMNS[MONS]>> <<$bless[bless]>></center>'
            if BLMNmax<j:
            jump 'BLMNstart'
        end
    end
end
Спасибо заранее.

Freem82
useravatar
Offline
10 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Freem82,
Уважаемый, а что это за MONS и bless? Где вы их увеличиваете?
И лучше пихать код в тег code, это так, к сведению.
А так, скиньте что ли данные, которые нужно выводить. А то так и не понятно.
В <<BLMNS[MONS]>> <<$bless[bless]>> всегда будет выводить только индексы, которые сейчас в MONS и bless. И лучше не обзывать текстовые и численные переменные одинаковыми именами.

Код:


*P '<center>'
    *PL 'За время путешествия Вы, благословили следующих монстров:'
*P '</center>'

!//-- *PL '<<BLMN[MONS]>>' & ! Это точно нужно?
if arrsize('BLMN'):
    :BLMNstart
        *P '<center>'
            *PL 'Монстр <<$MONS[BLMN[index]]>> он получил <<BLMNS[MONS]>> <<$bless[bless]>>'
        *P '</center>'
        index += 1
    if arrsize('BLMN') < index: jump 'BLMNstart'
end

В данном случае кстати, arrsize('BLMN') будет возвращать размер текстового массива.

Oliver
Magni nominis umbra
useravatar
Offline
570 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Приношу извинения файл с игрой не скину, слишком много мусора. Код генерации монстров

 Спойлер Show Spoiler Hide Spoiler
 
!Благословение (PRM - магия ГГ)
if bless =1:
    BLMNS[MONS]=rand(1,PRM)
end
if bless =2:
    BLMNA[MONS]=rand(1,PRM)
end
if bless =3:
    BLMNE[MONS]=rand(1,PRM)
end
if bless =4:
    BLMNH[MONS]=rand(1,PRM)
end
if bless =5:
    BLMNM[MONS]=rand(1,PRM)
end
if bless =6:
    BLMNAT[MONS]=rand(1,PRM)
end
if bless > 0:
    BLMN += 1
    BLMN[BLMN]=MONS[MONS]
!Номер по порядку
MONS = MONS+1
if LV = 1:
!Уровень монстра
    LVM[MONS] = LV
!Ранг монстра
    ULM[MONS] = UL
! код монстра ($наименование) ранг_уровень_номер по порядку (гоблин 1_1_1)
    $MONS[MONS] = '<<$LVM[LVM[MONS]]>> <<ULM[MONS]>>_<<LVM[MONS]>>_<<MONS[MONS]>>'
! Сила монстра (Сила(1,2) + LEVS[LEV](уровень сложности задается на начальной локации)+ BLMNS[MONS](Благословение мостра))
    MNS[MONS] = rand(1,2)+LEVS[LEV]+BLMNS[MONS]
! Ловкость монстра
    MNA[MONS] = rand(1,2)+LEVA[LEV]+BLMNA[MONS]
!Выносливость монстра
    MNE[MONS] = rand(1,2)+LEVE[LEV]+BLMNE[MONS]
!Здоровье монстра
    MNH[MONS] = rand(10,15)+LEVH[LEV]+BLMNH[MONS]
!Магия монстра
    MNM[MONS] = rand(1,2)+LEVE[LEV]+BLMNM[MONS]
!Мастерство атаки монстра
    MNAT[MONS] = rand(1,2)+LEVAT[LEV]+BLMNAT[MONS]
end
!//-- *PL '<<BLMN[MONS]>>' & ! Это точно нужно? - нет, я это для проверки чтоб видеть число данного массива.
Код Благословения
 Спойлер Show Spoiler Hide Spoiler
 if brdm>=PRE:
    imax=PRE
    else
    imax = brdm
    end
end
!Кле́ймор - сила
!Рапира - ловкость
!Секира - выносливость
!Кольчуге - жизни
!Булава - мастерство
!Глефа - магия
!Уровень монстра чтобы новосозданные монстры были идентичны.
LV=LVM[MONS]
*clr
*pl'<a href="exec: set bless = 1 & blessgen = 1 & gs ''bless''"><center>Благословение Клеймор богине силы</a></center>'
*pl'<a href="exec: set bless = 2 & blessgen = 1 & gs ''bless''"><center>Благословение Рапиры богине скорости</a></center>'
*pl'<a href="exec: set bless = 3 & blessgen = 1 & gs ''bless''"><center>Благословение Секиры богине выносливости</a></center>'
*pl'<a href="exec: set bless = 4 & blessgen = 1 & gs ''bless''"><center>Благословение Булавы богине магии </a></center>'
*pl'<a href="exec: set bless = 5 & blessgen = 1 & gs ''bless''"><center>Благословение Глефы богине жизни </a></center>'
*pl'<a href="exec: set bless = 5 & blessgen = 1 & gs ''bless''"><center>Благословение Гунгнир богине битвы </a></center>'

if blessgen=1:
    *clr
    :mgenmonster
        set i+=1
        gs 'monstr'
        *pl    '<center>Монстр <<$MONS[MONS]>> он получил + <<BLMNS[MONS]>><<$bless[bless]>></center> '
        if i<imax:
            jump 'mgenmonster'
        end
    end
end
*pl'<a href="exec:set i=0 & set blessgen=0 & gt ''step''"><center> Вернутся </a></center>'
Спасибо.

Freem82
useravatar
Offline
10 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Freem82,
В общем, к чему эти усложнения?
Вам нужно, чтобы монстры получали благословения? Делаем вот так:

Код:


$monster[] = 'Василиск'
$monster[] = 'Стрига'
$monster[] = 'Петрович'

$bless[] = 'на силу'
$bless[] = 'на ловкость'
$bless[] = 'на выносливость'

buff[] = 1
buff[2] = 1
typeBuff[] = 0
typeBuff[2] = 2

index = 0
:renderBless
    if (buff[index]):
        *PL 'Монстр: <<$monster[index]>>'
        *PL 'Благословение: <<$bless[typeBuff[index]]>>'
    end
   
    index += 1
if (index < arrsize('$monster')): jump 'renderBless'

Oliver
Magni nominis umbra
useravatar
Offline
570 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Принцип понял. Сейчас попробую как то, обыграть. В конечном итоге эти монстры должны составлять армию поэтому хотел их сделать уникальными. Файл игры предоставляю на грамматические ошибки постарайтесь не обращать внимание. На даном этапе работает только два этапа и послушница игру начал делать пару вечеров назад так-что она сырая. Благословление после поражения ГГ.WP.rar

Freem82
useravatar
Offline
10 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Freem82,
Совет: пихайте локации в папки.
Связанные со системой - в, к примеру, #System.
Алгоритмы, функции, массивы и прочая в свои версии.
В будущем, вам же проще будет ориентироваться, где и что лежит.
Оператор set опциональный, существует лишь, чтобы немного помочь разработчикам разобраться с языком. На деле, как по мне, особо не нужен, но тут уж кому как удобно.
Капсом пишут в случае, если хотят обозначить, что данная переменная - константа. Если вы тоже следуете этому пути, вопросов нет. Но если вы пишите их от случая к случаю, то лучше перестать smile
Базовые действия бесполезная весчь. Тем более, что вы используете ссылки для действий. К чему их создавать? Может, это просто старые наработки? Их лучше использовать, для создания хот-кеев. Быстрого сохранения/загрузки или выбора варианта в диалогах.
Таблицы - тихий ужас sad
Писать нужно так, если не хотите много пустого пространства под таблицей и повысить читабельность в коде.

Код:


*P '<table>'

    *P '<tr>'
        *P '<th>Title 1</th>'
        *P '<th>Title 2</th>'
    *P '</tr>'
   
    *P '<tr>'
        *P '<td>Cell 1.1</td>'
        *P '<td>Cell 1.2</td>'
    *P '</tr>'
   
*P '</table>'

Есть такая классная вещь - массивы. Вы собственно уже начали их использовать.
Тех же монстров можно описать массивом. Вот наиболее простой способ:

Код:


$mName[] = 'Маленькая сколопендра'
$mDesc[] = 'Размером с собаку, весьма ядовитая сколопендра, с которой лучше не связываться обычному человеку. Но когда это останавливало приключенца?'
mDamage[] = 10
mDefence[] = 20
mSpeed[] = 5
mAgility[] = 6
! и т. д.

Более сложный завязан на регулярных выражениях, так что, лучше пока туда не соваться)

P. S. Проиграть мне так и не удалось))

Oliver
Magni nominis umbra
useravatar
Offline
570 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Информация

Статистика форума:
 
Всего тем:
977
Всего опросов:
14
Всего сообщений:
16790682
Всего сообщений сегодня:
3
Пользователи форума:
 
Всего пользователей:
2397
Последним зарегистрировался:
Dmitrius