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 и системы поощрения/[share] скрипт для L2top
Search

[share] скрипт для L2top

49 replies2,074 viewsCurrently viewing: 1
Вадим
Вадим

User

Бывалый

Posts: 237

На форуме с: 10/13/2007

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

Рейтинг: 0

· 06/01/2009, 08:38 PM

Бонус за голосование на л2тое. Вродебы не видел тут, работает на ура, уже переделал под сборки базы, только свои данные вписать и вперёд. + Лёгкая настройка, не надо по всему скрипту бегать менять. 1 нюанс ток, для получения бонуса нужно чтобы хотяб 1 вещь с таким ИД уже была у персонажа, и само сабой он должен быть оффлайн.

скрипт

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

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

echo '<center><font size="3" color=orange>Ник персонажа<br/></font>
<input type="text" name="name"/><br/><br/>
<input type="submit" value="Получить бонус"/></center>

</form>';


}else{

$bonus_id=0; // ID вещи которую зачисляем игроку как бонус за голосование
$cols_for_vote=0; // Колличество зачисляемых вещей за одно голосование
$id_l2top=0; // Ваш ID в рейтинге L2Top

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

$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/?servID='.$id_l2top.'&act=info');
if (!$html || !preg_match_all('/<td>([^<]+)<\/td>/', $html, $matches))
$error .= '<font size="3" color=orange>Не удалось получить информацию с L2Top.ru!</font><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 = mysql_query("SELECT * FROM `items` WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = 4037");
$row = mysql_fetch_assoc($result);
if ($row == array())
{
$result = mysql_query("SELECT MAX(`object_id`)+10 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` = 4037");
mysql_query("INSERT INTO `l2top` (`nick`, `ip`, `time`) VALUES ('".$name."', '".mysql_escape_string($your_ip1)."', '".mysql_escape_string($time)."')");
$total += $cols_for_vote;
$error .= '<font size="3" color=orange>Голос за '. $time.' зачислен.</font><br/>';
}
else
$error .= '<font size="3" color=orange>Голос за '. $time.' уже был зачислен.</font><br/>';
}
}
else
$error .= '<font size="3" color=orange>Ваш голос на сайте L2Top.ru не найден.</font><br>';
}

echo $error.'<br><font size="3" color=orange><b>'.$total.'</b> CoA(Coin of Adena) зачислено вашему персонажу!</font><br/>';

}

?>


запрос в бд

CREATE TABLE `l2top` (
`id` int(10) NOT NULL auto_increment,
`nick` varchar(30) NOT NULL,
`ip` varchar(20) NOT NULL,
`time` varchar(20) NOT NULL,
`date` timestamp NOT NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=cp1251;

— Тру падонак

0
Cmak
Cmak

Author

Новичок

Posts: 7

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

Рейтинг: 0

· 06/23/2009, 11:35 AM

1 нюанс ток, для получения бонуса нужно чтобы хотяб 1 вещь с таким ИД уже была у персонажа, и само сабой он должен быть оффлайн. - не кактит (


//Radar: Не катит? Тогда проходи мимо и ищи то, что катит! 10% по пункту 4.1 Общих правил!

0
IIIyXeР
IIIyXeР

User

Участник

Posts: 71

На форуме с: 07/23/2009

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

Рейтинг: 0

· 07/23/2009, 12:19 PM

Cmak: 1 нюанс ток, для получения бонуса нужно чтобы хотяб 1 вещь с таким ИД уже была у персонажа, и само сабой он должен быть оффлайн. - не кактит (


//Radar: Не катит? Тогда проходи мимо и ищи то, что катит! 10% по пункту 4.1 Общих правил!

Не катит - перепиши!

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

User

Бывалый

Posts: 496

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

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

Рейтинг: 0

· 07/23/2009, 03:52 PM

lol
А это что за строчка?

Код
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");

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

— Random Post Generator

0
sanja
sanja

User

Бывалый

Posts: 197

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

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

Рейтинг: 0

· 07/23/2009, 04:21 PM

Данный скрипт будет работать под любую БД и выдавать бонус если у Вас его до этого не было.
Все что нужно сделать это вписать данные бонуса, данные для соединения с БД и поправить текст выделенный красным в соответствии с вашей БД. (возможные значения obj_Id и charId).

Раскрывающийся текст
Цитата
<?php
$bonus_id=6673; // ID предмета-бонуса (по умолчанию Festival Adena)
$bunus_name='Festival Adena'; // название бонуса
$cols_for_vote=1; // Колличество зачисляемых вещей за одно голосование
$id_l2top=5767; // Ваш 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='localhost'; // сервер на котором установлена база данных L2J
$user='root'; // имя пользователя от базы данный
$pass='root'; // пароль пользователя от базы данный
$db='l2dream'; // название базы данных

$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 obj_Id,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_assoc($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_assoc($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_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'];
$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
prometey
prometey

User

Участник

Posts: 41

На форуме с: 05/07/2008

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

Рейтинг: 0

· 07/24/2009, 09:41 AM

Поставил Стрэс твой скрипт, и непахает, тоесть в файл 2 топ записует что зачислено, а персу в карман неложится!
И после нажатия получить бонус выдаёт вот это:

Цитата
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\engine\lineage\l2top.php on line 73 Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\engine\lineage\l2top.php on line 73 Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\engine\lineage\l2top.php on line 73 Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\engine\lineage\l2top.php on line 73 Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\engine\lineage\l2top.php on line 73
Голос за 00:14:37 24.07.09 зачислен.
Голос за 13:45:25 22.07.09 зачислен.
Голос за 12:34:04 21.07.09 зачислен.
Голос за 18:44:14 20.07.09 зачислен.
Голос за 12:28:43 19.07.09 зачислен.

15 Festival Adena зачислено вашему персонажу!


Помогите разобраться. Зарание спасибо!

0
sanja
sanja

User

Бывалый

Posts: 197

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

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

Рейтинг: 0

· 07/25/2009, 11:17 AM

попробуй в скрипте заменить все mysql_fetch_assoc на mysql_fetch_array

0
DioNiR90
DioNiR90

User

Бывалый

Posts: 146

На форуме с: 06/07/2007

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

Рейтинг: 0

· 07/25/2009, 11:55 AM

И что ты сделаешь тем что заменишь? Там же написано что запрос не прошёл и ничего нет для обработки.
А заменить одну функцию на другую не поможет.

0
sanja
sanja

User

Бывалый

Posts: 197

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

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

Рейтинг: 0

· 07/25/2009, 12:19 PM

DioNiR90: И что ты сделаешь тем что заменишь? Там же написано что запрос не прошёл и ничего нет для обработки.
А заменить одну функцию на другую не поможет.

Исправишь скрипт этим...По твоему все функции одинаковы? Или решил просто пофлудить?
Если заменить так как написал выше все работает...проверял

0
prometey
prometey

User

Участник

Posts: 41

На форуме с: 05/07/2008

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

Рейтинг: 0

· 07/26/2009, 12:58 PM

Там в 3х строчках заменить нада? Щас затэстим! Если паможет жмакну спасибки

Вот чё за бодягу пишет

Раскрывающийся текст
Цитата
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\engine\lineage\l2top.php on line 73 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\engine\lineage\l2top.php on line 73 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\engine\lineage\l2top.php on line 73 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\engine\lineage\l2top.php on line 73
Голос за 11:05:01 26.07.09 зачислен.
Голос за 11:13:57 25.07.09 зачислен.
Голос за 00:14:37 24.07.09 зачислен.
Голос за 13:45:25 22.07.09 зачислен.

12 Festival Adena зачислено вашему персонажу!

0
Антоха
Антоха

User

Бывалый

Posts: 289

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

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

Рейтинг: 0

· 07/26/2009, 01:50 PM

Вот исправил как сказал stress и работает без ошибок

Раскрывающийся текст
Код
<?php
$bonus_id=6673; // ID предмета-бонуса (по умолчанию Festival Adena)
$bunus_name='Festival Adena'; // название бонуса
$cols_for_vote=1; // Колличество зачисляемых вещей за одно голосование
$id_l2top=5767; // Ваш 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='localhost'; // сервер на котором установлена база данных L2J
$user='root'; // имя пользователя от базы данный
$pass='root'; // пароль пользователя от базы данный
$db='l2dream'; // название базы данных

$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 obj_Id,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
prometey
prometey

User

Участник

Posts: 41

На форуме с: 05/07/2008

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

Рейтинг: 0

· 07/26/2009, 02:36 PM

Стоп мне нада не для базы а под EmuRT Gracia Part 2 он вроди неподходит.

0
sanja
sanja

User

Бывалый

Posts: 197

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

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

Рейтинг: 0

· 07/26/2009, 02:42 PM

читай мое первое сообщение в этой теме...как сделать под другую сборку (Для эму в данном случае charId)

0
prometey
prometey

User

Участник

Posts: 41

На форуме с: 05/07/2008

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

Рейтинг: 0

· 07/26/2009, 05:22 PM

Так я поставил charId и этот бок мне выдаёт!

0
sanja
sanja

User

Бывалый

Posts: 197

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

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

Рейтинг: 0

· 07/26/2009, 05:36 PM

Проверяй как у тебя в бд...скрипт 100% рабочий, сам проверял и другие

0
prometey
prometey

User

Участник

Posts: 41

На форуме с: 05/07/2008

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

Рейтинг: 0

· 07/26/2009, 09:23 PM

А можеш Этот скрипт подогнать под маю сборку, ато с Пхп неочень дружу. Заранее спасибо!

0
sanja
sanja

User

Бывалый

Posts: 197

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

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

Рейтинг: 0

· 07/26/2009, 09:38 PM

ты в каком скрипте заменял то что выделено красным?
нужно в том что [ADM]RuLeZzz выложил..там уже заменены функции только obj_Id на charId замени

0
prometey
prometey

User

Участник

Posts: 41

На форуме с: 05/07/2008

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

Рейтинг: 0

· 07/27/2009, 07:31 AM

Да я сам поменял строчки на mysql_fetch_array и поставил то что красным выделено charId и выдаёт вот что:

Раскрывающийся текст
Цитата
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\engine\lineage\l2top.php on line 73 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\engine\lineage\l2top.php on line 73 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\engine\lineage\l2top.php on line 73 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\engine\lineage\l2top.php on line 73
Голос за 11:05:01 26.07.09 зачислен.
Голос за 11:13:57 25.07.09 зачислен.
Голос за 00:14:37 24.07.09 зачислен.
Голос за 13:45:25 22.07.09 зачислен.

12 Festival Adena зачислено вашему персонажу!

0
prometey
prometey

User

Участник

Posts: 41

На форуме с: 05/07/2008

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

Рейтинг: 0

· 07/27/2009, 02:44 PM

Чуток изменил и заработало! Вот держите кому нужно Под сборки EmuRT Gracia Part 2

Раскрывающийся текст
Цитата
<?php
$bonus_id=6673; // ID предмета-бонуса (по умолчанию Festival Adena)
$bunus_name='Festival Adena'; // название бонуса
$cols_for_vote=3; // Колличество зачисляемых вещей за одно голосование
$id_l2top=6766; // Ваш 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='Ваш Хост'; // сервер на котором установлена база данных 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
M
misha

User

Новичок

Posts: 2

На форуме с: 07/21/2007

Рейтинг: 0

· 07/27/2009, 08:21 PM

Поставил этот скрипт, ошибок не выдает, но почемуто неможет получить информацию с л2топ? в чем проблема, подскажите

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