Въпрос за Calladmin
-
illusion
Извън линия - Developer
- Мнения: 1810
- Регистриран на: 27 Ное 2016, 17:47
- Местоположение: CraftVision
- Се отблагодари: 151 пъти
- Получена благодарност: 371 пъти
- Обратна връзка:
Въпрос за Calladmin
Здравейте,
Имам въпрос за calladmin. Инсталирах го, свързах го, всичко е точно, но искам да се показва и IP-то на нарушителя в calladmin-a. В момента се показва само в PHPMyAdmin, но аз искам някак си да изведа информацията от phpmyadmin в самият сайт да се показва при calladmin-a.
Ето снимка, искам някъде там да се добави и IP-то на нарушителя.
Благодаря предварително.
Имам въпрос за calladmin. Инсталирах го, свързах го, всичко е точно, но искам да се показва и IP-то на нарушителя в calladmin-a. В момента се показва само в PHPMyAdmin, но аз искам някак си да изведа информацията от phpmyadmin в самият сайт да се показва при calladmin-a.
Ето снимка, искам някъде там да се добави и IP-то на нарушителя.
Благодаря предварително.
-
DaRk_StyLe
Извън линия - Потребител
- Мнения: 264
- Регистриран на: 26 Окт 2016, 12:40
- Се отблагодари: 11 пъти
- Получена благодарност: 33 пъти
Въпрос за Calladmin
Редактирай .php скрипта, който извежда информацията, показана на снимката. Можеш да провериш как се вписва информацията за IP-то, като отвориш кода на Call Admin плъгина.
-
illusion
Извън линия - Developer
- Мнения: 1810
- Регистриран на: 27 Ное 2016, 17:47
- Местоположение: CraftVision
- Се отблагодари: 151 пъти
- Получена благодарност: 371 пъти
- Обратна връзка:
Въпрос за Calladmin
Там е работата, че не съм много по calladmin-a. Ако искате ще ви дам .sma и .php скрипта..
-
DaRk_StyLe
Извън линия - Потребител
- Мнения: 264
- Регистриран на: 26 Окт 2016, 12:40
- Се отблагодари: 11 пъти
- Получена благодарност: 33 пъти
-
illusion
Извън линия - Developer
- Мнения: 1810
- Регистриран на: 27 Ное 2016, 17:47
- Местоположение: CraftVision
- Се отблагодари: 151 пъти
- Получена благодарност: 371 пъти
- Обратна връзка:
Въпрос за Calladmin
.sma
има 2 файла като php, единия е config.php другия е index.php, не знам кой да ви дам, затова ще ви дам и двата.
config.php
index.php
Изтрил съм DB-то да не се вижда.
Код за потвърждение: Избери целия код
// *************************************************************************************************
// #### #### ###### #### ## ## ###### ## ## ######
// ## ## ## ## ## ## ## # ### ## ## ## ## ##
// ## ### ## ###### ## # ### ###### ### ##
// ## ## ## ## #### ## ## ## ## ## ######
// *************************************************************************************************
// This plugin is made by MAD.XayC a.k.a pheon
//
// Thnx:
// @Nextra ==> For Code Suggestions !
// @Exolent[jNr] ==> For Help with multiple spaces !
//
// Date: 2011.24.01
// *************************************************************************************************
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
#include <sqlx>
// =================================================================================================
#define CREATE_DB "CREATE TABLE IF NOT EXISTS `call_admin` (`id` INT(12) NOT NULL AUTO_INCREMENT PRIMARY KEY ,`nick` VARCHAR(30) NOT NULL ,`report` VARCHAR(255) NOT NULL ,`date` VARCHAR(10) NOT NULL ,`time` VARCHAR(10) NOT NULL ,`ip` VARCHAR(16) NOT NULL ,`server` VARCHAR(30) NOT NULL)"
#define IMPORRT_DB "INSERT INTO `call_admin` (nick,ip,report,date,time,server) VALUES ('%s','%s','%s','%s','%s','%s')"
#define szHost ""
#define szUser ""
#define szPass ""
#define szDb ""
// =========================
new const Version[] = "3.0"
// =========================
new Handle:SqlConnection
// =========================
new pPrefix
new pShowmsg
// =================================================================================================
public plugin_init() {
register_plugin("CallAdmin Mysql",Version,"MAD.XayC")
// ================================================
pPrefix = register_cvar("ca_prefix","BulgarianStrke.COM")
pShowmsg = register_cvar("ca_showmsg","1")
// ================================================
register_clcmd("say","HookSay")
register_clcmd("say_team","HookSay")
}
// =================================================================================================
public plugin_cfg() {
SqlConnection = SQL_MakeDbTuple(szHost,szUser,szPass,szDb)
new QueryCache[1024]
formatex(QueryCache,1023,CREATE_DB)
SQL_ThreadQuery(SqlConnection,"QueryCreateTable",QueryCache)
}
// =================================================================================================
public HookSay(id) {
new timestr[9],datestr[11],nick[32],ip[16],cvarstring[64],srvname[32],authid[33]
// ==========================================
static szText[256]
read_args(szText,255)
remove_quotes(szText)
// ==========================================
get_cvar_string("hostname",srvname,31)
get_user_name(id,nick,31)
get_user_authid(id,authid,32)
get_user_ip(id,ip,15,1)
get_time("%Y.%m.%d",datestr,10)
get_time("%H:%M:%S",timestr,8)
get_pcvar_string(pPrefix,cvarstring,63)
// ==========================================
if(equal(authid,"VALVE_ID_LAN")) {
ColorChat(0,RED,"[%s] Get Steam First!",cvarstring)
return PLUGIN_HANDLED
} else {
if(equali(szText,"/calladmin",10) && szText[10]) {
// ==========================================
while(replace(szText[10], charsmax(szText), " ", " ") || equal(szText[10]," ")) {
ColorChat(0,RED,"[%s] ^1You cannot call an admin without a reason for it!",cvarstring)
return PLUGIN_HANDLED
}
// ==========================================
switch(get_pcvar_num(pShowmsg)) {
case 1: { ColorChat(0,RED,"[%s] ^4%s ^1has just called an admin. Reason:^4%s",cvarstring,nick,szText[10]); }
case 2: { ColorChat(id,RED,"[%s] ^1You have just called an admin. Reason:^4%s",cvarstring,szText[10]); }
case 3: { for(new i=1; i<get_maxplayers(); i++) {
if(is_user_admin(i)) {
ColorChat(i,RED,"[%s] ^4%s ^1has just called an admin. Reason:^4%s",cvarstring,nick,szText[10])
}
}
}
}
// ==========================================
new query[1001]
format(query,1000,IMPORRT_DB,nick,ip,szText[10],datestr,timestr,srvname)
SQL_ThreadQuery(SqlConnection,"QueryCreateTable",query)
return PLUGIN_HANDLED
// ==========================================
}
if(equal(szText,"/calladmin",10)) {
PlayersMenu(id)
return PLUGIN_HANDLED
}
}
// ==========================================
return PLUGIN_CONTINUE
}
// =================================================================================================
public PlayersMenu(id) {
new menu = menu_create("\rPlayers Menu:", "players_handler")
new players[32], pnum, tempid
new szName[32], szTempid[10]
get_players(players, pnum)
for( new i; i<pnum; i++ ) {
tempid = players[i]
get_user_name(tempid, szName, 31)
num_to_str(tempid, szTempid, 9)
menu_additem(menu, szName, szTempid, 0)
}
menu_display(id, menu, 0)
}
public players_handler(id, menu, item) {
if(item == MENU_EXIT)
return PLUGIN_HANDLED
new data[6], iName[64]
new access, callback
menu_item_getinfo(menu, item, access, data,5, iName, 63, callback)
new tempid = str_to_num(data)
new namex[32]
get_user_name(tempid,namex,31)
new szArg[32]
read_args(szArg,32)
remove_quotes( szArg)
client_cmd(id,"messagemode ^"say /calladmin %s^"",namex)
return PLUGIN_HANDLED
}
// =================================================================================================
public plugin_end() { SQL_FreeHandle(SqlConnection); }
// =================================================================================================
public QueryCreateTable(iFailState,Handle:hQuery,szError[],iError,iData[],iDataSize,Float:flQueueTime) {
switch(iFailState) {
case TQUERY_CONNECT_FAILED: { log_amx("Failed to connect to database (%i): %s", iError, szError); }
case TQUERY_QUERY_FAILED: { log_amx("Error on query for QueryCreateTable() (%i): %s", iError, szError); }
default: { /*successfully created tables*/ }
}
}
// *************************************************************************************************
// #### #### ###### #### ## ## ###### ## ## ######
// ## ## ## ## ## ## ## # ### ## ## ## ## ##
// ## ### ## ###### ## # ### ###### ### ##
// ## ## ## ## #### ## ## ## ## ## ######
// *************************************************************************************************
config.php
Код за потвърждение: Избери целия код
<?php
/*
* MySQL Call Admin System 1.0
* Plugin - IMBA
* Web - carbonated @ fragfactory.info
*/
//Малко защита :D START
if(!defined("key")) {
header("Location: ./index.php");
}
//Малко защита :D END
//Връзка с базата данни START
$host = "; //хоста на mysql сървъра (обикновено localhost)
$user = ""; //потребителят на вашата база данни (трябва ад има SELECT права (за плугина INSERT))
$pass = ""; //паролата на потребителя
$database = ""; //базата данни
$table = "call_admin"; //плугина я създава автоматично, ако не съществува, но все пак ако си правите редакции по кода, да не тършувате
//Връзка с базата данни END
//Conntecting.. НЕ се пипа нищо (ако не знаете какво правите) START
$connect = mysql_connect($host, $user, $pass) or die("<center><b>Грешка #1 - не мога да се свържа с MySQL сървъра!</b><br />Възможни причини:<br /> - Проверете дали MySQL сървъра <b>($host)</b> функционира, и Вие имате достъп до него<br />- проверете дали правилно сте въвели сървъра, името и паролата във файла config.php</center>");
mysql_select_db($database, $connect) or die("<center><b>Грешка #2 - не мога да се свържа с MySQL базата дании <b>($database)</b>!</b><br />Възможни причини:<br />- проверете дали базата данни <b>($database)</b> съществува<br />- проверете дали потребителят, който сте посочили <b>($user)</b> има права за достъп до базата данни</center>");
//Conntecting.. END
//Настройка на системата START
$last_calls_count = "15"; //колко последни викания на админ да показва
$last_calls_refresh_count = "20"; //на колко секунди да рефрешва страницата
$server_color = "#000000"; //цвят за сървъра всички типове цвят без RGB! / може да ползвате и английските наименования - white, black, green, yellow, pink и т.н.
$date_color = "grey"; //цвят за датата -"-
$time_color = "blue"; //цвят на часа -"-
$nick_color = "green"; //цвят на ника -"-
$reason_color = "red"; //цвят на причината -"-
$border_color = "blue"; //цвят на ограждението
$font_size = "16"; //големина на шрифта за последни повиквания
$counter_font_size = "16"; //големина на шрифта за брояча
//Настройка на системата END
?>
Код за потвърждение: Избери целия код
<?php
define("key", TRUE);
include "./includes/config.php";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<script language="JavaScript">
var countDownInterval=<?php echo "$last_calls_refresh_count"; ?>;
var c_reloadwidth=200
</script>
<ilayer id="c_reload" width=&{c_reloadwidth}; ><layer id="c_reload2" width=&{c_reloadwidth}; left=0 top=0></layer></ilayer>
<script>
var countDownTime=countDownInterval+1;
function countDown(){
countDownTime--;
if (countDownTime <=0){
countDownTime=countDownInterval;
clearTimeout(counter)
window.location.reload()
return
}
if (document.all)
document.all.countDownText.innerText = countDownTime+" ";
else if (document.getElementById)
document.getElementById("countDownText").innerHTML=countDownTime+" "
else if (document.layers){
document.c_reload.document.c_reload2.document.write('<div style="font-size: <?php echo "$counter_font_size"; ?>px;">Страницата ще се <a href="javascript:window.location.reload()">рефрешне</a> след <b id="countDownText">'+countDownTime+' </b> секунди!</div>')
document.c_reload.document.c_reload2.document.close()
}
counter=setTimeout("countDown()", 1000);
}
function startit(){
if (document.all||document.getElementById)
document.write('<div style="font-size: <?php echo "$counter_font_size"; ?>px;">Страницата ще се <a href="javascript:window.location.reload()">рефрешне</a> след <b id="countDownText">'+countDownTime+' </b> секунди!</div>')
countDown()
}
if (document.all||document.getElementById)
startit()
else
window.onload=startit
</script>
<table>
<?php
$query = "SELECT * FROM `$table` ORDER by `id` DESC LIMIT 0,$last_calls_count";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
$secure_nick = addslashes(htmlspecialchars($row[nick]));
$secure_reason = addslashes(htmlspecialchars($row[report]));
echo "<div style='border-top: 1px solid $border_color; font-size: $font_size;'><b><font color='$server_color'>$row[server]</font></b> | <b><font color='$date_color'>$row[date]</font></b> в <b><font color='$time_color'>$row[time]</font></b> | <b><font color='$nick_color'>$secure_nick</font></b>: <b><font color='$reason_color'>$secure_reason</font></b> </div>";
}
?>
</table>
</body>
</html>
-
DaRk_StyLe
Извън линия - Потребител
- Мнения: 264
- Регистриран на: 26 Окт 2016, 12:40
- Се отблагодари: 11 пъти
- Получена благодарност: 33 пъти
Въпрос за Calladmin
Трябва да се изведе ред 'ip' от таблицата 'call_admin'. Не съм запознат с уеб програмирането, затова изчакай някой да ти редактира скрипта. Обърни внимание, че това е IP-то на играча, написал командата.
-
illusion
Извън линия - Developer
- Мнения: 1810
- Регистриран на: 27 Ное 2016, 17:47
- Местоположение: CraftVision
- Се отблагодари: 151 пъти
- Получена благодарност: 371 пъти
- Обратна връзка:
Въпрос за Calladmin
А ще може ли да се направи да изписва ип-то на играча и ип-то на този, който го е докладвал? Може и само ип-то на играча, ако искате и заплащане ще предложа, няма проблем, стига всичко да е перфе.
-
DaRk_StyLe
Извън линия - Потребител
- Мнения: 264
- Регистриран на: 26 Окт 2016, 12:40
- Се отблагодари: 11 пъти
- Получена благодарност: 33 пъти
Въпрос за Calladmin
Трябва да се пренапише плъгинът, тъй като в момента не се логва никаква информация за нарушителя.
-
1fRaNkkK
Извън линия - Потребител
- Мнения: 776
- Регистриран на: 09 Окт 2016, 15:21
- Се отблагодари: 8 пъти
- Получена благодарност: 55 пъти
Въпрос за Calladmin
За показване на IP-то не съм сигурен дали ще проработи - не разбирам от php, но се надявам да проработи - пробвай.
В index.php намери:
и го направи:
В index.php намери:
Код за потвърждение: Избери целия код
while($row = mysql_fetch_assoc($result)) {
$secure_nick = addslashes(htmlspecialchars($row[nick]));
$secure_reason = addslashes(htmlspecialchars($row[report]));
echo "<div style='border-top: 1px solid $border_color; font-size: $font_size;'><b><font color='$server_color'>$row[server]</font></b> | <b><font color='$date_color'>$row[date]</font></b> в <b><font color='$time_color'>$row[time]</font></b> | <b><font color='$nick_color'>$secure_nick</font></b>: <b><font color='$reason_color'>$secure_reason</font></b> </div>";
}
Код за потвърждение: Избери целия код
while($row = mysql_fetch_assoc($result)) {
$secure_nick = addslashes(htmlspecialchars($row[nick]));
$secure_reason = addslashes(htmlspecialchars($row[report]));
$secure_ip = addslashes(htmlspecialchars($row[ip]));
echo "<div style='border-top: 1px solid $border_color; font-size: $font_size;'><b><font color='$server_color'>$row[server]</font></b> | <b><font color='$date_color'>$row[date]</font></b> в <b><font color='$time_color'>$row[time]</font></b> | <b><font color='$nick_color'>$secure_nick</font></b>: <b><font color='$reason_color'>$secure_reason</font></b> | <b><font color='aqua'>IP</font></b>: <b><font color='aqua'>$secure_ip</font></b> </div>";
}
-
illusion
Извън линия - Developer
- Мнения: 1810
- Регистриран на: 27 Ное 2016, 17:47
- Местоположение: CraftVision
- Се отблагодари: 151 пъти
- Получена благодарност: 371 пъти
- Обратна връзка:
Въпрос за Calladmin
Да, извади ИП адреса, само ми трябва ако може да се направи да е само на нарушителя.
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 2 Отговори
- 1459 Преглеждания
-
Последно мнение от SkR1LL3X
-
- 3 Отговори
- 1425 Преглеждания
-
Последно мнение от bustA
-
- 4 Отговори
- 1825 Преглеждания
-
Последно мнение от Vasil Handamqn
-
- 4 Отговори
- 910 Преглеждания
-
Последно мнение от Ant1Lamer
-
- 2 Отговори
- 1153 Преглеждания
-
Последно мнение от thoughtz
-
- 6 Отговори
- 2842 Преглеждания
-
Последно мнение от TheScale
-
- 4 Отговори
- 1914 Преглеждания
-
Последно мнение от antonstoqnovv
Кой е на линия
Потребители разглеждащи този форум: 0 регистрирани и 12 госта