Skip to content
La2Base
Home
DownloadsWikiForumFAQ
Search
ruen
Sign up Login
HomeFilesWikiLogin
  • Home
  • Downloads
  • Wiki
  • FAQ
  • Contact Us
  • About
  • Rules
  • Privacy
  • Terms of Service

© 2026 la2base.com · All rights reserved

ruen
Forum/L2Top и системы поощрения/[help]_l2top_система бонусов
Search

[help]_l2top_система бонусов

11 replies336 viewsCurrently viewing: 1
Давид
Давид

User

Бывалый

Posts: 162

На форуме с: 03/14/2008

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

Рейтинг: 0

· 09/07/2009, 10:47 AM

Сборка: la2base Платная мартовская!
Ос: win Server 2003 64x
Роутер D-Link DIR-300
+ фаервол на сервере Outpost 2009 pro

суть траблы:
После того как поставил Роутер, перестали выдаваться бонусы за голосование в системе l2top

Собственно сам скрипт:

Цитата
<center>
<b>1. Проголосуй за нас в l2top<br>
</center>

<center>
<a href="http://l2top.ru/?voteme=8145" target="_blank"><img src="http://l2top.ru/vb/8145.pgif" width="88" height="31" border="0" alt="L2top.ru: Рейтинг-каталог серверов Lineage2"></a>
</center>

<center>
<?


if(!isset($_POST['name'])){

echo '<form action="l2top.php" method="post">';


echo '2. Ввести ник персонажа<br/>
<input type="text" name="name"/><br/><br/>
<input type="submit" value="Получить бонус"/>

</form>';


}else{

$bonus_id=9994; // ID вещи
$cols_for_vote=1; // Колличество зачисляемых вещей за одно голосование
$id_l2top=8145; // Ваш ID в L2Top

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

$mc = mysql_connect($host, $user, $pass);
if($mc){
$db = mysql_select_db ($db);
}

if(!$mc || !$db){

echo 'Нет соединения с базой данных.';

exit;

}

$name=mysql_escape_string($_POST['name']);

$ch=mysql_query("SELECT obj_Id FROM characters WHERE char_name = '$name';");
$chd=mysql_fetch_assoc($ch);

$char_id=$chd['obj_Id'];
$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.'&act=info');
if (!$html || !preg_match_all('/<td>([^<]+)<\/td>/', $html, $matches))
$error .= 'Не удалось получить информацию с L2Top.ru!<br/>';
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_assoc($result);
if ($row == array())
{
$result = $result = mysql_query("SELECT * FROM `items` WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = ".$bonus_id."");
$row = mysql_fetch_assoc($result);
if ($row == array())
{
$result = mysql_query("SELECT MAX(`object_id`)+1 AS `id` FROM `items`");
$row = mysql_fetch_assoc($result);
$ins_id = $row['id'];
/*
mysql_query("INSERT INTO `items` (`owner_id`, `object_id`, `item_id`, `count`, `enchant_level`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`)
VALUES(".mysql_escape_string($char_id).", ".$ins_id.", $bonus_id, ".$cols_for_vote.", 0, 'INVENTORY', 0, 0, 0, NULL, 0, 0, -1)");
данный запрос необходимо переделывать взависимости от того, какая структура таблицы items у вас на сборке сервера. Данный запрос отвечает за добавление бонусной вещи за голосование в инвентарь, если у вас её еще нет.
*/
mysql_query("INSERT INTO `items` (`owner_id`, `object_id`, `item_id`, `count`, `enchant_level`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`)
VALUES(".mysql_escape_string($char_id).", ".$ins_id.", $bonus_id, ".$cols_for_vote.", 0, 'INVENTORY', 0, 0, 0, NULL, 0, 0, -1)");
}
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 .= 'Голос за '. $time.' зачислен.<br/>';
}
else
$error .= 'Голос за '. $time.' уже был зачислен.<br/>';
}
}
else
$error .= 'Ваш голос на сайте L2Top.ru не найден.<br>';
}

echo $error.'<br><b>'.$total.'</b> Бонус зачислен вашему персонажу!<br/>';

}

?>
</center>


Даже не знаю в чем трабла. Пробовал другие скрипты. Бестолку.

подпись она и в Африке подпись!

0
sanja
sanja

User

Бывалый

Posts: 197

На форуме с: 08/26/2008

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

Рейтинг: 0

· 09/07/2009, 11:24 PM

ссылка на л2топ не верна

Цитата
$html = @file_get_contents('http://l2top.ru/info/'.$id_l2top.'&act=info');

верно
Цитата
$html = @file_get_contents('http://l2top.ru/info/'.$id_l2top.'/');

+какую ошибку выдает скрипт?

0
Давид
Давид

User

Бывалый

Posts: 162

На форуме с: 03/14/2008

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

Рейтинг: 0

· 09/08/2009, 07:35 PM

Просто пишет что нет соединения с l2top

подпись она и в Африке подпись!

0
sanja
sanja

User

Бывалый

Posts: 197

На форуме с: 08/26/2008

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

Рейтинг: 0

· 09/08/2009, 07:41 PM

ссылку пробовал править и проверить работу скрипта?

0
Давид
Давид

User

Бывалый

Posts: 162

На форуме с: 03/14/2008

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

Рейтинг: 0

· 09/09/2009, 05:27 AM

Поправил ссылку всеравно ошибка:

Цитата
Не удалось получить информацию с L2Top.ru!

0 l2top Bonus зачислено вашему персонажу!

подпись она и в Африке подпись!

0
Давид
Давид

User

Бывалый

Posts: 162

На форуме с: 03/14/2008

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

Рейтинг: 0

· 09/11/2009, 11:02 AM

Люди помогите, я вообще не могу понять с чем это может быть связанно...

подпись она и в Африке подпись!

0
Анатолий
Анатолий

User

Бывалый

Posts: 496

На форуме с: 11/19/2008

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

Рейтинг: 0

· 09/11/2009, 03:26 PM

Проверяй разрешения в роутере своем или в фаерволле. Ясный пень, что где-то запрет стоит.

— Random Post Generator

0
Давид
Давид

User

Бывалый

Posts: 162

На форуме с: 03/14/2008

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

Рейтинг: 0

· 09/11/2009, 08:21 PM

Знать бы еще куда рыть в этом роутере.

подпись она и в Африке подпись!

0
Давид
Давид

User

Бывалый

Posts: 162

На форуме с: 03/14/2008

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

Рейтинг: 0

· 09/12/2009, 06:57 AM

Цитата
Warning: mysql_connect() [function.mysql-connect]: Host 'extremeserver' is not allowed to connect to this MySQL server in \www.*****.ru\www\l2top.php on line 28
Нет соединения с базой данных.


Такая ошибка появляется если поменять
Цитата
localhost
на ip компьютера
Цитата
192.168.0.11

Еще раз повторюсь на сервере стоит роутер!

подпись она и в Африке подпись!

0
Evolution
Evolution

User

Бывалый

Posts: 291

На форуме с: 03/16/2009

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

Рейтинг: 0

· 09/12/2009, 07:02 AM

ElectroMyStyle: Такая ошибка появляется если поменять на ip компьютера
Еще раз повторюсь на сервере стоит роутер!

На какой обвязке ??
Сайт на компе или на хостинге??

0
Давид
Давид

User

Бывалый

Posts: 162

На форуме с: 03/14/2008

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

Рейтинг: 0

· 09/12/2009, 07:17 AM

Нашел в чем была ошибка Outpost создал правила для апатча.
и блокировал скрипт. Всем спасибо за внимание!!!
Тему можно закрыть!

подпись она и в Африке подпись!

0
Topic is closed for replies