1.12.7 i starsze - Ostatnie bany na forum (AmxBans)
kevin_ - 28-12-2008, 10:28 Temat postu: Ostatnie bany na forum (AmxBans) Hej, mod bardziej dla CSo maniaków, widziałem parę próśb tutaj na forum o udostępnienie tego moda, jednak nikt nie chciał go udostępnić. Jest to moja pierwsza modyfikacja, którą pisałem od podstaw, więc miło byłoby gdybyście mi zwrócili uwagę na jakieś niedogodności.
+ Możliwość ukrycia/rozwinięcia listy banów
+ Standardowo wyświetla 5 ostatnich banów, po przez zmienna (w page_header.php) możemy zwiększyć liczbę
+ Nick zbanowanego jako odnośnik (nowa strona) do dokładnych informacji nt. bana
+ mod zintegrowany z forum (phpbb) nie żadne includy po przez pliki tpl
+ i takie tam..
Testowane na AMXBans 5.1 by d3f3nd3r oraz skrypcie forum phpBB2 by Przemo 1.12.6
- Podczas instalacji AmxBans tabele amxbans wgrywamy do tej samej bazy co skrypt forum (u mnie to było przemo) > Obraz <
- Po instalacji struktura tabel, będzie wyglądać tak > Obraz <
~ Screeny:
1
~ Live Demo:
brak
~ Konfiguracja:
(w page_header.php mamy zmienne wraz z opisem, zastosuj się do tych opisów!)
- $amxb_col = 'amx_bans';
- $l_banow = '5';
- $adres_amxbans = 'http://www.lobuz.net/amxbans/';
Radek - 28-12-2008, 15:48
jaco1992, o czym Ty piszesz? co byś musiał zrobić od nowa? w modzie kevina ustawiasz nazwę tabeli w zmiennej $amxb_col, w "modzie" dellka musisz grzebać w zapytaniu.
kevin_, przenieś kod:
Kod: | $template->assign_vars(array(
'ostatnie_bany' => $lang['ostatnie_bany'],
'nick_gracza' => $lang['nick_gracza'],
'ip_gracza' => $lang['ip_gracza'],
'powod_bana' => $lang['powod_bana'],
'czas_bana' => $lang['czas_bana'],
)); |
przed pętlę.
Druga sprawa:
Kod: | function czas_bana($czas) {
if($czas!=0) {
if ($czas<1440) {
return $czas." minut";
} else {
$czas = round($czas/1440);
if ($czas == 1) {
return $czas." dzień";
} else {
return $czas." dni";
}
}
} else {
return "Na zawsze";
}
return false;
} |
czemu nie ma tu obsługi langów?
Następnie:
Kod: | 'ostatnie_bany' => $l_ostatnie_bany,
'nick_gracza' => $l_nick_gracza,
'ip_gracza' => $l_ip_gracza,
'powod_bana' => $l_powod_bana,
'czas_bana' => $l_czas_bana, |
to jest niepotrzebne. Nie jest wykorzystywane w tpl, poza tym żadna ze zmiennych podanych wyżej nie istnieje.
Chyba coś Ci się pomieszało w instrukcji:
Kod: | <a href="http://localhost/przemo/web/ban_details.php?bid={amxbans.bid}" target="_blank"> |
Więcej zastrzeżeń nie mam.
kevin_ - 28-12-2008, 16:30
RuseK napisał/a: | Następnie:
Kod:
'ostatnie_bany' => $l_ostatnie_bany,
'nick_gracza' => $l_nick_gracza,
'ip_gracza' => $l_ip_gracza,
'powod_bana' => $l_powod_bana,
'czas_bana' => $l_czas_bana,
to jest niepotrzebne. Nie jest wykorzystywane w tpl, poza tym żadna ze zmiennych podanych wyżej nie istnieje. |
Usunięte.
RuseK napisał/a: | $template->assign_vars(array(
'ostatnie_bany' => $lang['ostatnie_bany'],
'nick_gracza' => $lang['nick_gracza'],
'ip_gracza' => $lang['ip_gracza'],
'powod_bana' => $lang['powod_bana'],
'czas_bana' => $lang['czas_bana'],
)); |
Przestawione.
RuseK napisał/a: | Chyba coś Ci się pomieszało w instrukcji:
Kod:
<a href="http://localhost/przemo/web/ban_details.php?bid={amxbans.bid}" target="_blank">
|
Wpadka Zastanawiałem się nad dwiema opcjami
a) Użytkownik sam będzie zmieniał adres do amxbans w plikach tpl, gdzie jest mnóstwo kodu, i ktoś może się zgubić
b) W page_header utworzyć kolejną zmienną, którą wypełniamy adresem.
Teraz link wygląda tak:
Kod: |
<a href="{amxbans.adres_amxbans}ban_details.php?bid={amxbans.bid}" target="_blank"><b>{amxbans.player_nick}</b></a>
|
RuseK napisał/a: | function czas_bana($czas) {
if($czas!=0) {
if ($czas<1440) {
return $czas." minut";
} else {
$czas = round($czas/1440);
if ($czas == 1) {
return $czas." dzień";
} else {
return $czas." dni";
}
}
} else {
return "Na zawsze";
}
return false;
}
czemu nie ma tu obsługi langów? |
W jaki sposób proponujesz to rozwiązać?
Po: function czas_bana($czas) { wstawiłem zmienna $perm = 'Na zawsze';
i zamieniłem return "Na zawsze"; na return $perm; i działało, ale nie wiem jak ustawić aby zmienną był plik językowy pobierany z lang_polish/lang_main.php
Paczka uaktualniona, zgodnie z w/w poprawkami.
Pozdro
Radek - 28-12-2008, 17:29
po:
Kod: | function czas_bana($czas) { |
dodajesz:
i już możesz korzystać z tablicy $lang, np.
Kod: | return $lang['1_Day']; | itd.
jaco1992 - 28-12-2008, 18:09
kevin_ napisał/a: | - Podczas instalacji AmxBans tabele amxbans wgrywamy do tej samej bazy co skrypt forum (u mnie to było przemo) > Obraz < |
RuseK, tak napisał
kevin_ - 28-12-2008, 18:54
RuseK napisał/a: | czemu nie ma tu obsługi langów? |
Poprawione. Załącznik uaktualniony.
Dzięki za pomoc Rusek.
Samix - 31-01-2009, 19:02
Witam mam pytanie a jak bazę mam na innym hostingu to gdzie wpisać localhost bazę itd bo tutaj automatycznie mi szuka z bazy na której jest forum
Grzelak - 12-02-2009, 12:20
Czy da sie ustawic na innej bazie mysql niz jest forum ?
jendrek9 - 13-02-2009, 16:32
Tak da się
Virginity - 15-02-2009, 14:07
hmmm... a da się ją użyć w GTA SAMP?
Seba123 - 15-02-2009, 15:32
Od kiedy amxbans współpracuje z GTA? Żal Cię koleś!
syspo - 04-03-2009, 19:23
Witam serdecznie
Samix napisał/a: | Witam mam pytanie a jak bazę mam na innym hostingu to gdzie wpisać localhost bazę itd bo tutaj automatycznie mi szuka z bazy na której jest forum |
Grzelak napisał/a: | Czy da sie ustawic na innej bazie mysql niz jest forum ? |
jendrek9 napisał/a: | Tak da się | Czy ktoś może mi pomóc przerobić tą modyfikację tak, aby łączyła się ona z zewnętrznym hostingiem?
Póki co nie mam możliwości aby amxbans działał na bazie danych, na której jest zainstalowane forum. Bazę mam na udostępnionym mi serwerze firmy Firehost. I tam też potrzebowałbym przekierować odwołania z tej modyfikacji.
Wiem, że będzie ta zmiana miała nastąpić w tym miejscu:
Kod: | $sql = "SELECT bid, player_ip, player_id, player_nick, admin_nick, ban_reason, ban_length FROM ".$amxb_col." ORDER by bid DESC LIMIT ".$l_banow." ";
if ( !($result = $db->sql_query($sql)) ) |
Myślałem nad tym aby jakoś wmontować następujący kod: Kod: | $link = mysql_connect("sql.firehost.pl", "login", "haslo");
$flag = mysql_select_db("nazwa_db");
| ale nie bardzo wiem jak "wpiąć" w ten kod.
Czekam na pomocne odpowiedzi
Dzięki i pozdrawiam
syspo
Boltex - 05-03-2009, 23:26
ja mam taki błąd Kod: | Parse error: syntax error, unexpected T_VARIABLE in /home/boltos/public_html/counterchaos.pl/language/lang_polish/lang_main.php on line 1166 |
Bucu - 05-03-2009, 23:31
wrzuc ten plik zobacze co masz nie tak
Bucu - 05-03-2009, 23:51
Boltos, w zalaczniku masz zmodyfikowane pliki, powinno dzialac.
nie zapomnij o instalacji i konfiguracji ofkoz.
|
|
|