IPB

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

4 страниц V  < 1 2 3 4 >  
Тема закрытаНачать новую тему
> Чокагваще, разбираемся со свежими поступлениями.
Redgi
сообщение Nov 29 2008, 22:52:22
Сообщение #51


чучело-мяучело
Группа: Gunblade Master



Ага. Нашел.
Что забавно до офигения, нашел глазами, ибо по Ctrl+F не находится smile.gif Уж не знаю почему. Может, какой-то глюк АкелПада.
Перейти в начало страницы
 
+Цитировать сообщение
Redgi
сообщение Dec 1 2008, 01:00:13
Сообщение #52


чучело-мяучело
Группа: Gunblade Master



Такой вопрос.

Делаю чаршит для Седьмого Моря. Там есть ситуация с персом-магом. Он может быть трех сортов: Full-blooded, Half-blooded или Twice-blooded (Half-blooded в двух разных магических херитажах).
Соответственно, делаю дропдаун из этих трех пунктов.

При выборе Twice-blooded, натурально, ему всю секцию обустройства херитажа надо повторить еще раз.

Это элементарно выполняется постоянной установкой этих двух секций. Но логически было бы разумно, если бы вторая секция становидась доступной для заполнения ТОЛЬКО тогда, когда в первой секции выбран из списка Twice-blooded. Это реализуется без геморроя?

Помимо того, при выборе Half-blooded и Twice-blooded становится неактуальным поле Mastery Level - ибо полукровки не могут подняться выше первой ступени. Стало быть, это поле может быть от греха убрано при выборе данного пункта.

Заходя немного дальше, хотелось бы привязать к выбору из списка, например, школ фехтования те кнаки, которые приносит членство в данной школе - чтобы не приходилось вводить их вручную и держать под них пустые поля. Предвижу и тут какие-то нехорошие условности sad.gif
Перейти в начало страницы
 
+Цитировать сообщение
Redgi
сообщение Dec 1 2008, 06:03:20
Сообщение #53


чучело-мяучело
Группа: Gunblade Master



Попробовал поработать с дропдаунами. Обрел новую порцию непоняток.

Во-первых, конструкция типа
CODE
$cs_char['shoolmastery'] = array(0 => 'dropdown',
1 => 'Mastery level',
2 => '',
'dropdown' => array( 0 => 'Apprentice',
1 => 'Journeyman',
2 => 'Master',
),
);

приводит к тому, что окошко автоматически заполняется первым значением из списка. Это мне не понравилось, потому что это опциональная возможность, она может быть не использована и в этом случае окошку разумно быть пустым. Тогда я его исправил на
CODE
$cs_char['shoolmastery'] = array(0 => 'dropdown',
1 => 'Mastery level',
2 => '',
'dropdown' => array( 0 => '',
1 => 'Apprentice',
2 => 'Journeyman',
3 => 'Master',
),
);

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

Но, что характерно, даже когда поле заполнено выбранным значением - при просмотре карточки оно не отображается.
Приглашаю убедиться.

Прикрепленный файл  redg3.jpg ( 81.09 килобайт ) Кол-во скачиваний: 0

Выбрано.

Прикрепленный файл  redg2.jpg ( 52.05 килобайт ) Кол-во скачиваний: 0

Не отображается sad.gif

Пачиму? Каг лечидь?

ЗЫ. Там рядом два седьмоморских шаблона - тот, что cs_ - с пустым первым полем дропдаунов, который без - соответственно, без оного... эффект тот же.
Перейти в начало страницы
 
+Цитировать сообщение
Redgi
сообщение Dec 1 2008, 06:17:09
Сообщение #54


чучело-мяучело
Группа: Gunblade Master



И заодно уж до кучи, можно ли как-то создать визуальную иерархичность - хотя бы при просмотре? Например, выделять "несущие" пункты более крупным или там подчеркнутым шрифтом?

Правильно ли я понимаю, что это, а равно и прочие визуализационные красоты, подобно продемонстрированным тут где-то рядом на скрине с другого форума, настраивается исключительно правкой skin_wr_charsheet?
Перейти в начало страницы
 
+Цитировать сообщение
WR
сообщение Dec 1 2008, 10:56:15
Сообщение #55



Группа: Администраторы



Цитата
Но, что характерно, даже когда поле заполнено выбранным значением - при просмотре карточки оно не отображается.


Код
3 => 1,

чтобы отображалось в составе {$data['parsed_vars']}

Либо без 3, но вручную:

Код
<b>Mastery Level</b>{$data['shoolmastery']}<br />


Цитата
При выборе Twice-blooded, натурально, ему всю секцию обустройства херитажа надо повторить еще раз.


Дважды повторяем в настройках. Затем в шаблоне всю вторую секцию заключаем в:

Код
<if="{$data['сорт_перса'] == 'Twice-blooded'>
всякий код
</if>


Её будет видно при просмотре только при Twice-blooded.

При редактировании на такие действия, как "скрыть\показать половину полей", мысль не закладывалась.. >_>
Перейти в начало страницы
 
+Цитировать сообщение
Redgi
сообщение Dec 1 2008, 11:16:55
Сообщение #56


чучело-мяучело
Группа: Gunblade Master



Эге. 3 => 1 сработало, но чудно как-то smile.gif

Прикрепленный файл  Snap45.jpg ( 20.1 килобайт ) Кол-во скачиваний: 0


Номер школы в списке теперь индицируется совершенно верно, но я бы все-таки хотел вместо него видеть ее фамилию
Перейти в начало страницы
 
+Цитировать сообщение
Redgi
сообщение Dec 1 2008, 11:19:46
Сообщение #57


чучело-мяучело
Группа: Gunblade Master



А вот следующий за школой уровень мастерства, хотя в нем прописан точно такой же 3 => 1, по-прежнему в отображении не замечен sad.gif
Перейти в начало страницы
 
+Цитировать сообщение
Redgi
сообщение Dec 1 2008, 11:44:22
Сообщение #58


чучело-мяучело
Группа: Gunblade Master



Прикольно. Не отображается этот самый bloodtype для колдовской секции, зато отлично отображается mastery level для нее (правда, опять же цифрой вместо положенного слова).
С другой же стороны, отображается школа фехтования (тоже цифрой вместо слова), но не отображается ее mastery level, хотя в целях эксперимента я целиком скопировал его блок с отлично отображаемого аналогичного блока колдовской секции
Перейти в начало страницы
 
+Цитировать сообщение
Redgi
сообщение Dec 1 2008, 12:03:20
Сообщение #59


чучело-мяучело
Группа: Gunblade Master



Все чудесатее и чудесатее. Похоже, пропадучесть свойственна определенным участкам чаршита, и пропадает именно то, что на них приходится. Заметив небольшой путь к уплотнению, слегка перекомпоновал позиции в чаршите, заодно проверки ради заполнил дополнительные строки. Как результат, пропал Mastery Level для всего, включая две школы магии, назначенные персу; на том месте, где они должны были отражаться, зияют пробелы. Зато вынесенный вперед Bloodtype теперь проявился smile.gif Как водится - цифрой вместо слова.
Прикрепленный файл  Snap46.jpg ( 15.3 килобайт ) Кол-во скачиваний: 0


Вот, чтобы далеко не лазить, код на секцию, охватывающую представленные на скрине элементы от Bloodtype до Horned Hunter. Что не так с этим мастери левелом?...
CODE

$cs_char['bloodtype0'] = array(0 => 'dropdown',
1 => 'Blood type',
2 => '',
3 => 1,
'dropdown' => array( 0 => '',
1 => 'Full-Blooded',
2 => 'Half-Blooded',
3 => 'Twice-Blooded',
),
);

$cs_char['sorcher0'] = array(0 => 1,
1 => 'Sorcerious Heritage',
2 => '',
3 => 1,
);

$cs_char['sorcmastery0'] = array(0 => 'dropdown',
1 => 'Mastery level',
2 => '',
3 => 1,
'dropdown' => array( 0 => '',
1 => 'Apprentice',
2 => 'Adept',
3 => 'Master',
),
);

$cs_char['sknack0'] = array(0 => 1,
1 => 'Knack',
2 => '',
3 => 1,
);
Перейти в начало страницы
 
+Цитировать сообщение
Stonecold
сообщение Dec 1 2008, 15:08:02
Сообщение #60



Группа: Gunblade Master



Редги, дай мне скрипт с нынешней Эры, в смысле выложи файлик! страницу назад просил еще!
Перейти в начало страницы
 
+Цитировать сообщение
WR
сообщение Dec 1 2008, 16:55:59
Сообщение #61



Группа: Администраторы



Код
'dropdown' => array(
    '' => '',
    'Apprentice' => 'Apprentice',
    'Adept' => 'Adept',
    'Master' => 'Master',
),


Как-то так.

Остальное, скорее всего, связано с одинаковыми именами полей.
Перейти в начало страницы
 
+Цитировать сообщение
Redgi
сообщение Dec 1 2008, 20:51:37
Сообщение #62


чучело-мяучело
Группа: Gunblade Master



Щаз попробую, но вроде как я не допускал повторов и специально добавлял нолики и единички к одноименным переменным... а что до названий полей, то это ж вроде текстовые поля и вообще не должны осмысливаться?

Эра
Прикрепленный файл  era_plus.rar ( 1.1 килобайт ) Кол-во скачиваний: 1
Перейти в начало страницы
 
+Цитировать сообщение
Redgi
сообщение Dec 1 2008, 22:31:59
Сообщение #63


чучело-мяучело
Группа: Gunblade Master



Я фигею, дорогая редакция.

Ситуация 1
1) Бладтайп - список;
2) Школа колдовства - простое поле;
3) Уровень мастерства - список.

Отображается, см. картинку: Бладтайп и школа колдовства, НО НЕ уровень мастерства.
Прикрепленный файл  cs7_1.jpg ( 13.95 килобайт ) Кол-во скачиваний: 0


Ситуация 2
Изменил шаблон, так что стало:
1) Бладтайп - список;
2) Школа колдовства - список (единственное изменение);
3) Уровень мастерства - список.

Отображается, см. картинку: Бладтайп и уровень мастерства (тот самый, которого не было видно в предыдущей версии!), НО НЕ школа колдовства.
Прикрепленный файл  cs7_2.jpg ( 11.95 килобайт ) Кол-во скачиваний: 0


Саму секцию уровня мастерства не трогал, так что от чего зависит ее отображение - остается только недоумевать.
Перейти в начало страницы
 
+Цитировать сообщение
Redgi
сообщение Dec 1 2008, 23:39:53
Сообщение #64


чучело-мяучело
Группа: Gunblade Master



Ага. Провел ряд экспериментов. Аппроксимируя полученный результат (не-не, я по-прежнему тупой, просто заглянул в словарик), имею сообщить: не выводится для отображения строго каждая вторая (четная) секция кода, содержащая дропдаун.

Так, в последнем варианте
Цитата
1) Бладтайп - список;
2) Школа колдовства - список;
3) Уровень мастерства - список.

не отображается школа колдовства - вторая секция; но если после бладтайпа воткнуть
Цитата
$cs_char[] = array(0 => 0);

, то порядок секций изменится, и школа, ставшая первой секцией с дропдауном, отражаться будет, а вот ставший второй секцией уровень мастерства перестанет.

Такие дела.
Перейти в начало страницы
 
+Цитировать сообщение
Redgi
сообщение Dec 2 2008, 00:05:43
Сообщение #65


чучело-мяучело
Группа: Gunblade Master



А если иное бибизянко оставить без контроля, оно до такого докопаецо!...

Вывод инфы в charsheet.php не поддается (покамест) моему слабому моску, но интуитивно ощущаю какое-то недобро в этом районе.
CODE
{
#Delimeter?
if( $opts[0] == 0 and !$last_was_delimeter )
{
$r['parsed_vars'] .= $this->ipsclass->compiled_templates['skin_wr_charsheet']->parse_simple_delimeter();
$last_was_delimeter = 1;
}
#Parsable var?
elseif( $r[$k] and $opts[3] and strlen(trim($r[$k])) )
{
$r['parsed_vars'] .= $this->ipsclass->compiled_templates['skin_wr_charsheet']->parse_simple_var($opts[1], $r[$k]);
$last_was_delimeter = 0;
}
}


Какие-то условия определенно выводят каждый второй дропдаун после разделителя из отображения. Засим моск ослаб совсем, пошел смотреть аниму.
Перейти в начало страницы
 
+Цитировать сообщение
WR
сообщение Dec 2 2008, 00:54:24
Сообщение #66



Группа: Администраторы



Угу.. классика.

Код
$opts[0] == 0


Забавно, но 'dropdown' == 0 -> истина. Нужно === (тройной знак равенства) юзать.)

Fixed.
Перейти в начало страницы
 
+Цитировать сообщение
Redgi
сообщение Dec 2 2008, 01:38:28
Сообщение #67


чучело-мяучело
Группа: Gunblade Master



Ога. Вылечилозь
Перейти в начало страницы
 
+Цитировать сообщение
Stonecold
сообщение Dec 4 2008, 11:49:21
Сообщение #68



Группа: Gunblade Master



Немного прерву ваш шикарный диалог.

Цитата
skin_wr_charsheet -> char_details

Искать:

{$data['parsed_vars']}


То есть, если я правильно понял, parsed_vars находятся не в шаблоне, а в каком то внешнем конфиг файле, так?
Перейти в начало страницы
 
+Цитировать сообщение
Redgi
сообщение Dec 4 2008, 12:19:42
Сообщение #69


чучело-мяучело
Группа: Gunblade Master



Один файл твой, содержит перечисление и определение этих самых переменных, два внешних - один отвечает за обработку, второй за форму вывода, насколько я понимаю. В charsheet.php определяется, что относится к parsed_vars, в относящемся к кэшу скина skin_wr_charsheet - как их отображать при просмотре карточки.

Причем, жопой чувствую какие-то дополнительные резервы, заложенные в эту схему - в частности, сам смысл задания полей как vars, в то время как использовать их в базовом варианте предлагается сугубо на "посмотреть, чо там написано", напоминает стрельбу из пушки по воробьям... совершенно определенно тут предполагается возможность оперирования данными значениями при автоматизированных вычислениях форумными средствами.
Перейти в начало страницы
 
+Цитировать сообщение
Stonecold
сообщение Dec 4 2008, 13:07:11
Сообщение #70



Группа: Gunblade Master



Цитата
Причем, жопой чувствую какие-то дополнительные резервы, заложенные в эту схему - в частности, сам смысл задания полей как vars, в то время как использовать их в базовом варианте предлагается сугубо на "посмотреть, чо там написано", напоминает стрельбу из пушки по воробьям... совершенно определенно тут предполагается возможность оперирования данными значениями при автоматизированных вычислениях форумными средствами.


Про это уже говорилось - насчет АДнД. Что можно. Но возиться лениво.

Цитата
Один файл твой, содержит перечисление и определение этих самых переменных, два внешних - один отвечает за обработку, второй за форму вывода, насколько я понимаю. В charsheet.php определяется, что относится к parsed_vars, в относящемся к кэшу скина skin_wr_charsheet - как их отображать при просмотре карточки.


Так, Тогда делаем следующим образом. Выкладываю шаблон, который нужно проверить (добавил 4й столбец по образу и подобию, возможно надо будет куда-то и графику догрузить - знать бы куда...).

А ниже список того, что надо показывать лишь игроку и ведущему, но не всем остальным (включая сопартийцев).

Код
$cs_char[]                                                = array(0 => 0);

$cs_char['st']                                        = array(0 => 1,
                                                                               1 => 'Сила',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );
                                                                              
$cs_char['dx']                                        = array(0 => 1,
                                                                               1 => 'Ловкость',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );
                                                                              
$cs_char['cn']                                        = array(0 => 1,
                                                                               1 => 'Выносливость',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );
                                                                              
$cs_char['ed']                                        = array(0 => 1,
                                                                               1 => 'Образование',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );
$cs_char['iq']                                        = array(0 => 1,
                                                                               1 => 'Мышление',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );

$cs_char['wl']                                        = array(0 => 1,
                                                                               1 => 'Уверенность',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );
$cs_char['lc']                                        = array(0 => 1,
                                                                               1 => 'Везение',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );
$cs_char[]                                                = array(0 => 0);
                                                                                                                                                    
$cs_char['lang']                                        = array(0 => 3,
                                                                               1 => 'Известные языки',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );

$cs_char[]                                                = array(0 => 0);
$cs_char['blift']                                        = array(0 => 1,
                                                                               1 => 'Грузоподъемность',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );

$cs_char['bspeed']                                        = array(0 => 1,
                                                                               1 => 'Перемещение за 1 раунд (шагом/бегом)',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );
$cs_char['shot']                                        = array(0 => 1,
                                                                               1 => 'Бросок на попадание (стрельба)',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );
$cs_char['melee']                                        = array(0 => 1,
                                                                               1 => 'Бросок на попадание (ближний бой)',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );

$cs_char['dr']                                        = array(0 => 1,
                                                                               1 => 'Уровень защиты',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );

$cs_char['dodge']                                        = array(0 => 1,
                                                                               1 => 'Уклонение',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );
$cs_char['parry']                                        = array(0 => 1,
                                                                               1 => 'Парирование',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );

$cs_char[]                                                = array(0 => 0);

$cs_char['advs']                                        = array(0 => 3,
                                                                               1 => 'Особенности',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );

$cs_char['skills']                                        = array(0 => 3,
                                                                               1 => 'Навыки',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );
$cs_char[]                                                = array(0 => 0);

$cs_char['equip']                                        = array(0 => 3,
                                                                               1 => 'Экипировано',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );
$cs_char['invent']                                        = array(0 => 3,
                                                                               1 => 'Инвентарь',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );

$cs_char['notes']                                        = array(0 => 3,
                                                                               1 => 'Примечания, неизвестные факты',
                                                                               2 => '',
                                                                               3 => 1,
                                                                               );

Прикрепленные файлы
Прикрепленный файл  ERA_PlusPHP.rar ( 1.13 килобайт ) Кол-во скачиваний: 1
 
Перейти в начало страницы
 
+Цитировать сообщение
Redgi
сообщение Dec 4 2008, 13:26:31
Сообщение #71


чучело-мяучело
Группа: Gunblade Master



С выводом все довольно просто (то есть может быть и все весьма сложно, но сейчас настроено в рассчете на бибизянов): всем показываются только прямо перечисленные в skin_wr_charsheet строки, а именно то, что до первого разделителя (по appearance включительно). Так что, чего ты ни добавляй - можешь не бояться, что оно засветится... по крайней мере, так кажется с моей пальмы. Проверить проще кому-нибудь другому - хотя бы на примере моего перса по имени Redg O'Brien (у него чарник полностью заполнен) - а то я, как админ, невольно вижу все про всех.

Что до графики - как я понимаю по совпадению полей, можно тупо размножить те картинки, что применены для предыдущего столбца?
Перейти в начало страницы
 
+Цитировать сообщение
Stonecold
сообщение Dec 4 2008, 13:48:31
Сообщение #72



Группа: Gunblade Master



Цитата
С выводом все довольно просто (то есть может быть и все весьма сложно, но сейчас настроено в рассчете на бибизянов): всем показываются только прямо перечисленные в skin_wr_charsheet строки, а именно то, что до первого разделителя (по appearance включительно). Так что, чего ты ни добавляй - можешь не бояться, что оно засветится... по крайней мере, так кажется с моей пальмы. Проверить проще кому-нибудь другому - хотя бы на примере моего перса по имени Redg O'Brien (у него чарник полностью заполнен) - а то я, как админ, невольно вижу все про всех.


Ща проверим. Хм... В случае с "эрой" "пирамидка" тоже не прячется (что не очень хорошо, но не смертельно) и, что совсем неприятно - укатывается куда-то в самый низ карточки, когда карточка видна вся.

Цитата
Что до графики - как я понимаю по совпадению полей, можно тупо размножить те картинки, что применены для предыдущего столбца?


Нет, там чуток свой рисунок. Можно качнуть архивчик с рисунками- он там раньше по тексту был - это то что "присмерти"

И еще, добавь разделенное на 4 части поле под пирамидкой, как WR показывал тогда. То есть, чтоб результат выглядел примерно так :

Прикрепленный файл  ______.png ( 12.7 килобайт ) Кол-во скачиваний: 0


где 1,2,3,4 - 4 поля в одну строчку, расположенные строго под 2,3,4,5 столбцами соответственно. Каждое поле на 3 цифры примерно.
Перейти в начало страницы
 
+Цитировать сообщение
Redgi
сообщение Dec 4 2008, 13:57:04
Сообщение #73


чучело-мяучело
Группа: Gunblade Master



Вроде и правда там пять типов кружков, последний обозван death. Сейчас попробую подцепить.
Перейти в начало страницы
 
+Цитировать сообщение
Stonecold
сообщение Dec 4 2008, 14:04:17
Сообщение #74



Группа: Gunblade Master



я там чуток дополнил.
Перейти в начало страницы
 
+Цитировать сообщение
Redgi
сообщение Dec 4 2008, 14:13:30
Сообщение #75


чучело-мяучело
Группа: Gunblade Master



Я убью тебя, лодочник.
Перейти в начало страницы
 
+Цитировать сообщение

4 страниц V  < 1 2 3 4 >
Тема закрытаНачать новую тему

 



Текстовая версия Сейчас: 18th June 2018 - 20:32:48