Naja ist halt mager ja, aber sehe das für ein Projekt was in den Startlöchern steht für angebracht.
Wünsche euch viel Erfolg.
sehe auch gerade dass ich dermaßen geschielt hab gestern, sorry grad nochmal gelesen, für den Anfang reicht das ehrlich…
Naja ist halt mager ja, aber sehe das für ein Projekt was in den Startlöchern steht für angebracht.
Wünsche euch viel Erfolg.
sehe auch gerade dass ich dermaßen geschielt hab gestern, sorry grad nochmal gelesen, für den Anfang reicht das ehrlich…
Der Text ist bei mir weiß/hellblau, kann den nicht sehen :o
Wollte dich darauf nur hinweisen, habs deswegen wieder gelöscht xd
wenn ich noch nicht penne dann lass mal runde schnacken auf entspannt aber , wobei.. ne man, nach dem pennen ist besser xd
Schön ausgeruht die 2 Stunde, jetzt kann man wieder an den Rechner.
ich hab meinen bus wegen Maske verpasst, muss ich morgen früh gelben holen, Ärzte haben nur bis halb 12 morgen offen
lädt die!? Weis jemand wo dict das sehe
8C40DE56-E838-47E0-ADA1-458BF41B2A10.jpeg66734F2D-D872-40EF-AA2A-03246F64F0DA.jpeg
hoho habe ich lange geschlafen
Wie lang hast gepennt
Florian Edelmann hat Lifetime von mir und deswegen immer meinen Namen in seinem Titel.
Wusste ichs doch xd
//EDit
aebian Was ist dieser Passwort Manager? :p neue Mixtur aus Sonderzeichen , Groß/Kleinbuchstaben und Zahlen eingeprägt
/ban /offban /tban /offtimeban samt Funktion BanPlayer... müsste halt auf die eigenen Bedürfnisse angepasst werden aber bringt einen Grundbaustein mit sich
ocmd:ban(playerid, params[])
{
new pid, reason[45];
if(getAdmin(playerid) < 2)return 1;
if(sscanf(params, "us", pid, reason))return SCM(playerid, COLOR_GREY, "Befehl: /ban [Name/ID] [Grund]");
if(LoggedIn(pid) == false)return SEM(playerid, ERROR_NOLOGIN2);
BanPlayer(playerid, "", pid, 0, BAN_NORMAL, 45, reason, NULL);
return 1;
}
ocmd:offban(playerid, params[])
{
new bname[24], onlineID = INVALID_PLAYER_ID, reason[45];
if(getAdmin(playerid) < 2)return 1;
if(sscanf(params, "ss", bname, reason))return SCM(playerid, COLOR_GREY, "Befehl: /offban [Name] [Grund]");
//Online Check
onlineID = LoggedInName(bname);
if(onlineID != INVALID_PLAYER_ID)
{
SCMF(playerid, COLOR_LESSRED, "Der Spieler %s ist Online mit der ID %d, nutze /ban", bname, onlineID);
return 1;
}
BanPlayer(playerid, bname, INVALID_PLAYER_ID, 0, BAN_OFFLINE, 45, reason, NULL);
return 1;
}
ocmd:offtimeban(playerid, params[])
{
new bname[24], reason[45], usage[10], time, onlineID = INVALID_PLAYER_ID;
if(getAdmin(playerid) < 2)return 1;
if(sscanf(params, "ssds", bname, usage, time, reason))return SCM(playerid, COLOR_GREY, "Befehl: /offtimeban [Name] [Minuten/Stunden/Tage] [Anzahl] [Grund]");
//Online Check
onlineID = LoggedInName(bname);
if(onlineID != INVALID_PLAYER_ID)
{
SCMF(playerid, COLOR_LESSRED, "Der Spieler %s ist Online mit der ID %d, nutze /tban", bname, onlineID);
return 1;
}
if(strcmp(usage, "Minuten", true) && strcmp(usage, "Stunden", true) && strcmp(usage, "Tage", true))return SCM(playerid, COLOR_LESSRED, "Auswahl: Minuten/Stunden/Tage");
BanPlayer(playerid, bname, INVALID_PLAYER_ID, time, BAN_OFFTIME, 45, reason, usage);
return 1;
}
ocmd:tban(playerid, params[])
{
new pid, time, reason[45], usage[10];
if(getAdmin(playerid) < 2)return 1;
if(sscanf(params, "usds", pid, usage, time, reason))return SCM(playerid, COLOR_GREY, "Befehl: /tban [Name/ID] [Minuten/Stunden/Tage] [Anzahl] [Grund]");
if(LoggedIn(pid) == false)return SEM(playerid, ERROR_NOLOGIN2);
if(strcmp(usage, "Minuten", true) && strcmp(usage, "Stunden", true) && strcmp(usage, "Tage", true))return SCM(playerid, COLOR_LESSRED, "Auswahl: Minuten/Stunden/Tage");
BanPlayer(playerid, "", pid, time, BAN_TIME, 45, reason, usage);
return 1;
}
stock BanPlayer(playerid, offname[], target, btime, banart, rlenght, rdata[], udata[])
{
if(strlen(rdata) > rlenght) { SCMF(playerid, COLOR_LESSRED, "Der Grund darf maximal %d Zeichen lang sein.", rlenght); return 1;}
new string[128];
switch(banart)
{
case BAN_NORMAL:
{
pInfo[target][pBan] = 1;
format(string, sizeof string, "[SERVER] %s wurde von %s gebannt. Grund: %s", getName(target), getName(playerid), rdata),
SCMTA(COLOR_RED, string);
playerProtocol(target, "ban", "wurde von %s %s gebannt. Grund: %s", getAdminRang(playerid), getName(playerid), rdata);
AdminLog(playerid, "ban", "hat den Spieler %s gebannt. Grund: %s", getName(target), rdata);
Kick(target);
}
case BAN_OFFLINE:
{
if(target != INVALID_PLAYER_ID)return 1; //OfflineBan Parameter wurde nicht richtig setzt (INVALID_PLAYER_ID)
//MySQL Abfrage im gleichem Funktionsrahmen, bitte nur in Ausnamefällen nutzen, am besten gar nicht! - Bryan
new cacheSQLID, BanStatus, Cache:result, query[512];
mysql_format(handle, query, sizeof query, "SELECT `Sperre` FROM `player` WHERE `Name` = '%e'", offname);
result = mysql_query(handle, query);
cache_get_value_int(0, 0, BanStatus); //Checken ob bereits ein Ban besteht
if(!cache_num_rows())
{
SCMF(playerid, COLOR_LESSRED, "Es ist kein Konto unter dem Namen %s angelegt!", offname);
return 1;
}
if(BanStatus) //Auswertung der Ban Prüfung
{
SCMF(playerid, COLOR_LESSRED, "Der Spieler %s ist bereits gebannt!", offname);
return 1;
}
cache_delete(result);
//SQLID Picken
mysql_format(handle, query, sizeof query, "SELECT `playerid` FROM `player` WHERE `Name` = '%e'", offname);
result = mysql_query(handle, query);
cache_get_value_int(0, 0, cacheSQLID);
cache_delete(result);
//Log & Ban
mysql_format(handle, query, sizeof query, "UPDATE `player` SET `Sperre` = 1 WHERE `Name` = '%e'", offname);
mysql_pquery(handle, query, "PlayerQuery", "d", PLAYER_QUERY_BAN);
SCMFTA(COLOR_RED, "[SERVER] %s wurde von %s Offline gebannt. Grund: %s", offname, getName(playerid), rdata);
format(query, 256, "%s", rdata);
playerProtocol(cacheSQLID, "oban", "%s wurde von %s %s offline gebannt. Grund: %s", offname, getAdminRang(playerid), getName(playerid), rdata);
AdminLog(playerid, "oban", "%s hat den Spieler %s offline gebannt. Grund: %s", getName(playerid), offname, rdata);
}
case BAN_TIME:
{
if(!strcmp(udata, "Minuten", true))
{
if(btime < 30 || btime > 10080)return SCM(playerid, COLOR_GREY, "Der Wert bei Minuten, muss zwischen 30 & 10.080 liegen! (Maxmimal 1 Woche)");
pInfo[playerid][pTimeban] = cTime + (60*btime);
format(string, sizeof string, "[SERVER] %s wurde von %s für %d Minuten gebannt. Grund: %s", getName(target), getName(playerid), btime, rdata),
SCMTA(COLOR_RED, string);
playerProtocol(target, "sanction", "wurde von %s %s für %d Minuten gebannt. Grund: %s", getAdminRang(playerid), getName(playerid), btime, rdata);
AdminLog(playerid, "timeban", "hat den Spieler %s für %d Minuten gebannt. Grund: %s", getName(target), btime, rdata);
Kick(target);
return 1;
}
if(!strcmp(udata, "Stunden", true))
{
if(btime < 1 || btime > 168)return SCM(playerid, COLOR_GREY, "Der Wert bei Stunden, muss zwischen 1 & 168 liegen! (Maxmimal 1 Woche)");
pInfo[playerid][pTimeban] = cTime + (3600*btime);
format(string, sizeof string, "[SERVER] %s wurde von %s für %d Stunde(n) gebannt. Grund: %s", getName(target), getName(playerid), btime, rdata),
SCMTA(COLOR_RED, string);
playerProtocol(target, "sanction", "wurde von %s %s für %d Stunden gebannt. Grund: %s", getAdminRang(playerid), getName(playerid), btime, rdata);
AdminLog(playerid, "timeban", "hat den Spieler %s für %d Stunden gebannt. Grund: %s", getName(target), btime, rdata);
Kick(target);
return 1;
}
if(!strcmp(udata, "Tage", true))
{
if(btime < 1 || btime > 7)return SCM(playerid, COLOR_GREY, "Der Wert bei Minuten, muss zwischen 30 & 10.080 liegen! (Maxmimal 1 Woche)");
pInfo[playerid][pTimeban] = cTime + (86400*btime);
format(string, sizeof string, "[SERVER] %s wurde von %s für %d Tag(e) gebannt. Grund: %s", getName(target), getName(playerid), btime, rdata),
SCMTA(COLOR_RED, string);
playerProtocol(target, "sanction", "wurde von %s %s für %d Tage gebannt. Grund: %s", getAdminRang(playerid), getName(playerid), btime, rdata);
AdminLog(playerid, "timeban", "hat den Spieler %s für %d Tage gebannt. Grund: %s", getName(target), btime, rdata);
Kick(target);
return 1;
}
}
case BAN_OFFTIME:
{
if(target != INVALID_PLAYER_ID)return 1; //OfflineBan Parameter wurde nicht richtig setzt (INVALID_PLAYER_ID)
//TBAN-Aufschlag Check
new tban_usage[10], tban_math, tban_time,
tban_sql, tban_have, tban_offname[24], tban_reason[64], tban_timeset[25], query[256],
tmath_days, tmath_hours, tmath_minutes, tmath_secs, tban_second;
Math(btime, tmath_days, tmath_hours, tmath_minutes, tmath_secs);
cTime = gettime();
if(GetPVarInt(playerid, "TBAN_EXITS") && GetPVarInt(playerid, "TBAN_EXITS") > cTime)
{
tban_second = 1;
tban_have = GetPVarInt(playerid, "TBAN_HAVE"),
tban_time = GetPVarInt(playerid, "TBAN_TIME"),
GetPVarString(playerid, "TBAN_USAGE", tban_usage, 10);
format(tban_timeset, 25, "%s", tban_usage);
}
else format(tban_timeset, 25, "%s", udata);
//Zeiteinheit auswerten
if(!strcmp(tban_timeset, "Minuten", true))
{
if(btime < 30 || btime > 10080)return SCM(playerid, COLOR_GREY, "Der Wert bei Minuten, muss zwischen 30 & 10.080 liegen! (Maxmimal 1 Woche)");
tban_math = (tban_second) ? ((60*tban_time)) + (tban_have) : (cTime) + (60*btime);
}
else if(!strcmp(tban_timeset, "Stunden", true))
{
if(btime < 1 || btime > 168)return SCM(playerid, COLOR_GREY, "Der Wert bei Stunden, muss zwischen 1 & 168 liegen! (Maxmimal 1 Woche)");
tban_math = (tban_second) ? ((3600*tban_time)) + (tban_have) : (cTime) + (3600*btime);
}
else if(!strcmp(tban_timeset, "Tage", true))
{
if(btime < 1 || btime > 7)return SCM(playerid, COLOR_GREY, "Der Wert bei Tagen, muss zwischen 1 & 7 liegen! (Maxmimal 1 Woche)");
tban_math = (tban_second) ? ((86400*tban_time)) + (tban_have) : (cTime) + (86400*btime);
}
if(tban_second)
{
tban_sql = GetPVarInt(playerid, "TBAN_SQL");
Math(tban_math, tmath_days, tmath_hours, tmath_minutes, tmath_secs);
GetPVarString(playerid, "TBAN_OFFNAME", tban_offname, 24),
GetPVarString(playerid, "TBAN_REASON", tban_reason, 64);
//Log & Ban
format(string, sizeof string, "%d Tage, %d Stunden, %d Minuten und %d Sekunden", tmath_days, tmath_hours, tmath_minutes, tmath_secs);
playerProtocol(tban_sql, "OFFTB-EXTRA", "%s sein Timeban wurde von %s um %d %s verlängert. Gesamtstrafe: %s / Grund: %s", tban_offname, getName(playerid), tban_time, tban_usage, string, tban_reason);
AdminLog(playerid, "OFFTB-EXTRA", "%s hat dem Spieler %s seinen Timeban um %d %s verlängert. Gesamtstrafe: %s / Grund: %s", getName(playerid), tban_offname, tban_time, tban_usage, string, tban_reason);
mysql_format(handle, query, sizeof query, "UPDATE player SET Timeban=%d WHERE Name = '%e' AND playerid = %d", tban_math, tban_offname, tban_sql),
mysql_pquery(handle, query);
format(string, sizeof string, "[ADMIN] %s hat dem Spieler %s seine Strafzeit um %d %s verlängert.", getName(playerid), tban_offname, tban_time, tban_usage),
SendAdminMessage(COLOR_YELLOW, string),
format(string, sizeof string, "[ADMIN] Insgesamt Strafe: %d Tage, %d Stunden, %d Minuten und %d Sekunden", tmath_days, tmath_hours, tmath_minutes, tmath_secs),
SendAdminMessage(COLOR_YELLOW, string),
format(string, sizeof string, "[ADMIN] Grund: %s", tban_reason),
SendAdminMessage(COLOR_YELLOW, string);
//Cache entfernen
DeletePVar(playerid, "TBAN_EXITS"),
DeletePVar(playerid, "TBAN_SQL"),
DeletePVar(playerid, "TBAN_TIME"),
DeletePVar(playerid, "TBAN_OFFNAME"),
DeletePVar(playerid, "TBAN_USAGE"),
DeletePVar(playerid, "TBAN_REASON");
return 1;
}
//MySQL Abfrage im gleichem Funktionsrahmen, bitte nur in Ausnamefällen nutzen, am besten gar nicht! - Bryan
new cacheSQLID, BanUnix, Cache:result;
mysql_format(handle, query, sizeof query, "SELECT Timeban FROM player WHERE Name = '%e'", offname);
result = mysql_query(handle, query);
if(!cache_num_rows())
{
SCMF(playerid, COLOR_LESSRED, "Es ist kein Konto unter dem Namen %s angelegt!", offname);
return 1;
}
cache_delete(result);
//SQLID Picken
mysql_format(handle, query, sizeof query, "SELECT playerid FROM player WHERE Name = '%e'", offname);
result = mysql_query(handle, query);
cache_get_value_int(0, 0, cacheSQLID);
cache_delete(result);
//Checken ob bereits ein aktiver TBan besteht
mysql_format(handle, query, sizeof query, "SELECT Timeban FROM player WHERE Name = '%e'", offname);
result = mysql_query(handle, query);
cache_get_value_int(0, 0, BanUnix);
cache_delete(result);
//Auswertung der Ban Prüfung (Bestehender Timeban)
if(BanUnix && BanUnix > cTime)
{
new days, hour, mins, secs;
//Cache setzen für Timeban Erhöhung setzen (Offline TBan) (60 Sekunden)
Math(BanUnix, days, hour, mins, secs),
SetPVarInt(playerid, "TBAN_EXITS", cTime + 60),
SetPVarInt(playerid, "TBAN_SQL", cacheSQLID),
SetPVarInt(playerid, "TBAN_TIME", btime),
SetPVarInt(playerid, "TBAN_HAVE", BanUnix),
SetPVarString(playerid, "TBAN_OFFNAME", offname),
SetPVarString(playerid, "TBAN_USAGE", udata),
SetPVarString(playerid, "TBAN_REASON", rdata);
SCMF(playerid, COLOR_LESSRED, "Der Spieler %s ist noch %d Tage, %d Stunden, %d Minuten und %d Sekunden gebannt!", offname, days, hour, mins, secs);
SCM(playerid, COLOR_YELLOW, "INFO: Falls du die Ban-Zeit erhöhen möchtest, wiederhole den Befehl einfach innerhalb 60 Sekunden"),
SCM(playerid, COLOR_YELLOW, "INFO: Falls du keine Aktion in der angegebenen Zeit tätigst, erlischt das Angebot.");
return 1;
}
Math(tban_math, tmath_days, tmath_hours, tmath_minutes, tmath_secs);
playerProtocol(tban_sql, "OFFTB-EXTRA", "%s wurde von %s %s für %d %s gebannt. Grund: %s", offname, getAdminRang(playerid), getName(playerid), btime, udata, rdata);
AdminLog(playerid, "OFFTB-EXTRA", "%s hat den Spieler %s für %d %s gebannt. Grund: %s", getName(playerid), offname, btime, udata, rdata);
SCMFTA(COLOR_RED, "[ADMIN] %s wurde von %s für %d %s offline gebannt. Grund: %s", offname, getName(playerid), btime, udata, rdata);
mysql_format(handle, query, sizeof query, "UPDATE player SET Timeban = %d WHERE Name = '%e' AND playerid = %d", tban_math, offname, cacheSQLID),
mysql_pquery(handle, query);
//Cache entfernen
DeletePVar(playerid, "TBAN_EXITS"),
DeletePVar(playerid, "TBAN_SQL"),
DeletePVar(playerid, "TBAN_TIME"),
DeletePVar(playerid, "TBAN_OFFNAME"),
DeletePVar(playerid, "TBAN_USAGE"),
DeletePVar(playerid, "TBAN_REASON");
}
}
return 1;
}
Alles anzeigen
Folgende Sachen stören mich:
1: Server Werbung nicht ordentlich gestaltet.2: Wurde kaum auf Features eingegangen die euch wirklich von anderen Servern abhebt.
3: Schriftfarbe anpassen in darmode-style von der Webseite kaum bis nicht lesbar.
Muss dem Herren hier recht geben.
Danke für deine Kritik, ich Setze mich dran und ändere diese Punkt schnellstmöglich.
MFG
Timeless Community
Bis jetzt hast du aber nicht viel davon umgesetzt oder? rein aus Interesse mal her
Die Werbung ist nicht gerade ansehnlich. das gesamte Paket, scheußlich!
viel Glück weiterhin!
Input wird Zeitnah folgen, muss wichtige Sachen was Unterkunft etc. im Real-Life angeht, regeln.. evtl noch die Prüfung meistern am 04.05.21..
//Edit
Habe mir das leichter vorgestellt aber bin dran, ich schaue später wenn ich Zuhause bin wie die Mittagsaufnahmen geworden sind
Ansonsten verweise ich hier rauf, möchte gescheiten Content produzieren & möchte das ganze dementsprechend nochmal neu konzipieren.