Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Помощь в написании мода для БК

Идеи для расширения функциональности phpBB 2.0.x
PROhvost
phpBB 1.4.0
Сообщения: 35
Стаж: 18 лет 4 месяца

Помощь в написании мода для БК

Сообщение PROhvost »

Нужен мод который перед регистрацией на форуме будет проверять есть ли такой персонаж в БК или нет, если есть регистрация разрешается, если нет, то сообщение "такого персонажа в БК не существует", а также мод, который будет автоматом цеплять к нику склонность, клан-значок и уровень персонажа в бойцовском клубе.

Речь идет об онлайн игре Бойцовский клуб, combats.ru

Добавлено спустя 8 часов 47 минут 22 секунды:

Ну что нет специалистов по написанию модов. Тогда скажу что прошу не просто так :D
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Ну если по взаимодействию с БК есть информация в открытом доступе, то я бы возможно попробовал...
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
PROhvost
phpBB 1.4.0
Сообщения: 35
Стаж: 18 лет 4 месяца

Сообщение PROhvost »

Есть следующая информация:
УРЛ данного вида дает нам полное представление о любом персонаже(уровень, клан, склонность и.т.д)
http://capitalcity.combats.ru/inf.pl?lo ... ИК&short=1

Этим кодом можно это все превратить в переменные:

Код: Выделить всё

<?
# "забиваем" данные в массив (в данном случае по строке со страницы на элемент)
$lines = file("http://capitalcity.combats.ru/inf.pl?login=ORLOFFo&short=1");

# проходим весь массив поэлементно
foreach($lines as $value){
   # в переменную $var попадает название переменной со страницы
   # $val -- её значение!
   list($var, $val) = split("\=",$value);
   # красиво выводим:)
   echo "<font face=verdana color=red><b>$var</b></font>=$val<br>";
   # для удобства сохраняем данные в ассоциативный массив, т.е. $arr['some_key'] = 'some value';
   $arr[$var] = $val;
}

# Раз мы сохраняли в массив, так логично будет посмотреть получилось ли?
echo "<font face=verdana size=+3>".$arr['gamecity']."</font>";
?>
С помощью этого JS можно цеплять удаленно расположенные значки(картинки) клана, склонности и т.д.
Это код который используется в скриптах самой игры для выведения такого рода информации http://capitalcity.combats.ru/inf.pl?login=ORLOFF . Единственное что использовать удаленные каталоги с картинками не разрешается, их придется создать непосредственно у себя на сервере.

Код: Выделить всё

function getalign(al)
{
  var n=parseFloat(al);

  if (n>=1 && n<2) return("Белое братство");
  if (n>=2 && n<3) return("Хаос");
  if (n>=3 && n<4) return("Темное братство");
  if (n>=7 && n<8) return("Нейтральное братство");
  if (n>=50 && n<51) return("Алхимики");
  return("");
}

function getalignurl(al)
{
  var n=parseFloat(al);
  if (n==50) return "http://capitalcity.combats.ru/encicl/alchemist.html";
  return "http://capitalcity.combats.ru/encicl/alignment.html";
}

function drwfl(name, id, level, align, klan)
{
  var s="";

  if (align!="0") s+="<A HREF='"+getalignurl(align)+"' target=_blank><IMG SRC='http://img.combats.ru/i/align"+align+".gif' WIDTH=12 HEIGHT=15 ALT=\""+getalign(align)+"\"></A>";
  if (klan) s+="<A HREF='/encicl/klan/"+klan+".html' target=_blank><IMG SRC='http://img.combats.ru/i/klan/"+klan+".gif' WIDTH=24 HEIGHT=15 ALT=''></A>";
  s+="<B>"+name+"</B>";
  if (level!=-1) s+=" ["+level+"]";
  if (id!=-1) s+="<A HREF='/inf.pl?"+id+"' target='_blank'><IMG SRC=http://img.combats.ru/i/inf.gif WIDTH=12 HEIGHT=11 ALT='Инф. о "+name+"'></A>";

  document.write(s);
}
Еще вот здесь в некотором смысле это реализовано http://www.wheelwarriors.ru/forum/index.php, только у них нет проверки перед регистрацией, существует персонаж или нет.
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Стукнитесь в аську часиков в 12, обсудим. Я невидимка если что...
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
PROhvost
phpBB 1.4.0
Сообщения: 35
Стаж: 18 лет 4 месяца

Сообщение PROhvost »

Я конечно понимаю, занятость и все такое, но я уже честно говоря просто устал ждать, когда же ты что нибудь напишешь, хотя бы в ICQ. :?:
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Сегодня наверное напишу. По независящим от меня обстоятельствам занят почти целый день.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
PROhvost
phpBB 1.4.0
Сообщения: 35
Стаж: 18 лет 4 месяца

Сообщение PROhvost »

Очень поджимают сроки, пожалуйста поторопись, пиши в ICQ или на мыло оно в профиле.
Аватара пользователя
Nemo1987
phpBB 2.0.7
Сообщения: 560
Стаж: 18 лет 2 месяца

Сообщение Nemo1987 »

Xpert писал(а):Я невидимка если что...
Будем знать ;)
PROhvost
phpBB 1.4.0
Сообщения: 35
Стаж: 18 лет 4 месяца

Сообщение PROhvost »

Xpert
Не хочу показаться навязчивым, но 2 дня прошли 17 дней назад, если у тебя ничего не получается, напиши хоть ждать мне этот мод или нет, меня заказчики задушат, работа стоит, а без мода дальше работать не могу. Я все понимаю, но пойми и ты меня.
PROhvost
phpBB 1.4.0
Сообщения: 35
Стаж: 18 лет 4 месяца

Сообщение PROhvost »

Ну что есть ли здесь еще специалисты которые напишут этот мод. Естесственно за WM.
Аватара пользователя
avm
Former team member
Сообщения: 582
Стаж: 19 лет 3 месяца
Откуда: Москва

Сообщение avm »

PROhvost по поводу первой части вашего вопроса (проверки логина на существование персонажа)

Код: Выделить всё

#
#---[ OPEN ]---
#
includes/usercp_validate.php
#
#---[ FIND ]---
#
        return array('error' => false, 'error_msg' => '');
#
#---[ ADD, BEFORE ]---
#
        $combats_record = @join('', @file("http://capitalcity.combats.ru/inf.pl?login=".urlencode($username)."&short=1") );
        if (!preg_match("/^login={$username}\s+/m",$combats_record)) {
                return array('error' => true, 'error_msg' => $lang['Username_disallowed']);
        }
теперь при попытке регистрации (или смены, если разрешено) логина (а также при постинге гостя с указанием имени!) который не песонаж, будет выводиться надпись "Извините, это имя было запрещено к использованию"

Добавлено спустя 5 минут 2 секунды:

По поводу второй части запроса
PROhvost писал(а):а также мод, который будет автоматом цеплять к нику склонность, клан-значок и уровень персонажа в бойцовском клубе.
как именно вы это хотели видеть? и какая переменная в ответе игрового сервера отвечает за "склонность" ?
ответ сервера писал(а):login=ORLOFF
id=1143403433
zodiac=12
gamecity=Angels city
gamecity_url=http://angelscity.combats.ru
level=2
vicrory=52
defeat=37
name=De los aguilas
dex=4
str=10
inst=3
power=10
_dex=4
_str=10
_inst=3
_power=10
birthplace=Angels city
date_registry=27.03.06 02:03
objects=roba1=Рубашка\nУровень жизни: +3\nДолговечность: 4/10,
HP=93/93
Последний раз редактировалось avm 02.07.2006 21:40, всего редактировалось 2 раза.
выделенный сервер по цене обычного хостинга - менее 150 рублей в месяц
Благодарности принимаются в Яндекс.Деньгах на счет 4100143316948
PROhvost
phpBB 1.4.0
Сообщения: 35
Стаж: 18 лет 4 месяца

Сообщение PROhvost »

avm огромное спасибо.
Но почемуто после соглашения с условиями регистрации, появляется сообщение "Извините, это имя было запрещено к использованию".

При выводе информации о персонаже, скажем в посте над аватаром и в списке пользователей(более нигде не требуется выводить), вид должен быть такой: /значок склонности/значок клана/ник/уровень/

Склонность имеет значение "align", это значение показывается только у персонажа которому присвоена склонность, у других этой переменной видимо нет. Вот пример:
http://mooncity.combats.ru/inf.pl?login ... er&short=1

login=MYSTIFIER
id=1137227908
align=7
zodiac=12

и т.д.
Аватара пользователя
avm
Former team member
Сообщения: 582
Стаж: 19 лет 3 месяца
Откуда: Москва

Сообщение avm »

PROhvost, приношу извинения был неправ. Код в моем сообщении исправлен. Посмотрите измененное описание к коду...
выделенный сервер по цене обычного хостинга - менее 150 рублей в месяц
Благодарности принимаются в Яндекс.Деньгах на счет 4100143316948
PROhvost
phpBB 1.4.0
Сообщения: 35
Стаж: 18 лет 4 месяца

Сообщение PROhvost »

avm
Спасибо огромное, работает!!! Сначала не зарегистрировал, т.к. я не точно ввел ник, строчный шриф имеет значение, как оказалось.

Добавлено спустя 14 минут 5 секунд:

А есть ли возможность значки к нику в посте и в пользователях прикрутить?
Аватара пользователя
avm
Former team member
Сообщения: 582
Стаж: 19 лет 3 месяца
Откуда: Москва

Сообщение avm »

По поводу второй части - есть одна логическая "закавыка".
Информация о статусе пользователя на игровом сервере штука не постоянная, и соответственно тербуется ее для него периодически менять в БД форума. Вот тут и есть логическая сложность:
1) если менять при очередном входе пользователя на форум - информация обещает быть устаревшей (ведь играть-то он может постоянно и на форум не заходить, а форумчане будут видеть его "устаревшие" данные)
2) если запрашивать на сервере при выводе его постов - игровой сервер ляжет.
3) если делать запрос для каждого пользователя при входе на форум и с периодом старения его инфы по таймауту (например не чаще 1 раз в день), то может и получится нормальный вариант.

Но для того чтобы это делать мне например придется устанавливать phpbb (он у меня нигде не установлен), поскольку "в слепую" это уже не сделать...
выделенный сервер по цене обычного хостинга - менее 150 рублей в месяц
Благодарности принимаются в Яндекс.Деньгах на счет 4100143316948

Вернуться в «Запросы модов для phpBB 2.0.x»