- 0
Cerere Ajutor T/Ban!
-
Similar Content
-
- 15 answers
- 402 views
-
- 0 replies
- 170 views
-
ajutor urgent
By R4zvyy,
- 1 answer
- 372 views
-
- 2 answers
- 144 views
-
- 0 replies
- 77 views
-
-
Recently Browsing 0 members
- No registered users viewing this page.
Question
xt3z0ne
Nick:xt3z0ne
Problema:Pai am gasit un fs T/Ban si am zis sal modific dar am o problema cand dau /testban 0 99 Sob. Salut Me.!
Erori / warnings:Nui nevoie.
Lini/script:
Ai incercat sa rezolvi singur ?:
[pawn]
CMD:testban(playerid,params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF,"This command is only for administrators.");
new PlayerID;
new Days;
new Reason[30];
if(sscanf(params,"iis[30]",PlayerID,Days,Reason)) return SendClientMessage(playerid,0xFF0000FF,"Usage /Ban [Player ID] [Days] [Reason].");
if(!IsPlayerConnected(PlayerID)) return SendClientMessage(playerid,0xFF0000FF,"Player with this ID isnt available.");
if(Days <= 0) return SendClientMessage(playerid,0xFF0000FF,"You entered bad time.");
if(strlen(Reason) <= 0 || strlen(Reason) > 30) return SendClientMessage(playerid,0xFF0000FF,"You must give reason, but not too long, maximally 30 characters.");
new String[300];
TB_BanPlayerByID(PlayerID,Days * 24 * 60 * 60,Reason,playerid);
new PlayerName[30];
GetPlayerName(PlayerID,PlayerName,sizeof(PlayerName));
format(String,sizeof(String),"You banned player %s (ID: %d) at time %s. Reason: %s",PlayerName,PlayerID,TB_ConvertTime(Days * 24 * 60 * 60),Reason);
SendClientMessage(playerid,0xFF0000FF,String);
return 1;
}
[/pawn]
[pawn]
stock TB_BanPlayerByID(BannedID,Time,Reason[],BannerID)
{
new String[300];
new BannedName[30];
GetPlayerName(BannedID,BannedName,sizeof(BannedName));
new BannedIP[30];
GetPlayerIp(BannedID,BannedIP,sizeof(BannedIP));
new BannerName[30];
GetPlayerName(BannerID,BannerName,sizeof(BannerName));
new Year;
new Month;
new Day;
getdate(Year,Month,Day);
new Hour;
new Minute;
new Second;
gettime(Hour,Minute,Second);
format(String,sizeof(String),"%02d/%02d/%02d %02d:%02d:%02d",Day,Month,Day,Hour,Minute,Second);
if(IsPlayerConnected(BannerID))
{
format(String,sizeof(String),"INSERT INTO Bans VALUES('%s','%s','%s','%d','%s','%s')",BannedName,BannedIP,BannerName,Time + gettime(),Reason,String);
DatabaseResult = db_query(Database,String);
format(String,sizeof(String),"{33ff33}Player{a3a3a3} %s (ID: %d)\n {33ff33}Has been banned by administrator{ff0015} %s (ID: %d)\n{33ff33} At time{ff002f} %s.\n{ffff00} Reason: %s",BannedName,BannedID,BannerName,BannerID,TB_ConvertTime(Time),Reason);
}
if(!IsPlayerConnected(BannerID))
{
format(String,sizeof(String),"INSERT INTO Bans VALUES('%s','%s','Server','%d','%s','%s')",BannedName,BannedIP,Time + gettime(),Reason,String);
DatabaseResult = db_query(Database,String);
format(String,sizeof(String),"Player %s (ID: %d) has been banned by Server at time %s. Reason: %s",BannedName,BannedID,TB_ConvertTime(Time),Reason);
}
db_free_result(DatabaseResult);
SendClientMessageToAll(0xFF0000FF,String);
SetTimerEx("TB_KickPlayer",1000,0,"i",BannedID);
return 1;
}
[/pawn]
Nu imi arata cum trebe.
Imi arata asa.
Iar accel jucator de unde sa stie dela cine a luat ban :-w
Asta este tot scriptu
[pawn]
#include <a_samp>
#include <sscanf2>
#define FILTERSCRIPT
#include <zcmd>
new DB:Database;
new DBResult:DatabaseResult;
public OnFilterScriptInit()
{
Database = db_open("Bans.db");
DatabaseResult = db_query(Database,"CREATE TABLE IF NOT EXISTS Bans (Name CHAR(30),IP CHAR(30),BannerName CHAR(30),Time INT(10),Reason CHAR(30),Date CHAR(30))");
db_free_result(DatabaseResult);
return 1;
}
public OnFilterScriptExit()
{
db_close(Database);
return 1;
}
public OnPlayerConnect(playerid)
{
new String[300];
new PlayerName[30];
GetPlayerName(playerid,PlayerName,sizeof(PlayerName));
new PlayerIP[30];
GetPlayerIp(playerid,PlayerIP,sizeof(PlayerIP));
format(String,sizeof(String),"SELECT * FROM Bans WHERE Name = '%s' OR IP = '%s'",PlayerName,PlayerIP);
DatabaseResult = db_query(Database,String);
if(db_num_rows(DatabaseResult))
{
db_get_field_assoc(DatabaseResult,"Time",String,10);
if(strval(String) > gettime())
{
SendClientMessage(playerid,0x999999FF,"You are banned from this server.");
db_get_field_assoc(DatabaseResult,"Name",String,30);
format(String,sizeof(String),"Name: %s",String);
SendClientMessage(playerid,0xFF0000FF,String);
db_get_field_assoc(DatabaseResult,"IP",String,30);
format(String,sizeof(String),"IP: %s",String);
SendClientMessage(playerid,0xFF0000FF,String);
db_get_field_assoc(DatabaseResult,"BannerName",String,30);
format(String,sizeof(String),"Banner: %s",String);
SendClientMessage(playerid,0xFF0000FF,String);
db_get_field_assoc(DatabaseResult,"Time",String,10);
format(String,sizeof(String),"Time: %s",TB_ConvertTime(strval(String) - gettime()));
SendClientMessage(playerid,0xFF0000FF,String);
db_get_field_assoc(DatabaseResult,"Reason",String,30);
format(String,sizeof(String),"Reason: %s",String);
SendClientMessage(playerid,0xFF0000FF,String);
db_get_field_assoc(DatabaseResult,"Date",String,30);
format(String,sizeof(String),"Date: %s",String);
SendClientMessage(playerid,0xFF0000FF,String);
db_free_result(DatabaseResult);
SendClientMessage(playerid,0x999999FF,"If you want be unbanned before time write request at website www.ecila.ro");
SetTimerEx("TB_KickPlayer",1000,0,"i",playerid);
return 1;
}
if(strval(String) < gettime())
{
db_free_result(DatabaseResult);
format(String,sizeof(String),"DELETE FROM Bans WHERE Name = '%s' OR IP = '%s'",PlayerName,PlayerIP);
DatabaseResult = db_query(Database,String);
}
}
db_free_result(DatabaseResult);
return 1;
}
CMD:testban(playerid,params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF,"This command is only for administrators.");
new PlayerID;
new Days;
new Reason[30];
if(sscanf(params,"iis[30]",PlayerID,Days,Reason)) return SendClientMessage(playerid,0xFF0000FF,"Usage /Ban [Player ID] [Days] [Reason].");
if(!IsPlayerConnected(PlayerID)) return SendClientMessage(playerid,0xFF0000FF,"Player with this ID isnt available.");
if(Days <= 0) return SendClientMessage(playerid,0xFF0000FF,"You entered bad time.");
if(strlen(Reason) <= 0 || strlen(Reason) > 30) return SendClientMessage(playerid,0xFF0000FF,"You must give reason, but not too long, maximally 30 characters.");
new String[300];
TB_BanPlayerByID(PlayerID,Days * 24 * 60 * 60,Reason,playerid);
new PlayerName[30];
GetPlayerName(PlayerID,PlayerName,sizeof(PlayerName));
format(String,sizeof(String),"You banned player %s (ID: %d) at time %s. Reason: %s",PlayerName,PlayerID,TB_ConvertTime(Days * 24 * 60 * 60),Reason);
SendClientMessage(playerid,0xFF0000FF,String);
return 1;
}
COMMAND:banip(playerid,params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF,"This command is only for administrators.");
new PlayerIP[30];
new Days;
new Reason[30];
if(sscanf(params,"s[30]is[30]",PlayerIP,Days,Reason)) return SendClientMessage(playerid,0xFF0000FF,"Usage /Banip [iP] [Days] [Reason].");
if(strlen(PlayerIP) <= 0 || strlen(PlayerIP) > 30) return SendClientMessage(playerid,0xFF0000FF,"You entered bad IP.");
if(Days <= 0) return SendClientMessage(playerid,0xFF0000FF,"You entered bad time.");
if(strlen(Reason) <= 0 || strlen(Reason) > 30) return SendClientMessage(playerid,0xFF0000FF,"You must give reason, but not too long, maximally 30 characters.");
new String[300];
TB_BanPlayerByIP(PlayerIP,Days * 24 * 60 * 60,Reason,playerid);
format(String,sizeof(String),"You banned IP %s at time %s. Reason: %s",PlayerIP,TB_ConvertTime(Days * 24 * 60 * 60),Reason);
SendClientMessage(playerid,0xFF0000FF,String);
return 1;
}
COMMAND:unban(playerid,params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF,"This command is only for administrators.");
if(isnull(params)) return SendClientMessage(playerid,0xFF0000FF,"Usage /Unban [Player Name].");
new String[300];
format(String,sizeof(String),"SELECT * FROM Bans WHERE Name = '%s'",params);
DatabaseResult = db_query(Database,String);
if(db_num_rows(DatabaseResult))
{
TB_UnbanPlayerByName(params,playerid);
format(String,sizeof(String),"You unbanned player %s.",params);
SendClientMessage(playerid,0x00FF00FF,String);
}
if(!db_num_rows(DatabaseResult))
{
SendClientMessage(playerid,0xFF0000FF,"This player isnt banned.");
db_free_result(DatabaseResult);
return 1;
}
return 1;
}
COMMAND:unbanip(playerid,params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF,"This command is only for administrators.");
if(isnull(params)) return SendClientMessage(playerid,0xFF0000FF,"Usage /Unbanip [iP].");
new String[300];
format(String,sizeof(String),"SELECT * FROM Bans WHERE IP = '%s'",params);
DatabaseResult = db_query(Database,String);
if(db_num_rows(DatabaseResult))
{
TB_UnbanPlayerByIP(params,playerid);
format(String,sizeof(String),"You unbanned IP %s.",params);
SendClientMessage(playerid,0x00FF00FF,String);
}
if(!db_num_rows(DatabaseResult))
{
SendClientMessage(playerid,0xFF0000FF,"This IP isnt banned.");
db_free_result(DatabaseResult);
return 1;
}
return 1;
}
forward TB_KickPlayer(PlayerID);
public TB_KickPlayer(PlayerID)
{
Kick(PlayerID);
return 1;
}
stock TB_BanPlayerByID(BannedID,Time,Reason[],BannerID)
{
new String[300];
new BannedName[30];
GetPlayerName(BannedID,BannedName,sizeof(BannedName));
new BannedIP[30];
GetPlayerIp(BannedID,BannedIP,sizeof(BannedIP));
new BannerName[30];
GetPlayerName(BannerID,BannerName,sizeof(BannerName));
new Year;
new Month;
new Day;
getdate(Year,Month,Day);
new Hour;
new Minute;
new Second;
gettime(Hour,Minute,Second);
format(String,sizeof(String),"%02d/%02d/%02d %02d:%02d:%02d",Day,Month,Day,Hour,Minute,Second);
if(IsPlayerConnected(BannerID))
{
format(String,sizeof(String),"INSERT INTO Bans VALUES('%s','%s','%s','%d','%s','%s')",BannedName,BannedIP,BannerName,Time + gettime(),Reason,String);
DatabaseResult = db_query(Database,String);
format(String,sizeof(String),"{33ff33}Player{a3a3a3} %s (ID: %d)\n {33ff33}Has been banned by administrator{ff0015} %s (ID: %d)\n{33ff33} At time{ff002f} %s.\n{ffff00} Reason: %s",BannedName,BannedID,BannerName,BannerID,TB_ConvertTime(Time),Reason);
}
if(!IsPlayerConnected(BannerID))
{
format(String,sizeof(String),"INSERT INTO Bans VALUES('%s','%s','Server','%d','%s','%s')",BannedName,BannedIP,Time + gettime(),Reason,String);
DatabaseResult = db_query(Database,String);
format(String,sizeof(String),"Player %s (ID: %d) has been banned by Server at time %s. Reason: %s",BannedName,BannedID,TB_ConvertTime(Time),Reason);
}
db_free_result(DatabaseResult);
SendClientMessageToAll(0xFF0000FF,String);
SetTimerEx("TB_KickPlayer",1000,0,"i",BannedID);
return 1;
}
stock TB_BanPlayerByIP(BannedIP[],Time,Reason[],BannerID)
{
new String[300];
new BannerName[30];
GetPlayerName(BannerID,BannerName,sizeof(BannerName));
new Year;
new Month;
new Day;
getdate(Year,Month,Day);
new Hour;
new Minute;
new Second;
gettime(Hour,Minute,Second);
format(String,sizeof(String),"%02d/%02d/%02d %02d:%02d:%02d",Day,Month,Day,Hour,Minute,Second);
if(IsPlayerConnected(BannerID))
{
format(String,sizeof(String),"INSERT INTO Bans VALUES('Unknown','%s','%s','%d','%s','%s')",BannedIP,BannerName,Time + gettime(),Reason,String);
DatabaseResult = db_query(Database,String);
format(String,sizeof(String),"IP %s has been banned by administrator %s (ID: %d) at time %s. Reason: %s",BannedIP,BannerName,BannerID,TB_ConvertTime(Time),Reason);
}
if(!IsPlayerConnected(BannerID))
{
format(String,sizeof(String),"INSERT INTO Bans VALUES('Unknown','%s','Server','%d','%s','%s')",BannedIP,Time + gettime(),Reason,String);
DatabaseResult = db_query(Database,String);
format(String,sizeof(String),"IP %s has been banned by Server at time %s. Reason: %s",BannedIP,TB_ConvertTime(Time),Reason);
}
db_free_result(DatabaseResult);
SendClientMessageToAll(0xFF0000FF,String);
return 1;
}
stock TB_UnbanPlayerByName(BannedName[],UnbannerID)
{
new String[300];
format(String,sizeof(String),"DELETE FROM Bans WHERE Name = '%s'",BannedName);
DatabaseResult = db_query(Database,String);
db_free_result(DatabaseResult);
new UnbannerName[30];
GetPlayerName(UnbannerID,UnbannerName,sizeof(UnbannerName));
format(String,sizeof(String),"Administrator %s (ID: %d) unbanned player %s.",UnbannerName,UnbannerID,BannedName);
SendClientMessageToAll(0x00FF00FF,String);
return 1;
}
stock TB_UnbanPlayerByIP(BannedIP[],UnbannerID)
{
new String[300];
format(String,sizeof(String),"DELETE FROM Bans WHERE IP = '%s'",BannedIP);
DatabaseResult = db_query(Database,String);
db_free_result(DatabaseResult);
new UnbannerName[30];
GetPlayerName(UnbannerID,UnbannerName,sizeof(UnbannerName));
format(String,sizeof(String),"Administrator %s (ID: %d) unbanned IP %s.",UnbannerName,UnbannerID,BannedIP);
SendClientMessageToAll(0x00FF00FF,String);
return 1;
}
stock TB_ConvertTime(Seconds)
{
new String[300];
new Minutes;
if(Seconds > 59)
{
Minutes = Seconds / 60;
Seconds = Seconds - Minutes * 60;
}
new Hours;
if(Minutes > 59)
{
Hours = Minutes / 60;
Minutes = Minutes - Hours * 60;
}
new Days;
if(Hours > 23)
{
Days = Hours / 24;
Hours = Hours - Days * 24;
}
format(String,sizeof(String),"%02d:%02d:%02d:%02d",Days,Hours,Minutes,Seconds);
if(Days == 0) format(String,sizeof(String),"%02d:%02d:%02d",Hours,Minutes,Seconds);
if(Days == 0 && Hours == 0) format(String,sizeof(String),"%02d:%02d",Minutes,Seconds);
if(Days == 0 && Hours == 0 && Minutes == 0) format(String,sizeof(String),"%02d",Seconds);
return String;
}
[/pawn]
Cam asa arata.
http://www.imgz.ro/i/1398172086-sa-mp-164.png
http://www.imgz.ro/i/1398172086-sa-mp-163.png
Va rog sa ma ajutati.
Am facut si un test cun jucator i arat asa.
Nici nu sti dela cine a luat ban pece motiv..
:-??
Va rog sa ma ajutati
Sunt un retardat
Link to comment
Share on other sites
Top Posters For This Question
26
23
3
2
Popular Days
Apr 22
12
Apr 24
12
Apr 27
10
Apr 29
6
Top Posters For This Question
xt3z0ne 26 posts
WopsS 23 posts
RaduC 3 posts
XStormiest 2 posts
Popular Days
Apr 22 2014
12 posts
Apr 24 2014
12 posts
Apr 27 2014
10 posts
Apr 29 2014
6 posts
54 answers to this question
Recommended Posts