avatar_WeymaR

ExEngine: авто ресет для MU online и веб-сайтов. Как это работает?

Автор WeymaR, 2016 Март 30, 22:56

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Ключевые слова [SEO] mu onlineexengineавто ресет

WeymaR

Как это работает?
1. Игрок заходит в личный кабинет, и жмёт ресет.
2. Игрок становится в очереди, в течение 10 минут ресет делается автоматический.
P.S Ресет делается тогда когда игрок обновляет страницу.

Спойлер
<?php

// by Profesor08Я

if(!defined('Engine'))
{
Exit;
}


if(
$_SESSION["UserName"] != true)
{
echo 
Message("error"$Lang["MSG_LOGIN"]);
}
elseif (
$Online == '1')
{
echo 
Message("error"$Lang["MSG_LOGOUT"]);
}
else
{

$query $DB->Query("SELECT * FROM pr_reset_queue WHERE memb___id = '{$Username}' AND character = '{$CharacterName}' AND state = 0");

if (
$DB->NumRows($query) > 0)
{
echo 
Message("ok""Ваш персонаж уже стоит в очерди на ресет.");
}
else
{

$Info $DB->FetchRow($DB->Query("SELECT Clevel,Resets,Class,MapNumber,MapPosX,MapPosY,Money FROM Character WHERE AccountID = '$Username' and Name = '$CharacterName'"));
$Level $Info[0];
$Resets    $Info[1];
$Class $Info[2];
$Map $Info[3];
$PosX $Info[4];
$PosY $Info[5];
$Zen $Info[6];

$show_info true;

if(isset(
$_POST['reset']))
{

$ZenPrice $Reset['price'] * ($Resets 1);

if (
$ZenPrice >= $Reset['price_limit'])
{
$ZenPrice $Reset['price_limit'];
}

$Price $Zen $ZenPrice;

if (
$Resets <= 1)
{
$Reset['level'] = $Reset1['level'];
}
elseif (
$Resets <= AND $Resets >= 2)
{
$Reset['level'] = $Reset2['level'];
}
elseif (
$Resets <= AND $Resets >= 3)
{
$Reset['level'] = $Reset3['level'];
}
elseif (
$Resets <= AND $Resets >= 4)
{
$Reset['level'] = $Reset4['level'];
}
else
{
$Reset['level'] = $Reset5['level'];
}

if(
$Reset['check_inventory'] == 1)
{
$Inventory $DB->Query("declare @vault varbinary(1728); set @vault=(SELECT Inventory FROM Character WHERE AccountID = '$Username' and  Name='$CharacterName'); print @vault;");
$Inventory substr($DB->GetLastMessage(),2,384);
$NeedInventory FreeHex(32,12);
}

if (
$Resets >= $Reset['limit'])
{
echo 
Message('warning',$Lang['RESET_ERROR_LIMIT']);
}
elseif(
$Level $Reset['level'])
{
echo 
Message('error',$Lang['RESET_ERROR_LEVEL'].$Reset['level'].'!');
}
elseif (
$Inventory != $NeedInventory)
{
echo 
Message('warning',$Lang['RESET_ERROR_ITEMS']);
}
elseif (
$Price 0)
{
echo 
Message('warning',$Lang['RESET_ERROR_ZEN']);
}
else
{

$update_times rand(520);
$DB->Query("INSERT INTO pr_reset_queue (memb___id, character, update_times) VALUES ('{$Username}', '{$CharacterName}', {$update_times})");
echo 
Message("ok""Ваш персонаж встал в очередь на ресет. Примерное время ожидания ~ 10 минут.");
$show_info false;
}
}

if (
$show_info)
{

$Price $Reset['price'] * ($Resets 1);
if (
$Price >= $Reset['price_limit'])
{
$Price $Reset['price_limit'];
}

if (
$Resets <= 1) {
$Reset['level'] = $Reset1['level'];
}
elseif (
$Resets <= AND $Resets >= 2)
{
$Reset['level'] = $Reset2['level'];
}
elseif (
$Resets <= AND $Resets >= 3)
{
$Reset['level'] = $Reset3['level'];
}
elseif (
$Resets <= AND $Resets >= 4)
{
$Reset['level'] = $Reset4['level'];
}
else
{
$Reset['level'] = $Reset5['level'];
}

switch(
$Class)
{
case 
0:
case 
1:
case 
2:
case 
3:
$LevelUpPoint $Reset['new_points']['dw'] * ($Resets 1);
break;
case 
16:
case 
17:
case 
18:
case 
19:
$LevelUpPoint $Reset['new_points']['dk'] * ($Resets 1);
break;
case 
32:
case 
33:
case 
34:
case 
35:
$LevelUpPoint $Reset['new_points']['elf'] * ($Resets 1);
break;
case 
48:
case 
49:
case 
50:
$LevelUpPoint $Reset['new_points']['mg'] * ($Resets 1);
break;
case 
64:
case 
65:
case 
66:
$LevelUpPoint $Reset['new_points']['dl'] * ($Resets 1);
break;
default:
die(
'ERROR #1');
break;
}

?>

<p><?php echo $Lang['RESET_TITLE'];?></p>
<form name="reset-form" method="post">
<div align="center" style="margin:20px 0 20px 0;">
<table class="top_table" border="1" style="width:100%">
<tr>
<td align="center"  colspan="2"><?php echo $Lang['RESET'];?></td>
</tr>
<tr align="left">
<td width="40%" valign="middle" style="vertical-align: middle;"><b><?php echo $Lang['RESET_CHAR'];?></b></td>
<td width="60%"><b style="color:darkred;"><?php echo $CharacterName;?></b></td>
</tr>
<tr align="left">
<td valign="middle" style="vertical-align: middle;"><b><?php echo $Lang['RESET_LEVEL'];?></b></td>
<td><?=$Level;?></td>
</tr>
<tr align="left">
<td valign="middle" style="vertical-align: middle;"><b><?php echo $Lang['RESET_CURRENT'];?></b></td>
<td><?php echo $Resets;?></td>
</tr>
<tr align="left">
<td valign="middle" style="vertical-align: middle;"><b><?php echo $Lang['RESET_STATS'];?></b></td>
<td><?php echo number_format($LevelUpPoint);?></td>
</tr>
<tr align="left">
<td valign="middle" style="vertical-align: middle;"><b><?php if ($Language == 'ru') echo 'Стоимость:'; else echo 'Cost:'?></b></td>
<td><?php echo number_format($Price);?> Zen</td>
</tr>
<tr align="left">
<td valign="middle" style="vertical-align: middle;"><b><?php echo $Lang['RESET_ZEN'];?></b></td>
<td><?php echo number_format($Zen);?> Zen</td>
</tr>
<tr>
<td colspan="2" align="left"><span class="small" style="color:#575757"><?php echo $Lang['RESET_INFO'];?></span></td>
</tr>
<tr>
<td align="center" style="background-color:#575757;" colspan="2"><b><?php echo $Lang['RESET_REQ'];?></b></td>
</tr>
<tr align="left">
<td valign="middle" style="vertical-align: middle;"><b><?php echo $Lang['RESET_REQ_LEVEL'];?></b></td>
<td><?php echo $Reset['level'];?></td>
</tr>
<!--tr align="left">
<td valign="middle" style="vertical-align: middle;"><b><?php if ($Language == 'ru') echo 'Вторая профессия:'; else echo 'Two profession:'?></b></td>
<td><?php echo $Lang['YES'];?></td>
</tr-->
<tr align="left">
<td valign="middle" style="vertical-align: middle;"><b><?php echo $Lang['RESET_REQ_SKILL'];?></b></td>
<td><?php if ($Reset['clear_skills'] == 1) echo $Lang['YES']; else echo $Lang['NO']; ?></td>
</tr>
<tr align="left">
<td valign="middle" style="vertical-align: middle;"><b><?php echo $Lang['RESET_REQ_ITEM'];?></b></td>
<td><?php if ($Reset['check_inventory'] == 1) echo $Lang['YES']; else echo $Lang['NO']; ?></td>
</tr>
<tr align="left">
<td valign="middle" style="vertical-align: middle;"><b><?php echo $Lang['RESET_REQ_ZEN'];?></b></td>
<td><?php if ($Language == 'ru') echo 'Ресет'; else echo 'Reset'?> * <?=number_format($Reset['price']);?> Zen</td>
</tr>
</table>
<p><input type="hidden" name="reset" value="1"><input type="submit" class="newButton" value="<?php echo $Lang['RESET_BTN'];?>" name="res"></p>
</div>
</form>

<?php
}

}
}

[свернуть]

Этот модуль написал Profesor08 для проекта GMO.

Profesor08

Только то что ты выложил лишь ставит игрока в очередь. Ой, слил, да не то, как жаль, печаль беда, плак плак.  

dizzy

Привыкай сынок,это MuCommunity    © Человек

epmak

хм... а просто написать джоб, который бы делал ресет, после постановки в очередь плохой вариант?
и чет как-то подозрительно выглядит скрпит =\

Profesor08

#4
ЦитироватьОдно слово - хотелка

Похожие темы (5)