[help]проблема со скриптом...л2топ.
не работает скрипт голосование , при нажатие "получить бонус вот что пишет
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/wm9399/public_html/megapk/l2top.php on line 43
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/wm9399/public_html/megapk/l2top.php on line 67
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/wm9399/public_html/megapk/l2top.php on line 71
FUCK
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=65346; // ID предмета-бонуса (по умолчанию Festival Adena)
$cols_for_vote=4000; // Колличество зачисляемых вещей за одно голосование
$id_l2top=6820; // Ваш ID в рейтинге L2Top
$host='а не попячить)?'; // сервер на котором установлена база данных L2J
$user='root'; // имя пользователя от базы данный
$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='.$id_l2top.'&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> Festival Adena зачислено вашему персонажу!<br/></div>';
}
?>
Нажму пасибку , как минимум 3 раза =)
Жду помощи =)
да у меня также ошибка только:
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=6673; // ID предмета-бонуса (по умолчанию Festival Adena)
$cols_for_vote=1; // Колличество зачисляемых вещей за одно голосование
$id_l2top=****; // Ваш ID в рейтинге L2Top
$host='localhost'; // сервер на котором установлена база данных L2J
$user='root'; // имя пользователя от базы данный
$pass='оО'; // пароль пользователя от базы данный
$db='l2d'; // название базы данных
$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 .= '<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 (object_id`, `owner_id`, `item_id`, `name`, `count`, `enchant_level`, `enchant_attr`, `enchant_attr_volue`, `class`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, custom_type2`, `source`, `destination`, `crete_type`, `crete_time`, `shadow_life_time`, `flags`) 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> Festival Adena зачислено вашему персонажу!<br/></div>';
}
?>
вроде бы все сделал залил бд переписал запросы! но не пойму и за чего ошибка !
[Офтоп] Рабочий срипт для L2Top
так то не очень но для шары сайдёт
ЗЫ стоял у меня и работал отлично
#Copyright автора не известен
#Moded by Lex 3.11.08
/*
Для работы скрипта необходимо создать таблицу:
CREATE TABLE IF NOT EXISTS `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=utf8;
Скрипт полностью функционирует на данной структуре таблицы items:
CREATE TABLE IF NOT EXISTS `items` (
`owner_id` int(11) DEFAULT NULL,
`object_id` int(11) NOT NULL DEFAULT '0',
`item_id` int(11) DEFAULT NULL,
`count` int(11) DEFAULT NULL,
`enchant_level` int(11) DEFAULT NULL,
`loc` varchar(10) DEFAULT NULL,
`loc_data` int(11) DEFAULT NULL,
`price_sell` int(11) DEFAULT NULL,
`price_buy` int(11) DEFAULT NULL,
`time_of_use` int(11) DEFAULT NULL,
`custom_type1` int(11) DEFAULT '0',
`custom_type2` int(11) DEFAULT '0',
`mana_left` decimal(3,0) NOT NULL DEFAULT '-1',
PRIMARY KEY (`object_id`),
KEY `key_owner_id` (`owner_id`),
KEY `key_loc` (`loc`),
KEY `key_item_id` (`item_id`),
KEY `key_time_of_use` (`time_of_use`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
*/
if(!isset($_POST['name'])){
echo '<form action="index.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=4; // Колличество зачисляемых вещей за одно голосование
$id_l2top=6950; // Ваш ID в рейтинге L2Top
$host='localhost'; // сервер на котором установлена база данных L2J
$user='root'; // имя пользователя от базы данный
$pass='L2Funyhl7oy7x9adk14kdafldhtl4ac6gs63af'; // пароль пользователя от базы данный
$db='la2base'; // название базы данных
$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`, `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` = 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> Карнавал адена зачислено вашему персонажу!<br/>';
}
</center>
?>
Он изменяет значение итема или добовляет?
т.е если в инвентаре нету итема который должен получить игрок приз дадут?
— Оо
-=[BloodKill]=-: Он изменяет значение итема или добовляет?
т.е если в инвентаре нету итема который должен получить игрок приз дадут?
Добавляет
т.е. если итема нету то он даст )
если надо етот же скрипт с хорошой отделкой т.е. не просто чёрно белый текст с кнопкой и тд а красиво сделаный index.php под этот срипт
то пиши но фаруме я выложу
Mstitel:
Добавляет
т.е. если итема нету то он даст )
если надо етот же скрипт с хорошой отделкой т.е. не просто чёрно белый текст с кнопкой и тд а красиво сделаный index.php под этот срипт
то пиши но фаруме я выложу
Ну давай красивый:)
— Оо
по просьбе Cruel и думаю других пользователей выкладываю более красивый формат для рейтинга голосов
[attachment=3135:l2top.rar]
краткий мануал:
1 в файле индекс поменять звёздочкин а ваши данные
2 добавить в таблицу MySQL 2 файла sql (они также написаны в файле индекса)
3 кинуть папку l2top в корневую папку сайта
4 сделать (chmode 444) или в winows просто поставить "только для чтения"
5 заходить на скрипт так
http://ваш сайт.ру/l2top
Проблема не дает приз если его нету в инвентаре!
кто нибудь Сможет переделать под дримавскую сборку! Заранее благодарю
Епть... А вот это что по-твоему делает? Какая у тебя сборка?
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
у меня l2Dream rev1057!
Вот я переделал запрос но приз не даёт! дает в том случае если у тебя есть 1 фа в инвентаре!
<br>
<?
#Copyright автора не известен
#Moded by Lex 3.11.08
/*
Для работы скрипта необходимо создать таблицу:
CREATE TABLE IF NOT EXISTS `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=utf8;
Скрипт полностью функционирует на данной структуре таблицы items:
CREATE TABLE IF NOT EXISTS `items` (
`owner_id` int(11) DEFAULT NULL,
`object_id` int(11) NOT NULL DEFAULT '0',
`item_id` int(11) DEFAULT NULL,
`count` int(11) DEFAULT NULL,
`enchant_level` int(11) DEFAULT NULL,
`loc` varchar(10) DEFAULT NULL,
`loc_data` int(11) DEFAULT NULL,
`price_sell` int(11) DEFAULT NULL,
`price_buy` int(11) DEFAULT NULL,
`time_of_use` int(11) DEFAULT NULL,
`custom_type1` int(11) DEFAULT '0',
`custom_type2` int(11) DEFAULT '0',
`mana_left` decimal(3,0) NOT NULL DEFAULT '-1',
PRIMARY KEY (`object_id`),
KEY `key_owner_id` (`owner_id`),
KEY `key_loc` (`loc`),
KEY `key_item_id` (`item_id`),
KEY `key_time_of_use` (`time_of_use`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
*/
if(!isset($_POST['name'])){
echo '<form action="index.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=*; // Ваш ID в рейтинге L2Top
$host='localhost'; // сервер на котором установлена база данных L2J
$user='root'; // имя пользователя от базы данный
$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` (`object_id`, `owner_id`, `item_id`, `name`, `count`, `enchant_level`, `enchant_attr`, `enchant_attr_volue`, `class`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `source`, `destination`, `crete_type`, `crete_time`, `shadow_life_time`, `flags`)
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` = 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> Карнавал адена зачислено вашему персонажу!<br/>';
}
?>
</center>
Вот stress держи !
_http://dump.ru/file/2433991 Скачать файл SQL
Буду благодарен !
Вот, должно работать
_http://depositfiles.com/files/4vrjtjwms
ПАРОЛЬ: www.la2base.ru
waip42: Проблема не дает приз если его нету в инвентаре!
кто нибудь Сможет переделать под дримавскую сборку! Заранее благодарю
а нелегче просто сменить таблицы и всё в MySQL для голосование?
держи скрипт полностью рабочий тестил у себя на серве!!!
_http://depositfiles.com/ru/files/igjdrzkq8




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



