Moin Leute,
ich sollte jetzt einen neuen Thread aufmachen , da es jetzt ein größere Thread wird/ist. Eine kleine Beschreibung: Ich möchte ein TBAN system schreiben. Jedoch komm ich nicht mit einiegen Warnings klar!
Nochmal vorab: Ich möchte , wenn ein Spieler tban ist, dass er in die neue Datenbank eingetragen wird. Also ein neue SpielerDatei erstellt. Wo der Name.... steht etc... . Ich poste euch einfach mal den Code:
enum SpielerTimeBanned
{
pNameTBan[MAX_PLAYER_NAME],
pTBanIP,
pTBanGrund,
pvonAdmin,
pTBanDauer
}
ocmd:timeban(playerid,params[])
{
if(SpielerInfo[playerid][pAlevel] >= 1)
{
new pID, aname[MAX_PLAYERS],spieler[MAX_PLAYERS],grund[128],dauer,string[128];
if(sscanf(params,"uds[128]",pID,dauer,grund)) return SendClientMessage(playerid,0xFF0000FF,"[FEHLER]{FFFFFF} /Timeban [Name/ID][Dauer][Grund]");
//if(!IsPlayerConnected(pid)) return SendClientMessage(playerid,0xFF0000FF,"Kein Spieler mit der angegebenen ID ist Online");
{
format(string,sizeof(string),"[INFO]{00CDFF} %s %s {FFFFFF}hat {00CDFF}%s {FFFFFF}für {00CDFF}%d Minuten {FFFFFF}vom Server verbannt! Grund: {00CDFF}%s",GetPlayerAdminRankName(playerid),aname,spieler,dauer,grund);
SendClientMessageToAll(0xFF0000FF,string);
new zeitdauer = Now() + dauer*60;
CreateTBanAccount(pID);
Kick(pID);
}
}
return 1;
}
stock mktime(hour,minute,second,day,month,year)
{
new timestamp2;
timestamp2 = second + (minute * 60) + (hour * 3600);
new days_of_month[12];
if ( ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) ) {
days_of_month = {31,29,31,30,31,30,31,31,30,31,30,31}; // Schaltjahr
} else {
days_of_month = {31,28,31,30,31,30,31,31,30,31,30,31}; // keins
}
new days_this_year = 0;
days_this_year = day;
if(month > 1) { // No January Calculation, because its always the 0 past months
for(new i=0; i<month-1;i++) {
days_this_year += days_of_month[i];
}
}
timestamp2 += days_this_year * 86400;
for(new j=1970;j<year;j++) {
timestamp2 += 31536000;
if ( ((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0) ) timestamp2 += 86400; // Schaltjahr + 1 Tag
}
return timestamp2;
}
stock Now()
{
new hour,minute,second,year,month,day;
gettime(hour, minute, second);
getdate(year, month, day);
return mktime(hour,minute,second,day,month,year);
}
stock CreateTBanAccount(pID)//pass[]
{
new query[256],Name[MAX_PLAYER_NAME];
GetPlayerName(pID,Name, MAX_PLAYER_NAME);
format(query, sizeof(query), "INSERT INTO `SpielerTimeBanned` (`Name`, `IP`, `TBanGrund`, `vonAdmin`, `Dauer`) VALUES ('%s', '%s', '%s', '%s','%d')", pNameTBan, pTBanIP, pTBanGrund, pvonAdmin, pTBanDauer);// HIER SIND WARNINGS
mysql_query(query);
printf("[S-INFO] %s wurde von %s für %d verbannt. Grund: %s",pNameTBan,pvonAdmin,pTBanDauer,pTBanGrund); //UND HIER INSGESAMT 10 Warnings!
return 1;
}[/i]
Mehr habe ich incht! Könnte mir evlt. einer verraten wie dass mit den Variabeln geht? (BITTE KEINE SEITEN SICKEN... :))
mFG