Перейти к содержимому
La2Base
Главная
ЗагрузкиВикиФорумFAQ
Поиск
ruen
Регистрация Войти
ГлавнаяФайлыВикиВойти
  • Главная
  • Загрузки
  • Вики
  • FAQ
  • Обратная связь
  • О проекте
  • Правила
  • Конфиденциальность
  • Условия использования

© 2026 la2base.com · Все права защищены

ruen
Форум/L2Top и системы поощрения/L2top
Поиск

L2top

7 ответов205 просмотровСейчас просматривают: 1
S
semiromid
· 19.11.2009, 21:36

Люди подскажите .Когда я скрипт чере Денвер ,все работает нормально ,приходит призовой итем и.т.д
Когда залил на хостинг ,то пишит что неудалось получить информацию с L2top.Как с этим боротся?
Подскажите Подажуйста .

Вот мой скрипт

Код
<?php
$bonus_id=6673; // ID предмета-бонуса (по умолчанию Festival Adena)
$bunus_name='Festival Adena'; // название бонуса
$cols_for_vote=3; // Колличество зачисляемых вещей за одно голосование
$id_l2top=10288; // Ваш ID в рейтинге L2Top
if(!isset($_POST['name'])){
echo "<div align='center'><table width='450'><tr><td><center><b>Здесь вы можете принять участие в акции: <br>«Бонус за голосование».<br><br>
<i>Для этого необходимо:</i></b></center><br>
1. Проголосовать за наш сервер в рейтинге L2top.ru: <a href='http://l2top.ru/vote/".$id_l2top."/'>Голосовать</a><br>
2. Получить бонус. Для чего необходимо:<br>
<ul><li>Вписать в форму ниже ник вашего чара (не путайте с названием аккаунта)</li>
<li>Нажать на кнопку «Получить бонус»</li></ul>
<center>После этого вашему чару в инвентарь будет выдано поощрение «".$bunus_name."» в количестве ".$cols_for_vote." шт.</center><br>
<b>Вниманние!</b><br>
Чтобы получить бонус ваш ник должен быть в <a href='http://l2top.ru/info/".$id_l2top."/'><b>этом списке</b></a><br>А также персонаж должен находиться не в игре.<br><br><center>
<form action='' method='post'>
Ник персонажа<br/>
<input type='text' name='name'/><br/><br/>
<input type='submit' value='Получить бонус'/>
</form></center></td></tr></table></div>";
}else{

$host='мой ip'; // сервер на котором установлена база данных L2J
$user='root'; // имя пользователя от базы данный
$pass='Пароль'; // пароль пользователя от базы данный
$db='emurt_db'; // название базы данных

$mc = mysql_connect($host, $user, $pass);
if($mc){
$db = mysql_select_db ($db);
}
if(!$mc || !$db){
echo '<div align=center>Нет соединения с базой данных.</div>';
exit;
}
$name=mysql_escape_string($_POST['name']);
$sel_char=mysql_query("SELECT charId,online FROM characters WHERE char_name = '".$name."';");
if (mysql_num_rows($sel_char)==0)
{
echo "<div align=center>Персонаж не найден</div>";
exit;
}
list($char_id,$online) = mysql_fetch_array($sel_char);
if ($online==1)
{
echo "<div align=center>Ваш персонаж в игре, для начала надо выйти</div>";
exit;
}
$total=0;
$your_ip = $_SERVER['REMOTE_ADDR'];
$dip=explode('.',$your_ip);
$your_ip1 = $dip[0].'.'.$dip[1].'.'.$dip[2].'.xxx';
$html = @file_get_contents('http://l2top.ru/info/'.$id_l2top.'/');
if (!$html || !preg_match_all('/<td>([^<]+)<\/td>/', $html, $matches))
$error .= '<div align=center>Не удалось получить информацию с L2Top.ru!<br/></div>';
else
{
foreach ($matches[1] as $id => $nick)
{
if (strtolower(trim($nick))==strtolower(trim($name))) {
$voters[] = $matches[1][$id-2];
}
}
if ($voters != array())
{
foreach ($voters as $time)
{
$result = mysql_query("SELECT * FROM `l2top` WHERE `nick` = '".mysql_escape_string($name)."' AND `time`='".mysql_escape_string($time)."'");
$row = mysql_fetch_array($result);
if ($row == array())
{
$result = mysql_query("SELECT * FROM `items` WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = '".$bonus_id."'");
$row = mysql_fetch_array($result);
if ($row == array())
{
$result = mysql_query("SELECT MAX(`object_id`)+1 AS `id` FROM `items`");
$row = mysql_fetch_array($result);
$ins_id = $row['id'];
$putitem=mysql_query("
INSERT INTO `items` (`owner_id`,`object_id`,`item_id`,`count`,`loc`,`loc_data`) VALUES ('".mysql_escape_string($char_id)."', '".$ins_id."', '".$bonus_id."', '".$cols_for_vote."', 'INVENTORY', '0')") or die (mysql_error());
}
else
@mysql_query("UPDATE `items` SET `count` = `count` + ".$cols_for_vote." WHERE `owner_id` = ".@mysql_escape_string($char_id)." AND `item_id` = '".$bonus_id."' ");
@mysql_query("INSERT INTO `l2top` (`nick`, `ip`, `time`) VALUES ('".$name."', '".mysql_escape_string($your_ip1)."','".mysql_escape_string($time)."')");
$total += $cols_for_vote;
$error .= '<div align=center>Голос за '. $time.' зачислен.<br/></div>';
}
else
$error .= '<div align=center>Голос за '. $time.' уже был зачислен.<br/></div>';
}
}
else
$error .= '<div align=center>Ваш голос на сайте L2Top.ru не найден.<br></div>';
}
echo $error.'<div align=center><br><b>'.$total.'</b> '.$bunus_name.' зачислено вашему персонажу!<br/></div>';
}
?>

0
Руслан
Руслан

Модератор

Ветеран

Постов: 1201

На форуме с: 14.12.2007

Репутация: +775

Рейтинг: 0

· 20.11.2009, 02:04

Ищи проблему Л2Топа с твоим хостингом, а не в скрипте.
Тем более раз твой скрипт работает на локалке.

На Форуме я тоже Radar!
Я везде Radar!

0
S
semiromid
· 20.11.2009, 10:39

На хостинге ссылаются на скрипт и денвер .Мол что что-то не впорядке у меня ((

0
Руслан
Руслан

Модератор

Ветеран

Постов: 1201

На форуме с: 14.12.2007

Репутация: +775

Рейтинг: 0

· 20.11.2009, 12:45

semiromid: На хостинге ссылаются на скрипт и денвер .Мол что что-то не впорядке у меня ((


Уже не раз сталкивался с тем что Л2Топ банит определенный хост за "сверхактивность", так что спрашивай на топе, а не на хосте.

На Форуме я тоже Radar!
Я везде Radar!

0
S
semiromid
· 20.11.2009, 19:58

Этот скрипт должен работать всеровно ,А на хостинге не работает .
<?php
error_reporting(E_ALL);
echo file_get_contents("http://yandex.ru");
?>



Когда я его запускаю выдает ошибку .


URL file-access is disabled in the server configuration

Запред идет со стороны хостинга на лицо .

0
П
Павел

Пользователь

Новичок

Постов: 11

На форуме с: 18.03.2009

Рейтинг: 0

· 29.11.2009, 00:05

вот кому надо, полностью рабочий скрипт
только не забудьте создать базу "l2top" и там колонки "nick" "ip" "time"

Код
<?php
$bonus_id=6673; // ID предмета-бонуса (по умолчанию Festival Adena)
$bunus_name='Festival Adena'; // название бонуса
$cols_for_vote=1; // Колличество зачисляемых вещей за одно голосование
$id_l2top=7322; // Ваш ID в рейтинге L2Top
if(!isset($_POST['name'])){
echo "<div align='center'><table width='450'><tr><td><center><b>Здесь вы можете принять участие в акции: <br>«Бонус за голосование».<br><br>
<i>Для этого необходимо:</i></b></center><br>
1. Проголосовать за наш сервер в рейтинге L2top.ru: <a href='http://l2top.ru/vote/".$id_l2top."/'>Голосовать</a><br>
2. Получить бонус. Для чего необходимо:<br>
<ul><li>Вписать в форму ниже ник вашего чара (не путайте с названием аккаунта)</li>
<li>Нажать на кнопку «Получить бонус»</li></ul>
<center>После этого вашему чару в инвентарь будет выдано поощрение «".$bunus_name."» в количестве ".$cols_for_vote." шт.</center><br>
<b>Вниманние!</b><br>
Чтобы получить бонус ваш ник должен быть в <a href='http://l2top.ru/info/".$id_l2top."/'><b>этом списке</b></a><br>А также персонаж должен находиться не в игре.<br><br><center>
<form action='' method='post'>
Ник персонажа<br/>
<input type='text' name='name'/><br/><br/>
<input type='submit' value='Получить бонус'/>
</form></center></td></tr></table></div>";
}else{

$host='IP от базы сервера'; // сервер на котором установлена база данных L2J
$user='обычно root'; // имя пользователя от базы данный
$pass='пароль'; // пароль пользователя от базы данный
$db='название базы сервера'; // название базы данных

$mc = mysql_connect($host, $user, $pass);
if($mc){
$db = mysql_select_db ($db);
}
if(!$mc || !$db){
echo '<div align=center>Нет соединения с базой данных.</div>';
exit;
}
$name=mysql_escape_string($_POST['name']);
$sel_char=mysql_query("SELECT charId,online FROM characters WHERE char_name = '".$name."';");
if (mysql_num_rows($sel_char)==0)
{
echo "<div align=center>Персонаж не найден</div>";
exit;
}
list($char_id,$online) = mysql_fetch_array($sel_char);
if ($online==1)
{
echo "<div align=center>Ваш персонаж в игре, для начала надо выйти</div>";
exit;
}
$total=0;
$your_ip = $_SERVER['REMOTE_ADDR'];
$dip=explode('.',$your_ip);
$your_ip1 = $dip[0].'.'.$dip[1].'.'.$dip[2].'.xxx';
$html = @file_get_contents('http://l2top.ru/info/'.$id_l2top.'/');
if (!$html || !preg_match_all('/<td>([^<]+)<\/td>/', $html, $matches))
$error .= '<div align=center>Не удалось получить информацию с L2Top.ru!<br/></div>';
else
{
foreach ($matches[1] as $id => $nick)
{
if (strtolower(trim($nick))==strtolower(trim($name))) {
$voters[] = $matches[1][$id-2];
}
}
if ($voters != array())
{
foreach ($voters as $time)
{
$result = mysql_query("SELECT * FROM `l2top` WHERE `nick` = '".mysql_escape_string($name)."' AND `time`='".mysql_escape_string($time)."'");
$row = mysql_fetch_array($result);
if ($row == array())
{
$result = mysql_query("SELECT * FROM `items` WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = '".$bonus_id."'");
$row = mysql_fetch_array($result);
if ($row == array())
{
$result = mysql_query("SELECT MAX(`object_id`)+1 AS `id` FROM `items`");
$row = mysql_fetch_array($result);
$ins_id = $row['id'];
$putitem=mysql_query("
INSERT INTO `items` (`owner_id`,`object_id`,`item_id`,`count`,`loc`,`loc_data`) VALUES ('".mysql_escape_string($char_id)."', '".$ins_id."', '".$bonus_id."', '".$cols_for_vote."', 'INVENTORY', '0')") or die (mysql_error());
}
else
@mysql_query("UPDATE `items` SET `count` = `count` + ".$cols_for_vote." WHERE `owner_id` = ".@mysql_escape_string($char_id)." AND `item_id` = '".$bonus_id."' ");
@mysql_query("INSERT INTO `l2top` (`nick`, `ip`, `time`) VALUES ('".$name."', '".mysql_escape_string($your_ip1)."','".mysql_escape_string($time)."')");
$total += $cols_for_vote;
$error .= '<div align=center>Голос за '. $time.' зачислен.<br/></div>';
}
else
$error .= '<div align=center>Голос за '. $time.' уже был зачислен.<br/></div>';
}
}
else
$error .= '<div align=center>Ваш голос на сайте L2Top.ru не найден.<br></div>';
}
echo $error.'<div align=center><br><b>'.$total.'</b> '.$bunus_name.' зачислено вашему персонажу!<br/></div>';
}
?>

Попробуем завоевать мир ©Брейн

0
The-Ice
The-Ice

Пользователь

Бывалый

Постов: 284

На форуме с: 17.08.2008

Репутация: +98

Рейтинг: 0

· 15.12.2009, 18:22

не рабочий

0
Войдите или зарегистрируйтесь чтобы ответить