Ich muss leider auch sagen, das mich überhaupt nichts abspricht. Was macht euch gegenüber anderen Servern so besonders? Das möchte ich mal wissen.
P.S. Schön das ihr meinen BSN benutzt... ich hoffe ihr gebt ihn nicht als euer eigenes aus.
Ich muss leider auch sagen, das mich überhaupt nichts abspricht. Was macht euch gegenüber anderen Servern so besonders? Das möchte ich mal wissen.
P.S. Schön das ihr meinen BSN benutzt... ich hoffe ihr gebt ihn nicht als euer eigenes aus.
@Raven^: Ich denke mal, es ware Gut, wenn es um alles was mit TextDraws zutun hat wäre. Wie man sie erstellt, löscht, anklickbar macht etc. Ich komme beim Register und Login nicht weiter, deshalb wäre das Hilfreich. ![]()
//Handy
Mich würde ein Tutorial ansprechen, wo erklärt wird, wie man "genau" mit TextDraws arbeitet. Ich scheitere dort die ganze Zeit -.-
Ich könnte es theoretisch jetzt schon releasen.
Allerdings wären dann viele Features, die geplant sind, nicht drin. Aktuell arbeite ich z.B. am Textdraw Editor
Also ich wäre für einen jetzigen Release, Grund? einfach aus dem Grund, da wir dir dann Feedback sowie Fehler etc. mitteilen können. So kannst du dann entspannter ran gehen. ![]()
FROHES NEUES
Hiermit nehme ich, Eddy an dem Gewinnspiel von Nafu-Sponsoring teil.
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! ![]()
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 anzeigenstock 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 anzeigenOnPlayerConnect 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.
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

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:
server_log:
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 ;D
So sieht meine Tabelle aus ( alles richtig, bis auf die Ban Zeit
http://i.epvpimg.com/HWQZg.png
Und hier der komplette Code, welcher zum Ban System gehört.
Erstellung der Tabelle:
Funktion um denn Spieler zu Bannen:
Funktion um zu schauen ob der Spieler Gebannt ist:
TimeBan Befehl:
OnQueryFinish:
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.png
Und hier der komplette Code, welcher zum Ban System gehört.
Erstellung der Tabelle:
Funktion um denn Spieler zu Bannen:
Funktion um zu schauen ob der Spieler Gebannt ist:
TimeBan Befehl:
OnQueryFinish:
Wäre es möglich, das du das "done" beim Compilieren raus nimmst? Das ist nervig
besser wäre da ein Ton.