L2Top, поощрение за голосование - Страница 3 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Движки сайтов (CMS)

Движки сайтов (CMS)
Обсуждения, решения проблем веб обвязок для ява сервера.

Ответ
Опции темы
Непрочитано 08.12.2008, 23:41   #21
Аватар для zasov
Пользователь

По умолчанию Ответ: L2Top, поощрение за голосование

не работает скрипт, а что насчет скрипта использующего телнет?

PHP код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<meta http-equiv="content-type" content="text/html;charset=windows-1251"/>
<title>Reward over vote</title>
<link type="text/css" rel="stylesheet" href="./mycss.css">
<center>
<body alink="#00ff00" bgcolor="#FFFFFF" background="./dot.gif" link="#00c000" text="#008000" vlink="#00c000">
<img src='http://l2top.ru/catalog/top.php?id=' width='88' height='31' border='0'><br>
<script type="text/javascript">//<![CDATA[
function isAlphaNumeric(value)
{
    if (value.match(/^[a-zA-Z0-9]+$/))
        return true;
    else
        return false;
}
function checkform(f)
{
    if ((f.account.value=="") || (f.password.value=="") || (f.char_name.value==""))
    {
        alert("Заполните все поля!");
        return false;
    }
    if (!isAlphaNumeric(f.password.value) || !isAlphaNumeric(f.account.value) || !isAlphaNumeric(f.char_name.value))
    {
        alert("Допутим ввод цифр и букв!");
        return false;
    }
    return true;
}
//]]></script>
<font class="style16">Размер вознаграждения 200к аден.</font><br><br>
<form method="post" action="?act=vote" onsubmit="return checkform(this)">
<table>
 <tr>
  <td><b><font face="Trebuchet MS" size="2">Логин</font></b></td>
  <td><font face="Trebuchet MS" size="1"><b>
  <input type="text" name="account" maxlength="15" size="20" /></b></font></td>
 </tr>
 <tr>
  <td><b><font face="Trebuchet MS" size="2">Пароль</font></b></td>
  <td><font face="Trebuchet MS" size="1"><b>
  <input type="password" name="password" maxlength="15" size="20" value=""/></b></font></td>
 </tr>
 <tr>
 <tr>
  <td><b><font face="Trebuchet MS" size="2">Имя чара</font></b></td>
  <td><font face="Trebuchet MS" size="1"><b>
  <input type="text" name="char_name" maxlength="15" size="20" /></b></font></td>
 </tr>
 <tr>
  <td colspan="2" style="text-align: center;">
  <font size="1" face="Trebuchet MS"><b><br />
  <input type="submit" name="submit" value="Проголосовать" /></b></font></td>
 </tr>
</table>
</form>

<?php

error_reporting
(0);

$mysql_host "";
$mysql_port 3306;
$mysql_db "l2rt";
$mysql_login "";
$mysql_password "";

$telnet_host "127.0.0.1";
$telnet_port "7771";
$telnet_password "";
$telnet_timeout 10;

$ipaddr $_SERVER["REMOTE_ADDR"];
$la2topID "";
$item_id=57;
$item_count=200000;

if (
$_POST['submit'] && $_GET['act'])
{
    
$account $_POST['account'];
    
$password $_POST['password'];
    
$char_name $_POST['char_name'];

    if (
ereg("^([a-zA-Z0-9_-])*$"$account ) && ereg("^([a-zA-Z0-9_-])*$"$password) && ereg("^([a-zA-Z0-9_-])*$"$char_name))
    {
        
$link mysql_connect($mysql_host$mysql_login$mysql_password);
        if (!
$link)
            die(
"Couldn't connect to MySQL");
        @
mysql_select_db($mysql_db$link)
            or die (
'Error '.mysql_errno().': '.mysql_error());

        if (
$char_name && $account && strlen($account)<16 && strlen($account)>&& $password)
        {
            
$sql "select login, lastip from `accounts` where `login`='$account' and `password`='".base64_encode(pack('H*'sha1($password)))."';";
            
$check mysql_query($sql);
            
$row mysql_num_rows($check);
            if (
$row)
            {
                
$sql "select * from characters where `account_name`='$account' and `char_name`='$char_name';";
                
$check mysql_query($sql);
                
$row mysql_num_rows($check);
                if (
$row)
                {
                    
$user_id mysql_result($check,0,"obj_id");
                    
$useronline mysql_result($check,0,"online");
                    if(
l2topcheck($la2topID$ipaddr)&&dbcheck($ipaddr$account))
                    {
                    echo 
'<iframe src="http://l2top.ru/?servID='.$la2topID.'&act=vote" frameborder="0" width="1" height="1">Hello</iframe>';
                        if (
$useronline)
                        {
                            
$usetelnet fsockopen($telnet_host$telnet_port$errno$errstr$telnet_timeout);
                            if(
$usetelnet)
                            {
                                
$give_string 'give '.$char_name.' ' .$item_id.' '.$item_count;
                                
fputs($usetelnet$telnet_password);
                                
fputs($usetelnet"\r\n");
                                
fputs($usetelnet$give_string);
                                
fputs($usetelnet"\r\n");
                                
fputs($usetelnet"exit\r\n");
                                
fclose($usetelnet);
                            }
                            else
                            {    echo 
"<font color=\"red\">Ошибка:</font>Невозможно подключится к телнету";    }
                        }
                        else
                        {
                            
$sql="select * from `items` where `owner_id`='$user_id' and `item_id`='$item_id' and `loc`='INVENTORY'";
                            
$result mysql_query($sql);
                            
$item_count mysql_result($result,0,"count")+$item_count;

                            
$sql "update `items` set `count`='$item_count' where `owner_id`='$user_id' and `item_id`='$item_id' and `loc`='INVENTORY'";
                            
mysql_query($sql);
                        }
                        echo 
"<br><font class=\"mystyle\"> Вы успешно прголосовали за сервер и получили нагрду<br></font>";
                    }
                    else
                    {
                        echo 
"<font class=\"mystyle\" color=\"red\">Вы не можете голосовать.</font>";
                    }
                }
                else
                {    echo 
"<font class=\"mystyle\" color=\"red\">Чара с таким именем не существует.</font>";    }
            }
            else
            {    echo 
"<font class=\"mystyle\" color=\"red\">Логин или пароль введён не верно.</font>";    }
        }
        else
        {    echo 
"<font cclass=\"mystyle\" color=\"red\">Логин или пароль введён не верно.</font>";    }
        
mysql_close($link);
    }
}
function 
l2topcheck($la2topID$ipaddr)
{
    
$fcontent=file_get_contents("http://l2top.ru/?servID=".$la2topID."&act=info");
    if(
strstr($fcontent,$ipaddr))
    {    return 
false;    }
    else
    {    return 
true;    }
}
function 
dbcheck($ipaddr$account)
{
    
$sql "select * from rewardovervote where `ipaddr`='$ipaddr' or `name`='$account'";
    
$check mysql_query($sql);
    
$row mysql_num_rows($check);
    if(
$row)
    {
        
$time mysql_result($check,0,"date");
        if( (
time()-$time) > (60*60*24) )
        {
            
$sql "update `rewardovervote` set `date`=".time()." where `ipaddr`='$ipaddr' and `name`='$account'";
            
mysql_query($sql);
            return 
true;
        }
        else
        {    return 
false;    }
    }
    else
    {
        
$sql "insert into `rewardovervote` (name, date, ipaddr) VALUE ('$account', ".time().", '$ipaddr')";
        
mysql_query($sql);
        return 
true;
    }
}
?>
в базу это втыкать
PHP код:
CREATE TABLE `rewardovervote` (
  `
namevarchar(30NOT NULL default '',
  `
dateint(11NOT NULL default '0',
  `
ipaddrvarchar(30NOT NULL default '',
  
PRIMARY KEY  (`name`), 
  
UNIQUE KEY `id` (`name`) );
); 
только вот на CCP в телнете Give не работает какая там команда на выдачу?
zasov вне форума Ответить с цитированием
Непрочитано 18.02.2009, 11:31   #22
Аватар для Rayon
Пользователь

По умолчанию Ответ: L2Top, поощрение за голосование

Кто сможет поделится скриптом для ССР буду плагодарен!
Rayon вне форума Ответить с цитированием
Непрочитано 20.02.2009, 14:49   #23
Аватар для intheend
Пользователь

По умолчанию Ответ: L2Top, поощрение за голосование

Апну и поддержу предидущего автора.

Пытался переделать для выдачи под L2f, но постоянно выводит ошибку, хотя менял только запросы на апдейт\добавление итема, и менял все 100% правильно.

зы. скрипт

ззы. скрипт скрипт под л2дрим, с оффсайта

прошу прощения, нижний линк содержит дефолный скрипт, л2дрим как обычно, говорить говорят, но не делают обещанного.. в данном случае выложили "скрипт под дрим" который ничем не отличается от стандартного..

Последний раз редактировалось intheend; 21.02.2009 в 03:06.
intheend вне форума Отправить сообщение для intheend с помощью ICQ Ответить с цитированием
Непрочитано 08.03.2009, 01:09   #24
Аватар для Rayon
Пользователь

По умолчанию Ответ: L2Top, поощрение за голосование

хм что то там нетак незнаеш как норм дороботать до рук?
Rayon вне форума Ответить с цитированием
Непрочитано 01.04.2009, 19:36   #25
Пользователь

По умолчанию Ответ: L2Top, поощрение за голосование

Можете переделать в этом скрипте запрос под L2F ? что бы вещи в инвентарь кидал.

PHP код:
<?

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

echo 
'<form action="l2top.php" method="post">';

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

</form>'
;


}else{

$bonus_id=4037// ID вещи которую зачисляем игроку как бонус за голосование | По умолчанию 4037 - Coin of Luck
$cols_for_vote=1// Колличество зачисляемых вещей за одно голосование
$id_l2top=6397// Ваш ID в рейтинге L2Top
$cols_name='Coin of Luck';//название бонуса
$host='localhost'// сервер на котором установлена база данных L2J
$user='root'// имя пользователя от базы данный
$pass='ifgsw'// пароль пользователя от базы данный
$db='l2test'// название базы данных

$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 obj_Id FROM characters WHERE char_name = '$name';");
$chd=mysql_fetch_assoc($ch);

$char_id=$chd['obj_Id'];
$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 .= 'Не удалось получить информацию с L2Top.ru!<br/>';
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'];
/*
mysql_query("INSERT INTO `items` (`object_id`, `owner_id`, `item_id`, `name`, `count`, `enchant_level`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`)
VALUES(".mysql_escape_string($char_id).", ".$ins_id.", $bonus_id, ".$cols_for_vote.", 0, 'INVENTORY', 0, 0, 0, NULL, 0, 0, -1)");
данный запрос необходимо переделывать взависимости от того, какая структура таблицы items у вас на сборке сервера. Данный запрос отвечает за добавление бонусной вещи за голосование в инвентарь, если у вас её еще нет.
*/
mysql_query("INSERT INTO items (object_id, owner_id, item_id, name, count, enchant_level, loc, loc_data, price_sell, price_buy, time_of_use, custom_type1, custom_type2, mana_left)
VALUES('"
.mysql_escape_string($char_id)."', '".$ins_id."', '$bonus_id', '$cols_name', '".$cols_for_vote."', '0', 'INVENTORY', '0', '0', '0', 'NULL', '0', '0', '-1')");
}
else
mysql_query("UPDATE `items` SET `count` = `count` + ".$cols_for_vote." WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = '".$bonus_id."'");
mysql_query("INSERT INTO `l2top` (`nick`, `ip`, `time`) VALUES ('".$name."', '".mysql_escape_string($your_ip1)."', '".mysql_escape_string($time)."')");
$total += $cols_for_vote;
$error .= 'Голос за '$time.' зачислен.<br/>';
}
else
$error .= 'Голос за '$time.' уже был зачислен.<br/>';
}
}
else
$error .= 'Ваш голос на сайте L2Top.ru не найден.<br>';
}

echo 
$error.'<br><b>'.$total.'</b> Coin of Luck зачислено вашему персонажу!<br/>';

}

?>
Fulljack вне форума Ответить с цитированием
Непрочитано 11.06.2009, 18:31   #26
Аватар для xeliks
Пользователь

По умолчанию Ответ: L2Top, поощрение за голосование

Nytrex, спасибо огромное, но есть одно НО, в вашем скрипте нету ни одних ???? зеленого цвета, так тогда гдеже кол-во выдаваемой вещи????
xeliks вне форума Ответить с цитированием
Непрочитано 12.06.2009, 19:00   #27
Аватар для DarkLoki
Пользователь

По умолчанию Ответ: L2Top, поощрение за голосование

Цитата:
Сообщение от xeliks Посмотреть сообщение
Nytrex, спасибо огромное, но есть одно НО, в вашем скрипте нету ни одних ???? зеленого цвета, так тогда гдеже кол-во выдаваемой вещи????
Сходите к окулисту, закапайте глазные капли, выспитесь, сделайте разрешение поменьше, возьмите лупу и просмотрите скрипт еще раз.
__________________
Я не прав? Докажите это тут или тут
* Интересная тема * для новичков *
DarkLoki вне форума Ответить с цитированием
Непрочитано 13.06.2009, 17:17   #28
Аватар для xeliks
Пользователь

По умолчанию Ответ: L2Top, поощрение за голосование

Я всё это сделал...=))) но так и не нашол вопросов с зеленым цветом...
xeliks вне форума Ответить с цитированием
Непрочитано 13.06.2009, 21:42   #29
Пользователь

Автор темы (Топик Стартер) Ответ: L2Top, поощрение за голосование

xeliks, а где там написано что будут вопросительные знаки зеленого цвета ? Зеленым помечена цифра 1, строка $cols_for_vote = 1;
Nytrex вне форума Ответить с цитированием
Непрочитано 13.06.2009, 23:04   #30
Аватар для DarkLoki
Пользователь

По умолчанию Ответ: L2Top, поощрение за голосование

Короче стоп флуд. Если не можете отыскать зеленый цвет в посте - ходите к окулисту до тех пор, пока не увидите
__________________
Я не прав? Докажите это тут или тут
* Интересная тема * для новичков *
DarkLoki вне форума Ответить с цитированием
Ответ


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

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

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

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


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

Вверх