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

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

ruen
Форум/Web обвязка/[скрипт] L2top для L2emu Gracia Part Ii
Поиск

[скрипт] L2top для L2emu Gracia Part Ii

3 ответов150 просмотровСейчас просматривают: 1
Эмиль
Эмиль

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

Бывалый

Постов: 333

На форуме с: 29.01.2009

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

Рейтинг: 0

· 11.03.2009, 04:12

Нужен Рабочий Скрипт Поощрения За Голосования В L2TOP Для L2Emu Gracia Part II rev.1163

У Кого Имеется Плис Сылочку В Студию.
Тыкну Спасибо.

// Knokswille: правила, пункт 3, 13, 14

0
Максим
Максим

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

Бывалый

Постов: 129

На форуме с: 27.02.2007

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

Рейтинг: 0

· 11.03.2009, 08:16
Создаём файл к примеру l2top.php в него копируем этот код:

<script type='text/javascript'>
mytagid = Math.floor( Math.random() * 100 );
document.write("
» Нажмите, чтобы показать текст - нажмите опять, чтобы скрыть... «
<center>
<?

#Copyright автора не известен
#Edit By "Slastik" 3.12.2008

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

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

echo '
<b>1. <a href="http://l2top.ru/?voteme=5659'.$id_l2top.'" target="_blank">Проголосуйте на L2Top</a></b>
<br />
<a href="http://l2top.ru/?voteme=5659'.$id_l2top.'" target="_blank">
<img style="filter:alpha(opacity=50); opacity:0.5; -moz-opacity:1.0;" src="http://l2top.ru/vb/5659'.$id_l2top.'.pgif" width="88" height="31" border="0" alt="L2top.ru: Рейтинг-каталог серверов Lineage2"></a>
<br /><br />

<b>2. Введите ник персонажа<br/>
<b>проголосовав за наш сервер вы получите 50 Coin of Lords. Персонаж должен быть оффлайн в момент получения бонуса! <br/>
<input type="text" name="name"/><br/><br/>
<input type="submit" class="but" value="Получить бонус"/>

</form>';


}else{

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

$host='172.0.0.1'; // сервер на котором установлена база данных 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 charId FROM characters WHERE char_name = '$name';");
$chd=mysql_fetch_assoc($ch);

$char_id=$chd['charId'];
$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 .= 'Не удалось получить информацию с 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 = mysql_query("SELECT * FROM `items` WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = ".$bonus_id." AND `loc`='INVENTORY';");
$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`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`,`attributes`)
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`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`,`attributes`)
VALUES(".mysql_escape_string($char_id).", ".$ins_id.", $bonus_id, ".$cols_for_vote.", 0, 'INVENTORY', 0, 0, 0, 0, -1, 0)");
}
else
mysql_query("UPDATE `items` SET `count` = `count` + ".$cols_for_vote." WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = ".$bonus_id." AND `loc`='INVENTORY';");
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 color="green">Голос за '. $time.' засчитан.</font><br/>';
}
else
$error .= '<font color="red">Голос за '. $time.' уже был засчитан ранее.</font><br/>';
}
}
else
$error .= '<font color="red">Ваш голос на сайте L2Top.ru не найден.</font><br>';
}

echo $error.'<br><b><font color="red">'.$total.'</font></b> Coin of Lords<br/>';

}

?>
</center>
скрыть
");
document.close();


вот запрос в базу

Скрипт 100% рабочий.

// Knokswille: правила, пункт 13
0
Сергей
Сергей

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

Бывалый

Постов: 112

На форуме с: 16.05.2007

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

Рейтинг: 0

· 11.03.2009, 08:59
Если что можите проверить мой скрип. Неначительные изменения
<script type='text/javascript'>
mytagid = Math.floor( Math.random() * 100 );
document.write("
» Нажмите, чтобы показать текст - нажмите опять, чтобы скрыть... «
<?


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

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


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

</form>';


}else{


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

$host='*'; // сервер на котором установлена база данных L2J
$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/?servID='.$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 = mysql_query("SELECT * FROM `items` WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = 6673");
$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`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`, `attributes`)
VALUES(".mysql_escape_string($char_id).", ".$ins_id.", $bonus_id, ".$cols_for_vote.", 0, 'INVENTORY', 0, NULL, 0, 0, -1, '')");
данный запрос необходимо переделывать взависимости от того, какая структура таблицы items у вас на сборке сервера. Данный запрос отвечает за добавление бонусной вещи за голосование в инвентарь, если у вас её еще нет.
*/
mysql_query("INSERT INTO `items` (`owner_id`, `object_id`, `item_id`, `count`, `enchant_level`, `loc`, `loc_data`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`, `attributes`)
VALUES(".mysql_escape_string($char_id).", ".$ins_id.", $bonus_id, ".$cols_for_vote.", 0, 'INVENTORY', 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` = 6673");
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> Festival Adena зачислено вашему персонажу!<br/>';

}

?>
скрыть
");
document.close();


// Knokswille: правила, пункт 13

Мой скрип подходит под сервера l2emu Gracia Part 2 rev 979+ проверено на ревизиях 979 1123 1282
Просьба модераторам закрепить тему.

В мой код закралась ошибка (не оттуда скопировал) вместо obj_Id в 2 местах заменить charId

Ты блондинко, йа одмин,
Тибя много, йа адин,
Ты на капсе, йа пацтулом,
Щолкну мышкой плюсадин.

0
Тема закрыта для ответов