Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Движки сайтов (CMS) (https://forum.zone-game.info/forumdisplay.php?f=47)
-   -   L2Top, поощрение за голосование (https://forum.zone-game.info/showthread.php?t=1897)

Nytrex 14.09.2008 14:15

L2Top, поощрение за голосование
 
Вообщем вот скрипт под новую систему 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 DEFAULT CHARSET=latin1;

Сам PHP скрипт :

Код:

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>

<td valign="top" align="center" class=line_up><table border="0" cellspacing="2" cellpadding="2">
<tr>

<td valign="top"><div class=title_stat>Получение Coin of Luck за голосование !</div></td>

</tr>
</table>

</td>
</tr>
</table><br />
<?php
$cols_for_vote = 1;
if (isset($_POST['nick']))
{
$total = 0;
$your_ip = $_SERVER['REMOTE_ADDR'];
$your_ipf = explode(".", $your_ip);
$array = array($your_ipf[0], $your_ipf[1], $your_ipf[2],'xxx');
$your_ip = implode(".", $array);
echo '<b>Ник вашего чара: </b>'.$_POST['nick'].'<br />';
echo '<b>Ваш ip: </b>'.$your_ip.'<br />';
$error = '';
$voters = array();
include 'config/config.php';
$link = mysql_connect($L2JBS_config["mysql_host"], $L2JBS_config["mysql_login"], $L2JBS_config["mysql_password"]) or die("Could not connect : " . mysql_error());
mysql_select_db($L2JBS_config["mysql_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 .= 'Персонажа с таким именем не существует !<br />';
else
{
$char_id = $row['obj_Id'];
$html = @file_get_contents('http://l2top.ru/?servID=????&act=info');
if (!$html || !preg_match_all('/<td>([^<]+)<\/td>/', $html, $matches))
$error .= 'Не удалось получить информацию с L2Top.ru!<br/>';
else
{
foreach ($matches[1] as $id => $ip)
{
if ($ip == $your_ip)
$voters[] = $matches[1][$id+1];
}
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` = ????");
$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`, `attributes`, `create_time`, `source`, `destination`)
VALUES(".mysql_escape_string($char_id).", ".$ins_id.", ????, ".$cols_for_vote.", 0, 'INVENTORY', 0, 0, 0, NULL, 0, 0, -1, 'none', NULL, NULL, NULL)");
}
else
mysql_query("UPDATE `items` SET `count` = `count` + ".$cols_for_vote." WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = ????");
mysql_query("INSERT INTO `l2top` (`nick`, `ip`, `time`) VALUES ('".mysql_escape_string($_POST['nick'])."', '".mysql_escape_string($your_ip)."', '".mysql_escape_string($time)."')");
$total += $cols_for_vote;
$error .= 'Голос за '. $time.' засчитан!<br/>';
}
else
$error .= 'Голос за '. $time.' уже был засчитан ранее!<br/>';
}
}
else
$error .= 'Вы НЕ голосовали!<br>';
}
}
echo $error.'<b>'.$total.'</b> CoL добавлено Вашему персонажу !<br/><a href="index.php?id=l2top">Назад</a>';
}
else
{
?>
<form method="POST" action="index.php?id=l2top">
<b>1. <a href="http://l2top.ru/?voteme=????" target="_blank">Проголосуйте на L2Top</a></b>
<br />
<a href="http://l2top.ru/?voteme=????" target="_blank"><img style="filter:alpha(opacity=50); opacity:0.5; -moz-opacity:0.5;" src="http://l2top.ru/catalog/top.php?id=????" width="88" height="31" border="0" alt="L2Top.ru: Рейтинг-каталог серверов Lineage II" ></a>
<br /><br />
<b>2.</b> Введите имя Вашего персонажа :
<br />
<input type="text" name="nick" maxlength="25">
<br /><br />
<input type="submit" value="Получить CoL">
</form>
<?php
}
?>

Где красным помечено - ID вещи , которую будет выдавать
синим - ID Вашего сервера в L2Top
зеленым - количество вещи

FotoMEH 15.09.2008 09:45

Ответ: L2Top, поощрение за голосование
 
Извените а куда его пихать ? куда его положить надо ?

Linky 17.09.2008 00:12

Ответ: L2Top, поощрение за голосование
 
При попытке добавить чару КОЛ выдает - Не удалось получить информацию с L2Top.ru, хоть конфиг правильно настроил, id сервера и т.д:(

Скрипт делает запрос к файлу конфига. Создайте текстовый документ, назовите его config.php, в него впишите:

<?php
$L2JBS_config["mysql_host"]="Ваш IP"; // IP адрес MySQL-сервера ["localhost"]
$L2JBS_config["mysql_port"]="3306"; // Порт ["3306"]
$L2JBS_config["mysql_db"]="l2jdb"; // Имя игровой базы ["l2jdb"]
$L2JBS_config["mysql_login"]="root"; // Логин ["root"]
$L2JBS_config["mysql_password"]="root"; // Пароль ["root"]
?>

Добавлено через 58 минут
Цитата:

Сообщение от FotoMEH (Сообщение 19659)
Извените а куда его пихать ? куда его положить надо ?

Самый простой пример создай файл l2.php скопируй туда скрипт настроенный под себя

FotoMEH 21.09.2008 18:49

Ответ: L2Top, поощрение за голосование
 
а дальше то его куда ложить ? тупо допустим в C:\AppServ\www сюда что ли ?

DarkLoki 21.09.2008 19:22

Ответ: L2Top, поощрение за голосование
 
FotoMEH,
Советую прочитать хотябы основы php и устройства сайтов.

tuareg 23.09.2008 00:12

Ответ: L2Top, поощрение за голосование
 
данный скрипт требует наличие итема в инвенторе, до голосования ?

DarkLoki 23.09.2008 12:24

Ответ: L2Top, поощрение за голосование
 
tuareg
Не требует.

tuareg 23.09.2008 14:10

Ответ: L2Top, поощрение за голосование
 
Цитата:

Сообщение от DarkLoki (Сообщение 20166)
tuareg
Не требует.

Страно , но без итема на рт 1.3.5 не добавляется : (

DarkLoki 23.09.2008 15:13

Ответ: L2Top, поощрение за голосование
 
Не знаю, что у тебя там не добавляется, но скрипт сначала проверяет, имеется ли предмет в инвентаре, а потом, если предмет есть, добавляет кол-во, если нет - создает.

tuareg 23.09.2008 15:30

Ответ: L2Top, поощрение за голосование
 
при отправке пишет, что зачислено, записывает в таблицу l2top, все как надо, а вот добавлять итем не хочет, если его нет
подгонял запрос к сборке , так как в запросе для моей сборки лишние параметры итема... и все никак ...


Текущее время: 09:12. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot