Назад

Php скрипты

Автор: vixa2012: Дата: 03.24.2011

Я доделую сайт помогите прошу вас, надо php скрипты на функции, логин типо войти собой на сайт, или войти в личный кабинет, ввод логина и пароля, больше нечего не надо, потом топ игроков, топ мвп, топ пвп, топ зени, у кого есть эти скрипты РАБОЧИЕ выложите есть не трудно прошу а то в панелях нечего не понятно
итак надо login.php topchars.php topmvp.php toppvp.php topzeny.php
Если не желко дайте рабочие скрипты

Также у меня есть скрипт на показ макс онлайн рабочий вот вылажую, как сделать чтобы чар мап и логин сервера и количество игроков онлайн показывало справа или по середине возле шапки сайта а то я что только не пробывал не получается http://s42.radikal.ru/i098/1103/88/91f403329e18.jpg
Создаём index.php


include("serverstatus.php");

?>

include("useronline.php");
echo "

Сейчас на сервере ".$usersonline." человек(а).

";

?>

Потом создаём serverstatus.php


function statuscheck($serverip, $port) {

$sockres = @fsockopen($serverip, $port, $errno, $errstr, 1);

if (!$sockres) {

return "Выключен";

} else {

@fclose($sockres);

return "Включен";

}

}


//Вывод на экран статус сервера



$serverip = "vixa.sytes.net";



echo "";

echo "
";

echo "Чар Сервер: " . statuscheck($serverip, "6121");

echo "
";

echo "
";

echo "Логин Сервер:" . statuscheck($serverip, "6900");

echo "
";

echo "
";

echo "Мап сервер:" . statuscheck($serverip, "5121");

echo "
";

?>


Создаём useronline.php

/* eAthena SQL Database Config */

$host = "localhost";
$user = "root";
$pass = "vertrigo";
$db = "ragnarok";

$link = mysql_connect($host, $user, $pass) or die(mysql_error());
@mysql_select_db($db,$link);

$query = "SELECT COUNT(*) as total FROM `char` WHERE online = '1'";
$result = mysql_query($query,$link);
mysql_close($link);

$arr = mysql_fetch_array($result);
$usersonline = $arr["total"];

/* Do NOT Edit Above Here */

?>


Вот база от розы http://narod.ru/disk/8343020001/ru.rar.html
там и база знаний и все топы ток ни хрена не рабочее помогите сделать это рабочим

Автор: Cole McCormick: Дата: 03.24.2011

В Index.php , перемещай следующий код:


include("serverstatus.php");

?>

include("useronline.php");
echo "

Сейчас на сервере ".$usersonline." человек(а).

";

?>




В ту чать, каторая тебе нужна. Или блоком через css.


Зы. Спасибо, что поделился моим скриптом.

Автор: vixa2012: Дата: 03.25.2011

Я пишу так

include("serverstatus.php");

?>

include("useronline.php");
echo "

Сейчас на сервере ".$usersonline." человек(а).

";

?>

Но оно весит вверху а мне надо вчтобы в низу где на скриншоте указал как координта выставить или чо типо так
echo "

Сейчас на сервере ".$usersonline." человек(а).

";

Так а что топов не у кого нету?

Автор: Swizz: Дата: 03.25.2011

Добавь в index.php нужный тебе модуль, а в css размести его как тебе нужно.

Автор: vixa2012: Дата: 03.25.2011

ну в css у меня стоит функция

.status { width:903px; margin:0 auto; }
.status p { padding-left:130px; }

как её применить к коду


include("serverstatus.php");

?>

include("useronline.php");
echo "

Сейчас на сервере ".$usersonline." человек(а).

";

?>
я делал так



include("serverstatus.php");

?>

include("useronline.php");
echo "

Сейчас на сервере ".$usersonline." человек(а).

";


?>

Чото не работает

ДАЙТЕ КТОТО МВП ПВП ЗЕНИ ГИЛЬД ИЛИ ХОТЬ КАКОЙТО ТОП

Автор: [OneLife]: Дата: 03.25.2011

Цитата vixa2012;36745:

ДАЙТЕ КТОТО МВП ПВП ЗЕНИ ГИЛЬД ИЛИ ХОТЬ КАКОЙТО ТОП


Все "ДАЙТЕ, да ДАЙТЕ". Покажи что ты сам начал делать мы будем помогать

Автор: vixa2012: Дата: 03.26.2011

Вот база монстров
Но выдаёт ошибку


				$config['db_server']="localhost";   // IP или DNS адрес сервера с mysql сервером
$config['db_user']="root"; // Логин пользователя БД
$config['db_password']="vertrigo"; // Пароль пользователя БД

$config['ro_db']="ragnarok"; // База РО сервера
$config['log_db']="ragnarok"; // База логов
$config['ros_db']="rose"; // База сайта

?>
$_RACES=array(
"11"=>"Other",
"10"=>"Boss monster",
"9"=>"Dragon",
"8"=>"Angel",
"7"=>"Demi-Human",
"6"=>"Demon",
"5"=>"Fish",
"4"=>"Insect",
"3"=>"Plant",
"2"=>"Brute",
"1"=>"Undead",
"0"=>"Formless" //?????????
);


$_ELEMENTS=array(
// <число элемента>=>(<отображение на сайте>,<название столбца в базе>,<уровень элемента>)
20=>array("Neutral 1","Neutral",1),
21=>array("Water 1","Water",1),
22=>array("Earth 1","Earth",1),
23=>array("Filre 1","Filre",1),
24=>array("Wind 1","Wind",1),
25=>array("Poison 1","Poison",1),
26=>array("Holy 1","Holy",1),
27=>array("Dark 1","Dark",1),
28=>array("Ghost 1","Ghost",1),
29=>array("Undead 1","Undead",1),

40=>array("Neutral 2","Neutral",2),
41=>array("Water 2","Water",2),
42=>array("Earth 2","Earth",2),
43=>array("Filre 2","Filre",2),
44=>array("Wind 2","Wind",2),
45=>array("Poison 2","Poison",2),
46=>array("Holy 2","Holy",2),
47=>array("Dark 2","Dark",2),
48=>array("Ghost 2","Ghost",2),
49=>array("Undead 2","Undead",2),

60=>array("Neutral 3","Neutral",3),
61=>array("Water 3","Water",3),
62=>array("Earth 3","Earth",3),
63=>array("Filre 3","Filre",3),
64=>array("Wind 3","Wind",3),
65=>array("Poison 3","Poison",3),
66=>array("Holy 3","Holy",3),
67=>array("Dark 3","Dark",3),
68=>array("Ghost 3","Ghost",3),
69=>array("Undead 3","Undead",3),

80=>array("Neutral 4","Neutral",4),
81=>array("Water 4","Water",4),
82=>array("Earth 4","Earth",4),
83=>array("Filre 4","Filre",4),
84=>array("Wind 4","Wind",4),
85=>array("Poison 4","Poison",4),
86=>array("Holy 4","Holy",4),
87=>array("Dark 4","Dark",4),
88=>array("Ghost 4","Ghost",4),
89=>array("Undead 4","Undead",4),

);


// свойства моба. индекс - номер байта
$_MOB_MODE=array(
// 0=>"Enemy can move",
1=>"Looter",
2=>"Aggressive",
3=>"Assists",
4=>"Spell detector",
5=>"Spawn minions",
6=>"Plant",
// 7=>"For everything but plants"
);

$_ELEMENTS_FIX=array(
20=>array(100,100,100,100,100,100,100,100,25,100),
21=>array(100,25,100,50,175,100,100,100,100,100),
22=>array(100,100,100,150,50,125,100,100,100,100),
23=>array(100,150,50,25,100,125,100,100,100,100),
24=>array(100,50,150,100,25,125,100,100,100,100),
25=>array(100,100,100,100,100,0,100,50,100,50),
26=>array(100,75,75,75,75,75,0,125,75,100),
27=>array(100,100,100,100,100,50,125,0,75,0),
28=>array(25,100,100,100,100,100,100,100,125,100),
29=>array(100,100,100,125,100,-25,150,-25,100,0),

40=>array(100,100,100,100,100,100,100,100,0,100),
41=>array(100,0,100,25,175,75,100,100,75,75),
42=>array(100,100,50,175,25,125,100,100,75,75),
43=>array(100,175,25,0,100,125,100,100,75,75),
44=>array(100,25,175,100,0,125,100,100,75,75),
45=>array(100,100,100,100,100,0,100,25,75,25),
46=>array(100,50,50,50,50,50,-25,150,50,125),
47=>array(100,75,75,75,75,25,150,-25,50,0),
48=>array(25,100,100,100,100,75,100,100,150,100),
49=>array(100,100,100,150,100,-50,175,-50,125,0),

60=>array(100,100,100,100,100,100,100,100,0,100),
61=>array(100,-25,100,0,200,50,100,100,50,50),
62=>array(100,100,0,200,0,100,100,100,50,50),
63=>array(100,200,0,-25,100,100,100,100,50,50),
64=>array(100,0,200,100,-25,100,100,100,50,50),
65=>array(100,100,100,100,100,0,125,0,50,0),
66=>array(100,25,25,25,25,25,-50,175,25,150),
67=>array(100,50,50,50,50,0,175,-50,25,0),
68=>array(0,100,100,100,100,50,100,100,175,100),
69=>array(100,125,75,175,100,-75,200,-75,150,0),

80=>array(100,100,100,100,100,100,100,100,0,100),
81=>array(100,-50,100,0,200,25,75,75,25,25),
82=>array(100,100,-25,200,0,75,75,75,25,25),
83=>array(100,200,0,-50,100,75,75,75,25,25),
84=>array(100,0,200,100,-50,75,75,75,25,25),
85=>array(100,75,75,75,75,0,125,-25,25,-25),
86=>array(100,0,0,0,0,0,-100,200,0,175),
87=>array(100,25,25,25,25,-25,200,-100,0,0),
88=>array(0,100,100,100,100,25,100,100,200,100),
89=>array(100,150,50,200,100,-100,200,-100,175,0),
);

?>

// Функция для получения статистик монстра (лутер/агрессиыняй и т.д.)



function get_mob_mode($mode,$mob_params){

$num=count($mob_params);
$mode_list=array();

foreach($mob_params as $shift=>$value){
$mode_list[$mob_params[$shift]]=$mode>>$shift&1;
}
return $mode_list;
}

// установим рейты на опыт мобов...
$smarty->assign('bexp_rate',$config['roserver']['base_exp_rate']);
$smarty->assign('jexp_rate',$config['roserver']['job_exp_rate']);

// получим список всех мобов - для выпадающего меню

$mobs=GetAll("SELECT ID as id, iName as name FROM ".$config['ro_db'].".mob_db ORDER BY `iName`");
$smarty->assign("mobs",$mobs);

// проверим на отображение конкретного элемента
if(isset($_PARAMS[1]) && $_PARAMS[1]=='detail'){
$_PARAMS[2]=(int)$_PARAMS[2]; // id монстра

// получим моба
$mob=GetAll("SELECT * FROM ".$config['ro_db'].".mob_db WHERE `ID`='".$_PARAMS[2]."'");

if(count($mob)){ // если получили моба

$mob=$mob[0];

if(is_file($config['document_root'].'/img/mob/'.$mob['ID'].'.gif')){
$mob['image']=true;
}else{
$mob['image']=false;
}
$smarty->assign("mob",$mob);
$smarty->assign('_ELEMENT_FIX',$_ELEMENTS_FIX[$mob['Element']]);
$smarty->assign('mode_list',get_mob_mode($mob['Mode'],$_MOB_MODE));
$smarty->assign('current_mob',$mob['ID']);
// получим места респавна

$mob_maps=GetAll("SELECT * FROM ".$config['ros_db'].".ros_mob_respawn WHERE `mob_id`='".$mob['ID']."'");
foreach($mob_maps as $key=>$value){
// переведем в секунды
if($value['res_time1']!=0)$value['res_time1']=((int)($value['res_time1']))/1000;
if($value['res_time2']!=0)$value['res_time2']=((int)($value['res_time2']))/1000;

$mob_maps[$key]=$value;

}

$smarty->assign('mob_maps',$mob_maps);
// получим названия предметов, которые вываливаются из монстра
$where="";
$items=array();
for($n=1;$n<=9;$n++){
if(isset($mob['Drop'.$n.'id']) && $mob['Drop'.$n.'id']!=0){
// есть предмет
// проверим на шанс выпадения (вдруг 0)
if((isset($mob['Drop'.$n.'per']) && $mob['Drop'.$n.'per']!=0) || $config['drop_rate0item']){
if($where!=''){
$where.=" OR";
}
$where.="`id`='".$mob['Drop'.$n.'id']."'";
// если дроп рейт изменен...
$dr_per=(((int)$mob['Drop'.$n.'per'])/100); // drop=100%
$items[$mob['Drop'.$n.'id']]=array('id'=>$mob['Drop'.$n.'id'],'per'=>$dr_per);
}
}
}
// [Qwadrat]
$mvpwhere="";
$mvpitems=array();
for($n=1;$n<=3;$n++){
if(isset($mob['MVP'.$n.'id']) && $mob['MVP'.$n.'id']!=0){
if((isset($mob['MVP'.$n.'per']) && $mob['MVP'.$n.'per']!=0) || $config['drop_rate0item']){
if($mvpwhere!=''){
$mvpwhere.=" OR";
}
$mvpwhere.="`id`='".$mob['MVP1id']."' OR `id`='".$mob['MVP2id']."' OR `id`='".$mob['MVP3id']."'";
// если дроп рейт изменен...
$dr_per=(((int)$mob['MVP'.$n.'per'])/100); // drop=100%
$mvpitems[$mob['MVP'.$n.'id']]=array('id'=>$mob['MVP'.$n.'id'],'per'=>$dr_per);
}
}
}

if(isset($mob['DropCardid']) && $mob['DropCardid']!=0){
if((isset($mob['DropCardper']) && $mob['DropCardper']!=0) || $config['drop_rate0item']){
$where.=" OR `id`='".$mob['DropCardid']."'";
// если дроп рейт изменен...
$dr_per=(((int)$mob['DropCardper'])/100); // drop=100%
$dr_per*=$config['roserver']['drop_card_rate'];
if($dr_per>100) $dr_per=100;
$items[$mob['DropCardid']]=array('id'=>$mob['DropCardid'],'per'=>$dr_per);
}
}


if($where!=''){ // есть предметы...

$g_items=GetAll("SELECT `id`, `name_japanese` as name, `type`, `slots` FROM ".$config['ro_db'].".item_db WHERE ".$where);

foreach($g_items as $value){
$items[$value['id']]['name']=$value['name'];
$items[$value['id']]['type']=$value['type'];
$items[$value['id']]['slots']=$value['slots'];
if(is_file($config['document_root'].'/img/item/small/'.$value['id'].'.gif')){
$items[$value['id']]['image']=true;
}else{
$items[$value['id']]['image']=false;
}
// дроп рейт изменим если нужно
//$dr_per*=$config['roserver']['drop_rate'];
if($items[$value['id']]['type']==0) $items[$value['id']]['per']*=$config['roserver']['drop_heal_rate'];
elseif($items[$value['id']]['type']==2 || $items[$value['id']]['type']==11) $items[$value['id']]['per']*=$config['roserver']['drop_use_rate'];
elseif($items[$value['id']]['type']==3 || $items[$value['id']]['type']==10) $items[$value['id']]['per']*=$config['roserver']['drop_ect_rate'];
elseif($items[$value['id']]['type']==4 || $items[$value['id']]['type']==5 || $items[$value['id']]['type']==8) $items[$value['id']]['per']*=$config['roserver']['drop_equip_rate'];
if($items[$value['id']]['per']>100) $items[$value['id']]['per']=100;
}

}
// [Qwadrat]
if($mvpwhere!=''){ // есть предметы...

$g_items=GetAll("SELECT `id`, `name_japanese` as name, `type`, `slots` FROM ".$config['ro_db'].".item_db WHERE ".$mvpwhere);

foreach($g_items as $value){
$mvpitems[$value['id']]['name']=$value['name'];
$mvpitems[$value['id']]['type']=$value['type'];
$mvpitems[$value['id']]['slots']=$value['slots'];
if(is_file($config['document_root'].'/img/item/small/'.$value['id'].'.gif')){
$mvpitems[$value['id']]['image']=true;
}else{
$mvpitems[$value['id']]['image']=false;
}
// дроп рейт изменим если нужно
//$dr_per*=$config['roserver']['drop_rate'];
$mvpitems[$value['id']]['per']*=$config['roserver']['drop_mvp_rate'];
if($mvpitems[$value['id']]['per']>100) $mvpitems[$value['id']]['per']=100;
}

}

// Для того что бы установить ссылки на определенную секцию предметов
$smarty->assign('_ITEMS_TYPE',$_ITEMS_TYPE);
$smarty->assign('items',$items);
$smarty->assign('mvpitems',$mvpitems); // [Qwadrat]

$smarty->assign('_RACES',$_RACES);
$smarty->assign('_ELEMENTS',$_ELEMENTS);
}
}
$smarty->assign('_TITLE','База монстров');
$smarty->assign('page_content','base/mobs.html');
$smarty->assign('_SUBMENU','menu_base.html');
?>

Автор: vixa2012: Дата: 03.26.2011

А вот скрипт логина но тоже гдето есть ошибка



$config['db_server']="localhost"; // IP или DNS адрес сервера с mysql сервером
$config['db_user']="root"; // Логин пользователя БД
$config['db_password']="vertrigo"; // Пароль пользователя БД

$config['ro_db']="ragnarok"; // База РО сервера
$config['log_db']="ragnarok"; // База логов
$config['ros_db']="rose";
?>


// var_dump($_POST);

// Урл на который переходить в случае успешного логина...
if($_LOCALE==$LOCALE_DEFAULT){
$_URL=$config['http_site_path'].'/login_result.html';
}else{
$_URL=$config['http_site_path'].'/'.$_LOCALE.'/login_result.html';
}
// Проверим логин и пароль

$smarty->assign('captcha_auth',$config['use_captcha_auth']);

if(isset($_POST['username'])&&isset($_POST['userpassword'])&&$_POST['username']!='' && $_POST['userpassword']!=''){ // Проверим логин и пароль...

s_start();
// проверим на правильность введенного кода
if($config['use_captcha_auth'] && $_POST['validate']!=$_SESSION['validate_pass']){// ошибка!!! ругнуться!!!

$smarty->assign('wrong_code',true);

}else{

if($config['roserver']['use_md5_passwords']){
$_user_password=md5($_POST['userpassword']);
}else{
$_user_password=$_POST['userpassword'];
}

$tmp=GetAll("SELECT count(*) FROM ".$config['ro_db'].".login
WHERE `userid`='".$_POST['username']."' && `user_pass`='".$_user_password."'");


$u_cnt=$tmp[0]['count(*)'];

if($u_cnt>0){ // Есть такой пользователь
$_USER_NAME=$_POST['username'];

if($config['debug']){
echo "Залогинился пользователь: ".$_USER_NAME."
";
}
// получим уровень пользователя и id пользователя

$tmp=GetAll("SELECT `level` as `gm_level`, `userid` FROM ".$config['ro_db'].".login WHERE `userid`='".$_POST['username']."' && `user_pass`='".$_user_password."'");


$_SESSION['_USER_NAME']=$tmp[0]['userid'];
$_SESSION['_USER_LEVEL']=$tmp[0]['gm_level'];
if($config['debug']){
echo "необходимо перейти по этой ссылке";
}

header('Location: '.$_URL);
die();
}else{ // нет пользователя
$smarty->assign('wrong_login',true);
}
}
}
// Обеспечим выход
if(isset($_SESSION['_USER_NAME'])){
unset($_SESSION['_USER_NAME']);
unset($_SESSION['_USER_LEVEL']);
}
// Отрисуем форму логина...
$smarty->assign('_TITLE','Вход в персональные страницы');
$smarty->assign('_SUBMENU','menu_account.html');
$smarty->assign('page_content','login.html');
?>
$smarty->assign('_login',$_SESSION['_USER_NAME']);
$smarty->assign('_TITLE','Персональные страницы');

// получим список доступных комманд:
$commands=GetAll("SELECT * FROM ".$config['ros_db'].".ros_commands WHERE `lvl` <= '".$_SESSION['_USER_LEVEL']."'");
$smarty->assign('commands',$commands);

$smarty->assign('page_content','login_result.html');
$smarty->assign('_SUBMENU','menu_account.html');
?>

Автор: dimjke: Дата: 03.26.2011

Используй опцию на форуме

Автор: vixa2012: Дата: 03.27.2011

Вот вылажую mvp_leader.php также с ошибкой у меня пишет типо Fatal error: Call to undefined function getall() in C:\site\mvp_ladder.php on line 198
Создаём mvp_leader.php


$config['db_server']="localhost";
$config['db_user']="root";
$config['db_password']="vertrigo";
$config['ro_db']="ragnarok";
$config['log_db']="ragnarok";
$config['ros_db']="rose";
//$config['debug']=2;

// Отображение рейтинга убийств MVP...
$_char_in_page=20;
$_page_shown=7;

require_once('./pager.php');

// получим статистику

$query="SELECT kill_char_id, char.account_id, login.level, char.name, char.class, char.base_level, char.job_level, count( * ) AS mvp_cnt
FROM ".$config['log_db'].".mvplog
LEFT JOIN ".$config['ro_db'].".char ON char.char_id = mvplog.kill_char_id
LEFT JOIN ".$config['ros_db'].".ros_stat_ignore ON ( (
ros_stat_ignore.id = char.account_id
AND ros_stat_ignore.type =1
)
OR (
ros_stat_ignore.id = char.char_id
AND ros_stat_ignore.type = 2
) )
LEFT JOIN ".$config['ro_db'].".login ON char.account_id = login.account_id
WHERE ros_stat_ignore.id IS NULL
AND char.name IS NOT NULL
AND login.level < ".$config['ignore_gm_lvl']."
AND login.state != '5'
GROUP BY mvplog.kill_char_id
ORDER BY mvp_cnt DESC , base_level DESC";

$tmp=GetAll($query);

if($config['debug']) var_dump($tmp);

$smarty->assign("mvp_stat",$tmp);

include("./const.php");
$smarty->assign("_JOB",$_JOB);

$smarty->assign('_TITLE','Рейтинг MVP');
$smarty->assign('page_content','mvp_ladder.html');
$smarty->assign('_SUBMENU','menu_info.html');

?>

Создаём pager.php


// Функция получает значения
// $items_count сколько всего записей
// $items_in_page сколько записей на странице
// $page_number какая страница
// $page_show Сколько страниц показывать (слева и справа)

function pager($items_count,$items_in_page,$page_number,$page_show)
{
$max_page=(int)($items_count/$items_in_page);
if($max_page==($items_count/$items_in_page))$max_page--;
if($max_page<0)$max_page=0;
if($page_number<0)$page_number=0;
$min_item=$page_number*$items_in_page;
if($min_item>($items_count-1))
{
$page_number=$max_page;
$min_item=$page_number*$items_in_page;
}
$max_item=$min_item+$items_in_page-1;
if($max_item>($items_count-1))$max_item=$items_count-1;
if($max_item<0)$max_item=0;
$left=array();
$right=array();
// Сделаем массив номеров страниц слева
for($n=($page_number-1);$n>($page_number-$page_show);$n--)
{
if($n<0)break;
$left[]=$n;
}
$left=array_reverse($left);
// Сделаем массив номеров страниц справа
for($n=$page_number+1;$n<($page_number+$page_show);$n++)
{
if($n>$max_page)break;
$right[]=$n;
}
// Если у нас кругом 0 то подправим begin_show
$result=array( "max_page"=>$max_page,
"current_page"=>$page_number,
"left"=>$left,
"right"=>$right,
"begin_show"=>$min_item,
"end_show"=>$max_item,
"items_count"=>$items_count,
"show_items"=>($max_item-$min_item+1));
return $result;
}


?>

Создаём const.php


// распределение по типам. N=>Link N-тип предмета Link - ссылка идущая после /items/
// для отображения только определенных типов предметов. например /items/use. для отображения
// предметов с типом 2 и 11

$_ITEMS_TYPE=array(
'0'=>'potions', // Лечилки
'2'=>'use', // Используемые
'3'=>'etc', // ETC
'4'=>'weapon', // Оружие
'5'=>'equip', // Броня/Накидки/Ботинки/Шапки
'6'=>'card', // Карты
'7'=>'pets', // Яйца петов
'8'=>'etc', // предметы петов
'10'=>'arrow', // Боеприпасы
'11'=>'use' // Пропадающие из инвентаря при клике (для скилов и поимки петов)
);

/*

// пока не используется
// Названия типов предметов
$_ITEMS_TYPE_NAME=array(
'0'=>'Healing item', // Лечилки
'2'=>'Usable item', // Используемые
'3'=>'Etc item', // ETC
'4'=>'Weapon', // Оружие
'5'=>'Armor/Garment/Boots/Headgear', // Броня/Накидки/Ботинки/Шапки
'6'=>'Card', // Карты
'7'=>'Pet egg', // Яйца петов
'8'=>'Pet equipment', // Предметы петов
'10'=>'Ammo (Arrows/Bullets/etc)', // Боеприпасы
'11'=>'Usable with delayed consumption' // Пропадающие из инвентаря при клике (для скилов и поимки петов)
);
*/
$_ITEMS_JOB_BITMAP=array(
'(S.) Novice' => 0x00000001, // (2^00):
'Swordman' => 0x00000002, // (2^01):
'Mage' => 0x00000004, // (2^02):
'Archer' => 0x00000008, // (2^03):
'Acolyte' => 0x00000010, // (2^04):
'Merchant' => 0x00000020, // (2^05):
'Thief' => 0x00000040, // (2^06):
'Knight' => 0x00000080, // (2^07):
'Priest' => 0x00000100, // (2^08):
'Wizard' => 0x00000200, // (2^09):
'Blacksmith' => 0x00000400, // (2^10):
'Hunter' => 0x00000800, // (2^11):
'Assassin' => 0x00001000, // (2^12):
// 'Unused' => 0x00002000, // (2^13):
'Crusader' => 0x00004000, // (2^14):
'Monk' => 0x00008000, // (2^15):
'Sage' => 0x00010000, // (2^16):
'Rogue' => 0x00020000, // (2^17):
'Alchemist' => 0x00040000, // (2^18):
'Bard/Dancer' => 0x00080000, // (2^19):
'Unused' => 0x00100000, // (2^20):
'Taekwon' => 0x00200000, // (2^21):
'StarGladi' => 0x00400000, // (2^22):
'Soul Linker' => 0x00800000, // (2^23):
'Gunslinger' => 0x01000000, // (2^24):
'Ninja' => 0x02000000 // (2^25):
);

$_GD_SKILL_NAME=array(
'10000'=>'Approval',
'10004'=>'Guild_Extension',
'10001'=>'Kafra_Contract',
'10002'=>'Guardian_Research',
'10005'=>"Guild's_Glory",
'10006'=>'Great_Leadership',
'10007'=>'Wounds_of_Glory',
'10008'=>'Cold_Soul',
'10009'=>'Sharp_Eyes',
'10010'=>'Battle_Orders',
'10011'=>'Regeneration',
'10012'=>'Restore',
'10013'=>'Rally_Guild',
'10003'=>'Guardian_Training',
'10014'=>'Extend_Guild'
);

$_JOB=array('0'=>'Novice',
'1'=>'Swordman',
'2'=>'Mage',
'3'=>'Archer',
'4'=>'Acolyte',
'5'=>'Merchant',
'6'=>'Thief',
'7'=>'Knight',
'8'=>'Priest',
'9'=>'Wizard',
'10'=>'Blacksmith',
'11'=>'Hunter',
'12'=>'Assassin',
// '13'=>'Knight on PecoPeco',
'13'=>'Knight',
'14'=>'Crusader',
'15'=>'Monk',
'16'=>'Sage',
'17'=>'Rogue',
'18'=>'Alchem',
'19'=>'Bard',
'20'=>'Dancer',
// '21'=>'Crusader on GrandPeco',
'21'=>'Crusader',
'22'=>'Job Wedding',

'23'=>'Super Novice',
'24'=>'Gunslinger',
'25'=>'Ninja',
'26'=>'Xmas',


'4001'=>'Novice High',
'4002'=>'Swordman High',
'4003'=>'Mage High',
'4004'=>'Archer High',
'4005'=>'Acolyte High',
'4006'=>'Merchant High',
'4007'=>'Thief High',
'4008'=>'Lord Knight',
'4009'=>'High Priest',
'4010'=>'High Wizard',
'4011'=>'Whitesmith',
'4012'=>'Sniper',
'4013'=>'Assassin Cross',
//'4014'=>'Lord Knight2',
'4014'=>'Lord Knight',
'4015'=>'Paladin',
'4016'=>'Champion',
'4017'=>'Professor',
'4018'=>'Stalker',
'4019'=>'Creator',
'4020'=>'Clown',
'4021'=>'Gypsy',
//'4022'=>'Paladin2',
'4022'=>'Paladin',

// бэбиклассы
'4023'=>'Baby',
'4024'=>'Baby Swordman',
'4025'=>'Baby Mage',
'4026'=>'Baby Archer',
'4027'=>'Baby Acolyte',
'4028'=>'Baby Merchant',
'4029'=>'Baby Thief',
'4030'=>'Baby Knight',
'4031'=>'Baby Priest',
'4032'=>'Baby Wizard',
'4033'=>'Baby Blacksmith',
'4034'=>'Baby Hunter',
'4035'=>'Baby Assassin',
//'4036'=>'Baby Knight2',
'4036'=>'Baby Knight',
'4037'=>'Baby Crusader',
'4038'=>'Baby Monk',
'4039'=>'Baby Sage',
'4040'=>'Baby Rogue',
'4041'=>'Baby Alchem',
'4042'=>'Baby Bard',
'4043'=>'Baby Dancer',
//'4044'=>'Baby Crusader2',
'4044'=>'Baby Crusader',
'4045'=>'Super Baby',

// тайквон классы
'4046'=>'Taekwon',
'4047'=>'Star Gladiator',
//'4048'=>'Star Gladiator2',
'4048'=>'Star Gladiator',
'4049'=>'Soul Linker'

);

$_RACES=array(
"11"=>"Other",
"10"=>"Boss monster",
"9"=>"Dragon",
"8"=>"Angel",
"7"=>"Demi-Human",
"6"=>"Demon",
"5"=>"Fish",
"4"=>"Insect",
"3"=>"Plant",
"2"=>"Brute",
"1"=>"Undead",
"0"=>"Formless" //?????????
);


$_ELEMENTS=array(
// <число элемента>=>(<отображение на сайте>,<название столбца в базе>,<уровень элемента>)
20=>array("Neutral 1","Neutral",1),
21=>array("Water 1","Water",1),
22=>array("Earth 1","Earth",1),
23=>array("Filre 1","Filre",1),
24=>array("Wind 1","Wind",1),
25=>array("Poison 1","Poison",1),
26=>array("Holy 1","Holy",1),
27=>array("Dark 1","Dark",1),
28=>array("Ghost 1","Ghost",1),
29=>array("Undead 1","Undead",1),

40=>array("Neutral 2","Neutral",2),
41=>array("Water 2","Water",2),
42=>array("Earth 2","Earth",2),
43=>array("Filre 2","Filre",2),
44=>array("Wind 2","Wind",2),
45=>array("Poison 2","Poison",2),
46=>array("Holy 2","Holy",2),
47=>array("Dark 2","Dark",2),
48=>array("Ghost 2","Ghost",2),
49=>array("Undead 2","Undead",2),

60=>array("Neutral 3","Neutral",3),
61=>array("Water 3","Water",3),
62=>array("Earth 3","Earth",3),
63=>array("Filre 3","Filre",3),
64=>array("Wind 3","Wind",3),
65=>array("Poison 3","Poison",3),
66=>array("Holy 3","Holy",3),
67=>array("Dark 3","Dark",3),
68=>array("Ghost 3","Ghost",3),
69=>array("Undead 3","Undead",3),

80=>array("Neutral 4","Neutral",4),
81=>array("Water 4","Water",4),
82=>array("Earth 4","Earth",4),
83=>array("Filre 4","Filre",4),
84=>array("Wind 4","Wind",4),
85=>array("Poison 4","Poison",4),
86=>array("Holy 4","Holy",4),
87=>array("Dark 4","Dark",4),
88=>array("Ghost 4","Ghost",4),
89=>array("Undead 4","Undead",4),

);


// свойства моба. индекс - номер байта
$_MOB_MODE=array(
// 0=>"Enemy can move",
1=>"Looter",
2=>"Aggressive",
3=>"Assists",
4=>"Spell detector",
5=>"Spawn minions",
6=>"Plant",
// 7=>"For everything but plants"
);

$_ELEMENTS_FIX=array(
20=>array(100,100,100,100,100,100,100,100,25,100),
21=>array(100,25,100,50,175,100,100,100,100,100),
22=>array(100,100,100,150,50,125,100,100,100,100),
23=>array(100,150,50,25,100,125,100,100,100,100),
24=>array(100,50,150,100,25,125,100,100,100,100),
25=>array(100,100,100,100,100,0,100,50,100,50),
26=>array(100,75,75,75,75,75,0,125,75,100),
27=>array(100,100,100,100,100,50,125,0,75,0),
28=>array(25,100,100,100,100,100,100,100,125,100),
29=>array(100,100,100,125,100,-25,150,-25,100,0),

40=>array(100,100,100,100,100,100,100,100,0,100),
41=>array(100,0,100,25,175,75,100,100,75,75),
42=>array(100,100,50,175,25,125,100,100,75,75),
43=>array(100,175,25,0,100,125,100,100,75,75),
44=>array(100,25,175,100,0,125,100,100,75,75),
45=>array(100,100,100,100,100,0,100,25,75,25),
46=>array(100,50,50,50,50,50,-25,150,50,125),
47=>array(100,75,75,75,75,25,150,-25,50,0),
48=>array(25,100,100,100,100,75,100,100,150,100),
49=>array(100,100,100,150,100,-50,175,-50,125,0),

60=>array(100,100,100,100,100,100,100,100,0,100),
61=>array(100,-25,100,0,200,50,100,100,50,50),
62=>array(100,100,0,200,0,100,100,100,50,50),
63=>array(100,200,0,-25,100,100,100,100,50,50),
64=>array(100,0,200,100,-25,100,100,100,50,50),
65=>array(100,100,100,100,100,0,125,0,50,0),
66=>array(100,25,25,25,25,25,-50,175,25,150),
67=>array(100,50,50,50,50,0,175,-50,25,0),
68=>array(0,100,100,100,100,50,100,100,175,100),
69=>array(100,125,75,175,100,-75,200,-75,150,0),

80=>array(100,100,100,100,100,100,100,100,0,100),
81=>array(100,-50,100,0,200,25,75,75,25,25),
82=>array(100,100,-25,200,0,75,75,75,25,25),
83=>array(100,200,0,-50,100,75,75,75,25,25),
84=>array(100,0,200,100,-50,75,75,75,25,25),
85=>array(100,75,75,75,75,0,125,-25,25,-25),
86=>array(100,0,0,0,0,0,-100,200,0,175),
87=>array(100,25,25,25,25,-25,200,-100,0,0),
88=>array(0,100,100,100,100,25,100,100,200,100),
89=>array(100,150,50,200,100,-100,200,-100,175,0),
);

?>

Автор: vixa2012: Дата: 03.27.2011

Да помогите хоть кто-то

Автор: Кеник: Дата: 03.27.2011

ORDER BY mvp_cnt DESC , base_level DESC";

$tmp=GetAll($query);

if($config['debug']) var_dump($tmp);

$smarty->assign("mvp_stat",$tmp);


Cкрипт вызывает неизвестную функцию, о чем в ошибке и сказано

Автор: vixa2012: Дата: 03.28.2011

И чо дальше удаляю строчки
ORDER BY mvp_cnt DESC , base_level DESC";

$tmp=GetAll($query);

if($config['debug']) var_dump($tmp);

$smarty->assign("mvp_stat",$tmp);

получаю ответ Parse error: syntax error, unexpected '/' in C:\site\mvp_ladder.php on line 198

Сразу жалуется на строчку $tmp=GetAll($query);
а после на все ниже приведенные
ORDER BY mvp_cnt DESC , base_level DESC";

$tmp=GetAll($query);

if($config['debug']) var_dump($tmp);

$smarty->assign("mvp_stat",$tmp);

include("./const.php");
$smarty->assign("_JOB",$_JOB);

$smarty->assign('_TITLE','Рейтинг MVP');
$smarty->assign('page_content','mvp_ladder.html');
$smarty->assign('_SUBMENU','menu_info.html');

Удалив все эти строчки, тупо белая страничка остается
почему оно ругается на последние строчки?

Автор: Кеник: Дата: 03.28.2011

Откуда скрипт стырил - там и смотри как действует функция GetAll. Забыл стырить эту функцию >.<

Автор: vixa2012: Дата: 03.28.2011

Та роза ну хз где там искать эту GetAll

Автор: Кеник: Дата: 03.28.2011

Пошарься по розе, мб есть где-нибудь файл functions.php или чонеть такое. Още ищи в файлах GetAll функцию х)

Автор: vixa2012: Дата: 03.28.2011


function GetAll($query,$DB=0){
$ret=array();
$result=query($query,$DB);
if($result){
$num=mysql_num_rows($result);
for($n=0;$n<$num;$n++){
$ret[]=mysql_fetch_assoc($result);
}
return $ret;
}else{
return null;
}
}

Это наверно она?

Автор: Кеник: Дата: 03.28.2011

Да

Автор: vixa2012: Дата: 03.28.2011

Короче сделал так ща попробую исправить там вроде с конектом к базе не лады


$config['db_server']="localhost";
$config['db_user']="root";
$config['db_password']="vertrigo";
$config['ro_db']="ragnarok";
$config['log_db']="ragnarok";
$config['ros_db']="rose";
$server = "127.0.0.1";
$db = "ragnarok";
$user = "root";
$pass = "vertrigo";
function query($query,$DB=0){
global $config;
if(isset($config['debug']) && $config['debug']){
echo $query."
\n";
}
if($DB){
$result=mysql_query($query,$DB);
}else{
$result=mysql_query($query);
}
if(mysql_error()){
echo mysql_error()."
\n";
echo "query:".$query;
return null;
}else{
return $result;
}
}


function GetAll($query,$DB=0){
$ret=array();
$result=query($query,$DB);
if($result){
$num=mysql_num_rows($result);
for($n=0;$n<$num;$n++){
$ret[]=mysql_fetch_assoc($result);
}
return $ret;
}else{
return null;
}
}
//$config['debug']=2;

// Отображение рейтинга убийств MVP...
$_char_in_page=20;
$_page_shown=7;

require_once('./pager.php');

// получим статистику

$query="SELECT kill_char_id, char.account_id, login.level, char.name, char.class, char.base_level, char.job_level, count( * ) AS mvp_cnt
FROM ".$config['log_db'].".mvplog
LEFT JOIN ".$config['ro_db'].".char ON char.char_id = mvplog.kill_char_id
LEFT JOIN ".$config['ros_db'].".ros_stat_ignore ON ( (
ros_stat_ignore.id = char.account_id
AND ros_stat_ignore.type =1
)
OR (
ros_stat_ignore.id = char.char_id
AND ros_stat_ignore.type = 2
) )
LEFT JOIN ".$config['ro_db'].".login ON char.account_id = login.account_id
WHERE ros_stat_ignore.id IS NULL
AND char.name IS NOT NULL
AND login.level < ".$config['ignore_gm_lvl']."
AND login.state != '5'
GROUP BY mvplog.kill_char_id
ORDER BY mvp_cnt DESC , base_level DESC";

$tmp=GetAll($query);

if($config['debug']) var_dump($tmp);

$smarty->assign("mvp_stat",$tmp);

include("./const.php");
$smarty->assign("_JOB",$_JOB);

$smarty->assign('_TITLE','Рейтинг MVP');
$smarty->assign('page_content','mvp_ladder.html');
$smarty->assign('_SUBMENU','menu_info.html');

?>



и пишет вот как щас Странно ведь парол логин директория указаны верно

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\site\mvp_ladder.php on line 182

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in C:\site\mvp_ladder.php on line 182
Access denied for user 'ODBC'@'localhost' (using password: NO)
query:SELECT kill_char_id, char.account_id, login.level, char.name, char.class, char.base_level, char.job_level, count( * ) AS mvp_cnt FROM ragnarok.mvplog LEFT JOIN ragnarok.char ON char.char_id = mvplog.kill_char_id LEFT JOIN rose.ros_stat_ignore ON ( ( ros_stat_ignore.id = char.account_id AND ros_stat_ignore.type =1 ) OR ( ros_stat_ignore.id = char.char_id AND ros_stat_ignore.type = 2 ) ) LEFT JOIN ragnarok.login ON char.account_id = login.account_id WHERE ros_stat_ignore.id IS NULL AND char.name IS NOT NULL AND login.level < AND login.state != '5' GROUP BY mvplog.kill_char_id ORDER BY mvp_cnt DESC , base_level DESC
Fatal error: Call to a member function assign() on a non-object in C:\site\mvp_ladder.php on line 240

Все что с 240 линии єто
$smarty->assign("mvp_stat",$tmp);

include("./const.php");
$smarty->assign("_JOB",$_JOB);

$smarty->assign('_TITLE','Рейтинг MVP');
$smarty->assign('page_content','mvp_ladder.html');
$smarty->assign('_SUBMENU','menu_info.html');

Непойму почему оно на єто жалуется

Автор: Кеник: Дата: 03.28.2011

Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO) in C:\site\mvp_ladder.php on line 233


Не доступа юзеру ODBC .

Автор: [OneLife]: Дата: 03.28.2011

Цитата vixa2012;37074:

Все что с 240 линии єто
$smarty->assign("mvp_stat",$tmp);

include("./const.php");
$smarty->assign("_JOB",$_JOB);

$smarty->assign('_TITLE','Рейтинг MVP');
$smarty->assign('page_content','mvp_ladder.html');
$smarty->assign('_SUBMENU','menu_info.html');

Непойму почему оно на єто жалуется


Смарти то подключен?

Автор: vixa2012: Дата: 03.28.2011

Ну я скрипт кинул а на смарти функцию не нашол Зато нашол там про смарти целую папку вот кидаю её http://narod.ru/disk/8633130001/Smarty-2.6.16.rar.html я рылся там но конкретной функции не нашол была функция function Smarty_Compiler() но я сомневаюсь что это то что надо
Жека я кинул скрипт в котором указаны дб локал хост пароль и юзер от моего компа я хз чо оно пишет Ведь у меня данные правильно стоят


Warning: mysql_query() [function.mysql-query]: Access denied for user 'ODBC'@'localhost' (using password: NO)

Автор: Renegade: Дата: 03.28.2011

using password: NO


какбе намекаедЪ

Автор: vixa2012: Дата: 03.28.2011

блин да у меня пассворд все прописано правильно скоко обьяснять я сам в шоке как так дб все правильно написано а пишет что неверно

Посмотрите сами все стандартное в вертриго стоит

$config['db_server']="localhost";
$config['db_user']="root";
$config['db_password']="vertrigo";
$config['ro_db']="ragnarok";
$config['log_db']="ragnarok";
$config['ros_db']="rose";
$server = "localhost";
$db = "ragnarok";
$user = "root";
$pass = "vertrigo";

Автор: vixa2012: Дата: 03.30.2011

Короче я решил забить на сраную розу и попытаться сделать сам вот скрипт Топ МВП

добавил в mvplog таблицу name varchar 30



$db = mysql_connect ("localhost","root","vertrigo");
mysql_select_db("ragnarok",$db);
mysql_query("SET SESSION CHARACTER SET cp1251");
mysql_query("SET NAMES cp1251");

$result = mysql_query ("SELECT * FROM `mvplog` ORDER BY `kill_char_id` DESC LIMIT 10 ",$db) or die(mysql_error());
$myrow = mysql_fetch_array($result);

do
{
printf("








%s %s %s %s %s
" ,$myrow["name"] ,$myrow["mvp_id"],$myrow["mvp_date"] ,$myrow["mvpexp"], $myrow["monster_id"]);
}
while ($myrow = mysql_fetch_array($result));


?>


Андед или ктото помогайте

Автор: [OneLife]: Дата: 03.30.2011

Цитата vixa2012;37405:
Короче я решил забить на сраную розу и попытаться сделать сам вот скрипт Топ МВП

добавил в mvplog таблицу name varchar 30



$db = mysql_connect ("localhost","root","vertrigo");
mysql_select_db("ragnarok",$db);
mysql_query("SET SESSION CHARACTER SET cp1251");
mysql_query("SET NAMES cp1251");

$result = mysql_query ("SELECT * FROM `mvplog` ORDER BY `kill_char_id` DESC LIMIT 10 ",$db) or die(mysql_error());
$myrow = mysql_fetch_array($result);

do
{
printf("








%s %s %s %s %s
" ,$myrow["name"] ,$myrow["mvp_id"],$myrow["mvp_date"] ,$myrow["mvpexp"], $myrow["monster_id"]);
}
while ($myrow = mysql_fetch_array($result));


?>


Андед или ктото помогайте


Создастся таблица с этими данными, думаю понял

Автор: vixa2012: Дата: 03.30.2011

Ну я то понял это еще сразу так как сам эти даные написал Но на сайте не чего не отображается значить надо вводить другие данные или переделывать все нах

То что указано здесь " ,$myrow["name"] ,$myrow["mvp_id"],$myrow["mvp_date"] ,$myrow["mvpexp"], $myrow["monster_id"]); вообще туфта и оно не показует не чего вобще хоть я и сам это написал серавно это туфта, но лучше подскажите что надо написать там чтобы начало показывать топ МВП?

Автор: vixa2012: Дата: 03.31.2011

Вот почти доделал banlist.php показует спикок всех забаненых игроков ошибок почти нету но пишет вот что Unknown database 'resource id #7' Что за ерунда как я понимаю в базе данных нужно добавить 'resource id #7' или чо напишите что где и как может быть эту строчку ban_until надо внести в таблицу:?



$server = "localhost";
$user = "root";
$pass = "vertrigo";
$db = "ragnarok";

$db = mysql_connect($server, $user, $pass) or die(mysql_error());
// подгружаем БД
$select = mysql_select_db($db, $db) or die(mysql_error());

// Коннект к базе
function connect_specific_db($server, $user, $pass, $db=""){

// Непосредственно коннект к базе
$dbh = @mysql_connect($server,
$user,
$pass
);
if ($dbh == FALSE)
{
if (mysql_error())
{
$conn_error = mysql_error();
}else if(isset($php_errormsg))
{
$conn_error = $php_errormsg;
} else
{
$conn_error = 'Не могу соединится с базой данных: проверте настройки.';
}
}
if(isset($conn_error))
{ echo $conn_error; die();}

// Выберем базу данных

if($db!=""){ // выберем базу данных
if(!@mysql_select_db($db,$dbh))
die("Не могу выбрать базу данных ".$db);
}

return $dbh;
}
function query($query,$DB=0){
global $config;
if(isset($config['debug']) && $config['debug']){
echo $query."
\n";
}
if($DB){
$result=mysql_query($query,$DB);
}else{
$result=mysql_query($query);
}
if(mysql_error()){
echo mysql_error()."
\n";
echo "query:".$query;
return null;
}else{
return $result;
}
}


function GetAll($query,$DB=0){
$ret=array();
$result=query($query,$DB);
if($result){
$num=mysql_num_rows($result);
for($n=0;$n<$num;$n++){
$ret[]=mysql_fetch_assoc($result);
}
return $ret;
}else{
return null;
}
}
$_bans_in_page=20;
$_page_shown=7;

require_once('./pager.php');

$ban_count=GetAll("SELECT count(char_id) as cnt FROM ".$db.".login
LEFT JOIN ".$db.".char ON char.account_id = login.account_id
WHERE ban_until > 0 OR state = '5';");
$ban_count=$ban_count[0]['cnt'];
$nav=pager($ban_count,$_bans_in_page,$_CURRENT_PAGE,$_page_shown);

$where=getdate();
$query="SELECT login.userid, FROM_UNIXTIME(login.ban_until, '%d.%m.%Y %T') as ban_time, login.state,
char.name as char_name
FROM ".$db.".login
LEFT JOIN ".$db.".char ON char.account_id = login.account_id
WHERE ban_until > ".$where[0]." OR state = '5'
ORDER BY ban_until, state DESC
LIMIT ".$nav['begin_show']." , ".$_bans_in_page;

$bans=GetAll($query);


?>

Список забаненых



{if isset($bans) && count($bans)}




{section name=i loop=$bans}
{if $bans.char_name != ""}


{if $bans.state == 5}

{else}

{/if}

{/if}
{/section}
Ник: Дата анбана: 
 {$bans.char_name} 
  Без анбана  
  {$bans.ban_time}  



{include file="nav_bar.html"}
{else}
Список пуст...
{/if}

Автор: vixa2012: Дата: 04.01.2011

Вот скрипт логина на сайт но у меня в регистрации стоит функция md5 а этот скрипт не считывает md5 и при логине пишет не корректный пароль помогите дописать считывание md5 паролей



require('./config.php');

//Checks if there is a login cookie
if(isset($_COOKIE['ID_my_site']))

//if there is, it logs you in and directes you to the members page
{
$username = $_COOKIE['ID_my_site'];
$pass = $_COOKIE['Key_my_site'];
$check = mysql_query("SELECT * FROM login WHERE userid = '$username'")or die(mysql_error());
while($info = mysql_fetch_array( $check ))
{
if ($pass != $info['user_pass'])
{
}
else
{
header("Location: members.php");
}
}
}

//if the login form is submitted
if (isset($_POST['submit'])) { // if form has been submitted

// makes sure they filled it in
if(!$_POST['username'] | !$_POST['pass']) {
die('You did not fill in a required field.go back');
}
// checks it against the database

if (!get_magic_quotes_gpc()) {
$_POST['email'] = addslashes($_POST['email']);
}
$check = mysql_query("SELECT * FROM login WHERE userid = '".$_POST['username']."'")or die(mysql_error());

//Gives error if user dosen't exist
$check2 = mysql_num_rows($check);
if ($check2 == 0) {
die('That user does not exist in our database. Click Here to Register');
}
while($info = mysql_fetch_array( $check ))
{
$_POST['pass'] = stripslashes($_POST['pass']);
$info['user_pass'] = stripslashes($info['user_pass']);
$_POST['pass'] = $_POST['pass'];

//gives error if the password is wrong
if ($_POST['pass'] != $info['user_pass']) {
die('
Incorrect password, please try again.
go back
');
}



else
{

// if login is ok then we add a cookie
$_POST['username'] = stripslashes($_POST['username']);
$hour = time() + 3600;
setcookie(ID_my_site, $_POST['username'], $hour);
setcookie(Key_my_site, $_POST['pass'], $hour);

//then redirect them to the members area
header("Location: members.php");
}
}
}
else
{

// if they are not logged in
?>
















Login

Username:

Password:






}

?>


Автор: vixa2012: Дата: 04.01.2011

переделал первый скрипт banlist.php но ерор тот же


require('./config.php');

// Коннект к базе

function query($query,$DB=0){
global $config;
if(isset($config['debug']) && $config['debug']){
echo $query."
\n";
}
if($DB){
$result=mysql_query($query,$DB);
}else{
$result=mysql_query($query);
}
if(mysql_error()){
echo mysql_error()."
\n";
echo "query:".$query;
return null;
}else{
return $result;
}
}


function GetAll($query,$DB=0){
$ret=array();
$result=query($query,$DB);
if($result){
$num=mysql_num_rows($result);
for($n=0;$n<$num;$n++){
$ret[]=mysql_fetch_assoc($result);
}
return $ret;
}else{
return null;
}
}


?>
$_bans_in_page=20;
$_page_shown=7;

require_once('./pager.php');

$ban_count=GetAll("SELECT count(char_id) as cnt FROM ".$db.".login
LEFT JOIN ".$db.".char ON char.account_id = login.account_id
WHERE unban_time > 0 OR state = '5';");
$ban_count=$ban_count[0]['cnt'];
$nav=pager($ban_count,$_bans_in_page,$_CURRENT_PAGE,$_page_shown);

$where=getdate();
$query="SELECT login.userid, FROM_UNIXTIME(login.unban_time, '%d.%m.%Y %T') as ban_time, login.state,
char.name as char_name
FROM ".$db.".login
LEFT JOIN ".$db.".char ON char.account_id = login.account_id
WHERE unban_time > ".$where[0]." OR state = '5'
ORDER BY unban_time, state DESC
LIMIT ".$nav['begin_show']." , ".$_bans_in_page;

$bans=GetAll($query);


?>

Список забаненых



{if isset($bans) && count($bans)}




{section name=i loop=$bans}
{if $bans.char_name != ""}


{if $bans.state == 5}

{else}

{/if}

{/if}
{/section}
Ник: Дата анбана: 
 {$bans.char_name} 
  Без анбана  
  {$bans.ban_time}  



{include file="nav_bar.html"}
{else}
Список пуст...
{/if}



config.php

//Made by: Daison
//CMS Configuration

$sitename = "YourRO Website";
$LogoName = "Your";
$LogoDownDesc = "Philippine Ragnarok Online";
$forumsite = "http://forumph.clanteam.com/";

//Status
$ipAddress = "127.0.0.1";
$loginServer = "6900";
$charServer = "6121";
$mapServer = "5121";
$sqlServer = "3306";


//Client Downloads

$dlclient = "http://www.4shared.com/";
$dlsmall = "http://www.4shared.com/";

//Database

if(stristr($_SERVER['PHP_SELF'], "config.php")) die(mysql_error()); //Don't edit this one!
$host = "localhost"; // host mysql
$user = "root"; // mysql username
$pass = "vertrigo"; // mysql password
$db = "ragnarok"; // mysql db


mysql_connect($host,$user,$pass) or die(mysql_error());
mysql_select_db($db) or die(mysql_error());

?>


И вот что показует на экране http://s011.radikal.ru/i318/1104/9d/a3275cb4bc33.jpg
У меня тут не верный html код стоит надо поправить помогите

Автор: vixa2012: Дата: 04.03.2011

Ау етото поможет доделать скрипты или нет ?

Автор: [OneLife]: Дата: 04.03.2011


Забаненые










$host = "localhost";
$user = "root";
$pass = "root";
$rodb = "test";
$db = mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db($rodb,$db);
mysql_query("SET SESSION CHARACTER SET cp1251");
mysql_query("SET NAMES cp1251");


$result = mysql_query ("SELECT * FROM `ipbanlist` ORDER BY `btime` DESC LIMIT 10",$db) or die(mysql_error());
$ban_top = mysql_fetch_array($result);
do
{
printf("






");
}
while ($ban_top = mysql_fetch_array($result));

echo '
Имя
Дата бана
Дата анбана
Причина
".$ban_top["list"]." ".$ban_top["btime"]." ".$ban_top["rtime"]." ".$ban_top["reason"]."
'; //Закрытие таблицы

?>

Автор: vixa2012: Дата: 04.03.2011

Мм скрипт как таков рабочий я установил его зашол в ро написал @ban 1y vixa
забанил чара но на сайте это не отобразилось с ipbanlist не чего не показует там надо чтото в базе наверно сделать?

Автор: [OneLife]: Дата: 04.03.2011

Если в таблице "ipbanlist" есть записи, то он покажет их

Автор: vixa2012: Дата: 04.04.2011

Вот посмотри что у меня творится в таблице ipbanlist
http://s49.radikal.ru/i125/1104/c7/49e0b277075c.jpg

я прописал @ban 1y vixa
и не фига так само у меня пустая таблица МВПлог в афине показует логи а в бд не

Автор: Sanasol: Дата: 04.04.2011

Что вы пристали в ipbanlist... Туда руками добавляют IP адреса всяких засранцев.

А то что вам надо в таблице LOGIN.

http://www.gamefront.com/files/17459590/WiskCP3_1_rar
Тут есть банлист вытащить проще чем из розы. Роза через плечо сделана, и там ничего просто так не вытащишь.

Автор: vixa2012: Дата: 04.04.2011

Я взял топы из WiskCP всё работает но у меня есть одно но!
Почему то у меня на сайте не отображается таблица в которой показует данные вот скрипт
chars.php












Nickname Уровень Джоб Zeny Опыт Профессия

include('job.php');

$service = "localhost"; //Хост базы
$username = "root"; //Пользователь
$password = "vertrigo"; //Пароль
$database = "ragnarok"; //База


$db = mysql_connect ($service,$username,$password);
mysql_select_db($database,$db);
$result = mysql_query ("SELECT * FROM `char` ORDER BY `base_exp` DESC LIMIT 10 ",$db) or die(mysql_error());
$myrow = mysql_fetch_array($result);

do
{
printf("









%s %s %s %s %s ".$job[$myrow["class"]]."
" ,$myrow["name"] ,$myrow["base_level"],$myrow["job_level"] ,$myrow["zeny"], $myrow["base_exp"], $myrow["class"]);
}
while ($myrow = mysql_fetch_array($result));


?>


Вот что у меня на сайте
http://s009.radikal.ru/i309/1104/ad/7734ed5f65ac.jpg
Как сделать чтобы таблицу отоброжало?

Автор: [OneLife]: Дата: 04.04.2011

Ты хоть пытался найти как это сделать? Или сразу же сюда написал?

Автор: vixa2012: Дата: 04.04.2011

Ну конечно пытался я менял table style менял а оно до фени я попробывал убрать content.jpg картинку думал что она может затулять слой

Автор: vixa2012: Дата: 04.05.2011

Скрипт при входе в личный кабинет не читает мд5 и при смене пароля не шифрует пароль в мд5 помогите проблему эту решить вот скрипт
kabinet.php


session_start();
if(!isset($_SESSION['user'])) {
echo "Попытка взлома не прошла ваши данные были высланы администрации для проверки!!!";
exit;
}

?>


function setuser($login,$sets,$tos){
global $service, $username, $password, $database;
$con = mysql_connect($service, $username, $password);
mysql_select_db($database);
if(is_array($sets)){
$query = "UPDATE `login` SET";
foreach($sets as $i => $sets_v){
$query .= " `$sets` = '$tos'";
if($i < (count($sets)-1)) $query .= ",";
}
$query .= " WHERE `userid` = '$login'";
$result = mysql_query($query);
return $result;
}else{
$query = "UPDATE `login` SET `$sets` = '$tos' WHERE `userid` = '$login'";
$result = mysql_query($query);
return $result;
}
}
$con = mysql_connect($service, $username, $password);
mysql_select_db($database);
$query = "SELECT * FROM login WHERE userid = '".$_SESSION['user']."'";
$result = mysql_query($query);
$num = mysql_numrows($result);
if(!$num) echo 'Не удачная попытка чувак ваши данные высланы администрации для проверки!!!'; else{
$email = mysql_result($result, 0, email);
$count = mysql_result($result, 0, logincount);
$last = mysql_result($result, 0, lastlogin);
?>





:
:
:
:




if(isset($_POST['pass_change'])){
if($_POST['pass_na'] == "") echo 'Ошибка
'; else{
if($_POST['pass_na'] != $_POST['pass_nb']) echo 'Ошибка
'; else{
if(setuser($_SESSION['user'],'user_pass',$_POST['pass_na'])){
echo 'Пароль изменен
';
$_SESSION['pass'] = md5($_POST['pass_na']);
}else echo 'Ошибка
';
}}}
?>









if(isset($_POST['email_change'])){
if($_POST['email'] == "") echo 'Ошибка
'; else{
if(setuser($_SESSION['user'],'email',$_POST['email'])){
echo 'E-mail изменен
';
}else echo 'Ошибка
';
}}
?>





Автор: ZелЁнкА: Дата: 04.05.2011

md5();

Автор: vixa2012: Дата: 04.05.2011

А по конкретней можно обьяснить там есть


$_SESSION['pass'] = md5($_POST['pass_na']);

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

Автор: Sanasol: Дата: 04.05.2011


session_start(); 
if(!isset($_SESSION['user'])) {
echo "Попытка взлома не прошла ваши данные были высланы администрации для проверки!!!";
exit;
}

?>


function setuser($login,$new_password){
global $service, $username, $password, $database;
$con = mysql_connect($service, $username, $password);
mysql_select_db($database);
$query = mysql_query("UPDATE `login` SET `user_pass` = '$new_password' WHERE `userid` = '$login'");
return $query;
}

$con = mysql_connect($service, $username, $password);
mysql_select_db($database);
$query = "SELECT * FROM login WHERE userid = '".$_SESSION['user']."'";
$result = mysql_query($query);
$num = mysql_numrows($result);
if(!$num) echo 'Не удачная попытка чувак ваши данные высланы администрации для проверки!!!'; else{
$email = mysql_result($result, 0, email);
$count = mysql_result($result, 0, logincount);
$last = mysql_result($result, 0, lastlogin);
?>





:
:
:
:




if(isset($_POST['pass_change'])){
if($_POST['pass_na'] == "") echo 'Ошибка
'; else{
if($_POST['pass_na'] != $_POST['pass_nb']) echo 'Ошибка
'; else{
if(setuser($_SESSION['user'],md5($_POST['pass_na']))){
echo 'Пароль изменен
';
$_SESSION['pass'] = md5($_POST['pass_na']);
}else echo 'Ошибка
';
}}}
?>









if(isset($_POST['email_change'])){
if($_POST['email'] == "") echo 'Ошибка
'; else{
if(setuser($_SESSION['user'],'email',$_POST['email'])){
echo 'E-mail изменен
';
}else echo 'Ошибка
';
}}
?>




Автор: vixa2012: Дата: 04.05.2011

Поставил твой скрипт пишет Ошибка

Автор: vixa2012: Дата: 04.05.2011

Я вообще чтото не пойму вот скрипты Логина на сайте и Личный кабинет где есть смена пароля но когда я пытаюсь войти в личный кабинет оно не видит МД5 шифр и когда я в базе скопировал пароль и всетаки вошол решил поменять его но оно меняет его не шифруя в МД5 вот вроде функции отвечающии за считку мд5 но почемуто не работают

$senha = md5($_POST['senha']);
и
$_SESSION['pass'] = md5($_POST['pass_na']);


Скрипт логина

if(isset($_POST['login'])){
if($_POST['user'] == ""){$erro = "Введите логин
";}
if($_POST['senha'] == ""){$erro .= "Введите пароль
";}
if($erro){ echo ''.$erro.'';
}else{
$senha = md5($_POST['senha']);
$login_check = checklogin($_POST['user'],$senha);
if($login_check == 0) { echo 'Неверный логин...
';
}else if($login_check == 1) { echo 'Неверный пароль...
';}else{
$_SESSION['user'] = $_POST['user'];
$_SESSION['pass'] = $senha;
echo "";
}}}
if(isset($_POST['logout'])){
unset($_SESSION['user']);
unset($_SESSION['pass']);
echo "";
}
if(isset($_SESSION['user'])){
echo '









Привет, '.$_SESSION['user'].'



';
}else{
echo '










Логин

Пароль



';}
?>


kabinet.php









session_start();
if(!isset($_SESSION['user'])) {
echo "Было обнаружено неизвестное соединение ваши данные отправлены администрацие на осмотр!!!";
exit;
}

?>


function setuser($login,$sets,$tos){
global $service, $username, $password, $database;
$con = mysql_connect($service, $username, $password);
mysql_select_db($database);
if(is_array($sets)){
$query = "UPDATE `login` SET";
foreach($sets as $i => $sets_v){
$query .= " `$sets` = '$tos'";
if($i < (count($sets)-1)) $query .= ",";
}
$query .= " WHERE `userid` = '$login'";
$result = mysql_query($query);
return $result;
}else{
$query = "UPDATE `login` SET `$sets` = '$tos' WHERE `userid` = '$login'";
$result = mysql_query($query);
return $result;
}
}
$con = mysql_connect($service, $username, $password);
mysql_select_db($database);
$query = "SELECT * FROM login WHERE userid = '".$_SESSION['user']."'";
$result = mysql_query($query);
$num = mysql_numrows($result);
if(!$num) echo 'Некоректное соединение ваши данные отправлены администрации на осмотр'; else{
$email = mysql_result($result, 0, email);
$count = mysql_result($result, 0, logincount);
$last = mysql_result($result, 0, lastlogin);
?>





:
:
:
:




if(isset($_POST['pass_change'])){
if($_POST['pass_na'] == "") echo 'Ошибка
'; else{
if($_POST['pass_na'] != $_POST['pass_nb']) echo 'Ошибка
'; else{
if(setuser($_SESSION['user'],'user_pass',$_POST['pass_na'])){
echo 'Пароль изменен
';
$_SESSION['pass'] = md5($_POST['pass_na']);
}else echo 'Ошибка
';
}}}
?>










if(isset($_POST['email_change'])){
if($_POST['email'] == "") echo 'Ошибка
'; else{
if(setuser($_SESSION['user'],'email',$_POST['email'])){
echo 'E-mail изменен
';
}else echo 'Ошибка
';
}}
?>











Автор: Кеник: Дата: 04.05.2011

Толком не буду ничего говорить... Разве что:

$_SESSION['pass'] = md5($_POST['pass_na']);

$_SESSION['pass'] - хранит ,md5 пароль
В базе пароли тоже хранятся преобразованные, так? Значит md5($_POST['pass_na']); будет хранить пароль в чистом виде, что не равно $_SESSION['pass']

Автор: vixa2012: Дата: 04.06.2011

Не Жека не фига я зделал что ты сказал неработает

Автор: vixa2012: Дата: 04.07.2011

Мда чот делал делал и не работает серавно фишка с мд5 хоть ктото сделал?