avatar_Sky_

Grand Reset в игре MU Online: как реализовать аналог системы на MyMuWeb MMW

Автор Sky_, 2011 Нояб. 26, 22:46

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

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

Ключевые слова [SEO] mu onlinemymuweb mmwgrand reset

Sky_

Реализован аналог гранд ресет системы как на murdrum.ru, только без камней, отображается в напели персонажа как и ресет, добавление статов и.т.д.
В character.class.php
Спойлер
function grand_reset($charactername) {
if((isset($_SESSION['pass'])) && (isset($_SESSION['user']))); {
require("config.php");
$login = clean_var(stripslashes($_SESSION[user]));
$charactername = stripslashes($charactername);

$online_check_result = mssql_query("SELECT ConnectStat FROM MEMB_STAT WHERE memb___id='$login'");
$online_check = mssql_fetch_row($online_check_result);
$wh_result = mssql_query("SELECT AccountID,extMoney FROM warehouse WHERE accountid='$login'");
$wh_row = mssql_fetch_row($wh_result); if($wh_row[1]=="" || $wh_row[1]==" ") {$wh_row[1]="0";}

$credits = mssql_query("SELECT $Sky[CrCol] FROM $Sky[CrDB] WHERE memb___id='$login'");


$result = mssql_query("SELECT Clevel,Reset,Money,LevelUpPoint,class,$Sky[GRCol],Experience FROM Character WHERE Name='$charactername' AND AccountID='$login'");
$character_check = mssql_num_rows($result);
$row = mssql_fetch_row($result);




$GR_UP = $row[5] + (1);
$char_money = $row[2];
if($Sky[GRSkyGRInc] == 'yes') {$resetmoneysys = $Sky[GRZenPrice] * $GR_UP;}
else {$resetmoneysys = $Sky[GRZenPrice];}
$wh_money = $wh_row[1] - $resetmoneysys;
if($wh_money < 0) {$char_money = $char_money + $wh_money; $wh_money = 0;}

}



if($row[4] >= 64 && $row[4] <= 79) {$reset_stats = "[strength]='25',[dexterity]='25',[vitality]='25',[energy]='25'[Leadership]='25',";}
else {$reset_stats= "[strength]='25',[dexterity]='25',[vitality]='25',[energy]='25',";}



if(empty($charactername) || empty($login)){ $error=1;
echo $die_start . mmw_lang_left_blank . $die_end;
}

if($character_check <= 0) {$error=1;
echo $die_start . $charactername . mmw_lang_character_does_not_exist . $die_end;
}
if($online_check
  • != 0) {$error=1;
echo $die_start . mmw_lang_account_is_online_must_be_logged_off . $die_end;
}
if($char_money < 0) {$error=1;
echo $die_start . gr_need_money .' '.zen_format($resetmoneysys)."  $die_end";
}
if($row
  • < $Sky[GRLevel]) {$error=1;
echo $die_start . gr_need_level ." $reset_level ".mmw_lang_nothing."! $die_end";
}
if($row[1] < $Sky[GRReset]) {$error=1;
echo $die_start . gr_need_reset . " $Sky[GRReset]! $die_end";
}

if($error != 1){

if($Sky[GRCredSystem]=='yes') {$CreditsAfterGR = "$Sky[GRCredits]*$GR_UP";} else {$CreditsAfterGR = "$Sky[GRCredits]";}
if($Sky[GRLUPointsSys]=='yes'){$GRLevelUpPoint = "$Sky[LevelUpPoints]*$GR_UP";} else {$GRLevelUpPoint="$Sky[LevelUpPoints]";}



$sql_gr_script = "UPDATE character Set $reset_stats $reset_points [MagicList]=0xFF,[clevel]='1',[experience]='0',[money]='$char_money',[reset]='0' ,[LevelUpPoint]=$GRLevelUpPoint,$Sky[GRCol]='$GR_UP' WHERE name='$charactername'";
$sql_gr_script2 = "UPDATE $Sky[CrDB] SET $Sky[CrCol]=$Sky[CrCol]+$CreditsAfterGR WHERE memb___id='$login'";
mssql_query($sql_gr_script);
mssql_query($sql_gr_script2);
mssql_query("UPDATE warehouse SET [extMoney]='$wh_money' WHERE accountid='$login'");


echo $okey_start . gr_success . $okey_end;
}
}
}
[свернуть]
В char.php:
Спойлер
if(isset($_POST["gr_char"])) {require("includes/character.class.php");option::grand_reset($char_set); echo $rowbr;}

$char_results = mssql_query("SELECT Name,class,strength,dexterity,vitality,energy,money,accountid,mapnumber,clevel,r
eset,LevelUpPoint,pkcount,pklevel,money,leadership,experience,ctlcode,$Sky[GRCol] FROM Character WHERE Name='$char_set'");


if($Sky[GRSkyGRInc]=='yes') {$gresetzen = $Sky[GRZenPrice] * ($info[18] + 1);}
else {$gresetzen = $edited_gres_money;}


if($info[9] < $Sky[GRLevel]) {$grandreset = mmw_lang_need." $Sky[GRLevel] ".mmw_lang_level.'!';}
elseif( $all_money < $Sky[GRZenPrice]) {$grandreset = mmw_lang_need.' '.zen_format($gresetzen).' Zen!';}
elseif( $info[10] < $Sky[GRReset]) {$grandreset = mmw_lang_need." $Sky[GRReset] ".mmw_lang_reset.'!';}
else {$grandreset = "<form action='' method='post' name='grandreset'>".mmw_lang_price.': '.zen_format($gresetzen)." Zen! $cs_memb_reset_proc <br><input name='gr_char' type='hidden' value='$char_set'><input type='submit' name='Submit' value='".mmw_lang_reset."'></form>";}


<?if($Sky[IsGrandReset] == 'yes') {?>
<div class="div-menu-out" onclick="expandit('menu_6')" onmouseover="tclass=this.className;this.className='div-menu-over';" onmouseout="this.className=tclass;"><?echo gr_define;?></div>
<div id="menu_6" style="display:none;padding-bottom:4px;"><?echo $grandreset;?></div><?}?>
[свернуть]

В config.php:

Спойлер
$Sky[CrDB]        = 'MEMB_CREDITS';        // Credits Database
$Sky[CrCol]        = 'credits';            // Credits column on a $Sky[CrDB]
$Sky[GRCol]        = 'GR';                // Column of Grand resets in a Character table
$Sky[resPoints]        = '200';            // Stolko + statov budet davatsja posle resa * GR

$Sky[IsGrandReset]    = 'yes';            // Is Grand Reset
$Sky[GRSkyGRInc]    = 'yes';            // Price of GR = $Sky[GRZenPrice] or $Sky[GRZenPrice]*GRCount (yes/no)
$Sky[GRZenPrice]    = '2000000000';            // Price Zen
$Sky[GRLevel]        = '400';            // Level Needed for GR
$Sky[GRReset]        = '30';                // Resets Needed to GR
$Sky[LevelUpPoints]    = '700';            // Level Up Points after GR
$Sky[GRLUPointsSys]    = 'yes';            // Points after GR * GR Count?
$Sky[GRCredits]        = '300';            // Credits per GR
$Sky[GRCredSystem]    = 'no';
[свернуть]
Выглядит примерно так:




Не буду говорить, что всё придумал сам, смотрел на код вафлана..
Credits:
Vaflan
Sky_


SanneA

#1
Функция "grand_reset" а Имя "grandreset" и одна "}" лишняя.

скоро приведу в порядок код и выложу на ммв

Sky_

Вообще-то всё правельно, не раз проверял. Как ты сам и сказал, функция grand_reset, и так она и вызывается, какая разница, как я последующие переменные обзывать буду?
На счет одной } - может быть, возможно когда копировал с character.class.php лишнюю прихватил.

Не парься, я уже выкладываю. )

SanneA

Мне приятней конфиг вроде :
//GrandReset Config

$mmw[grandreset] = 'yes'; // GrandReset (use) yes or no
$mmw[crtable] = 'MEMB_CREDITS'; // Credit Table on DB
$mmw[crcolumn] = 'credits'; // Credit Column on Credit Table
$mmw[grcolumn] = 'gr_count'; // GrandReset Column on Character Table
$mmw[grprice] = 'yes'; // Yes (Price = $mmw[grzenprice]*GR Count) or no (Price = $mmw[grzenprice])
$mmw[zenforgr] = '10000000'; // Price Zen for GrandReset
$mmw[levelforgr] = '400'; // Level Needed for GrandReset
$mmw[resetforgr] = '50'; // Reset's Needed for GrandReset
$mmw[respaftergr] = '20000'; // Point's for GrandReset
$mmw[resconfigafgr] = 'yes'; // Points after GR *GR Count (yes/no)
$mmw[rrpoints] = '600'; // Level Up Points for Reset after GrandReset
$mmw[creditforgr] = 'no'; // Get Credits for GrandReset (yes/no)
$mmw[bonuscredit] = '500'; // Credits per GR

Но в целом спасибо :) (как я сам не додумался  :trollface: )

Sky_

И опять таки, какая разница, как переменные названы  Конечно если есть желание и не влом искать и переименовывать - пожалуйста!

SanneA

Главное оставь мой кредиты да? :D
Спойлер

romapower

кто  может сделать гранд ресет на MyMuWeb by waflan не даром skype slavic1288  ) вот сайт http://fmt.compas.md/

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

Сообщений: 19
Просмотров: 12020

Сообщений: 110
Просмотров: 38671

Сообщений: 1
Просмотров: 8830

Сообщений: 58
Просмотров: 20556