Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Мануал как сделать "Призы за голосования в л2топ"
#1
Здесь описано, как настраивать в модуле функцию получения бонуса за голосование в системе l2top.ru
Для начала, необходимо зарегистрироваться в системе l2top на сайте http://l2top.ru
После этого вам необходимо настроить сам модуль.
Все настройки совершаются в конфигурационном файле engine/data/config_l2dle.php
Вам необходимо указать идентификатор для каждого из своих гейм-серверов.


Code
Код:
$la2config['l2top']['ServerId'][0] = 4148;
$la2config['l2top']['ServerId'][1] = 0;

Если вы хотите отключить систему бонусов для какого то из своих гейм-серверов, выставите ему id=0.


Code
Код:
$la2config['l2top']['timeout'] = 5;
$la2config['l2top']['search_str'] = 'Последние 50 IP-адресов';    
$la2config['l2top']['voted_timeout'] = 10;
$la2config['l2top']['get_timeout'] = 60;
$la2config['l2top']['sms_bonus_count'] = 3;
$la2config['l2top']['l2top_time_correction'] = 0;
$la2config['l2top']['block_all_acc'] = true;
timeout - таймаут запроса для получения данных с сервера l2top.ru в секундах. Ни в коем случае не стоит ставить таймаут равным 0! Оптимальным будет значение 5-10 секунд
search_str - строка, после которой скрипт ищет таблицу с последними проголосовавшими
voted_timeout - время в минутах, до истечениия которого можно получить бонус
get_timeout - время в минатах, через которое можно повторно нажать кнопку "получить бонус"
sms_bonus_count - сколько предметов давать, если голосование прооизведено смской 1$ (3 голоса)
l2top_time_correction - поправка времени l2top.ru в минутах. Поддерживаются положительные и отрицательные значения
block_all_acc - после запроса бонуса блокирются все чары на аккаунте (true|false)

Настройка списка бонусов.

При успешном голосовании, персонажу игрока выдаётся 1 предмет из списка предметов.
Этот предмет выпадает с определённой долей вероятности, которая определяется в конфиге.

Пример конфигурации списка из 4х бонсов:


Code
// список бонусов
Код:
$la2config['l2top']['bonus'][1]['item_id'] = 17;
$la2config['l2top']['bonus'][1]['item_type'] = 'etc';
$la2config['l2top']['bonus'][1]['item_count'] = 1;
$la2config['l2top']['bonus'][1]['probability'] = 3;

$la2config['l2top']['bonus'][2]['item_id'] = 686;
$la2config['l2top']['bonus'][2]['item_type'] = 'etc';
$la2config['l2top']['bonus'][2]['item_count'] = 2;
$la2config['l2top']['bonus'][2]['probability'] = 4;

$la2config['l2top']['bonus'][3]['item_id'] = 1;
$la2config['l2top']['bonus'][3]['item_type'] = 'weapon';
$la2config['l2top']['bonus'][3]['item_count'] = 1;
$la2config['l2top']['bonus'][3]['probability'] = 2;

$la2config['l2top']['bonus'][4]['item_id'] = 21;
$la2config['l2top']['bonus'][4]['item_type'] = 'armor';
$la2config['l2top']['bonus'][4]['item_count'] = 100;
$la2config['l2top']['bonus'][4]['probability'] = 1;
Число бонусов может быть произвольным. Не забывайте правильно указывать индекс предмета в списке.
item_id - id предмета
item_type - тип предмета (armor|weapon|etc)
item_count - число предметов
probability - индекс вероятности выпадания этого предмета

Итоговая верятность выпадания предмета рассчитывается так:
Вероятность = (индекс)/(Сумма всех индексов);

Если Вы всё правильно настроили, то в списке песонажей у вас должна появится такая кнопка:
http://s54.radikal.ru/i143/0906/54/285ae1d1879d.jpg

При нажатии на которую, должно появиться примерно следующее:
http://i040.radikal.ru/0906/4b/ef8fde65b57e.jpg
Ответ
#2
Все класс, только не сказано, к какой это обвязке и скрипту по раздаче бонусов.
Кроме того, на L2Top изменилась ссылка на список проголосовавших и показывают последних 50.
Ответ
#3
Отлично давно искал и ток на вашем форуме нашел, спасибо большое Зона гейм! Smile
Ответ
#4
Вот еще один вариант модуля получения наград за голосование на l2top
Ответ
#5
Помогите разобраться.
Скачал этот мод для жумлы _http://Зацензурило:)/web_for_java/3760-modul-l2top.html
Установил на сайт, выставил конфиги. Но после голосования, пишет, что такой НИК не найден. Я подумал, что оно не там ищет, глянул ссылку и увидел, что ищет на главной _http://l2top.ru/servID, а надо бы тут _http://l2top.ru/info/servID
Код:
$html = @file_get_contents('http://l2top.ru/?servID='.$id_l2top.'&act=info');
Нада бы поставить так
Код:
$html = @file_get_contents('http://l2top.ru/INFO/?servID='.$id_l2top.'&act=info');
, но тогда оно выдает чистую страницу со словом
Код:
FUCK

Вот сам PHP файл
Код:
<?php
    /**
    * @version
    1.0
    * @package
    ICQ_online ?
    *
    @copyright © 200 LightDeath
    *
    @license
    http://www.gnu.org/copyleft/gpl.html GNU/GPL
    */
    defined(
    '_VALID_MOS' ) or die( 'Restricted access' );

$l2top_id = $params->get( 'l2top_id');
$id_l2top = $params->get( 'l2top_id');
$bonus_id = $params->get( 'bonus_id');
$cols_for_vote = $params->get( 'cols_for_vote');
$host = $params->get( 'host');
$user = $params->get( 'user');
$pass = $params->get( 'pass');
$db = $params->get( 'db');
$text = $params->get( 'text');
$rand = $params->get( 'rand');
$randnac = $params->get( 'randnac');
$randcon = $params->get( 'randcon');
if ($rand=="1"){
$cols_for_vote = mt_rand ($randnac, $randcon);
$naz1 = "«".$text."» случайное количество от ".$randnac." до ".$randcon." штук<br>";}
else
{
$naz1 = "«".$text."» вам будет выданно".$cols_for_vote." штук<br>";
};

if(!isset($_POST['name'])){

?>
<style type="text/css">
<!--
.стиль1 {color: #FF0000}
-->
</style>

<div align="center">
<table width="100%" border="0">
  <tr>
    <td align="center"><b>«Бонус за голосование».<br>
Для этого необходимо:</b><br>
1. <a href="http://l2top.ru/?voteme=<?php echo"$l2top_id";?>">Проголосовать</a> <br>
2. Получить бонус.<br>
Вписать в форму ниже<br>
ник вашего чара<br>
После этого вашему <br>
чару в инвентарь выдано <br>
<br>
<?php echo $naz1; ?>
Чтобы получить бонус <br>
ваш ник должен быть в<br>
<a href="http://l2top.ru/?servID=<?php echo"$l2top_id"; ?>&act=info"><b>этом списке</b></a></td>
  </tr>
  <tr>
    <td align="center"><?
echo '<form action="" method="post">';


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

</form></div>';


}else{


$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)
{
$nick = str_replace ("{raiting}", "", $nick);
if (strtolower(trim($nick, 10))==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 $nick;
}


echo $error.'<div align=center><br><b>'.$total.'</b> <?php echo"$text"; ?> a зачислено вашему

персонажу!<br/></div>';

}
$html ="";
?>
</td>
  </tr>
</table>
<p><br>
</p>
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  хочу сделать чтобы фон менялся в апдейтере CrownClown 1 1,600 01-11-2013, 11:22 AM
Последний пост: Yorie
  Как сделать обвязку сайта с сервером) Pr1Zr[aK] 11 4,679 01-29-2012, 11:15 AM
Последний пост: Pr1Zr[aK]
  Как сделать разрешение по-умолчанию kubanlan 5 2,937 08-31-2011, 02:02 PM
Последний пост: PROGRAMMATOR
  dle 9.3 помогите сделать kubanlan 1 2,058 08-27-2011, 09:20 PM
Последний пост: JR.dev
  SW11 как сделать страницу типа register.tpl rash2x 7 3,581 03-24-2011, 12:33 AM
Последний пост: figure
  Мануал установка сайта Bananiche 3 2,769 08-15-2010, 10:47 AM
Последний пост: ussa
  скрипт голосования la2.mmotop bobik 15 12,100 05-17-2010, 03:52 PM
Последний пост: thesingle
  Изменения в Л2топ, помогите со скриптом vasia_pup 0 3,224 01-19-2010, 08:35 PM
Последний пост: vasia_pup
  Не получается сделать страницу с регистрацией Naskeed 0 1,831 09-29-2009, 04:07 PM
Последний пост: Naskeed
  Поделитесь скриптом для л2топ Fallen angel 0 2,242 09-01-2009, 02:16 PM
Последний пост: Fallen angel

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


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