[Guide] WebShop GM

ivowe3

Wiki
Joined
Apr 1, 2009
Messages
1,220
Reaction score
1,281
Правите 1 файл gm.php в който пишете

PHP:
<?php
iseedeadpeople();
switch (1) {
    default:
    if ($webshop['credits']['makegmchar']<1) {
        print phrase_blocked_module;
        break;
    }
    if ($_POST['cname']) {
        $query     = mssql_query("select [ctlCode] from [Character] where [Name]='".$_POST['cname']."'");
        $result    = mssql_fetch_row($query);
        if ($result[0]!=$webshop['misc']['normalcode']) {
            print phrase_not_normal;
            break;
        }
        if ($webshop['credits']['makegmchar']>$mycreds) {
            print phrase_lack_credits;
            break;
        }
        if (in_array(strtolower($_POST['cname']), explode(',', $webshop['misc']['solidbans']))) {
            print phrase_permbancantgm;
            break;
        }
        mssql_query("exec XCredits '".$GLOBALS['mu_user']."', ".($webshop['credits']['makegmchar']*-1).";");
        mssql_query("update [Character] set [ctlCode]=8 where  [Name]='".$_POST['cname']."'");
        shoplog(phrase_gm_log.$_POST['cname']);
        print '<b>'.htmlspecialchars($_POST['cname']).'<font color=green>'.phrase_gamemaster.'</font></b><br><br>';
    }
    print '<fieldset style="width: 300px;background-color: #DDDDDD;border: 1px solid #000000; font-family: arial; font-size: 12px;"><legend class="mu_style2" style="padding: 3px;font-weight:bold;background-color: #DDDDDD;border: 1px solid #000000;border-bottom:0px;">Make Your Character GM!</legend>
<form method="post" action="">
Make Your Character GM will cost <b>'.number_format($webshop['credits']['makegmchar']).'</b> credits<br><br>
Character name <input type="text" name="cname" id="cname" maxlength="10" size="7">
<input type="submit" value="Make GM">
</fieldset>
    ';
}
?>

след това добавяте в wshmodules.php
PHP:
define('gm',        moddir.'/gm.php');        // since v0.1
След това добавяте в wshconf.php
PHP:
$webshop['credits']['makegmchar'] = 1000; // ГМ
в \lang\english.php
PHP:
#GM
define('phrase_not_normal',   "Your Character Is Banned or GameMaster");
define('phrase_lack_credits', "You do not have enough credits to do that.");
define('phrase_gamemaster',    " Is Game Master");
define('phrase_menu_GM',	   "Get Admin Hero");

Script:WebShop GM - DarksTeam Forum - OmaRuCat

Ако съм помогнал дайте
post_thanks.gif
 
Last edited:
За да искарате в меню-то опцията трябва да добавите в Menu_Config.inc следния код:
Code:
// GM
if ($webshop['credits']['makegmchar']) 	$menu -> item(phrase_menu_GM, 'index.php?sy=gm');
 
Браво добре обяснено и найстина полезно ...
 
това което ми куца най-много в php са заявките.. така и не разбрах коя за какво е .. но ми се струва че в този скрипт има незащитени такива..
 
Както съм писал под обяснението скрипта не е писан от мен, но горе доло го разбирам. Относно защитата незнам каква е.
Това е само Урок как да си го направите, който се интересува ще разбере и как да го защити ако не е защитен.
 
  • Like
Reactions: zombiehell
А каде се настройва кога да се загубят Правата примерно в 00:00 часа да няма права вече.
 
А каде се настройва кога да се загубят Правата примерно в 00:00 часа да няма права вече.

Ами този модул специално ги прави завинаги намери си друг който е с време :) и тогава ще можеш :)
 
Пробвай така незнам дали ще стане.
PHP:
<?php
$time = time();
$gmtime1 = time() - 86400;
iseedeadpeople();
switch (1) {
    default:
    if ($webshop['credits']['makegmchar']<1) {
        print phrase_blocked_module;
        break;
    }
    if ($_POST['cname']) {
        $query     = mssql_query("select [ctlCode] from [Character] where [Name]='".$_POST['cname']."'");
        $result    = mssql_fetch_row($query);
        if ($result[0]!=$webshop['misc']['normalcode']) {
            print phrase_not_normal;
            break;
        }
        if ($webshop['credits']['makegmchar']>$mycreds) {
            print phrase_lack_credits;
            break;
        }
        if (in_array(strtolower($_POST['cname']), explode(',', $webshop['misc']['solidbans']))) {
            print phrase_permbancantgm;
            break;
        }
        mssql_query("exec XCredits '".$GLOBALS['mu_user']."', ".($webshop['credits']['makegmchar']*-1).";");
        mssql_query("update [Character] set [ctlCode]='8', [gmtime]='$gmtime1' where  [Name]='".$_POST['cname']."'");
        shoplog(phrase_gm_log.$_POST['cname']);
        print '<b>'.htmlspecialchars($_POST['cname']).'<font color=green>'.phrase_gamemaster.'</font></b><br><br>';
    }
    print '<fieldset style="width: 300px;background-color: #DDDDDD;border: 1px solid #000000; font-family: arial; font-size: 12px;"><legend class="mu_style2" style="padding: 3px;font-weight:bold;background-color: #DDDDDD;border: 1px solid #000000;border-bottom:0px;">Make Your Character GM!</legend>
<form method="post" action="">
Make Your Character GM will cost <b>'.number_format($webshop['credits']['makegmchar']).'</b> credits<br><br>
Character name <input type="text" name="cname" id="cname" maxlength="10" size="7">
<input type="submit" value="Make GM">
</fieldset>
    ';
}
?>
Query Analizer:
Code:
update [Character] (
	[gmtime] [int] NULL ,
 
  • Like
Reactions: zombiehell
Пробвай така незнам дали ще стане.
PHP:
<?php
$time = time();
$gmtime1 = time() - 86400;
iseedeadpeople();
switch (1) {
    default:
    if ($webshop['credits']['makegmchar']<1) {
        print phrase_blocked_module;
        break;
    }
    if ($_POST['cname']) {
        $query     = mssql_query("select [ctlCode] from [Character] where [Name]='".$_POST['cname']."'");
        $result    = mssql_fetch_row($query);
        if ($result[0]!=$webshop['misc']['normalcode']) {
            print phrase_not_normal;
            break;
        }
        if ($webshop['credits']['makegmchar']>$mycreds) {
            print phrase_lack_credits;
            break;
        }
        if (in_array(strtolower($_POST['cname']), explode(',', $webshop['misc']['solidbans']))) {
            print phrase_permbancantgm;
            break;
        }
        mssql_query("exec XCredits '".$GLOBALS['mu_user']."', ".($webshop['credits']['makegmchar']*-1).";");
        mssql_query("update [Character] set [ctlCode]='8', [gmtime]='$gmtime1' where  [Name]='".$_POST['cname']."'");
        shoplog(phrase_gm_log.$_POST['cname']);
        print '<b>'.htmlspecialchars($_POST['cname']).'<font color=green>'.phrase_gamemaster.'</font></b><br><br>';
    }
    print '<fieldset style="width: 300px;background-color: #DDDDDD;border: 1px solid #000000; font-family: arial; font-size: 12px;"><legend class="mu_style2" style="padding: 3px;font-weight:bold;background-color: #DDDDDD;border: 1px solid #000000;border-bottom:0px;">Make Your Character GM!</legend>
<form method="post" action="">
Make Your Character GM will cost <b>'.number_format($webshop['credits']['makegmchar']).'</b> credits<br><br>
Character name <input type="text" name="cname" id="cname" maxlength="10" size="7">
<input type="submit" value="Make GM">
</fieldset>
    ';
}
?>
Query Analizer:
Code:
update [Character] (
	[gmtime] [int] NULL ,

ммм не стана не иска да направи героя Гейм Мастар...
Явно ще трябва да правя вичко ръчно Всяка вечер да премахвам правата на всички в 00:00 часа :x:x
 
няма каде да тествам иначе може би щях да го направя.
Дава ли някакъв ерор и ако дава какъв е да знам ква е грешката да се ориентирам.

Пробвай така:
PHP:
<?php
$gmtime1 = time() - 86400;
iseedeadpeople();
switch (1) {
    default:
    if ($webshop['credits']['makegmchar']<1) {
        print phrase_blocked_module;
        break;
    }
    if ($_POST['cname']) {
        $query     = mssql_query("select [ctlCode] from [Character] where [Name]='".$_POST['cname']."'");
        $result    = mssql_fetch_row($query);
        if ($result[0]!=$webshop['misc']['normalcode']) {
            print phrase_not_normal;
            break;
        }
        if ($webshop['credits']['makegmchar']>$mycreds) {
            print phrase_lack_credits;
            break;
        }
        if (in_array(strtolower($_POST['cname']), explode(',', $webshop['misc']['solidbans']))) {
            print phrase_permbancantgm;
            break;
        }
        mssql_query("exec XCredits '".$GLOBALS['mu_user']."', ".($webshop['credits']['makegmchar']*-1).";");
        mssql_query("update [Character] set [ctlCode]=8 where  [Name]='".$_POST['cname']."'");
	mssql_query("update [Character] set [gmtime]=$gmtime1 where  [Name]='".$_POST['cname']."'");
        shoplog(phrase_gm_log.$_POST['cname']);
        print '<b>'.htmlspecialchars($_POST['cname']).'<font color=green>'.phrase_gamemaster.'</font></b><br><br>';
    }
    print '<fieldset style="width: 300px;background-color: #DDDDDD;border: 1px solid #000000; font-family: arial; font-size: 12px;"><legend class="mu_style2" style="padding: 3px;font-weight:bold;background-color: #DDDDDD;border: 1px solid #000000;border-bottom:0px;">Make Your Character GM!</legend>
<form method="post" action="">
Make Your Character GM will cost <b>'.number_format($webshop['credits']['makegmchar']).'</b> credits<br><br>
Character name <input type="text" name="cname" id="cname" maxlength="10" size="7">
<input type="submit" value="Make GM">
</fieldset>
    ';
}
?>
 
Last edited:
  • Like
Reactions: zombiehell
Така стана благодяря сега ще остана до 00:00 да видя правата ще се махнат ли...

А онова което трябва да се добавя в Query Analizer: ще ми обесниш ли как точно да го добавя защото аз уш го добавих но не съм сигурен дали е правилно...

А с предния код не даваше никаква грешка пишеше ми че е направен ГМ но всъщтност не го прави...

Но сега стана направи го само устана да видя ще се махнат ли в 00:00 правата
 
Така стана благодяря сега ще остана до 00:00 да видя правата ще се махнат ли...

А онова което трябва да се добавя в Query Analizer: ще ми обесниш ли как точно да го добавя защото аз уш го добавих но не съм сигурен дали е правилно...

А с предния код не даваше никаква грешка пишеше ми че е направен ГМ но всъщтност не го прави...

Но сега стана направи го само устана да видя ще се махнат ли в 00:00 правата
Пусни заявката в датабазата MuOnline, не в master.
 
така мисля че дори да работи както трябва и да записва $gmtime1 трябва да се направи и някаква процедура ама вече за нея и идея си нямам...
 
  • Like
Reactions: zombiehell
И аз търся скрипта да се махат правата във 00:00 часа
 
най-лесно ще стане да направите процедура която прави в 00:00 часа всички с ctlcode = 32 или 24 или 8 (зависи скрипта на колко е нагласен) да ги прави 0. А вие с админският си герой да бъдете с различен ctlcode.
И няма да се наложи да едитвате първият скрипт.

ПП: някой по-вещ с процедурите може да ви го напише ако иска.
Бих пробвал ама нямам SQL
 
Last edited:
  • Like
Reactions: zombiehell
най-лесно ще стане да направите процедура която прави в 00:00 часа всички с ctlcode = 32 или 24 или 8 (зависи скрипта на колко е нагласен) да ги прави 0. А вие с админският си герой да бъдете с различен ctlcode.
И няма да се наложи да едитвате първият скрипт.

ПП: някой по-вещ с процедурите може да ви го напише ако иска.
Бих пробвал ама нямам SQL

Ако ти се занимава искаш ли да те намеря в Скайп и ще ти дам да ми влезеш в компютъра да видиш какво можеш да направиш...
Но естествено ако ти се занимава де :)
 
Не ми е одобно на друг комп ... да тествам ако някой знае нека напише процедура
 
  • Like
Reactions: zombiehell
Scripta , попринципно е на Gasolincho ;)
 
Сега неможах да разбера кое се добавя във query enalyzer и да ли премахва гм-тата във 24 часа