|
Скрипт на кубики (дайсы)
|
|
| rowen_AZ | Дата: 09 Ноября 2009, 00:22 | Сообщение # 1 | ● ● ● ● ● 6 сообщений Статус: Offline | Мне для форума надо сделать скрипт, который бы вычислял случайным образом значение кубиков, связать его с кнопкой и сделать, чтобы это добавлялось в пост. Полазив по просторам интернета, получила два скрипта. Оба проверила на своем форуме - фигня в обоих случаях выходит. 1 вариант, простой - но меня он вполне удовлетворяет: Code <script> //%IF($USER_LOGGED_IN$)% //%IF($PAGE_ID$=addthread|=addpoll|=threadpage)% function checksubmit(obj) { variant=6; priz=Math.round(Math.random()* variant); obj.message.value='Результат броска:'+priz+obj.message.value; return false; } function buttondice() { document.write('<span class="bbc1" id="ph"><input type="button" value="Кинуть кубики" onclick="checksubmit(obj)" class="codeButtons" name="phbut"></span>'); elem=document.all.ph; obj=document.getElementById('frM58').childNodes[1]; obj.insertBefore(elem, obj.childNodes[10]); }buttondice() //%ENDIF%%ENDIF% </script> Описание симптомов. Функция checksubmit(obj) работает странно. Если строка return false; не задокументирована - он добавляет картинку - но не отправляет пост, а постоянно добавляет строку с результатом броска. ЕСЛИ ЖЕ строка задокументирована - результат появляется ВО ВСЕХ вновь отправленных постах, вне зависимости от того, надо или не надо. ВОПРОС: это лечиться? Понимаю, что руки не особо прямые и познания в программировании близки к уровню плинтуса (особенно в скриптах как таковых), но очень хочется такую штуку на форум... 2 вариант, очень понравившийся - но абсолютно не знаю, как его приспособить к данному движку. Найдено здесь: скрипт бросков кубиков. Но учитывая мою чайниковость - я поняла только до слова smile - дальше отрывками. Плиз, помогите кто-нибудь знающий, потому как скрипт ну очень важен и вкусен для игровых форумов. Если же здесь когда-то такая тема обсуждалась уже - тыкните меня в неё, не нашла ни по поиску, ни своими ручками... | | |
|
| cucYa | Дата: 09 Ноября 2009, 00:30 | Сообщение # 2 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | Что должно происходить я не понял... При добавлении поста, в поле должен вставляться "Результат броска: " и 2 случайных числа в диапазоне 1-6? | | |
|
| rowen_AZ | Дата: 09 Ноября 2009, 00:34 | Сообщение # 3 | ● ● ● ● ● 6 сообщений Статус: Offline | Хотя бы одно... Но да, случайным образом выпадать число от 1 до 6. Только когда нажата кнопка "бросить кубики". | | |
|
| cucYa | Отредактировал cucYa - Понедельник, 09 Ноября 2009, 00:47 Дата: 09 Ноября 2009, 00:45 | Сообщение # 4 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | Code $('form[name="editform"]').submit(function() { var N = Math.round(6*Math.random()), N2 = Math.round(N*Math.random()); $(this).find('textarea').val('Результат броска ' + (N == 0 ? 1 : N) + ' и ' + (N2 == 0 ? 1 : N2) + '.'); }); | | |
|
| rowen_AZ | Дата: 09 Ноября 2009, 00:50 | Сообщение # 5 | ● ● ● ● ● 6 сообщений Статус: Offline | М... Так... поняла... теперь это просто вставить на страницу вместо всего этого безобразия, которое скрипт или это должно быть в функции, которая вызывается по кнопке? Или как это подключить к кнопке? (прошу прощения за мой тупизм...) | | |
|
| cucYa | Дата: 09 Ноября 2009, 00:53 | Сообщение # 6 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | Code dice = function() { var N = Math.round(6*Math.random()), N2 = Math.round(N*Math.random()); document.getElementsByName('message')[0].value = 'Результат броска ' + (N == 0 ? 1 : N) + ' и ' + (N2 == 0 ? 1 : N2) + '.'; } Code <input type="button" onclick="dice()" /> | | |
|
| rowen_AZ | Дата: 09 Ноября 2009, 13:58 | Сообщение # 7 | ● ● ● ● ● 6 сообщений Статус: Offline | Спасибо!!!!Добавлено (09 Ноябрь 2009, 13:58) --------------------------------------------- Так... Вопрос опять нубский и как дополнение. Есть идея следующая: поставить чекбокс. Типа как "включить уведомление на е-майл" или прочие. Надо чтобы при нажатии стандартной кнопки "добавить ответ" запускался скрипт, который проверяет, если выбран чекбокс - то мы добавляем к основному сообщению ещё и результат дайсов. Пробовала сделать сама по тем скриптам, которые лежат тут на проверку содержания формы - нифига оно не проверяет. Я поняла, что есть стандартный обработчик, юкосовский. Теперь вопрос: если я отключу стандартную кнопку - то получается, мне надо будет изобретать велосипед. Если оставить стандартную проверку - как мне подключить чекбокс? | | |
|
| mob_dp | Дата: 09 Ноября 2009, 15:07 | Сообщение # 8 | ● ● ● ● ● 4112 сообщений Статус: Offline | rowen_AZ, проверка чекбокса: Code if(elem.checked) ... ; | | |
|
| rowen_AZ | Дата: 09 Ноября 2009, 16:50 | Сообщение # 9 | ● ● ● ● ● 6 сообщений Статус: Offline | Quote (mob_dp) if(elem.checked) ... ; Не, я блондинко, но это понимаю. Вопрос не совсем в этом: как мне сделать так, чтобы чекбокс проверялся при отправке сообщения на форум, стандартной юкосовской кнопкой "Добавить" Или это нереально? Может я неправильно пояснила. 1. Есть скрипт, который позволяет добавлять в сообщение (в его конец) строку. 2. Надо сделать так, чтобы добавлялось ТОЛЬКО при отсылке на форум. Сделать так, чтобы это сообщение пользователь не смог редактировать - я смогу, мне важно - чтобы строка добавлялась к сообщению уже после того, как пользователь нажмет кнопку отправить. Т.е. либо в самой кнопке прописывать скрипт, который и проверяет, и добавляет, и отправляет, либо скрипт, который к стандартному сообщению ДОПИСЫВАЕТ строку ПРИ ВЫБРАННОМ чекбоксе. | | |
|
| mob_dp | Дата: 09 Ноября 2009, 17:00 | Сообщение # 10 | ● ● ● ● ● 4112 сообщений Статус: Offline | Quote (rowen_AZ) Не, я блондинко, но это понимаю. Вопрос не совсем в этом: как мне сделать так, чтобы чекбокс проверялся при отправке сообщения на форум, стандартной юкосовской кнопкой "Добавить" Quote (mob_dp) checksubmit() А скрыть так просто не получится, подобную вещь пока что реализована у меня и продана еще 1 человеку. Надо при редактировании вырезать, остальное отдавать юзеру, при пересохранении дописывать. | | |
|
| rowen_AZ | Дата: 09 Ноября 2009, 17:20 | Сообщение # 11 | ● ● ● ● ● 6 сообщений Статус: Offline | Понято... спасибо))) Ушло редактировать "правила боевки". | | |
|
| Кронд | Отредактировал Кронд - Понедельник, 09 Ноября 2009, 17:49 Дата: 09 Ноября 2009, 17:47 | Сообщение # 12 | ● ● ● ● ● 329 сообщений Статус: Offline | ОМГ, изобретаем велосипеды, господа? А этот стародавний вариант вас чем не устраивает? Полностью рабочий, кстати, уже которую мою ролёвку переживает. | | |
|
| Джек | Дата: 25 Октября 2010, 20:08 | Сообщение # 13 | ● ● ● ● ● 1 сообщение Статус: Offline | Извините, а можно для совсем... неумных... объяснить, куда скрипт из сообщения №6 ставить, а то не работает... | | |
|