[Release] Reset Module + Bonus Points + Ranking

oveRLuckEd

New Member
Joined
Apr 28, 2008
Messages
1,776
Reaction score
398
Здравейте,
това е обикновен модул за ресване на герой с няколко модификации.
Модулът прави следното, ако зададения за ресване левел е 330, а вие реснете на 350, вие вземате разликата от левела който сте минус левела за ресване, тоест вземате 20 точки бонус, които се добавят към точките ви за рестарт.
Ако реснете на 330 левел, ще вземете 500 точки, но ако реснете на 345, ще вземете 515 точки, тоест 500 + остатъка между левелите, както споменах по-горе.
Като за начало си направете колонка в таблицата Character или за по-лесно направо сложете това в QA(Query Analizer)
Code:
alter table Character add BonusPoints int not null default 0
Давам пример за слагане на модула в сайта на NikeR(DrakeWeb)
Отивате в папка modules/user отваряте файла reset.php и замествате всичко с това
PHP:
<form method="post" action=""> 
<label>Select a character:</label> 
<select name='character'> 
<?php
$account = secure($_SESSION['user']);
$query = mssql_query("Select name,resets,clevel,bonuspoints from Character where AccountID='$account'");
for($i=0;$i < mssql_num_rows($query);++$i)
{
$row = mssql_fetch_row($query);
echo"
<option value='$row[0]'><b>$row[0] rr[$row[1]] bp[$row[3]] lvl[$row[2]]</option>
";
}
?>
<input type="submit" value="Reset Character" name="resetchar" /> 
</select> 
<br>
<?php if(!isset($_POST['resetchar'])) { } else { resetchar(); } ?>
</form>
след това отивате в папката includes и отваряте файла drake.class.php
и слагате някъде следната функция
PHP:
function resetchar() {
$reqlvl = '300'; // required level for reset
$reqzen = '10000000'; // required zen for reset
$zenreq = '1'; // first reset cost 10,000,000 zen, second 20,000,000, third 30,000,000, etc.. // 1 - enabled, 0 - disabled
$maxres = '10'; // Max Resets
$points = '500'; // points per res
$strength = '100'; // Points after res, for example if you type 100, after res you will have 100 strength
$agility = '100'; // Points after res, for example if you type 100, after res you will have 100 agility
$vitality = '100'; // Points after res, for example if you type 100, after res you will have 100 vitality
$energy = '100'; // Points after res, for example if you type 100, after res you will have 100 energy

$account = secure($_SESSION['user']);
$character = secure($_POST['character']);
check_inject();
$query = mssql_fetch_row(mssql_query("Select clevel,resets,money,leveluppoint,bonuspoints from Character where Name='$character'"));
$status = mssql_num_rows(mssql_query("Select * from MEMB_STAT where memb___id='$account' and connectstat='1'"));
$resets = $query[1] + 1;
$bp = $query[0] - $reqlvl;
$rp = ($points * $resets) + $bp + $query[4];
if ($zenreq == 1) { $zen = $resets * $reqzen; }
else { $zen = $reqzen; }
if(empty($character)) { echo "Please select a character.<br>"; $error=1; }
else
{
if($query[0] < $reqlvl) { echo "You must have minimum $reqlvl level for reset.<br>"; $error=1; }
if($resets > $maxres) { echo "You are already max possible resets which are $maxres.<br>"; $error=1; }
if($query[2] < $zen) { echo "You do not have enough zen for res, you need $zen zen.<br>"; $error=1; }
if($status != 0) { echo "Please logout before reset.<br>"; $error=1; }

if($error != 1) {
mssql_query("UPDATE Character set cLevel='1', Resets='$resets', Money=Money-'$zen', LevelUpPoint='$rp', BonusPoints=BonusPoints+$bp, Strength='$strength', Dexterity='$agility', Vitality='$vitality', Energy='$energy', Experience='0' where Name='$character'") or die (mssql_get_last_message());
echo "Successfully reseted..";
}}}
а ето ви и класация, ако искате да знаете кой потребител колко точки има, направил съм я по най-простия начин, за да е най-кратък кода..
PHP:
<?php
$query = mssql_query("Select top 15 name,clevel,resets,bonuspoints from character order by resets desc, clevel desc, bonuspoints desc");
for($i=0; $i < mssql_num_rows($query); ++$i)
{
$rank = $i+1;
$row = mssql_fetch_row($query);
echo"
<table border='1'><tr>
<td>#</td>
<td>Name</td>
<td>Resets</td>
<td>Level</td>
<td>Bonus Points</td>
</tr>
<tr>
<td>$rank</td>
<td>$row[0]</td>
<td>$row[2]</td>
<td>$row[1]</td>
<td>$row[3]</td>
</tr>
</table>
";}
?>
това е всичко :)
Всичко е тествано и работи!
Idea by BattleZone.
Credits: No one.
 
Last edited:
EliteMu Web work ? i test and say .. :p

pri mene se bugna reset charactera :D opitax da resna a mi dade bqla stranica i Select Character kato natisna select character nqmam kakvo daz izbera :D po prostata pri4ina che az nqmam drake.class.php :p
nqkwi idei ako ima nameerete me na skype da go opravim :)

P.S > Sry za ezika ... FlexType mi se bugna :S
 
Last edited:
Значи не правиш нещо както трябва
 
Така не ви трябват никакви drake.class.php и такива, можете да си го направите и в един файл, на този на който не му показва геройте да провери дали сесията му е user, ето ви всичко в 1 файл:
PHP:
<form method="post" action=""> 
<label>Select a character:</label> 
<select name='character'> 
<?php
$account = secure($_SESSION['user']);
$query = mssql_query("Select name,resets,clevel,bonuspoints from Character where AccountID='$account'");
for($i=0;$i < mssql_num_rows($query);++$i)
{
$row = mssql_fetch_row($query);
echo"
<option value='$row[0]'><b>$row[0] rr[$row[1]] bp[$row[3]] lvl[$row[2]]</option>
";
}
?>
<input type="submit" value="Reset Character" name="resetchar" /> 
</select> 
<br>
<?php if(!isset($_POST['resetchar'])) { } else { $reqlvl = '300'; // required level for reset
$reqzen = '10000000'; // required zen for reset
$zenreq = '1'; // first reset cost 10,000,000 zen, second 20,000,000, third 30,000,000, etc.. // 1 - enabled, 0 - disabled
$maxres = '10'; // Max Resets
$points = '500'; // points per res
$strength = '100'; // Points after res, for example if you type 100, after res you will have 100 strength
$agility = '100'; // Points after res, for example if you type 100, after res you will have 100 agility
$vitality = '100'; // Points after res, for example if you type 100, after res you will have 100 vitality
$energy = '100'; // Points after res, for example if you type 100, after res you will have 100 energy

$account = secure($_SESSION['user']);
$character = secure($_POST['character']);
check_inject();
$query = mssql_fetch_row(mssql_query("Select clevel,resets,money,leveluppoint,bonuspoints from Character where Name='$character'"));
$status = mssql_num_rows(mssql_query("Select * from MEMB_STAT where memb___id='$account' and connectstat='1'"));
$resets = $query[1] + 1;
$bp = $query[0] - $reqlvl;
$rp = ($points * $resets) + $bp + $query[4];
if ($zenreq == 1) { $zen = $resets * $reqzen; }
else { $zen = $reqzen; }
if(empty($character)) { echo "Please select a character.<br>"; $error=1; }
else
{
if($query[0] < $reqlvl) { echo "You must have minimum $reqlvl level for reset.<br>"; $error=1; }
if($resets > $maxres) { echo "You are already max possible resets which are $maxres.<br>"; $error=1; }
if($query[2] < $zen) { echo "You do not have enough zen for res, you need $zen zen.<br>"; $error=1; }
if($status != 0) { echo "Please logout before reset.<br>"; $error=1; }

if($error != 1) {
mssql_query("UPDATE Character set cLevel='1', Resets='$resets', Money=Money-'$zen', LevelUpPoint='$rp', BonusPoints=BonusPoints+$bp, Strength='$strength', Dexterity='$agility', Vitality='$vitality', Energy='$energy', Experience='0' where Name='$character'") or die (mssql_get_last_message());
echo "Successfully reseted..";
}} } ?>
</form>
 
  • Like
Reactions: sa_lamer
Някой може ли да ми го направи за мuweb 0.8 ? - Благодаря предварително
 
Last edited:
Никой ли не знае как става на Muweb 0.8
 
виж ми последния пост там е направен за всички сайтове...
 
виж ми последния пост там е направен за всички сайтове...

Човек със мuweb 0.8 съм и не става просто :x :x :x кажи ми кой файл да го постава това моля те
 
Ще ми помогне ли някой ?
 
Last edited:
може ли някой да го аддне за екстайлонг мууеб ???