Vallheru: "Chowanie się" administratora

Mateusz Nowak
05.09.2015

Często gracze, gdy tylko wejdzie admin do gry, zawracają mu glowę różnymi irytującymi bzdetami...

Czy jest na to jakaś rada? Można nie wchodzić do naszej gry. Ale tak lepiej nie robić... Znacznie latwiej jest sie po prostu schowac! Tak aby nie bylo widac nas w footer.tpl... :) Roboty jest z tym malo, a korzyści dużo! :) Tak więc do dziela!
Art jest na poziomie średnim... :) Tak wiec poczatkujacym nie polecam tego robic, bo cos zrobia zle i bedzie masa durnych pytań jak to naprawić... :)
Tak więc wchodzimy do phpMyAdmin i w naszej bazie wrzucamy taki kodzik:

CREATE TABLE IF NOT EXISTS `players` (
`dostep` varchar(11) NOT NULL default '0',
UNIQUE KEY `id` (`id`),
KEY `user` (`user`)
) ENGINE=MyISAM DEFAULT CHARSET=latin2 PACK_KEYS=0 AUTO_INCREMENT=1;

 
ALTER TABLE `players` ADD `dostep` VARCHAR( 2 ) DEFAULT '0' NOT NULL ;


Wstawi nam to pole dostep gdzie standardową wartość będzie 0... :)
Następnym plikiem, którym musimy się pobawić będzie foot.php z katalogu includes. Na samym początku mamy

$pl = $db -> Execute("SELECT lpv, rank, alkochol, id, level, age FROM players");

i zamieniamy to na:

$pl = $db -> Execute("SELECT lpv, rank, alkochol, id, level, age FROM players WHERE dostep=0");



Teraz gdy tylko przez PMA zmienimy wartość dostep danemu graczowi na 1 to nie będzie on wyświetlany na liście... :) Ale trochę niewygodne to... :) Tak więc dodamy dwa przyciski pod Panelem admina... :)
Otwieramy admin.php i doajemy gdzieś tam w dole:

// Pokazywanie admina
if (isset ($_GET['view']) && $_GET['view'] == 'ujawnij') {
$db -> Execute("update players set dostep=0 where id=1");
}

oraz

// Ukrywanie admina
if (isset ($_GET['view']) && $_GET['view'] == 'schowaj') {
$db -> Execute("update players set dostep=1 where id=1");
}


Teraz otwieramy plik head.php z includes i znajdujemy:

if ($player -> rank == 'Admin') {
$smarty -> assign ("Special", " <a href="admin.php">Admin</a><br>");
}



i zmieniamy na:

if ($player -> rank == 'Admin') {
$smarty -> assign ("Special", " <a href="admin.php">Admin</a><br>");
$smarty -> assign ("Special2", " <a href="admin.php?view=schowaj">Schowaj się</a><br>");
$smarty -> assign ("Special3", " <a href="admin.php?view=ujawnij">Ujawnij się</a><br>");
}



.... :)
To na tyle. Bolą już mnie palce od tego pisania... :) Aha! Zapomnialem jeszcze o jednym, a mianowicie widocznośći w karczmie po ukryciu... Tak więc aby to naprawić otwórz chatmsgs.php. Mamy tam:

$pl = $db -> Execute("SELECT rank, id, lpv, user FROM players WHERE page='Chat'");

i zmieniasz na:

$pl = $db -> Execute("SELECT rank, id, lpv, user FROM players WHERE page='Chat' AND dostep!=1");




Koniec... :)

Zgłoś swój pomysł na artykuł

Więcej w tym dziale Zobacz wszystkie