Moin, ich wollte hier fragen ob einer schnell eine MySQL Datenbankstruktur machen kann? Da ich jetzt fast garnicht mehr gescriptet habe und mich nicht sehr mit MySQL auskenne.
Die Tabelle für /Ban /Unban & /tban
dcmd_ban(playerid,params[]){
if(GetPlayerAdminLevel(playerid) >= 3){
MySQLCheckConnection();
new ID,Name[MAX_PLAYER_NAME],Grund[128];
if(!sscanf(params,"ss",Name,Grund)){
ID = ReturnUser(Name);
if(SpielerInfo[ID][sEingeloggt]){
if(GetPlayerAdminLevel(ID) > GetPlayerAdminLevel(playerid))
return SendClientMessage(playerid,Farbe_Grau,"Du kannst den Spieler nicht bannen, er besitzt ein höheres Adminlevel als du.");
new Query[255];
format(Query,sizeof(Query),"INSERT INTO `bans` (`Spielername`,`Ip-Adresse`,`Range-Ip-Adresse`,`Datum`,`Uhrzeit`,`Grund`,`Von`) VALUES ('%s','%s','%s','%s','%s','%s','%s')",SpielerInfo[ID][sName],SpielerInfo[ID][sIp],RangeIp(SpielerInfo[ID][sIp]),Datum(),Uhrzeit(),Grund,SpielerInfo[playerid][sName]);
mysql_query(Query);
format(Query,sizeof(Query),"Server: %s wurde von %s dauerhaft vom Server gebannt, Grund: %s.",SpielerInfo[ID][sName],SpielerInfo[playerid][sName],Grund);
SendClientMessageToAll(Farbe_Leuchtrot,Query);
Kick(ID);
format(Query,sizeof(Query),"%s(%d) %s hat %s gebannt, Grund: %s.",GetPlayerAdminRang(playerid),GetPlayerAdminLevel(playerid),SpielerInfo[playerid][sName],SpielerInfo[ID][sName],Grund);
EnterToLog("Bann",Query);
return true;
}
if(GetMySQLPlayerInt(Name,"Level") == -255)
return SendClientMessage(playerid,Farbe_Grau,"Der gewählte Spieler ist nicht Online / Registriert.");
if(GetMySQLPlayerInt(Name,"Adminlevel") > GetPlayerAdminLevel(playerid))
return SendClientMessage(playerid,Farbe_Grau,"Du kannst den Spieler nicht bannen, er besitzt ein höheres Adminlevel als du.");
new Query[255];
format(Query,sizeof(Query),"INSERT INTO `bans` (`Spielername`,`Ip-Adresse`,`Range-Ip-Adresse`,`Datum`,`Uhrzeit`,`Grund`,`Von`) VALUES ('%s','%s','%s','%s','%s','%s','%s')",GetMySQLPlayerStr(Name,"Spielername"),GetMySQLPlayerStr(Name,"Ip-Adresse"),RangeIp(GetMySQLPlayerStr(Name,"Ip-Adresse")),Datum(),Uhrzeit(),Grund,SpielerInfo[playerid][sName]);
mysql_query(Query);
format(Query,sizeof(Query),"Server: %s wurde von %s dauerhaft vom Server gebannt, Grund: %s.",GetMySQLPlayerStr(Name,"Spielername"),SpielerInfo[playerid][sName],Grund);
SendClientMessageToAll(Farbe_Leuchtrot,Query);
format(Query,sizeof(Query),"%s(%d) %s hat %s gebannt, Grund: %s.",GetPlayerAdminRang(playerid),GetPlayerAdminLevel(playerid),SpielerInfo[playerid][sName],GetMySQLPlayerStr(Name,"Spielername"),Grund);
EnterToLog("Bann",Query);
return 1;
}else SendClientMessage(playerid,Farbe_Grau,"Benutze: '/Ban [Playerid/Name] [Grund]'");
}else SendClientMessage(playerid,Farbe_Grau,"Du bist nicht berechtigt diesen Befehl anzuwenden.");
return 1;
}
dcmd_tban(playerid,params[]){
if(GetPlayerAdminLevel(playerid) >= 3){
MySQLCheckConnection();
new ID,Name[MAX_PLAYER_NAME],Grund[128],Minuten;
if(!sscanf(params,"sds",Name,Minuten,Grund)){
ID = ReturnUser(Name);
if(SpielerInfo[ID][sEingeloggt]){
if(GetPlayerAdminLevel(ID) > GetPlayerAdminLevel(playerid) )
return SendClientMessage(playerid,Farbe_Grau,"Du kannst den Spieler nicht bannen, er besitzt ein höheres Adminlevel als du.");
new Zeit = gettime()+(Minuten*60);
new Query[255];
format(Query,sizeof(Query),"INSERT INTO `bans` (`Spielername`,`Ip-Adresse`,`Range-Ip-Adresse`,`Zeit`,`Datum`,`Uhrzeit`,`Grund`,`Von`) VALUES ('%s','%s','%s','%d','%s','%s','%s','%s')",SpielerInfo[ID][sName],SpielerInfo[ID][sIp],RangeIp(SpielerInfo[ID][sIp]),Zeit,Datum(),Uhrzeit(),Grund,SpielerInfo[playerid][sName]);
mysql_query(Query);
format(Query,sizeof(Query),"Server: %s wurde von %s für '%d' Minuten vom Server gebannt, Grund: %s.",SpielerInfo[ID][sName],SpielerInfo[playerid][sName],Minuten,Grund);
SendClientMessageToAll(Farbe_Leuchtrot,Query);
Kick(ID);
format(Query,sizeof(Query),"%s(%d) %s hat %s für %d Minuten gebannt, Grund: %s.",GetPlayerAdminRang(playerid),GetPlayerAdminLevel(playerid),SpielerInfo[playerid][sName],SpielerInfo[ID][sName],Minuten,Grund);
EnterToLog("Zeitbann",Query);
return true;
}else return SendClientMessage(playerid,Farbe_Grau,"Der gewählte Spieler ist nicht Online.");
}else return SendClientMessage(playerid,Farbe_Grau,"Benutze: '/Ban [Playerid/Name] [Grund] [Minuten]'");
}else return SendClientMessage(playerid,Farbe_Grau,"Du bist nicht berechtigt diesen Befehl anzuwenden.");
}
dcmd_unban(playerid,params[]){
if(GetPlayerAdminLevel(playerid) >= 1338){
MySQLCheckConnection();
new Array[32];
if(!sscanf(params,"s",Array)){
new Query[255];
format(Query,sizeof(Query),"SELECT * FROM `bans` WHERE `Spielername`='%s' OR `Ip-Adresse`='%s'",Array,Array);
mysql_query(Query);
mysql_store_result();
if(mysql_num_rows() > 0){
new Data[MAX_PLAYER_NAME];
mysql_fetch_field("Spielername",Data);
mysql_free_result();
format(Query,sizeof(Query),"DELETE FROM `bans` WHERE `Spielername`='%s' OR `Ip-Adresse`='%s'",Array,Array);
mysql_query(Query);
format(Query,sizeof(Query),"[Warnung] | %s hat %s's Ausschluss entfernt.",SpielerInfo[playerid][sName],Data);
SendeAdminsNachricht(Farbe_Gelb,Query);
format(Query,sizeof(Query),"%s(%d) %s hat %s's Ausschluss entfernt.",GetPlayerAdminRang(playerid),GetPlayerAdminLevel(playerid),SpielerInfo[playerid][sName],Data);
EnterToLog("Entbann",Query);
return true;
}else{
mysql_free_result();
return SendClientMessage(playerid,Farbe_Grau,"Der gewählte Spieler ist nicht Gebannt.");
}
}else return SendClientMessage(playerid,Farbe_Grau,"Benutze: '/Unban [Name/Ip-Adresse]'");
}else return SendClientMessage(playerid,Farbe_Grau,"Du bist nicht berechtigt diesen Befehl anzuwenden.");
}
Alles anzeigen
Würde mich freuen wenn das einer machen könnte, würde ihn als Belohung vllt ne PaySafeCard anbieten 
Mfg.