[help]Скрипт бонуса за голос(la2.mmotop.ru)
Нашел скрипт который из статистики голосов все данные переносит в отдельную таблицу БД, но он не выдает игрокам поощрения за их голоса... Помогите сделать скрипт который бы например уже из БД брал данные и выдавал игрокам поощрения, и желательно чтобы при запуске скрипта выдавал сразу всем кто еще не получил. Заранее благодарен.
Сам скрип с SQL файлом:
_http://dump.ru/file/3072896
Crystallon: Нашел скрипт который из статистики голосов все данные переносит в отдельную таблицу БД, но он не выдает игрокам поощрения за их голоса... Помогите сделать скрипт который бы например уже из БД брал данные и выдавал игрокам поощрения, и желательно чтобы при запуске скрипта выдавал сразу всем кто еще не получил. Заранее благодарен.
Сам скрип с SQL файлом:
_http://dump.ru/file/3072896
Скачай обычный скрипт и не мучийся) http://la2base.ru/page/2/
— 27
Вы бы хоть название темы посмотрели, человеку под mmotop скрипт нужен, а не под l2top
— рас!11рас!1
Jungo: под mmotop нету , по крайней мере я ещё нигде его не видел.....
не ври на серверах видил, но сам скрипт в шаре не видел..
Можно попробовать обратится к администрации mmotop и попробовать какнить с ними урегулировать..
Тема все еще актуальна, нужен рабочий скрипт! Вот что имеется на данный момент:
if(!isset($_POST['nick'])){
echo '<form action="top.php" method="post">';
echo 'Ник персонажа<br/>
<input style="color:#228B22;border:1px solid #FFD700;" type="text" name="nick"/><br/><br/>
<input style="color:#000080;border:1px solid #FFD700;" type="submit" value="Получить бонус"/>
</form>';
}else{
//коннектимся к базе данных:
mysql_connect('localhost','root',''); mysql_select_db('l2d');
// страница логов в топе
$vote_file='http://la2.mmotop.ru/stats/c1fdb30fd3aed9bb83f612c290f5856c/11032/3602.txt';
//ID вещи, которую надо прибавить при голосовании чару:
$item_id='25500';
//количество вещей, которые надо прибавить:
$ch=mysql_query("SELECT obj_Id FROM characters WHERE char_name = '$nick';");
$chd=mysql_fetch_assoc($ch);
$char_id=$chd['obj_Id'];
$item_count='1';
$now=date('d.m.Y');
$f=@file($vote_file);
$n=0;
foreach($f as $num=>$str) {
list($var1, $date_ip, $var2, $nick,)=explode(' ', $str);
list($date, $time, $ip)=explode(' ', $date_ip);
if($nick==$_POST['nick'] && $date==$now) {
if(mysql_numrows(mysql_query("SELECT * FROM `mmotopru_vote` WHERE `nick`='$nick' AND `date`='$date'"))!=0) {
echo 'Бонус за голос в<b> '.$time.' </b>уже был зачислен зачислен.<br/>';
$n++;
}
else {
//добавляем засчитанный голос в таблицу mmotopru_vote
mysql_query("INSERT INTO `mmotopru_vote` (`nick`, `date`) VALUES ('$nick', '$now')");
echo 'Бонус за голос в<b> '. $time.' </b>зачислен.<br/>';
//пошла процедура вставки в инвентарь вещи с нужным айди и нужным количеством
$result = mysql_query("SELECT * FROM `items` WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = 25500");
$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_value`, `class`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `source`, `destination`, `create_type`, `create_time`, `shadow_life_time`, `flags`)
VALUES(".$ins_id.", ".mysql_escape_string($char_id).", '25500', 'Coin of Arkanum', ".$item_count.", '0', '-2', '0', 'OTHER', 'INVENTORY', '0', '0', '0', NULL, '0', '0', '0', ".mysql_escape_string($char_id).", 'RequestBuyItem[122]/9111', '1228248362', '-1', '0')");
}
else
mysql_query("UPDATE `items` SET `count` = `count` + ".$item_count." WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = 25500");
$n++;
}
}
}
if($n==0) echo 'Ваш голос не найден на сайте <b>mmotop.ru</b>';
}
?>
Вот что выдает скрипт при попытке получения бонуса:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/la2ark/public_html/bonus/top.php on line 69
Никак немогу разобратся в чем проблема, поэтому прошу помощи. Заранее спасибо!
В таблу mmotopru_vote голос записывается, а вот итем никак нехочет выдавать...
Проверь вот это:
У тебя такая же структура таблицы items?
— Random Post Generator
DarkGod: Проверь вот это:Кодmysql_query("INSERT INTO `items` (`object_id`, `owner_id`, `item_id`, `name`, `count`, `enchant_level`, `enchant_attr`, `enchant_attr_value`, `class`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `source`, `destination`, `create_type`, `create_time`, `shadow_life_time`, `flags`)
У тебя такая же структура таблицы items?
+1 к твоему ответу. Хотел тоже самое написать, да не успел :(
Со структурой все в порядке, она взята со скрипта л2топ которым я пользуюсь уже давно.
За бесплатно не думаю что кто-то выложит ! Попробуй предложит кому нибудь денег, чтобы дали свой рабочий или написали новый.
раньше у меня был скрипт этот под базу, но винты полетели и капец всему что там было (
P.s. если вспомню где скачал - выложу
Вот сам скрипт, работает нормально, но есть один минус, не выдает приз. Делался вроде под L2Dream
if(!isset($_POST['nick'])){
echo '<form action="top.php" method="post">';
echo 'Ник персонажа<br/>
<input style="color:#228B22;border:1px solid #FFD700;" type="text" name="nick"/><br/><br/>
<input style="color:#000080;border:1px solid #FFD700;" type="submit" value="Получить бонус"/>
</form>';
}else{
//коннектимся к базе данных:
mysql_connect('localhost','root',''); mysql_select_db('l2d');
// страница логов в топе
$vote_file='http://la2.mmotop.ru/stats/c1fdb30fd3aed9bb83f612c290f5856c/11032/3602.txt';
//ID вещи, которую надо прибавить при голосовании чару:
$item_id='25500';
//количество вещей, которые надо прибавить:
$ch=mysql_query("SELECT obj_Id FROM characters WHERE char_name = '$nick';");
$chd=mysql_fetch_assoc($ch);
$char_id=$chd['obj_Id'];
$item_count='1';
$now=date('d.m.Y');
$f=@file($vote_file);
$n=0;
foreach($f as $num=>$str) {
list($var1, $date_ip, $var2, $nick,)=explode(' ', $str);
list($date, $time, $ip)=explode(' ', $date_ip);
if($nick==$_POST['nick'] && $date==$now) {
if(mysql_numrows(mysql_query("SELECT * FROM `mmotopru_vote` WHERE `nick`='$nick' AND `date`='$date'"))!=0) {
echo 'Бонус за голос в<b> '.$time.' </b>уже был зачислен зачислен.<br/>';
$n++;
}
else {
//добавляем засчитанный голос в таблицу mmotopru_vote
mysql_query("INSERT INTO `mmotopru_vote` (`nick`, `date`) VALUES ('$nick', '$now')");
echo 'Бонус за голос в<b> '. $time.' </b>зачислен.<br/>';
//пошла процедура вставки в инвентарь вещи с нужным айди и нужным количеством
$result = mysql_query("SELECT * FROM `items` WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = 25500");
$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_value`, `class`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `source`, `destination`, `create_type`, `create_time`, `shadow_life_time`, `flags`)
VALUES(".$ins_id.", ".mysql_escape_string($char_id).", '25500', 'Coin of Arkanum', ".$item_count.", '0', '-2', '0', 'OTHER', 'INVENTORY', '0', '0', '0', NULL, '0', '0', '0', ".mysql_escape_string($char_id).", 'RequestBuyItem[122]/9111', '1228248362', '-1', '0')");
}
else
mysql_query("UPDATE `items` SET `count` = `count` + ".$item_count." WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = 25500");
$n++;
}
}
}
if($n==0) echo 'Ваш голос не найден на сайте <b>mmotop.ru</b>';
}
?>
Huk99: Вот сам скрипт, работает нормально, но есть один минус, не выдает приз. Делался вроде под L2DreamРаскрывающийся текст<?
if(!isset($_POST['nick'])){
echo '<form action="top.php" method="post">';
echo 'Ник персонажа<br/>
<input style="color:#228B22;border:1px solid #FFD700;" type="text" name="nick"/><br/><br/>
<input style="color:#000080;border:1px solid #FFD700;" type="submit" value="Получить бонус"/>
</form>';
}else{
//коннектимся к базе данных:
mysql_connect('localhost','root',''); mysql_select_db('l2d');
// страница логов в топе
$vote_file='http://la2.mmotop.ru/stats/c1fdb30fd3aed9bb83f612c290f5856c/11032/3602.txt';
//ID вещи, которую надо прибавить при голосовании чару:
$item_id='25500';
//количество вещей, которые надо прибавить:
$ch=mysql_query("SELECT obj_Id FROM characters WHERE char_name = '$nick';");
$chd=mysql_fetch_assoc($ch);
$char_id=$chd['obj_Id'];
$item_count='1';
$now=date('d.m.Y');
$f=@file($vote_file);
$n=0;
foreach($f as $num=>$str) {
list($var1, $date_ip, $var2, $nick,)=explode(' ', $str);
list($date, $time, $ip)=explode(' ', $date_ip);
if($nick==$_POST['nick'] && $date==$now) {
if(mysql_numrows(mysql_query("SELECT * FROM `mmotopru_vote` WHERE `nick`='$nick' AND `date`='$date'"))!=0) {
echo 'Бонус за голос в<b> '.$time.' </b>уже был зачислен зачислен.<br/>';
$n++;
}
else {
//добавляем засчитанный голос в таблицу mmotopru_vote
mysql_query("INSERT INTO `mmotopru_vote` (`nick`, `date`) VALUES ('$nick', '$now')");
echo 'Бонус за голос в<b> '. $time.' </b>зачислен.<br/>';
//пошла процедура вставки в инвентарь вещи с нужным айди и нужным количеством
$result = mysql_query("SELECT * FROM `items` WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = 25500");
$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_value`, `class`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `source`, `destination`, `create_type`, `create_time`, `shadow_life_time`, `flags`)
VALUES(".$ins_id.", ".mysql_escape_string($char_id).", '25500', 'Coin of Arkanum', ".$item_count.", '0', '-2', '0', 'OTHER', 'INVENTORY', '0', '0', '0', NULL, '0', '0', '0', ".mysql_escape_string($char_id).", 'RequestBuyItem[122]/9111', '1228248362', '-1', '0')");
}
else
mysql_query("UPDATE `items` SET `count` = `count` + ".$item_count." WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = 25500");
$n++;
}
}
}
if($n==0) echo 'Ваш голос не найден на сайте <b>mmotop.ru</b>';
}
?>
Поменял табличку с итемами и стал выдавать
Huk99
Офигенно конеш что ты выложил мой же скрипт который я выкладывал несколькими постами выше, но всетаки мне нужна РЕАЛЬНАЯ помощь!








