Ich Lobe den Jeffry: auch mal, ist ein klasse Kerl. Er hilfe einem Sofort, und er löst echt alle Probleme.
Bleib so, und mach auch weiter so! ![]()
Beiträge von Eddy
-
-
Jeffry: Folgendes kommt dort, und es scheint Richtig zu sein bis auf die Zeit, dort sollte wenn Möglich zbs. 1 Minute stehen etc. ... [21:05:38] Grund: test
[21:05:38] Admin: Eddy_Mind
[21:05:38] Zeit: 1419969976 -> 1419969976 -
Poste bitte nochmal deinen aktuellen Code, ich weiß ja nicht was du geändert hast.
Es wurde nur hier alles geändert: OnQueryFinish ... und halt bei OnPlayerConnect entfernt.public OnQueryFinish(index[],sqlresultid,extraid,SconnectionHandle)
{
new rows,fields;
switch(sqlresultid)
{
case MySQL_Check_Ban:
{
new zeit,query[256],Admin[24],Grund[126],result[25];
cache_get_data(rows,fields);
if(rows)
{
cache_get_field_content(0,"Grund",Grund);
cache_get_field_content(0,"Admin",Admin);
cache_get_field_content(0,"Zeit",result);
zeit = strval(result);
if(zeit == -1)
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nGrund:%s\nTeammitglied:%s",Spielername(extraid),Grund,Admin);
ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
TogglePlayerControllable(extraid,0);
KickUser(extraid,"System", "Spieler wurde Gebannt!");
return 1;
}
else
{
if(gettime() < zeit)
{
new timebanned = zeit-gettime();
SendClientMessage(extraid,0xEE8613FF,"Verbindung unterbrochen...");
if(floatround(timebanned/86400) > 0)//Tage
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/86400,Grund,Admin);
}
else if(floatround(timebanned/3600) > 0)//Stunden
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/3600,Grund,Admin);
}
else if(floatround(timebanned/60) > 0 || floatround(timebanned%60) > 0)//Minuten,Sekunden
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/60,timebanned%60,Grund,Admin);
}
ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
TogglePlayerControllable(extraid,0);
KickUser(extraid,"System", "Spieler wurde Gebannt!");
}
else
{
GetPlayerName(extraid,Spieler[extraid][pName],MAX_PLAYER_NAME);
format(query,sizeof(query),"DELETE FROM `Banned` WHERE IP ='%s' OR Name = '%s'",SpielerIP(extraid),Spielername(extraid));
mysql_function_query(DBHandle,query,false,"","");
mysql_format(DBHandle, query, sizeof(query),"SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'",Spieler[extraid][pName]);
mysql_function_query(DBHandle, query, true, "LoadPlayerDataSequence","dd",extraid,1);
ShowPlayerDialog(extraid,Dialog_Login,DIALOG_STYLE_INPUT,"{FFFFFF}SmR: {308EAD}Einloggen","{FFFFFF}Sie müssen von unserem System Identifiziert werden.\nGeben Sie dafür Ihr Passwort unten in das Feld ein.\n\nKlicken Sie anschließend auf Einloggen, damit Ihre Daten kontrolliert werden können.","Einloggen","Abbrechen");
}
return 1;
}
}
else
{
GetPlayerName(extraid,Spieler[extraid][pName],MAX_PLAYER_NAME);
mysql_format(DBHandle, query, sizeof(query),"SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'",Spieler[extraid][pName]);
mysql_function_query(DBHandle, query, true, "LoadPlayerDataSequence","dd",extraid,1);
return 1;
}
}
}
return 1;
} -
Alles anzeigen
stock EnterToLog(const log[], const logtext[])
{
new filestring[512];
format(filestring, sizeof filestring, "logs/%s.txt", log);
new File:file = fopen(filestring, io_append);
fwrite(file, logtext);
fclose(file);
return 1;
}Server Crased wegen dem System
Mach das so
stock Log(log[],text[])
{
new string[1000],File:hFile;
if(fexist(log))
{
hFile = fopen(log,io_append);
}
else hFile = fopen(log,io_write);
gettime(stunde,minute,sekunde);
getdate(jahr,monat,tag);
format(string,sizeof(string),"%02d/%02d/%04d-%02d:%02d:%02d | %s\r\n",tag,monat,jahr,stunde,minute,sekunde,text);
fwrite(hFile,string);
fclose(hFile);
return 1;
} -
Das mit dem Login klappt nun Perfekt, Danke dafür.
Zwecks des Dialogs:
Was sagt der Log? Wird da richtig ausgelesen?Und die Log sagt folgendes ( Ist alles Richtig
[18:03:19] [DEBUG] Calling callback "OnQueryFinish"..
[18:03:19] [DEBUG] cache_get_data - connection: 1
[18:03:19] [DEBUG] cache_get_field_content - row: 0, field_name: "Grund", connection: 1, max_len: 126
[18:03:19] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "Grund", data: "test#"
[18:03:19] [DEBUG] cache_get_field_content - row: 0, field_name: "Admin", connection: 1, max_len: 24
[18:03:19] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "Admin", data: "Eddy_Mind"
[18:03:19] [DEBUG] cache_get_field_content - row: 0, field_name: "Zeit", connection: 1, max_len: 25
[18:03:19] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "Zeit", data: "1419872638"
[18:03:19] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called -
Das mit dem TBan ist schon richtig, das ist der Wert des Timestamp + 120 Sekunden müsst dann deine Zeit sein, kannst du hier überprüfen http://www.unixtimestamp.de/ einfach dort deine 14.... eingeben, und dann wird dir unten alles angezeigt.
-
Doch. Das steht ja jetzt hier, im else Teil von "if(rows)": OnQueryFinish
Deshalb solltest du das doch dort einfügen.Es wird erst geprüft ob der Spieler gebannt ist (if rows). Wenn nein (else), dann darf er sich einloggen bzw. registrieren.
Okay, hatte einen fehler drinne
.... jetzt ist das Problem, dass wenn die Zeit abgelaufen ist, das ich 2 mal auf den Server Connecten muss, damit der Login Dialog kommt. Also ( Ich will mich Einloggen => Dialog_Banned kommt => Zeit ist abgelaufen ich möchte Connecten, ich sehe nur die Camera, wie sie sich bewegt kommt kein Dialog => Ich reconnecte, der Dialog Login erscheint. Und mein zweiter Fehler ist, das in meinem Dialog_Gebannt die Werte nicht eingetragen werden.
-
Alles anzeigen
OnPlayerConnect zu:
public OnPlayerConnect(playerid)
{
CheckPlayerBanned(playerid);
return 1;
}Aber dann kann ich mich nicht mehr Registrieren sowie Einloggen, weil er dann nix mehr Überprüft

-
Die Zeit in der Datenbank sieht doch richtig aus, oder was ist daran falsch? Es ist der Unix Timestamp, plus die gebannte Zeit.
Ne leider nicht, wenn ich mich für 2 Minuten Banne, dann steht dort 1419774815.Ich hatte das so, aber es hat nix gebracht.
Spoiler anzeigen public OnPlayerConnect(playerid)
{
CheckPlayerBanned(playerid);
new query[256];
GetPlayerName(playerid,Spieler[extraid][pName],MAX_PLAYER_NAME);
mysql_format(DBHandle, query, sizeof(query),"SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'",Spieler[extraid][pName]);
mysql_function_query(DBHandle, query, true, "LoadPlayerDataSequence","dd",extraid,1);
return 1;
}Spoiler anzeigen public OnQueryFinish(index[],sqlresultid,extraid,SconnectionHandle)
{
new rows,fields;
switch(sqlresultid)
{
case MySQL_Check_Ban:
{
new zeit,query[126],Admin[24],Grund[126],result[25];
cache_get_data(rows,fields);
if(rows)
{
cache_get_field_content(0,"Grund",Grund);
cache_get_field_content(0,"Admin",Admin);
cache_get_field_content(0,"Zeit",result);
zeit = strval(result);
if(zeit == -1)
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nGrund:%s\nTeammitglied:%s",Spielername(extraid),Grund,Admin);
ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
TogglePlayerControllable(extraid,0);
KickUser(extraid,"System", "Spieler wurde Gebannt!");
return 1;
}
else
{
if(gettime() < zeit)
{
new timebanned = zeit-gettime();
SendClientMessage(extraid,0xEE8613FF,"Verbindung unterbrochen...");
if(floatround(timebanned/86400) > 0)//Tage
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/86400,Grund,Admin);
}
else if(floatround(timebanned/3600) > 0)//Stunden
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/3600,Grund,Admin);
}
else if(floatround(timebanned/60) > 0 || floatround(timebanned%60) > 0)//Minuten,Sekunden
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/60,timebanned%60,Grund,Admin);
}
ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
TogglePlayerControllable(extraid,0);
KickUser(extraid,"System", "Spieler wurde Gebannt!");
}
else
{
format(query,sizeof(query),"DELETE FROM `Banned` WHERE IP ='%s' OR Name = '%s'",SpielerIP(extraid),Spielername(extraid));
mysql_function_query(DBHandle,query,false,"","");
}
return 1;
}
}
else
{
new query[256];
GetPlayerName(playerid,Spieler[extraid][pName],MAX_PLAYER_NAME);
mysql_format(DBHandle, query, sizeof(query),"SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'",Spieler[extraid][pName]);
mysql_function_query(DBHandle, query, true, "LoadPlayerDataSequence","dd",extraid,1);
return 1;
}
}
}
return 1;
} -
Bringt nichts, immernoch das selbe Problem
bin zwar laut Datenbank gebannt ( Wo auch die Zeit nicht stimmt 1. Post )Werde gekickt, aber kann mich immernoch Einloggen, dort sollte eigentlich dieser Dialog kommen
Spoiler anzeigen format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nGrund:%s\nTeammitglied:%s",Spielername(extraid),Grund,Admin);
ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
TogglePlayerControllable(extraid,0);
KickUser(extraid,"System", "Spieler wurde Gebannt!");
return 1;
-
Ich glaube du hast das Falsch verstanden, mir wird ( Obwohl ich Time Banned bin ) der Login Dialog angezeigt. Eigentlich sollte dort der Dialog_Gebannt kommen, und ich soll vom Server gekickt werden.
Ich werde zwar vom Server gekickt, aber kann mich immernoch einloggen. Die MySQL und Server Logs:mysql_log:
Spoiler anzeigen [18:15:49] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[18:15:49] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[18:15:49] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:15:49] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:15:49] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:15:49] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[18:15:49] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[18:15:49] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[18:15:49] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 6.742 milliseconds
[18:15:49] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:15:49] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:15:49] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 50.179 milliseconds
[18:15:49] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:16:23] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `Banned` WHERE IP = '127.0.0.1' OR Name= 'Eddy_Min", callback: "OnQueryFinish", format: "siii"
[18:16:23] [DEBUG] mysql_format - connection: 1, len: 184, format: "SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'"
[18:16:23] [DEBUG] CMySQLQuery::Execute[OnQueryFinish] - starting query execution
[18:16:23] [DEBUG] CMySQLQuery::Execute[OnQueryFinish] - query was successfully executed within 1.687 milliseconds
[18:16:23] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[18:16:23] [DEBUG] mysql_tquery - connection: 1, query: "SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = 'Eddy", callback: "LoadPlayerDataSequence", format: "dd"
[18:16:23] [DEBUG] Calling callback "OnQueryFinish"..
[18:16:23] [DEBUG] cache_get_data - connection: 1
[18:16:23] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[18:16:23] [DEBUG] CMySQLQuery::Execute[LoadPlayerDataSequence] - starting query execution
[18:16:23] [DEBUG] CMySQLQuery::Execute[LoadPlayerDataSequence] - query was successfully executed within 3.680 milliseconds
[18:16:23] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[18:16:23] [DEBUG] Calling callback "LoadPlayerDataSequence"..
[18:16:23] [DEBUG] cache_get_field_content_int - row: 0, field_name: "count", connection: 1
[18:16:23] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "count", data: "0"
[18:16:23] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[18:16:33] [DEBUG] mysql_format - connection: 1, len: 974, format: "INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeburtsdatum`, `pGeschlecht`, `pAdminlevel`, `pBanned`, `pBargeld`, `p..."
[18:16:33] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeburt", callback: "(null)", format: "(null)"
[18:16:33] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:16:33] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 1.13 milliseconds
[18:16:33] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:16:37] [DEBUG] mysql_format - connection: 1, len: 974, format: "UPDATE `Accounts` SET `pAlter` = '%d', `pAdminlevel` = '%d', `pGeburtsdatum` ='%s',`pGeschlecht` ='%d', `pBanned` = '%d', `pBarg..."
[18:16:37] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '0', `pGe", callback: "(null)", format: "(null)"
[18:16:37] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:16:37] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 1.978 milliseconds
[18:16:37] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:16:49] [DEBUG] mysql_format - connection: 1, len: 256, format: "INSERT INTO `Banned` (`Name`,`Grund`,`Admin`,`IP`,`Zeit`,`Datum`,`Uhrzeit`) VALUES ('%s','%s','%s','%s','%d','%04d-%02d-%02d','%..."
[18:16:49] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO `Banned` (`Name`,`Grund`,`Admin`,`IP`,`Zeit`,`Datum`", callback: "(null)", format: "(null)"
[18:16:49] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:16:49] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 16.602 milliseconds
[18:16:49] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:16:49] [DEBUG] mysql_format - connection: 1, len: 974, format: "UPDATE `Accounts` SET `pAlter` = '%d', `pAdminlevel` = '%d', `pGeburtsdatum` ='%s',`pGeschlecht` ='%d', `pBanned` = '%d', `pBarg..."
[18:16:49] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '0', `pGe", callback: "(null)", format: "(null)"
[18:16:49] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:16:49] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.846 milliseconds
[18:16:49] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:17:15] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[18:17:15] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:17:15] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:17:15] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[18:17:15] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[18:17:15] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:17:15] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.232 milliseconds
[18:17:15] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:17:15] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:17:15] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.189 milliseconds
[18:17:15] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:17:35] [DEBUG] mysql_tquery - connection: 1, query: "SELECT * FROM `Banned` WHERE IP = '127.0.0.1' OR Name= 'Eddy_Min", callback: "OnQueryFinish", format: "siii"
[18:17:35] [DEBUG] mysql_format - connection: 1, len: 184, format: "SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'"
[18:17:35] [DEBUG] mysql_tquery - connection: 1, query: "SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = 'Eddy", callback: "LoadPlayerDataSequence", format: "dd"
[18:17:35] [DEBUG] CMySQLQuery::Execute[OnQueryFinish] - starting query execution
[18:17:35] [DEBUG] CMySQLQuery::Execute[OnQueryFinish] - query was successfully executed within 0.986 milliseconds
[18:17:35] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[18:17:35] [DEBUG] CMySQLQuery::Execute[LoadPlayerDataSequence] - starting query execution
[18:17:35] [DEBUG] CMySQLQuery::Execute[LoadPlayerDataSequence] - query was successfully executed within 0.698 milliseconds
[18:17:35] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[18:17:35] [DEBUG] Calling callback "OnQueryFinish"..
[18:17:35] [DEBUG] cache_get_data - connection: 1
[18:17:35] [DEBUG] cache_get_field_content - row: 0, field_name: "Grund", connection: 1, max_len: 126
[18:17:35] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "Grund", data: "Test"
[18:17:35] [DEBUG] cache_get_field_content - row: 0, field_name: "Admin", connection: 1, max_len: 24
[18:17:35] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "Admin", data: "Eddy_Mind"
[18:17:35] [DEBUG] cache_get_field_content - row: 0, field_name: "Zeit", connection: 1, max_len: 25
[18:17:35] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "Zeit", data: "1419787189"
[18:17:35] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[18:17:35] [DEBUG] Calling callback "LoadPlayerDataSequence"..
[18:17:35] [DEBUG] cache_get_field_content_int - row: 0, field_name: "count", connection: 1
[18:17:35] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "count", data: "1"
[18:17:35] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
server_log:
Spoiler anzeigen
----------
Loaded log file: "server_log.txt".
----------Spoiler anzeigen SA-MP Dedicated Server
----------------------
v0.3z, (C)2005-2014 SA-MP TeamSpoiler anzeigen [18:15:49] filterscripts = "" (string)
[18:15:49]
[18:15:49] Server Plugins
[18:15:49] --------------
[18:15:49] Loading plugin: mysql
[18:15:49] >> plugin.mysql: R39-2 successfully loaded.
[18:15:49] Loaded.
[18:15:49] Loading plugin: sscanf
[18:15:49]Spoiler anzeigen [18:15:49] ===============================Spoiler anzeigen [18:15:49] sscanf plugin loaded.Spoiler anzeigen [18:15:49] Version: 2.8.1Spoiler anzeigen [18:15:49] (c) 2012 Alex "Y_Less" ColeSpoiler anzeigen [18:15:49] ===============================Spoiler anzeigen [18:15:49] Loaded.
[18:15:49] Loaded 2 plugins.Spoiler anzeigen [18:15:49]
[18:15:49] Filterscripts
[18:15:49] ---------------
[18:15:49] Loaded 0 filterscripts.Spoiler anzeigen [18:15:49] San Miami Roleplay It's Possible. German RoleplaySpoiler anzeigen [18:15:49] --------------------------------
[18:15:49] Dieses Script [Version: It's Possible. German Roleplay] steht unter Datenschutz und darf
[18:15:49] nur von dem jenigen Besitzer benutzt/verwendet werden.
[18:15:49] Falls diese Richtlinien nicht eingehalten werden,werden
[18:15:49] Rechtlicheschritte gegen sie eingeleitet. Script von Eddy.
[18:15:49] Copyright by sMR
[18:15:49] --------------------------------
[18:15:49] San Miami Roleplay It's Possible. German RoleplaySpoiler anzeigen [18:15:49] Number of vehicle models: 0
[18:16:22] Incoming connection: 127.0.0.1:60958
[18:16:23] [join] Eddy_Mind has joined the server (0:127.0.0.1)
[18:16:50] [part] Eddy_Mind has left the server (0:2)Spoiler anzeigen ----------
Loaded log file: "server_log.txt".
----------Spoiler anzeigen SA-MP Dedicated Server
----------------------
v0.3z, (C)2005-2014 SA-MP TeamSpoiler anzeigen [18:17:15] filterscripts = "" (string)
[18:17:15]
[18:17:15] Server Plugins
[18:17:15] --------------
[18:17:15] Loading plugin: mysql
[18:17:15] >> plugin.mysql: R39-2 successfully loaded.
[18:17:15] Loaded.
[18:17:15] Loading plugin: sscanf
[18:17:15]Spoiler anzeigen [18:17:15] ===============================Spoiler anzeigen [18:17:15] sscanf plugin loaded.Spoiler anzeigen [18:17:15] Version: 2.8.1Spoiler anzeigen [18:17:15] (c) 2012 Alex "Y_Less" ColeSpoiler anzeigen [18:17:15] ===============================Spoiler anzeigen [18:17:15] Loaded.
[18:17:15] Loaded 2 plugins.Spoiler anzeigen [18:17:15]
[18:17:15] Filterscripts
[18:17:15] ---------------
[18:17:15] Loaded 0 filterscripts.Spoiler anzeigen [18:17:15] San Miami Roleplay It's Possible. German RoleplaySpoiler anzeigen [18:17:15] --------------------------------
[18:17:15] Dieses Script [Version: It's Possible. German Roleplay] steht unter Datenschutz und darf
[18:17:15] nur von dem jenigen Besitzer benutzt/verwendet werden.
[18:17:15] Falls diese Richtlinien nicht eingehalten werden,werden
[18:17:15] Rechtlicheschritte gegen sie eingeleitet. Script von Eddy.
[18:17:15] Copyright by sMR
[18:17:15] --------------------------------
[18:17:15] San Miami Roleplay It's Possible. German RoleplaySpoiler anzeigen [18:17:15] Number of vehicle models: 0
[18:17:34] Incoming connection: 127.0.0.1:60959
[18:17:35] [join] Eddy_Mind has joined the server (0:127.0.0.1)
[18:17:35] [part] Eddy_Mind has left the server (0:2)
-
Guten Morgen,
ich habe ein Problem mit einem Time Ban System. Wenn beispielsweise eingebe, das die Person 2 Stunden gebannt werden soll, dann steht in der Tabelle irgendeine lange Zahl ( zbs: 1419774815 )
Wenn ich dann noch auf den Server gehe, soll man eigentlich ein Dialog bekommen, dieser wird mir aber leider nicht angezeigt. Mir wird stattdessen der Dialog für das Einloggen angezeigt.
Jeffry: Bitteschön ;DSo sieht meine Tabelle aus ( alles richtig, bis auf die Ban Zeit
http://i.epvpimg.com/HWQZg.pngUnd hier der komplette Code, welcher zum Ban System gehört.
Erstellung der Tabelle:
Spoiler anzeigen mysql_function_query(DBHandle,"CREATE TABLE IF NOT EXISTS `Banned` (`IP` varchar(16) NOT NULL, `Name` varchar(24) NOT NULL, `Grund` varchar(126) NOT NULL, `Admin` varchar(24) NOT NULL, `Zeit` int(25) NOT NULL, `Datum` date NOT NULL, `Uhrzeit` time NOT NULL, PRIMARY KEY (`IP`))",false,"","");Funktion um denn Spieler zu Bannen:
Spoiler anzeigen [pwn]stock BannPlayer(playerid,admin[],reason[],zeit = -1)
{
new query[256];
gettime(stunde,minute,sekunde);
getdate(jahr,monat,tag);
mysql_format(DBHandle, query, sizeof(query),"INSERT INTO `Banned` (`Name`,`Grund`,`Admin`,`IP`,`Zeit`,`Datum`,`Uhrzeit`) VALUES ('%s','%s','%s','%s','%d','d-d-d','d:d:d')",Spieler[playerid][pName],reason,Spielername(playerid),SpielerIP(playerid),zeit,jahr,monat,tag,stunde,minute,sekunde);
mysql_function_query(DBHandle,query,false,"","");
format(query,sizeof(query),"Admin: %s * Zielperson: %s * Grund: %s * Zeit: %i",admin,Spieler[playerid][pName],reason,zeit);
Log("Bannedsqllog",query);
SavePlayerData(playerid);
TogglePlayerControllable(playerid,0);
SetCameraBehindPlayer(playerid);
KickUser(playerid,"System", "Spieler wurde Gebannt!");
return 1;
}[/pwn]Funktion um zu schauen ob der Spieler Gebannt ist:
Spoiler anzeigen stock CheckPlayerBanned(playerid)
{
new query[256];
format(query,sizeof(query),"SELECT * FROM `Banned` WHERE IP = '%s' OR Name= '%s'",SpielerIP(playerid),Spielername(playerid));
mysql_function_query(DBHandle,query,true,"OnQueryFinish","siii",query,MySQL_Check_Ban,playerid,DBHandle);
return 1;
}TimeBan Befehl:
Spoiler anzeigen ocmd:tban(playerid,params[])
{
new pID,reason[24],string[188],cmd[15],zeitdauer,zeit;
if(!IsPlayerAnAdmin(playerid,0)) return SendClientMessage(playerid,0xFF3C3CFF,"AdmCmd: Sie besitzen nicht die n�tigen Rechte um diesen Befehl zu nutzen!");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,0xEE8613FF,"Der angegebene Spieler ist nicht eingeloggt!");
if(sscanf(params,"uds[15]s[24]",pID,zeit,cmd,reason)) return SendClientMessage(playerid,0x00D2D2FF,"Info: /tban [Spieler ID] [Zeit] [Minuten/Stunden/Tage] [Grund]");
if(strlen(reason) > 24)return SendClientMessage(playerid,0x0D2D2FF,"Info: [Grund darf maximal 24 Zeichen beinhalten]");
if(strcmp(cmd,"Wochen",true) == 0)
{
zeitdauer = gettime()+(60*60*24*7*zeit);//Wochen
format(string,sizeof(string),"{FF1111}Ban Info: {E5E5E5}Der Admin %s (ID:%i) hat den Spieler %s (ID:%i) für %i Woche/n gebannt.- {FF7979}Grund: {E5E5E5}%s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,zeit,reason);
SendClientMessageToAll(0xE5E5E5FF,string);
format(string,sizeof(string),"%s du wurdest vom Server gebannt.\nFalls du zu unrecht gebannt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\nDauer: %i Woche/n\nGrund: %s\nAdmin: %s",Spieler[pID][pName],zeit,reason,Spieler[playerid][pName]);
ShowPlayerDialog(pID,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Bann",string,"Verlassen","");
BannPlayer(pID,Spieler[playerid][pName],reason,zeitdauer);
return 1;
}
if(strcmp(cmd,"Tage",true) == 0)
{
zeitdauer = gettime()+(60*60*24*zeit);//Tage
format(string,sizeof(string),"{FF1111}Ban Info: {E5E5E5}Der Admin %s (ID:%i) hat den Spieler %s (ID:%i) für %i Tag/e gebannt.- {FF7979}Grund: {E5E5E5}%s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,zeit,reason);
SendClientMessageToAll(0xE5E5E5FF,string);
format(string,sizeof(string),"%s du wurdest vom Server gebannt.\nFalls du zu unrecht gebannt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\nDauer: %i Tag/e\nGrund: %s\nAdmin: %s\n\n",Spieler[pID][pName],zeit,reason,Spieler[playerid][pName]);
ShowPlayerDialog(pID,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Bann",string,"Verlassen","");
BannPlayer(pID,Spieler[playerid][pName],reason,zeitdauer);
return 1;
}
if(strcmp(cmd,"Stunden",true) == 0)
{
zeitdauer = gettime()+(60*60*zeit);//Stunden
format(string,sizeof(string),"{FF1111}Ban Info: {E5E5E5}Der Admin %s (ID:%i) hat den Spieler %s (ID:%i) für %i Stunde/n gebannt.- {FF7979}Grund: {E5E5E5}%s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,zeit,reason);
SendClientMessageToAll(0xE5E5E5FF,string);
format(string,sizeof(string),"%s du wurdest vom Server gebannt.\nFalls du zu unrecht gebannt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\nDauer: %i Stunde/n\nGrund: %s\nAdmin: %s",Spieler[pID][pName],zeit,reason,Spieler[playerid][pName]);
ShowPlayerDialog(pID,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Bann",string,"Verlassen","");
BannPlayer(pID,Spieler[playerid][pName],reason,zeitdauer);
return 1;
}
if(strcmp(cmd,"Minuten",true) == 0)
{
zeitdauer = gettime()+(60*zeit);//Minuten
format(string,sizeof(string),"{FF1111}Ban Info: {E5E5E5}Der Admin %s (ID:%i) hat den Spieler %s (ID:%i) für %i Minute/n gebannt.- {FF7979}Grund: {E5E5E5}%s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,zeit,reason);
SendClientMessageToAll(0xE5E5E5FF,string);
format(string,sizeof(string),"%s du wurdest vom Server gebannt.\nFalls du zu unrecht gebannt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\nDauer: %i Minute/n\nGrund: %s\nAdmin: %s",Spieler[pID][pName],zeit,reason,Spieler[playerid][pName]);
ShowPlayerDialog(pID,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Bann",string,"Verlassen","");
BannPlayer(pID,Spieler[playerid][pName],reason,zeitdauer);
return 1;
}
return SendClientMessage(playerid,0x00D2D2FF,"Info: /tban [playerid/Name][Zeit][Minuten/Stunden/Tage/Wochen][Grund]");
}OnQueryFinish:
Spoiler anzeigen public OnQueryFinish(index[],sqlresultid,extraid,SconnectionHandle)
{
new rows,fields;
switch(sqlresultid)
{
case MySQL_Check_Ban:
{
new zeit,query[126],Admin[24],Grund[126],result[25];
cache_get_data(rows,fields);
if(rows)
{
cache_get_field_content(0,"Grund",Grund);
cache_get_field_content(0,"Admin",Admin);
cache_get_field_content(0,"Zeit",result);
zeit = strval(result);
if(zeit == -1)
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nGrund:%s\nTeammitglied:%s",Spielername(extraid),Grund,Admin);
ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
TogglePlayerControllable(extraid,0);
KickUser(extraid,"System", "Spieler wurde Gebannt!");
return 1;
}
else
{
if(gettime() < zeit)
{
new timebanned = zeit-gettime();
SendClientMessage(extraid,0xEE8613FF,"Verbindung unterbrochen...");
if(floatround(timebanned/86400) > 0)//Tage
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/86400,Grund,Admin);
}
else if(floatround(timebanned/3600) > 0)//Stunden
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/3600,Grund,Admin);
}
else if(floatround(timebanned/60) > 0 || floatround(timebanned%60) > 0)//Minuten,Sekunden
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/60,timebanned%60,Grund,Admin);
}
ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
TogglePlayerControllable(extraid,0);
KickUser(extraid,"System", "Spieler wurde Gebannt!");
}
else
{
format(query,sizeof(query),"DELETE FROM `Banned` WHERE IP ='%s' OR Name = '%s'",SpielerIP(extraid),Spielername(extraid));
mysql_function_query(DBHandle,query,false,"","");
}
return 1;
}
}
}
}
return 1;
} -
Guten Morgen,
ich habe ein Problem mit einem Time Ban System. Wenn beispielsweise eingebe, das die Person 2 Stunden gebannt werden soll, dann steht in der Tabelle irgendeine lange Zahl ( zbs: 1419774815 )
Wenn ich dann noch auf den Server gehe, soll man eigentlich ein Dialog bekommen, dieser wird mir aber leider nicht angezeigt. Mir wird stattdessen der Dialog für das Einloggen angezeigt.So sieht meine Tabelle aus ( alles richtig, bis auf die Ban Zeit
http://i.epvpimg.com/HWQZg.pngUnd hier der komplette Code, welcher zum Ban System gehört.
Erstellung der Tabelle:
Spoiler anzeigen mysql_function_query(DBHandle,"CREATE TABLE IF NOT EXISTS `Banned` (`IP` varchar(16) NOT NULL, `Name` varchar(24) NOT NULL, `Grund` varchar(126) NOT NULL, `Admin` varchar(24) NOT NULL, `Zeit` int(25) NOT NULL, `Datum` date NOT NULL, `Uhrzeit` time NOT NULL, PRIMARY KEY (`IP`))",false,"","");Funktion um denn Spieler zu Bannen:
Spoiler anzeigen [pwn]stock BannPlayer(playerid,admin[],reason[],zeit = -1)
{
new query[256];
gettime(stunde,minute,sekunde);
getdate(jahr,monat,tag);
mysql_format(DBHandle, query, sizeof(query),"INSERT INTO `Banned` (`Name`,`Grund`,`Admin`,`IP`,`Zeit`,`Datum`,`Uhrzeit`) VALUES ('%s','%s','%s','%s','%d','d-d-d','d:d:d')",Spieler[playerid][pName],reason,Spielername(playerid),SpielerIP(playerid),zeit,jahr,monat,tag,stunde,minute,sekunde);
mysql_function_query(DBHandle,query,false,"","");
format(query,sizeof(query),"Admin: %s * Zielperson: %s * Grund: %s * Zeit: %i",admin,Spieler[playerid][pName],reason,zeit);
Log("Bannedsqllog",query);
SavePlayerData(playerid);
TogglePlayerControllable(playerid,0);
SetCameraBehindPlayer(playerid);
KickUser(playerid,"System", "Spieler wurde Gebannt!");
return 1;
}[/pwn]Funktion um zu schauen ob der Spieler Gebannt ist:
Spoiler anzeigen stock CheckPlayerBanned(playerid)
{
new query[256];
format(query,sizeof(query),"SELECT * FROM `Banned` WHERE IP = '%s' OR Name= '%s'",SpielerIP(playerid),Spielername(playerid));
mysql_function_query(DBHandle,query,true,"OnQueryFinish","siii",query,MySQL_Check_Ban,playerid,DBHandle);
return 1;
}TimeBan Befehl:
Spoiler anzeigen ocmd:tban(playerid,params[])
{
new pID,reason[24],string[188],cmd[15],zeitdauer,zeit;
if(!IsPlayerAnAdmin(playerid,0)) return SendClientMessage(playerid,0xFF3C3CFF,"AdmCmd: Sie besitzen nicht die n�tigen Rechte um diesen Befehl zu nutzen!");
if(!IsPlayerConnected(pID))return SendClientMessage(playerid,0xEE8613FF,"Der angegebene Spieler ist nicht eingeloggt!");
if(sscanf(params,"uds[15]s[24]",pID,zeit,cmd,reason)) return SendClientMessage(playerid,0x00D2D2FF,"Info: /tban [Spieler ID] [Zeit] [Minuten/Stunden/Tage] [Grund]");
if(strlen(reason) > 24)return SendClientMessage(playerid,0x0D2D2FF,"Info: [Grund darf maximal 24 Zeichen beinhalten]");
if(strcmp(cmd,"Wochen",true) == 0)
{
zeitdauer = gettime()+(60*60*24*7*zeit);//Wochen
format(string,sizeof(string),"{FF1111}Ban Info: {E5E5E5}Der Admin %s (ID:%i) hat den Spieler %s (ID:%i) für %i Woche/n gebannt.- {FF7979}Grund: {E5E5E5}%s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,zeit,reason);
SendClientMessageToAll(0xE5E5E5FF,string);
format(string,sizeof(string),"%s du wurdest vom Server gebannt.\nFalls du zu unrecht gebannt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\nDauer: %i Woche/n\nGrund: %s\nAdmin: %s",Spieler[pID][pName],zeit,reason,Spieler[playerid][pName]);
ShowPlayerDialog(pID,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Bann",string,"Verlassen","");
BannPlayer(pID,Spieler[playerid][pName],reason,zeitdauer);
return 1;
}
if(strcmp(cmd,"Tage",true) == 0)
{
zeitdauer = gettime()+(60*60*24*zeit);//Tage
format(string,sizeof(string),"{FF1111}Ban Info: {E5E5E5}Der Admin %s (ID:%i) hat den Spieler %s (ID:%i) für %i Tag/e gebannt.- {FF7979}Grund: {E5E5E5}%s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,zeit,reason);
SendClientMessageToAll(0xE5E5E5FF,string);
format(string,sizeof(string),"%s du wurdest vom Server gebannt.\nFalls du zu unrecht gebannt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\nDauer: %i Tag/e\nGrund: %s\nAdmin: %s\n\n",Spieler[pID][pName],zeit,reason,Spieler[playerid][pName]);
ShowPlayerDialog(pID,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Bann",string,"Verlassen","");
BannPlayer(pID,Spieler[playerid][pName],reason,zeitdauer);
return 1;
}
if(strcmp(cmd,"Stunden",true) == 0)
{
zeitdauer = gettime()+(60*60*zeit);//Stunden
format(string,sizeof(string),"{FF1111}Ban Info: {E5E5E5}Der Admin %s (ID:%i) hat den Spieler %s (ID:%i) für %i Stunde/n gebannt.- {FF7979}Grund: {E5E5E5}%s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,zeit,reason);
SendClientMessageToAll(0xE5E5E5FF,string);
format(string,sizeof(string),"%s du wurdest vom Server gebannt.\nFalls du zu unrecht gebannt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\nDauer: %i Stunde/n\nGrund: %s\nAdmin: %s",Spieler[pID][pName],zeit,reason,Spieler[playerid][pName]);
ShowPlayerDialog(pID,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Bann",string,"Verlassen","");
BannPlayer(pID,Spieler[playerid][pName],reason,zeitdauer);
return 1;
}
if(strcmp(cmd,"Minuten",true) == 0)
{
zeitdauer = gettime()+(60*zeit);//Minuten
format(string,sizeof(string),"{FF1111}Ban Info: {E5E5E5}Der Admin %s (ID:%i) hat den Spieler %s (ID:%i) für %i Minute/n gebannt.- {FF7979}Grund: {E5E5E5}%s",Spieler[playerid][pName],playerid,Spieler[pID][pName],pID,zeit,reason);
SendClientMessageToAll(0xE5E5E5FF,string);
format(string,sizeof(string),"%s du wurdest vom Server gebannt.\nFalls du zu unrecht gebannt wurdest,\nmelde dich im Teamspeak³ oder schreibe uns im Forum.\n\nDauer: %i Minute/n\nGrund: %s\nAdmin: %s",Spieler[pID][pName],zeit,reason,Spieler[playerid][pName]);
ShowPlayerDialog(pID,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,""#SERVERFARBE""#SERVERNAME"{FFFFFF}: Bann",string,"Verlassen","");
BannPlayer(pID,Spieler[playerid][pName],reason,zeitdauer);
return 1;
}
return SendClientMessage(playerid,0x00D2D2FF,"Info: /tban [playerid/Name][Zeit][Minuten/Stunden/Tage/Wochen][Grund]");
}OnQueryFinish:
Spoiler anzeigen public OnQueryFinish(index[],sqlresultid,extraid,SconnectionHandle)
{
new rows,fields;
switch(sqlresultid)
{
case MySQL_Check_Ban:
{
new zeit,query[126],Admin[24],Grund[126],result[25];
cache_get_data(rows,fields);
if(rows)
{
cache_get_field_content(0,"Grund",Grund);
cache_get_field_content(0,"Admin",Admin);
cache_get_field_content(0,"Zeit",result);
zeit = strval(result);
if(zeit == -1)
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nGrund:%s\nTeammitglied:%s",Spielername(extraid),Grund,Admin);
ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
TogglePlayerControllable(extraid,0);
KickUser(extraid,"System", "Spieler wurde Gebannt!");
return 1;
}
else
{
if(gettime() < zeit)
{
new timebanned = zeit-gettime();
SendClientMessage(extraid,0xEE8613FF,"Verbindung unterbrochen...");
if(floatround(timebanned/86400) > 0)//Tage
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/86400,Grund,Admin);
}
else if(floatround(timebanned/3600) > 0)//Stunden
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/3600,Grund,Admin);
}
else if(floatround(timebanned/60) > 0 || floatround(timebanned%60) > 0)//Minuten,Sekunden
{
format(query,sizeof(query),"%s, du wurdest vom Server Gesperrt.\nFalls du zu unrecht Gesperrt wurdest,\nmelde dich bei einem Teammitglied im Forum, oder schreibe uns im Teamspeak³ an!\n\nDauer: %i\nGrund:%s\nTeammitglied:%s",Spielername(extraid),timebanned/60,timebanned%60,Grund,Admin);
}
ShowPlayerDialog(extraid,Dialog_Gebannt,DIALOG_STYLE_MSGBOX,"{FFFFFF}SmR: {308EAD}Gesperrt",query,"Verlassen","");
TogglePlayerControllable(extraid,0);
KickUser(extraid,"System", "Spieler wurde Gebannt!");
}
else
{
format(query,sizeof(query),"DELETE FROM `Banned` WHERE IP ='%s' OR Name = '%s'",SpielerIP(extraid),Spielername(extraid));
mysql_function_query(DBHandle,query,false,"","");
}
return 1;
}
}
}
}
return 1;
} -
Wäre es möglich, das du das "done" beim Compilieren raus nimmst? Das ist nervig
besser wäre da ein Ton. -
Naja, soviel dazu XD
Q: By me -
Wie kann ich die SetObjectMaterialText löschen?
Ich habe ein Supmobil, auf diesem habe ich 2 Texte stehen. Wenn ich das Supmobil lösche, bleiben die
Texte trotzdem stehen. Wie kann ich diese nun löschen?[pwn]
ocmd:supmobil(playerid,params[])
{
if(!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,0xFF3C3CFF,"AdmCmd: Sie besitzen nicht die nötigen Rechte um diesen Befehl zu nutzen!");
if(HatSupmobil[playerid] == 1) return SendClientMessage(playerid,0x00D2D2FF,"Du hast bereits ein Supporter Fahrzeug erstellt! Lösche es bevor du dir ein neues erstellst.");
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid,X,Y,Z);
SupMobil[playerid] = CreateVehicle(560,X,Y,Z,3,166,166,-1);
new fahrer = CreateObject(19483,X,Y,Z,0,0,0,300.0);
new beifahrer = CreateObject(19483,X,Y,Z,0,0,0,300.0);
AttachObjectToVehicle(fahrer,SupMobil[playerid],-1.06, 0.0, 0.0, 0.0, 0.0, 180.0);
SetObjectMaterialText(fahrer,"Supporter",0,90,"Arial", 28, 0, 0xFFFF8200, 0,1);
AttachObjectToVehicle(beifahrer,SupMobil[playerid],1.06, 0.0, 0.0, 0.0, 0.0, 0.0);
SetObjectMaterialText(beifahrer,"Supporter",0,90,"Arial", 28, 0, 0xFFFF8200, 0,1);
SetVehicleNumberPlate(SupMobil[playerid],"Supporter");
PutPlayerInVehicle(playerid, SupMobil[playerid], 0);
Support3DText[playerid] = Create3DTextLabel("Supporter im Dienst",0xEE8613FF,0.0,0.0,0.0,50.0,0,0);
Attach3DTextLabelToVehicle(Support3DText[playerid],SupMobil[playerid],0.0,0.0,1.0);
HatSupmobil[playerid] = 1;
SendClientMessage(playerid,0xFFFFFF,"{DB4447}Info: {F0F0F0}Du hast ein Supporter Fahrzeug erstellt! Benutze {2A98D4}/delscar{F0F0F0} um das Fahrzeug zu Entfernen.");
return 1;
}ocmd:delscar(playerid,params[])
{
if(!IsPlayerAnAdmin(playerid,1)) return SendClientMessage(playerid,0xFF3C3CFF,"AdmCmd: Sie besitzen nicht die nötigen Rechte um diesen Befehl zu nutzen!");
if(HatSupmobil[playerid] == 0) return SendClientMessage(playerid,0x00D2D2FF,"Du bist nicht im Besitz eines Supporter Fahrzeugs!");
RemovePlayerFromVehicle(playerid);
DestroyVehicle(HatSupmobil[playerid]);
Delete3DTextLabel(Support3DText[playerid]);
HatSupmobil[playerid] = 0;
SendClientMessage(playerid,0x00D2D2FF,"Du hast dein Supporter Fahrzeug erfolgreich gelöscht!");
return 1;
}[/pwn]
-
Lieber Beavis
Zu Weinachten wünsche ich mir die Domain samp-mapping.de
Ich möchte damit eine kleine Seite erstellen, wo ich Tutorials zum Mapping mache, Maps Präsentiere.
Im großen gesagt, eine Mapping Seite
-
Frohe Weihnachten aus der GTA V Welt

-
Jeffry: Ich habe jetzt deinen Code benutzt, und der Spielt noch mehr verrückt O.o http://i.epvpimg.com/mDq6h.jpg
Ich habe diesen Dialog:
Spoiler anzeigen case Dialog_Geburtsdatum:
{
new second = gettime();
new tag,monat,jahr,stunde,minute;
getdate(jahr,monat,tag);
gettime(stunde,minute,second);
new DateInfo[3][20],string[200];
split(inputtext,DateInfo,'.');
if(response == 0) return 1;
else
{
if(strlen(inputtext) > 10)
{
ShowPlayerDialog(playerid,Dialog_Geburtsdatum,DIALOG_STYLE_INPUT,"{FFFFFF}SmR: {308EAD}Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
return 1;
}
new tmp[16];
format(tmp, sizeof(tmp), "d.d.%d", strval(DateInfo[0]),strval(DateInfo[1]),strval(DateInfo[2]));
printf("Datum: %s", tmp);
if(jahr - strval(DateInfo[2]) > 100 || strval(DateInfo[2]) < 1 || strval(DateInfo[2]) >= jahr)
{
printf("jahr: %d | eingabe: %d", jahr, strval(DateInfo[2]));
ShowPlayerDialog(playerid,Dialog_Geburtsdatum,DIALOG_STYLE_INPUT,"{FFFFFF}SmR: {308EAD}Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
return 1;
}
new check = jahr - strval(DateInfo[2]);
if(strval(DateInfo[1]) > monat)
{
check -= 1;
}
else if(strval(DateInfo[1]) == monat && strval(DateInfo[0]) > tag)
{
check -= 1;
}
if(check < 14 || check > 50)
{
printf("check = %d", check);
ShowPlayerDialog(playerid,Dialog_Geburtsdatum,DIALOG_STYLE_INPUT,"{FFFFFF}SmR: {308EAD}Geburtsdatum","Gebe nun bitte dein Alter ein. | Angabe bitte in TT.MM.JJJJ","Weiter","Verlassen");
return 1;
}
Spieler[playerid][pAlter] = check;
format(Spieler[playerid][pGeburtsdatum],11,inputtext);
format(string,sizeof(string),"Ok du bist also %i Jahre alt.",Spieler[playerid][pAlter]);
ShowPlayerDialog(playerid,Dialog_Geschlecht,DIALOG_STYLE_LIST,"{FFFFFF}SmR: {308EAD}Geschlecht","{FFFFFF}Männlich\nWeiblich","Weiter","Abbrechen");
return 1;
}
}Und so Speichert er alles:
Spoiler anzeigen stock SavePlayerData(playerid)
{
new query[950 + MAX_PLAYER_NAME],Tag,Monat,Jahr,Stunde,Minute,Sekunde;
getdate(Tag,Monat,Jahr);
gettime(Stunde,Minute,Sekunde);
format(query,sizeof(query),"d.d.%d - d:d:%d",Tag,Monat,Jahr,Stunde,Minute,Sekunde);
mysql_format(DBHandle, query, sizeof(query),"UPDATE `Accounts` SET `pAlter` = '%d', `pAdminlevel` = '%d', `pGeburtsdatum` ='%d',`pGeschlecht` ='%d', `pBanned` = '%d', `pBargeld` = '%d', `pKontoguthaben` = '%d', `pLastLogin` = '%s', `pLeben` = '%.1f' WHERE `pName` = '%e'",
Spieler[playerid][pAlter],Spieler[playerid][pAdminlevel],Spieler[playerid][pGeburtsdatum],Spieler[playerid][pGeschlecht],Spieler[playerid][pBanned],Spieler[playerid][pBargeld],Spieler[playerid][pKontoguthaben],query,Spieler[playerid][pLeben],Spieler[playerid][pName]);
mysql_tquery(DBHandle, query, "","");
printf(query,"%d");
return 1;
}Hier einmal die server_log:
Spoiler anzeigen
----------
Loaded log file: "server_log.txt".
----------Spoiler anzeigen SA-MP Dedicated Server
----------------------
v0.3z, (C)2005-2014 SA-MP TeamSpoiler anzeigen [18:34:19] filterscripts = "" (string)
[18:34:19]
[18:34:19] Server Plugins
[18:34:19] --------------
[18:34:19] Loading plugin: mysql
[18:34:19] >> plugin.mysql: R39-2 successfully loaded.
[18:34:19] Loaded.
[18:34:19] Loading plugin: sscanf
[18:34:19]Spoiler anzeigen [18:34:19] ===============================Spoiler anzeigen [18:34:19] sscanf plugin loaded.Spoiler anzeigen [18:34:19] Version: 2.8.1Spoiler anzeigen [18:34:19] (c) 2012 Alex "Y_Less" ColeSpoiler anzeigen [18:34:19] ===============================Spoiler anzeigen [18:34:19] Loaded.
[18:34:19] Loaded 2 plugins.Spoiler anzeigen [18:34:19]
[18:34:19] Filterscripts
[18:34:19] ---------------
[18:34:19] Loaded 0 filterscripts.Spoiler anzeigen [18:34:19] San Miami Roleplay It's Possible. German RoleplaySpoiler anzeigen [18:34:19] --------------------------------
[18:34:19] Dieses Script [Version: It's Possible. German Roleplay] steht unter Datenschutz und darf
[18:34:19] nur von dem jenigen Besitzer benutzt/verwendet werden.
[18:34:19] Falls diese Richtlinien nicht eingehalten werden,werden
[18:34:19] Rechtlicheschritte gegen sie eingeleitet. Script von Eddy.
[18:34:19] Copyright by sMR
[18:34:19] --------------------------------
[18:34:19] San Miami Roleplay It's Possible. German RoleplaySpoiler anzeigen [18:34:19] Number of vehicle models: 0
[18:34:37] Incoming connection: 127.0.0.1:52800
[18:34:38] [join] Eddy_Mind has joined the server (0:127.0.0.1)
[18:34:38] SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = 'Eddy_Mind'
[18:34:41] INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeburtsdatum`, `pGeschlecht`, `pAdminlevel`, `pBanned`, `pBargeld`, `pKontoguthaben`, `pLastLogin`, `pRegDatum`, `pVersuche`, `pLeben`) VALUES ('Eddy_Mind','test','0','0','0','0','0','0','0','2014.12.23 - 18:34:41','2014.12.23 - 18:34:41','0','100.0')
[18:34:43] Datum: 18.11.1994
[18:34:44] UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '46', `pGeburtsdatum` ='49',`pGeschlecht` ='1', `pBanned` = '49', `pBargeld` = '49', `pKontoguthaben` = '46', `pLastLogin` = '2014.12.23 - 18:34:44', `pLeben` = '0.0' WHERE `pName` = 'Eddy_Mind'
[18:36:18] UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '5', `pGeburtsdatum` ='49',`pGeschlecht` ='1', `pBanned` = '49', `pBargeld` = '49', `pKontoguthaben` = '46', `pLastLogin` = '2014.12.23 - 18:36:18', `pLeben` = '0.0' WHERE `pName` = 'Eddy_Mind'
[18:36:28] [part] Eddy_Mind has left the server (0:1)
Und die mysql_log:
Spoiler anzeigen [18:34:19] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[18:34:19] [DEBUG] CMySQLConnection::Connect - establishing connection to database...
[18:34:19] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:34:19] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:34:19] [DEBUG] CMySQLConnection::Connect - connection was successful
[18:34:19] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[18:34:19] [DEBUG] CMySQLConnection::Connect - auto-reconnect has been enabled
[18:34:19] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:34:19] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 7.413 milliseconds
[18:34:19] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:34:38] [DEBUG] mysql_format - connection: 1, len: 184, format: "SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = '%e'"
[18:34:38] [DEBUG] mysql_tquery - connection: 1, query: "SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` = 'Eddy", callback: "LoadPlayerDataSequence", format: "dd"
[18:34:38] [DEBUG] CMySQLQuery::Execute[LoadPlayerDataSequence] - starting query execution
[18:34:38] [DEBUG] CMySQLQuery::Execute[LoadPlayerDataSequence] - query was successfully executed within 2.172 milliseconds
[18:34:38] [DEBUG] CMySQLResult::CMySQLResult() - constructor called
[18:34:38] [DEBUG] Calling callback "LoadPlayerDataSequence"..
[18:34:38] [DEBUG] cache_get_field_content_int - row: 0, field_name: "count", connection: 1
[18:34:38] [DEBUG] CMySQLResult::GetRowDataByName - row: '0', field: "count", data: "0"
[18:34:38] [DEBUG] CMySQLResult::~CMySQLResult() - deconstructor called
[18:34:41] [DEBUG] mysql_format - connection: 1, len: 974, format: "INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeburtsdatum`, `pGeschlecht`, `pAdminlevel`, `pBanned`, `pBargeld`, `p..."
[18:34:41] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pGeburt", callback: "(null)", format: "(null)"
[18:34:41] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:34:41] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.552 milliseconds
[18:34:41] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:34:44] [DEBUG] mysql_format - connection: 1, len: 974, format: "UPDATE `Accounts` SET `pAlter` = '%d', `pAdminlevel` = '%d', `pGeburtsdatum` ='%d',`pGeschlecht` ='%d', `pBanned` = '%d', `pBarg..."
[18:34:44] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '46', `pG", callback: "(null)", format: "(null)"
[18:34:44] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:34:44] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 0.665 milliseconds
[18:34:44] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
[18:36:18] [DEBUG] mysql_format - connection: 1, len: 974, format: "UPDATE `Accounts` SET `pAlter` = '%d', `pAdminlevel` = '%d', `pGeburtsdatum` ='%d',`pGeschlecht` ='%d', `pBanned` = '%d', `pBarg..."
[18:36:18] [DEBUG] mysql_tquery - connection: 1, query: "UPDATE `Accounts` SET `pAlter` = '20', `pAdminlevel` = '5', `pGe", callback: "(null)", format: "(null)"
[18:36:18] [DEBUG] CMySQLQuery::Execute[] - starting query execution
[18:36:18] [DEBUG] CMySQLQuery::Execute[] - query was successfully executed within 1.40 milliseconds
[18:36:18] [DEBUG] CMySQLQuery::Execute[] - no callback specified, skipping result saving
-
Wenn ich das so mache, wie du das in dem anderen Thema hattest, dann macht er genau das selbe wie jetzt auch
ich weiß echt nicht mehr weiter!!Das Script nochmal: http://pastebin.com/P5qFZRV0