HELP offline warn combine with SQLite [ REP +++ ]
#1

how does this connect? with SQL scripts ?? I only need a warn offline

Код:
CMD:owarn(playerid, params[])
{
	if(PlayerInfo[playerid][pAdmin] < 3)
	{
		SendClientMessageEx(playerid, COLOR_GRAD1, "ADMIN : Anda di larang menggunakan CMD ini");
		return 1;
	}

	new string[128], name[MAX_PLAYER_NAME], reason[64], bannedby[MAX_PLAYER_NAME];
	if(sscanf(params, "s[24]s[64]", name, reason)) return SendClientMessageEx(playerid, COLOR_WHITE, "USAGE: /owarn [name] [reason]");

	new giveplayerid = ReturnUser(name);
	if(giveplayerid != INVALID_PLAYER_ID)
	{
		SendClientMessageEx(playerid, COLOR_GRAD2, "Player ini sedang online, pakai /warn untuk player yang online.");
		return 1;
	}

	if(doesAccountExist(name))
	{
		OnPlayerOfflineLogin(name);
		if( CheckBan(name) == 1 )
		{
			SendClientMessageEx( playerid, COLOR_WHITE, "Player telah di ban!" );
			return 1;
		}
		if( PlayerInfo[MAX_PLAYERS][pAdmin] >= 2 )
		{
			SendClientMessageEx( playerid, COLOR_WHITE, "Tidak bisa /owarn id admin!" );
			return 1;
		}
		PlayerInfo[MAX_PLAYERS][pWarns] += 1;
		if(PlayerInfo[MAX_PLAYERS][pWarns] >= 3)
		{
			new year, month,day;
			getdate(year, month, day);
			format(string, sizeof(string), "AdmCmd: %s (IP:%s) telah di offline ban oleh %s (sudah 3 Peringatan), alasan: %s (%d-%d-%d)", name, PlayerInfo[MAX_PLAYERS][pIP], GetPlayerNameEx(playerid), reason,month,day,year);
			Log("logs/ban.log", string);
			format(string, sizeof(string), "AdmCmd: %s telah di offline ban oleh %s (sudah 3 Peringatan), alasan: %s", name, GetPlayerNameEx(playerid), reason);
			ABroadCast(COLOR_LIGHTRED,string,2);
			PlayerInfo[MAX_PLAYERS][pBanned] = 1;
			AddBan(PlayerInfo[MAX_PLAYERS][pIP]);
			GetPlayerName(playerid,bannedby,sizeof(bannedby));
			format(string, sizeof(string),"had 3 Warning, reason: %s",reason);
			//AddBanAccount(name,bannedby,string);
			OnPlayerOfflineSave(name);
			return 1;
		}
		new year, month, day;
		getdate(year, month, day);
		format(string, sizeof(string), "AdmCmd: %s mendapat peringatan offline oleh %s, reason: %s", name, GetPlayerNameEx(playerid), reason);
		ABroadCast(COLOR_LIGHTRED, string, 2);
		format(string, sizeof(string), "AdmCmd: %s mendapat peringatan offline oleh %s, reason: %s (%d-%d-%d)", name, GetPlayerNameEx(playerid), reason,month, day, year);
		Log("logs/admin.log", string);
		OnPlayerOfflineSave(name);
		return 1;

	}
	return 1;
}
SQLite, CMD : banaccount
Код:
CMD:banaccount(playerid, params[]) {
	new Query[240], string[112], pName[24], reason[48], DBResult:result, day, month, year, second, minute, hour, datestring[24], timestring[24];
	if(PlayerInfo[playerid][pAdmin] < 3)
	{
		SendClientMessageEx(playerid, COLOR_GRAD1, "ADMIN : Anda di larang menggunakan CMD ini");
		return 1;
	}
	
	if(sscanf(params, "s[24]s[48]", pName, reason)) return SendClientMessage(playerid, -1, "USAGE: /banaccount [name] [reason]");

	format(Query, sizeof(Query), "SELECT `NAME` FROM `BANNED` WHERE `NAME` = '%s'", pName);
	result = db_query(bans, Query);
	if(!db_num_rows(result))
	{
	    getdate(day, month, year), gettime(hour, minute, second);
		format(datestring, sizeof(datestring), "%i-%i-%i", day, month, year), format(timestring, sizeof(timestring), "%i:%i:%i", hour, minute, second);
		
		format(Query, sizeof(Query), "INSERT INTO `BANNED` (`NAME`, `IP`, `REASON`, `ADMIN`, `DATE`, `TIME`) VALUES ('%s', '0', '%s', '%s', '%s', '%s')", DB_Escape(pName), reason, DB_Escape(GetName(playerid)), datestring, timestring);
		result = db_query(bans, Query);
		if(result)
		{
			format(string, sizeof(string), "BAN: %s has been offline banned by %s(%d) due to %s", pName, GetName(playerid), playerid, reason);
			SendClientMessageToAll(-1, string), string = "\0";

			printf("[ban] [%s]: offlinebanned %s due to %s", GetName(playerid), pName, reason);
		}
		else
		{
  			format(string, sizeof(string), "SERVER: Failed to ban '%s'..", pName), SendClientMessage(playerid, -1, string);
  			printf("[ban] [%s]: failed to offlineban %s due to %s", GetName(playerid), pName, reason);
		}
	}
	else return SendClientMessage(playerid, -1, "INFO: That username is already banned!");
    db_free_result(result);
	return 1;
}
Reply
#2

The first piece of code checks if the player is online. But lord have mercy.. why are you using MAX_PLAYERS within the second command?
Reply
#3

already FIX, Sorry :3
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)