Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
скрипт mmotop
#1
Собственно прошу помощи, использовал раньше скрипт 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:iConfused");
$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')");


один фиг не пашет
Ответ
#2
кулич;128567 Написал:# l2-scripts.ru ICQ 9-013-612 Юрий
Для Вас - это предложение к размышлению. Я не думаю, что за Вас кто то делать будет. Ну разве что тот, у кого стоит именно такая же сборка, так как качать сборку и сравнивать структуру таблиц для того, чтоб показать Вам ошибку - слишком муторно.
P.S. да, и научитесь ставить теги [ SPOILER ] в сообщениях.
Ответ
#3
Товарищ кодер потому-что малость долбанутый:

Код:
$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);}

Тут идет "выявление" "шоэтозаитем", который обращается к таблицам в базе на наличие предмета в одной из трех категорий. А по-скольку в опене все в xml - этих таблиц не существует.
Выход: модифицируйте код или просто залейте в базу таблички от того же сандева.

Добавлено через 4 минуты
В items_delayed итем появляется?
Ответ
#4
не появляются ни в mmotop_voted_ip ни в item_delayed

Добавлено через 2 минуты
ANZO Написал:Товарищ кодер потому-что малость долбанутый:

Код:
$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);}

Тут идет "выявление" "шоэтозаитем", который обращается к таблицам в базе на наличие предмета в одной из трех категорий. А по-скольку в опене все в xml - этих таблиц не существует.
Выход: модифицируйте код или просто залейте в базу таблички от того же сандева.

Добавлено через 4 минуты
В items_delayed итем появляется?

я сам этот момент не понял с арморами и веапонами(
Ответ
#5
Залейте в базу таблицы weapon, armor, etc из вашей прошлой сборок l2-script или любой другой сборке на основе фениксов.

PHP код:
<?php 
$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);}

узнает имя предмета, практически во всех сборках на основе фениксов вставляется необязательный параметр имя предмета в таблицу items
Ответ
#6
блин все равно зараза не добавляет данные ни в одну ни в другую таблицу.

табличку items_delayed тоже нужно переделать под опен?

Добавлено через 3 минуты
блин переделал, один хрен не пашет зараза( может неправильно? Кто нибудь может проверить?
это:
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')");
на это:
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')");



структура таблички итемс_делаед в опенах:
CREATE TABLE IF NOT EXISTS `items_delayed` (
`payment_id` int NOT NULL auto_increment,
`owner_id` int NOT NULL,
`item_id` smallint unsigned NOT NULL,
`count` int unsigned NOT NULL DEFAULT 1,
`enchant_level` smallint unsigned NOT NULL DEFAULT 0,
`attribute` smallint NOT NULL DEFAULT -1,
`attribute_level` smallint NOT NULL DEFAULT -1,
`elem0` smallint NOT NULL DEFAULT 0,
`elem1` smallint NOT NULL DEFAULT 0,
`elem2` smallint NOT NULL DEFAULT 0,
`elem3` smallint NOT NULL DEFAULT 0,
`elem4` smallint NOT NULL DEFAULT 0,
`elem5` smallint NOT NULL DEFAULT 0,
`flags` int NOT NULL default 0,
`payment_status` tinyint unsigned NOT NULL DEFAULT 0,
`description` varchar(255) default NULL,
PRIMARY KEY (`payment_id`),
KEY `key_owner_id` (`owner_id`),
KEY `key_item_id` (`item_id`)
) ENGINE=MyISAM;

Добавлено через 3 часа 5 минут
народ всем спасибо, дело действительно было в этих таблицах, вернее в их отсутствии. Перезагрузил мускуль, все заработало!
Ответ
#7
ANZO Написал:Товарищ кодер потому-что малость долбанутый:

Долбанутые только троли, которые вместо того, чтобы помочь человеку, пишут свои трольные посты. На свой код лучше смотри внимательнее, чем в чужом копаться...



А автору совет, если вы наш клиент, нечего тут писать, а надо обращаться в асю ко мне, если вы конечно не нашим шарным скриптом пользуетесь... Ибо всем кто у нас покупает скрипты, мы в любое время переделываем под любые сборки...
Ответ
#8
ТС, ошибку не выдает при запросе INSERT?

Добавлено через 3 минуты
Читая скрипт теряюсь, ничерта не ясно, что чего содержит. Если, это форум по левому краю делает - то это печаль, а если это л2-скриптс так пишет скрипты - то это еще раз говорит об их не профессионализме, писать так скрипты.
Ответ
#9
php_mysql Написал:ТС, ошибку не выдает при запросе INSERT?

Добавлено через 3 минуты
Читая скрипт теряюсь, ничерта не ясно, что чего содержит. Если, это форум по левому краю делает - то это печаль, а если это л2-скриптс так пишет скрипты - то это еще раз говорит об их не профессионализме, писать так скрипты.

Шарный скрипт на то и шарный, чтобы те кто деньги не может заплатить, пользовались им Smile Но даже он вполне рабочий... А что бы судить о том кто как пишет, надо сперва самому что то писать... Не лезьте где ваше мнение не нужно никому, а занимайтесь своими делами.
Ответ
#10
L2-Scripts Написал:Шарный скрипт на то и шарный, чтобы те кто деньги не может заплатить, пользовались им Smile Но даже он вполне рабочий... А что бы судить о том кто как пишет, надо сперва самому что то писать... Не лезьте где ваше мнение не нужно никому, а занимайтесь своими делами.

С перва самому написать? :ugar::ugar::ugar: Да Вы рассмешили, я на данный момент занимаюсь разработкой собственной обвязки. И написать такой легкий скрипт или разобраться в проблеме его неработоспособности, мне расплюнуть (но надо видеть на прямую и исправлять, через форум не удобно). Что касаеться элементарных правил написания скрипты, хоть он и шаровый, я все равно понятно бы написла все. Мое мнение только Вам не интересно, не говорите за всех.

Добавлено через 2 минуты
ТС, свою аську оставь в личке, исправим тебе все Wink Через форум не очень удобно, не привык так.
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Скрипт для альт+б Jm0t 0 1,815 03-21-2019, 04:18 PM
Последний пост: Jm0t
  Помогите переписать скрипт с Python на Java Virrilis3 0 1,478 03-29-2018, 10:55 PM
Последний пост: Virrilis3
  кто может открыть .u формат скрипт? velterna 1 1,926 01-31-2018, 09:49 PM
Последний пост: PROGRAMMATOR
  Скрипт не срабатывает сразу Froust 4 2,384 09-22-2017, 02:14 PM
Последний пост: Froust
  скрипт на превращение зарича по id v1kt0r 3 2,131 05-07-2017, 10:04 PM
Последний пост: Emperor
  Скрипт статистики онлайн серверов NewUser 18 5,004 01-26-2015, 02:33 PM
Последний пост: Apoloser
  Скрипт установки сервера не работает. Linux /. SunWar 2 1,334 08-24-2014, 06:48 PM
Последний пост: SunWar
  Нужен скрипт на услуги донат менеджера (PW Soft) Intruder 3 2,277 05-26-2014, 08:22 AM
Последний пост: Masone
  скрипт Vasya 12 2,876 04-16-2014, 04:33 PM
Последний пост: Cywka!
  скрипт кс Vasya 9 2,260 04-07-2014, 08:20 PM
Последний пост: L2scripts-Guard

Перейти к форуму:


Пользователи, просматривающие эту тему: 8 Гость(ей)