Собственно прошу помощи, использовал раньше скрипт l2-script для фениксов, он прекрасно работал на сборке sun-dev gracia epilogue. Но на сборке, имеющую такую же основу, open-team freya, отказывается работать и даже не добавляет данные в mmotop_voted_ip. В чем может быть причина?
Перерыл все, единственная разница в структуре таблицы item_delayed
<?php
# l2-scripts.ru ICQ 9-013-612 Юрий
# Настраиваем конфиг для доступа в вашу базу данных
$L2JBS_config["mysql_host"]="";
$L2JBS_config["mysql_port"]="";
$L2JBS_config["mysql_db"]="";
$L2JBS_config["mysql_login"]="";
$L2JBS_config["mysql_password"]="";
# переменная для обозначения столбика в таблице Characters (Значения: obj_Id - в интерлюде используются, charId - используются почти во всех сборках выше интерлюда)
$object_id="obj_Id";
# Переменная для обозначения столбика имя_персонажа ( во всех мне известных сборках - одинаковая ( не трогаем)
$char_name="char_name";
# Не трогаем
$prefiks=''; //префикс сервера Берется из ссылки \\\4802.txt///
$prizinfo['id']=''; // Ид приза
$prizinfo['kolvo']=; // Количества приза
$linkstat=''; //ссылка статистики
# Далее идет технический код, который вам без специальных знаний изменять не рекомендуется !
$link = @mysql_connect($L2JBS_config['mysql_host'].":".$L2JBS_config['mysql_port'], $L2JBS_config['mysql_login'], $L2JBS_config['mysql_password']) or die ('Impossible create connect with the base! Check given required for connect with base MySQL!<br>Possible server on preventive maintenance presently, try to call at later.');
@mysql_select_db($L2JBS_config['mysql_db'], $link) or die ('Нет соединения с базой!');
error_reporting(0);
date_default_timezone_set('Europe/Moscow');
echo '<pre>';
//Считываем список голосовавших
$content = @file_get_contents($linkstat);
$massive=explode("\n", $content);
for ($y=0;$y<count($massive);$y++)
{
$asd=explode(" ",$massive[$y]);
$date=explode(" ",$asd[1]);
$massive2[$y]['name']=$asd[3];
$massive2[$y]['ip']=$asd[2];
$date123=explode(".",$date[0]);
$massive2[$y]['date']=implode("-",array($date123[2],$date123[1],$date123[0]));
$massive2[$y]['time']=$date[1];
}
$count=count($massive2)-1;
//Начинаем проверять и зачислять бонусы
for ($i=0;$i<$count;$i++)
{
$message='';
$char=$massive2[$i]['name'];
$ip=$massive2[$i]['ip'];
$date=$massive2[$i]['date'];
$time=$massive2[$i]['time'];
$query=mysql_result(mysql_query("SELECT `charid` FROM `mmotop_voted_ip` WHERE `charname` = '".($char)."' AND `date_vote` = '".($date)."' AND `time_vote` = '".($time)."'"),0,0);
if (strlen($query)>1){$message='Персонажу ';$message.=$char;$message.=' бонус за ';$message.=$date;$message.=' уже был начислен';}
else
{
$charinfo1=mysql_fetch_array(mysql_query("SELECT * FROM characters WHERE $char_name='".($char)."'"),MYSQL_ASSOC);
if (strlen($charinfo1[$object_id])<1)
{$message='Персонажа с ником ';
$message.=$char;
$message.=' в игре не найдено!';}
else
{
//Добавление в таблицы всякой лабуды
$insid1 = mysql_result(mysql_query("SELECT MAX(`id`)+1 AS `id` FROM `mmotop_voted_ip`"),0,0);
$ipAddress = $ip;
$date_time[0]=$massive2[$i]['date'];
$date_time[1]=$massive2[$i]['time'];
$date_now[1]=date("Y-m-d");
$date_now[0]=date("H:i");
$charid=$charinfo1[$object_id];
$go1=mysql_query("INSERT INTO `mmotop_voted_ip` (`id`,`charid`,`charname`,`ip`,`date_vote`,`time_vote`,`date_deliver`,`time_deliver`) VALUES ('".($insid1)."','".($charid)."','$char','$ipAddress','".($date_time[0])."','".($date_time[1])."','".($date_now[1])."','".($date_now[0])."')");
$date_now2=date("Y-m");
$date=explode("-",$date_time[0]);
$datesr=implode("-",array($date[0],$date[1]));
if ($go1)
{
$name=mysql_result(mysql_query("SELECT name FROM etcitem WHERE item_id='".($prizinfo['id'])."'"),0,0);
if (strlen($name)<1){$name=mysql_result(mysql_query("SELECT name FROM weapon WHERE item_id='".($prizinfo['id'])."'"),0,0);}
if (strlen($name)<1){$name=mysql_result(mysql_query("SELECT name FROM armor WHERE item_id='".($prizinfo['id'])."'"),0,0);}
$message=$char;
$message.='. Приз: ';
$message.=$name;
$message.=' ';
$message.=$prizinfo['kolvo'];
//Добавление в инвентарь.
//Проверка на наличие
mysql_query("INSERT INTO `items_delayed` (`owner_id`, `item_id`, `count`, `enchant_level`, `flags`, `payment_status`, `description`)
VALUES('".$charid."', '".$prizinfo['id']."', '".$prizinfo['kolvo']."', '0', '0', '0', 'MMOTop')");
$message.=' получен.';
}
else
{
$message='Бонус персонажу ';$message.=$char;$message.=' не доставлен.';$message.=mysql_error();
}
}
////////////////////////////////
}
echo $message.'<br>';
}
?>
Добавлено через 1 минуту
переделал под структуру таблички items_delayed (правильно нет?)
mysql_query("INSERT INTO `items_delayed` (`owner_id`, `item_id`, `count`, `enchant_level`, `attribute`, `attribute_level`, `elem0`, `elem1`, `elem2, `elem3`, `elem4`, `elem5`, `flags`, `payment_status`, `description`)
VALUES('".$charid."', '".$prizinfo['id']."', '".$prizinfo['kolvo']."', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'MMOTop')");
один фиг не пашет
Перерыл все, единственная разница в структуре таблицы item_delayed
<?php
# l2-scripts.ru ICQ 9-013-612 Юрий
# Настраиваем конфиг для доступа в вашу базу данных
$L2JBS_config["mysql_host"]="";
$L2JBS_config["mysql_port"]="";
$L2JBS_config["mysql_db"]="";
$L2JBS_config["mysql_login"]="";
$L2JBS_config["mysql_password"]="";
# переменная для обозначения столбика в таблице Characters (Значения: obj_Id - в интерлюде используются, charId - используются почти во всех сборках выше интерлюда)
$object_id="obj_Id";
# Переменная для обозначения столбика имя_персонажа ( во всех мне известных сборках - одинаковая ( не трогаем)
$char_name="char_name";
# Не трогаем
$prefiks=''; //префикс сервера Берется из ссылки \\\4802.txt///
$prizinfo['id']=''; // Ид приза
$prizinfo['kolvo']=; // Количества приза
$linkstat=''; //ссылка статистики
# Далее идет технический код, который вам без специальных знаний изменять не рекомендуется !
$link = @mysql_connect($L2JBS_config['mysql_host'].":".$L2JBS_config['mysql_port'], $L2JBS_config['mysql_login'], $L2JBS_config['mysql_password']) or die ('Impossible create connect with the base! Check given required for connect with base MySQL!<br>Possible server on preventive maintenance presently, try to call at later.');
@mysql_select_db($L2JBS_config['mysql_db'], $link) or die ('Нет соединения с базой!');
error_reporting(0);
date_default_timezone_set('Europe/Moscow');
echo '<pre>';
//Считываем список голосовавших
$content = @file_get_contents($linkstat);
$massive=explode("\n", $content);
for ($y=0;$y<count($massive);$y++)
{
$asd=explode(" ",$massive[$y]);
$date=explode(" ",$asd[1]);
$massive2[$y]['name']=$asd[3];
$massive2[$y]['ip']=$asd[2];
$date123=explode(".",$date[0]);
$massive2[$y]['date']=implode("-",array($date123[2],$date123[1],$date123[0]));
$massive2[$y]['time']=$date[1];
}
$count=count($massive2)-1;
//Начинаем проверять и зачислять бонусы
for ($i=0;$i<$count;$i++)
{
$message='';
$char=$massive2[$i]['name'];
$ip=$massive2[$i]['ip'];
$date=$massive2[$i]['date'];
$time=$massive2[$i]['time'];
$query=mysql_result(mysql_query("SELECT `charid` FROM `mmotop_voted_ip` WHERE `charname` = '".($char)."' AND `date_vote` = '".($date)."' AND `time_vote` = '".($time)."'"),0,0);
if (strlen($query)>1){$message='Персонажу ';$message.=$char;$message.=' бонус за ';$message.=$date;$message.=' уже был начислен';}
else
{
$charinfo1=mysql_fetch_array(mysql_query("SELECT * FROM characters WHERE $char_name='".($char)."'"),MYSQL_ASSOC);
if (strlen($charinfo1[$object_id])<1)
{$message='Персонажа с ником ';
$message.=$char;
$message.=' в игре не найдено!';}
else
{
//Добавление в таблицы всякой лабуды
$insid1 = mysql_result(mysql_query("SELECT MAX(`id`)+1 AS `id` FROM `mmotop_voted_ip`"),0,0);
$ipAddress = $ip;
$date_time[0]=$massive2[$i]['date'];
$date_time[1]=$massive2[$i]['time'];
$date_now[1]=date("Y-m-d");
$date_now[0]=date("H:i");
$charid=$charinfo1[$object_id];
$go1=mysql_query("INSERT INTO `mmotop_voted_ip` (`id`,`charid`,`charname`,`ip`,`date_vote`,`time_vote`,`date_deliver`,`time_deliver`) VALUES ('".($insid1)."','".($charid)."','$char','$ipAddress','".($date_time[0])."','".($date_time[1])."','".($date_now[1])."','".($date_now[0])."')");
$date_now2=date("Y-m");
$date=explode("-",$date_time[0]);
$datesr=implode("-",array($date[0],$date[1]));
if ($go1)
{
$name=mysql_result(mysql_query("SELECT name FROM etcitem WHERE item_id='".($prizinfo['id'])."'"),0,0);
if (strlen($name)<1){$name=mysql_result(mysql_query("SELECT name FROM weapon WHERE item_id='".($prizinfo['id'])."'"),0,0);}
if (strlen($name)<1){$name=mysql_result(mysql_query("SELECT name FROM armor WHERE item_id='".($prizinfo['id'])."'"),0,0);}
$message=$char;
$message.='. Приз: ';
$message.=$name;
$message.=' ';
$message.=$prizinfo['kolvo'];
//Добавление в инвентарь.
//Проверка на наличие
mysql_query("INSERT INTO `items_delayed` (`owner_id`, `item_id`, `count`, `enchant_level`, `flags`, `payment_status`, `description`)
VALUES('".$charid."', '".$prizinfo['id']."', '".$prizinfo['kolvo']."', '0', '0', '0', 'MMOTop')");
$message.=' получен.';
}
else
{
$message='Бонус персонажу ';$message.=$char;$message.=' не доставлен.';$message.=mysql_error();
}
}
////////////////////////////////
}
echo $message.'<br>';
}
?>
Добавлено через 1 минуту
переделал под структуру таблички items_delayed (правильно нет?)
mysql_query("INSERT INTO `items_delayed` (`owner_id`, `item_id`, `count`, `enchant_level`, `attribute`, `attribute_level`, `elem0`, `elem1`, `elem2, `elem3`, `elem4`, `elem5`, `flags`, `payment_status`, `description`)
VALUES('".$charid."', '".$prizinfo['id']."', '".$prizinfo['kolvo']."', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', 'MMOTop')");
один фиг не пашет