- 0
Cerere Ajutor T/Ban!
-
Similar Content
-
- 4 replies
- 129 views
-
- 5 replies
- 291 views
-
- 1 reply
- 195 views
-
- 2 replies
- 181 views
-
- 2 replies
- 204 views
-
-
Recently Browsing 0 members
- No registered users viewing this page.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.
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