[help]Проблема с L2top
сборка ла2базе
<script type='text/javascript'>
mytagid = Math.floor( Math.random() * 100 );
document.write("
<html><center>
<head>
<title>Бонус за голосование!</title>
<link href="templates/style.css" rel="stylesheet" type="text/css" media="screen" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico" />
</head>
<body class=body2>
<div id="bgiright">
<div id="con">
<div id="site2">
<div id="111" class="321" align="right">
<span class="321"></span><br></div>
<div id="123"></div>
<div id="right" align="right"> </div>
<div id="upmenu2">
<div class="submenu">
<table border=0 align=center width=100%>
<tr><td heigth=10 valign=top><span id="menu_text"> </span>
</td></tr>
<tr><td heigth=10 valign=bottom>
<div><a href="index.php"><font color="#f3c0a1">На главную</font></a></div>
<div><a href="l2top.php"><font color="#f3c0a1">Бонус за голос в L2Top</font></a></div>
</div>
</div>
</td></tr>
</table>
<div class="clear"></div>
<div class="mainmenu">
</div></div>
</div>
<div class="clear"> </div>
<div id="con2">
<div class="content">
<div class="logo"><img class="logo_img" src="img/blank.gif" alt="" width="276" height="460" border="0" usemap="#Map" />
<map name="Map"><area shape="circle" coords="138,89,54" href="http://la2madness.ru/" target="_blank"></map></div>
<div class=textarea2>
<div align="left">
<?php
//Пожалуйста сохраняйте копирайты. GamePulse Team. Gamepulse.ru
function antiinjection($str)
{
$words = array("\\", "'", ",", ";", "--", "-", "%20", "%27", " ", "`", "=", "%");
$words_preg = array("|INSERT|i", "|DROP|i", "|SELECT|i", "|DELETE|i", "|UPDATE|i", "|TRUNCATE|i", "|SHUTDOWN|i");
for($i=0;$i<count($words_preg);$i++){
if(preg_match($words_preg[$i], $str)){$apina = 500;}
}
for($i=0;$i<count($words);$i++){
$jopa=strpos($str, $words[$i]);
if(is_numeric($jopa)){$apina = 500;}
}
if($apina==500){
return FALSE;
} else {
return TRUE;
}
}
$adena_for_vote = 1; // Скольо аден платим за 1 голос. ВНИМАНИЕ! Чтобы добавить бонус у персонажа должен быть хоть 1 предмет с таким ИД!
$mysql_host = "Тут мой IP";
$mysql_login = "root";
$mysql_pass = "Тут мой пароль";
$gameserver_db = "тут моя база";
$realtime = time();
$exp_time = 3;
$realtime2 = $realtime+$exp_time;
$serverip='Тут мой IP';
$porta=9014;
$sockres = @fsockopen ($serverip,$porta, $errno, $errstr, 1);
if (!$sockres)
{
@fclose($sockres);
echo "<span style='color:#990000;'>
<h1>Проголосуй и получи приз!</h1>
<b>Бонус за голос в L2Top.ru!</b><br>
Чтобы получить приз за голосование в рейтинге, вы должны:<br>
Проголосовать за сервер. ( <a href='http://l2top.ru/?voteme=6628' target='_blank'><b>
Нажмите здесь, чтобы проголосовать</u></b></a> )<br>
(<i>Голос считается зачисленным, если на L2TOP вам после голосования написали 'Спасибо. Ваш голос зачтен'. Приз можно получить только если ваш голос был зачтен!</i>)<br>
На этой странице вписать ник персонажа, которому вы хотите отдать приз.<br>
Далее если все данные верны вы получить приз на указанного персонажа.<br>
Внимание! Перед отправкой бонуса убедитесь что ваш персонаж не в онлайне, иначе мы не гарантируем зачисление.
<br><br></span><img src='img/offline.jpg' height='33' />";
}
else {
@fclose($sockres);
$ip='Тут мой IP';
if (!IsSet($ip)) die('IP required');
if (!IsSet($port)) $port=9014;
$fs=@fsockopen($ip,$port) or die('Sock ERROR');
fclose($fs);
echo "<span style='color:#990000;'>
<h1>Проголосуй и получи приз!</h1>
<b>Бонус за голос в L2Top.ru!</b><br>
Чтобы получить приз за голосование в рейтинге, вы должны:<br>
Проголосовать за сервер. ( <a href='http://l2top.ru/?voteme=6628' target='_blank'><b>
Нажмите здесь, чтобы проголосовать</u></b></a> )<br>
(<i>Голос считается зачисленным, если на L2TOP вам после голосования написали 'Спасибо. Ваш голос зачтен'. Приз можно получить только если ваш голос был зачтен!</i>)<br>
На этой странице вписать ник персонажа, которому вы хотите отдать приз.<br>
Далее если все данные верны вы получить приз на указанного персонажа.<br>
Внимание! Перед отправкой бонуса убедитесь что ваш персонаж не в онлайне, иначе мы не гарантируем зачисление.
<br><br></span><img src='img/online.jpg' height='33' /><br><br>";
}
if (isset($_POST['nick']))
{
$total = 0;
$your_ip = $_SERVER['REMOTE_ADDR'];
echo '<fieldset>
<legend><img src=img/coins_add.jpg> <b>Бонус для персонажа: </b><font color=red>'.$_POST['nick'].'</font><br /><br></legend>';
echo '<b>Ваш IP: </b>'.$your_ip.'<br />';
$error = '';
$voters = array();
$link = mysql_connect($mysql_host, $mysql_login, $mysql_pass) or die("Could not connect : " . mysql_error());
mysql_select_db($gameserver_db) or die("Could not connect : " . mysql_error());
mysql_query ("set NAMES cp1251");
$result = mysql_query("SELECT `obj_Id` FROM `characters` WHERE `char_name` = '".mysql_escape_string($_POST['nick'])."'");
$row = mysql_fetch_assoc($result);
if ($row == array())//есть ли такой чар вообще
$error .= '<font color=red>Персонаж с таким именем не найден в базе!<br /></font>';
else
{
$char_id = $row['obj_Id'];
$html = @file_get_contents('http://l2top.ru/?servID=6628&act=info');
if (!$html || !preg_match_all('/<td><a href=\'[^\']+\'>([^<]+)<\/a><\/td>\s+<td>([^<]+)<\/td>/', $html, $matches))
$error .= 'Не удалось получить информацию с l2top.ru!<br/>';
else
{
foreach ($matches[1] as $id => $ip)
{
if ($ip == $your_ip)
$voters[] = $matches[2][$id];
}
if ($voters != array())
{
foreach ($voters as $time)
{
$result = mysql_query("SELECT * FROM `l2top` WHERE `ip` = '".mysql_escape_string($your_ip)."' 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` = 9995");
$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 `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.", 9995, ".$adena_for_vote.", 0, 'INVENTORY', 0, 0, 0, NULL, 0, 0, -1, 0)");
}
else
mysql_query("UPDATE `items` SET `count` = `count` + ".$adena_for_vote." WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = 9995");
mysql_query("INSERT INTO `l2top` (`nick`, `ip`, `time`) VALUES ('".mysql_escape_string($_POST['nick'])."', '".mysql_escape_string($your_ip)."', '".mysql_escape_string($time)."')");
$total += $adena_for_vote;
$error .= '<font color=green>Голос за '. $time.' засчитан!<br/></font>';
}
else
$error .= '<font color=red>Голос за '. $time.' уже был засчитан ранее!<br/></font>';
}
}
else
$error .= '<font color=red>Ваш ИП не найден в списке голосовавших за сервер. Пожалуйста сначала проголосуйте!<br></font>';
}
}
echo $error.'<font color=green><b>'.$total.' L2Top Coin</b></font> добавлено вашему чару!<br/><br><a href="l2top.php">Назад</a></fieldset>';
}
else
{
?>
<form method="POST" action="l2top.php">
<fieldset>
<legend><b><img src='img/coins_add.jpg'> <font color='blue'>Получить приз: </font></b></legend>
<table cellspacing=0 border=0 cellpadding=0 width=100%>
<tr><td align=left>
<br><b>Введите свой ник </b>
<br><i>(Или персонажа на которого хотите получить бонус. <font color="red">Персонаж должен находится OFFLINE! Т.е. быть не в игре.Иначе бонус зачислен не будет.</font>)</i> <br><br>
</td>
<td align=right>
<div align=right>
<input type=text name=nick value='' maxlength='16'>
</div>
</td></tr>
</table>
</fieldset>
<br>
<div align=right>
<input type=submit name=select value='Продолжить'></form></div>
<br>
<?php
}
?>
<img src='img/blank.gif' height='60' />
</div></div>
</div>
</div><div id="downmenu2"><div class="mainmenu"></div>
<div class="submenu">
</div>
<span id="menu_text2"> </span>
<br>
</div>
</div>
</div>
<div>
</body></center>
</html>
скрыть
document.close();
вот запрос в базу
<script type='text/javascript'>
mytagid = Math.floor( Math.random() * 100 );
document.write("
MySQL Data Transfer
Source Host: localhost
Source Database: lin2world
Target Host: localhost
Target Database: lin2world
Date: 29.05.2008 23:51:16
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for l2top
-- ----------------------------
DROP TABLE IF EXISTS `l2top`;
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=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=latin1;
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for gamepulse_top
-- ----------------------------
DROP TABLE IF EXISTS `gamepulse_top`;
CREATE TABLE `gamepulse_top` (
`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=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=latin1;
-- ----------------------------
-- Records
-- ----------------------------
скрыть
document.close();
Ламар можеш дать этот скрипт голосования тыкну спс
ото искал везде сылки битые и неработают ((
поправь мне этот скрипт и я тебе дам его
в принципе на держи _http://dump.ru/file/2334240
если он у тебя заработает поможешь мне ок?
Выдаёт ошибку невозможно получить данные с l2top пытаюся сам чтото сделать пока ничего
ElectroMyStyle: Этот скрипт для OFFa по-моему!!! :)
Нет,для явы он...но он не пашет
+1 foXSer Дайте нормальный скрипт под базу!!! что бы кидал вещь если её нету в инвентаре!
— Оо
Выкладываю скрипт L2Top Bonus для сборки la2base 1.1.7
Что умеет скрипт:
1. Проверяет есть ли такой персонаж
2. Зачисляет бонус только если персонаж не в игре
3. Зачисляет бонус если у персонажа раньше не было его в инвентаре
_http://depositfiles.com/files/ihtw9rtlk
_http://dump.ru/file/2429944
З.Ы. кому помог, не жалеем спасибку
stress: Выкладываю скрипт L2Top Bonus для сборки la2base 1.1.7
Что умеет скрипт:
1. Проверяет есть ли такой персонаж
2. Зачисляет бонус только если персонаж не в игре
3. Зачисляет бонус если у персонажа раньше не было его в инвентареСкрытый текст
_http://depositfiles.com/files/ihtw9rtlk
_http://dump.ru/file/2429944
З.Ы. кому помог, не жалеем спасибку
у меня такая ошыбка :( чё делать???
artsss1: вот рабочий скрипт
скачать
Смотри что мне пишет.....
млин, ну что за.... :( ппц помогите!!!!!!!!!!
Мой рабочий скрипь
<?
if(!isset($_POST['name'])){
echo '<form action="l2top.php" method="post">';
echo 'Ник персонажа<br/>
<input type="text" name="name"/><br/><br/>
<input type="submit" value="Получить бонус"/>
</form>';
}else{
$bonus_id=9818; // ID предмета-бонуса (по умолчанию Festival Adena)
$cols_for_vote=12; // Колличество зачисляемых вещей за одно голосование
$id_l2top=6824; // Ваш ID в рейтинге L2Top
$host='localhost'; // сервер на котором установлена база данных L2J
$user='****'; // имя пользователя от базы данный
$pass='****'; // пароль пользователя от базы данный
$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=1234&act=info');
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'];
$kk=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', 'none')") or die("FUCK");
}
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> КОЕ зачислено вашему персонажу!<br/></div>';
}
?>
В строчке $html = @file_get_contents('http://l2top.ru/?servID=1234&act=info'); - меняем 1234 на свой ID в L2top.ru
Запрос в базу:
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=InnoDB DEFAULT CHARSET=latin1;
NewBeees: Мой рабочий скрипь
<?
if(!isset($_POST['name'])){
echo '<form action="l2top.php" method="post">';
echo 'Ник персонажа<br/>
<input type="text" name="name"/><br/><br/>
<input type="submit" value="Получить бонус"/>
</form>';
}else{
$bonus_id=9818; // ID предмета-бонуса (по умолчанию Festival Adena)
$cols_for_vote=12; // Колличество зачисляемых вещей за одно голосование
$id_l2top=6824; // Ваш ID в рейтинге L2Top
$host='localhost'; // сервер на котором установлена база данных L2J
$user='****'; // имя пользователя от базы данный
$pass='****'; // пароль пользователя от базы данный
$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=1234&act=info');
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'];
$kk=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', 'none')") or die("FUCK");
}
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> КОЕ зачислено вашему персонажу!<br/></div>';
}
?>
В строчке $html = @file_get_contents('http://l2top.ru/?servID=1234&act=info'); - меняем 1234 на свой ID в L2top.ru
Запрос в базу:
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=InnoDB DEFAULT CHARSET=latin1;
Тоже самое пишет "Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in /home/thepraye/public_html/nektov.info/l2top.php on line 27
Нет соединения с базой данных." в чём проблема??
llamar: а у меня всё норма работает сборка la2base 1.1.7 final
А у тебя БД на сайте или на компе?
barti: А у тебя БД на сайте или на компе?
На каком ешё сайте? скрипт подключаеш к базе сервера, и заливаеш теда таблицу и всё.



![-=[BloodKill]=-](/uploads/fotos/av-39301.jpg)




