So: D:\Games\RRS\filterscripts\testban.pwn(26) : warning 219: local variable "String" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(83) : warning 219: local variable "String" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(84) : error 035: argument type mismatch (argument 3)
D:\Games\RRS\filterscripts\testban.pwn(102) : warning 219: local variable "String" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(113) : warning 219: local variable "String" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(135) : warning 219: local variable "String" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(160) : warning 216: nested comment
D:\Games\RRS\filterscripts\testban.pwn(185) : error 001: expected token: ")", but found "&"
D:\Games\RRS\filterscripts\testban.pwn(185) : error 029: invalid expression, assumed zero
D:\Games\RRS\filterscripts\testban.pwn(189) : error 021: symbol already defined: "GetPlayerName"
D:\Games\RRS\filterscripts\testban.pwn(191) : error 021: symbol already defined: "GetPlayerIp"
D:\Games\RRS\filterscripts\testban.pwn(193) : error 021: symbol already defined: "GetPlayerName"
D:\Games\RRS\filterscripts\testban.pwn(197) : error 021: symbol already defined: "getdate"
D:\Games\RRS\filterscripts\testban.pwn(201) : error 021: symbol already defined: "gettime"
D:\Games\RRS\filterscripts\testban.pwn(203) : error 010: invalid function or declaration
D:\Games\RRS\filterscripts\testban.pwn(209) : error 021: symbol already defined: "format"
D:\Games\RRS\filterscripts\testban.pwn(216) : error 010: invalid function or declaration
D:\Games\RRS\filterscripts\testban.pwn(224) : error 054: unmatched closing brace ("}")
D:\Games\RRS\filterscripts\testban.pwn(226) : error 021: symbol already defined: "db_free_result"
D:\Games\RRS\filterscripts\testban.pwn(227) : error 021: symbol already defined: "TB_KickPlayer"
D:\Games\RRS\filterscripts\testban.pwn(229) : error 010: invalid function or declaration
D:\Games\RRS\filterscripts\testban.pwn(232) : error 025: function heading differs from prototype
D:\Games\RRS\filterscripts\testban.pwn(241) : warning 219: local variable "BannedIP" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(243) : warning 219: local variable "String" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(244) : warning 219: local variable "BannerName" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(246) : warning 219: local variable "Year" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(247) : warning 219: local variable "Month" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(248) : warning 219: local variable "Day" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(250) : warning 219: local variable "Hour" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(251) : warning 219: local variable "Minute" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(252) : warning 219: local variable "Second" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(272) : warning 219: local variable "BannedName" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(274) : warning 219: local variable "String" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(285) : warning 219: local variable "BannedIP" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(287) : warning 219: local variable "String" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(300) : warning 219: local variable "String" shadows a variable at a preceding level
D:\Games\RRS\filterscripts\testban.pwn(325) : warning 203: symbol is never used: "BannedIP"
D:\Games\RRS\filterscripts\testban.pwn(325) : warning 203: symbol is never used: "BannedName"
D:\Games\RRS\filterscripts\testban.pwn(325) : warning 203: symbol is never used: "BannerName"
D:\Games\RRS\filterscripts\testban.pwn(325) : warning 203: symbol is never used: "ClearChat"
D:\Games\RRS\filterscripts\testban.pwn(325) : warning 203: symbol is never used: "Day"
D:\Games\RRS\filterscripts\testban.pwn(325) : warning 203: symbol is never used: "Hour"
D:\Games\RRS\filterscripts\testban.pwn(325) : warning 203: symbol is never used: "Minute"
D:\Games\RRS\filterscripts\testban.pwn(325) : warning 203: symbol is never used: "Month"
D:\Games\RRS\filterscripts\testban.pwn(325) : warning 203: symbol is never used: "Second"
D:\Games\RRS\filterscripts\testban.pwn(325) : warning 203: symbol is never used: "String"
D:\Games\RRS\filterscripts\testban.pwn(325) : warning 203: symbol is never used: "Year"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
16 Errors.
[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"); TB_KickPlayer(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) for Days %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 for Days %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 TP_KickWithMessage(playerid, color, message[]) { SendClientMessageToAll(color, message); SendClientMessage(playerid, color, message); SetTimerEx("TP_KickPublic", 1000, 0, "d", playerid); }*/ /*forward TP_KickPublic(playerid); public TP_KickPublic(playerid) { Kick(playerid); }*/ stock TB_KickPlayer(playerid) { SetTimerEx("TP_KickPublic", 1000, 0, "d", playerid); } forward TP_KickPublic(playerid); public TP_KickPublic(playerid) { Kick(playerid); } 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} for Days{ff002f} %s.\n{ffff00} Reason: %s",BannedName,BannedID,BannerName,BannerID,TB_ConvertTime(Time),Reason); ClearChat(BannedID); format(String,sizeof(String),"{33ff33}Player{a3a3a3} %s (ID: %d) {33ff33}Has been banned by administrator{ff0015} %s (ID: %d)",BannedName,BannedID,BannerName,BannerID); SendClientMessageToAll(0xFF0000FF, String); format(String,sizeof(String), "{33ff33}for Days{ff002f} %s.", TB_ConvertTime(Time)); SendClientMessageToAll(0xFF0000FF, String); format(String,sizeof(String), "{ffff00}Reason: %s", Reason); SendClientMessageToAll(0xFF0000FF, String); } 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 for Days %s. Reason: %s",BannedName,BannedID,TB_ConvertTime(Time),Reason); format(String,sizeof(String),"{33ff33}Player{a3a3a3} %s (ID: %d) {33ff33}Has been banned by administrator{ff0015} %s (ID: %d)",BannedName,BannedID,BannerName,BannerID); SendClientMessageToAll(0xFF0000FF, String); //format(String,sizeof(String), "{33ff33}for Days{ff002f} %s.{ffff00} Reason: %s", TB_ConvertTime(Time),Reason); } db_free_result(DatabaseResult); TB_KickPlayer(BannedID); return 1; } ClearChat(playerid) { for(new i = 0; i < 50; i++) { SendClientMessage(playerid, 0xFF0000FF, ""); } 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) for Days %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 for Days %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] Asa cum mi-ai spus asa am facut. Edit: Am rezolvat mai am un warn. D:\Games\RRS\filterscripts\testban.pwn(160) : warning 216: nested comment Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 1 Warning. Acu am facut alta prostie X_X Dau ban nici text nmk nu mai apare X_X