Скрипт поощрения за голосования и 4 сервера. - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming > PHP

PHP Форум как для начинающих программистов на PHP так и для профессионалов этого дела. Если нужно создать скрипт, функцию и т.д, но не знаете как, спросите у нас и мы вам подскажем. Здесь вы найдете примеры скриптов которые вы сможете использовать на сайтах своих серверов (онлайн, регистрация, семь печатей, топ игроков). Так же много книг и статей.

Ответ
Опции темы
Непрочитано 01.02.2009, 04:00   #1
Аватар для Viktorez
Пользователь

Автор темы (Топик Стартер) Скрипт поощрения за голосования и 4 сервера.

Помогите плиз с топом он у мея све работает норм тока вот какая штука у меня 4 сервера и 4 базы - вот что надо добавить в скрипт чтобы читало ники проголосовавших со всех баз ????

PHP код:
<?

if(!isset($_POST['name'])){
$l2top_id=; // Ваш ID в рейтинге L2Top
?>
<div align="center"><b>Здесь вы можете принять участие в акции «Бонус за голосование».<br>

Для этого необходимо:</b><br>

1. Проголосовать за наш сервер в рейтинге L2top.ru: <a href="http://l2top.ru/?voteme=<?php echo"$l2top_id";?>">
<img src="core/cont_img/l2top.png"></a><br>

2. Получить бонус. Для чего необходимо:<br>
Вписать в форму ниже ник вашего чара
(не путайте с названием аккаунта), ну и нажать кнопку :)<br>
После этого вашему чару в инвентарь будет выдано поощрение
«Фестиваль Адена» в количестве 1 шт.<br>
Чтобы получить бонус ваш ник должен быть в <a href="http://l2top.ru/?servID=<?php echo"$l2top_id"?>&act=info"><b>этом списке</b></a><br><br>
<?
echo '<form action="" method="post">';


echo 
'Ник персонажа<br/>
<input type="text" name="name"/><br/><br/>
<input type="submit" value="Получить бонус"/>

</form></div>'
;


}else{

$bonus_id=6673;     // ID предмета-бонуса (по умолчанию Festival Adena)
$cols_for_vote=1// Колличество зачисляемых вещей за одно голосование
$id_l2top=Ляля// Ваш ID в рейтинге L2Top

$host='для примера'// сервер на котором установлена база данных L2J
$user='root'// имя пользователя от базы данный
$pass='ляля'// пароль пользователя от базы данный
$db='l2_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 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` = 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'];
$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` = 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 .= '<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>';

}

?>
PROGRAMMATOR; <-сори был сонный.у меня уже матрица в глазах
__________________
Кто здесь o_O l2-apostol.ru

Последний раз редактировалось PROGRAMMATOR; 15.09.2009 в 18:09.
Viktorez вне форума Отправить сообщение для Viktorez с помощью ICQ Ответить с цитированием
Непрочитано 15.09.2009, 18:01   #2
Аватар для feroom
Пользователь

По умолчанию Ответ: Скрипт поощрения за голосования и 4 сервера.

Вот глупый возможно вопрос, но почему скрипты только для Л2топ и все?
Че мало различных рейтингов?
Взять допустим л2ммотоп руЮ там тоже есть генерируется ТхТ файл с никами и ИП проголосовавших.
Просто реально интересно почему монополию держит л2топ.
У меня на сервер восновном приходят с совершенно других топов и намного больше!
feroom вне форума Ответить с цитированием
Непрочитано 15.09.2009, 21:40   #3
Аватар для PROGRAMMATOR
Администратор

По умолчанию Ответ: Скрипт поощрения за голосования и 4 сервера.

Это скорее всего из-за того, что он первый с такой посещаемостью, и каждый его благословляет находясь даже на 100+ странице, хоть оттуда к ним никто и не идет, а зачем? Он же находится в ! L2Top'e... Конечно, проще получить игроков в более мелких рейтингах серверов, где хоть как то можно пробиться в первые места.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 21.09.2009, 13:06   #4
Аватар для feroom
Пользователь

Talking Ответ: Скрипт поощрения за голосования и 4 сервера.

Если не посчитаете рекламой, мог бы дать список топов откуда идет народу от 50 до 100 посетителей день.
Хоят я думаю все знают и так.
Но всетаки.
Так как мои познания в PHP мне не позволяю создать подобный скрипт, хотесоь бы привлечь специалистов.
feroom вне форума Ответить с цитированием
Непрочитано 21.09.2009, 13:21   #5
Аватар для Perfecto
Пользователь

По умолчанию Ответ: Скрипт поощрения за голосования и 4 сервера.

У нас есть свой топ (так что делайте выводы сами будет это рекламой или нет)
Perfecto вне форума Отправить сообщение для Perfecto с помощью ICQ Ответить с цитированием
Сказали спасибо:
Непрочитано 24.09.2009, 14:45   #6
Аватар для feroom
Пользователь

По умолчанию Ответ: Скрипт поощрения за голосования и 4 сервера.

Так что мы решили?
никто не пишет скриптов для других топов?
feroom вне форума Ответить с цитированием
Непрочитано 24.09.2009, 15:12   #7
Аватар для PROGRAMMATOR
Администратор

По умолчанию Ответ: Скрипт поощрения за голосования и 4 сервера.

Для каких других? Если вам нужно под определенный топ, то это в раздел Работа, а нет, то пишите администрации тех рейтингов, может они для вас напишут.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 17:16. Часовой пояс GMT +3.

Вверх