Moin!
Folgendes Problem: Ich habe auf meinem Ubuntu 18.04 ProFTPD installiert und einen User erstellt. Logge ich mich in WinSCP ein sehe ich rechts bei Besitzer nicht den Namen sondrn die ID. Woran kann da liegen?
MfG
Moin!
Folgendes Problem: Ich habe auf meinem Ubuntu 18.04 ProFTPD installiert und einen User erstellt. Logge ich mich in WinSCP ein sehe ich rechts bei Besitzer nicht den Namen sondrn die ID. Woran kann da liegen?
MfG

Guten Tag, liebe Breadfish Nutzer!
Wir das Team von Austrian Roleplay kurz ARP, suchen ab sofort neue Mitglieder für unser kommendes SA:MP Projekt, welche Stellen dies sind erfahrt ihr weiter unten.
Anhand unserer Ideen soll ein selfmade Roleplay Script entstehen.
Aus diesem Grund stellen wir diese Anfrage und möchten Euch für unser neuartiges Projekt inspirieren.

[tabmenu]
[tab='Mapper']
⇒ Mindestalter 16 Jahre
⇒ Verantwortungsbewusstsein gegenüber des Teams
⇒ Kenntnisse in sämtlichen Mapeditoren für SA:MP
⇒ kreative Ader bezüglich dem Mappen
⇒ Referenzen gerne erwünscht
⇒ Zielstrebigkeit, energisch und eigenständige Arbeitsweise
⇒ funktionstüchtiges Headset, sowie Teamspeak³
⇒ Kein Teammitglied bei andrem SA:MP Projekt
[/tabmenu]

Auf jeden Fall haben wir einen festen Platz im Team zu bieten. Ebenso können wir euch ein gutes Arbeitsklima, ein bereits vorhandenes freundliches Team im Alter von 16 bis 31 Jahre, welches aus zwei Projektleiter, einem Scripter, einem Webentwickler und zwei Manager besteht, Spielspaß und ein einzigartiges Roleplay Script.

Privatnachricht hier im Forum an @Allrounder18
Hier im Thema als Antwort
Teamspeak³: austrian-roleplay.at (Warten auf Support Channel)
Wir bitten euch nur bei ernstem Interesse, euch unter den Kontaktmöglichkeiten zu melden.
Mit freundlichen Grüßen
Euer ARP Team
#PUSH 24.02. 14:54: Wir suchen immer noch dringend Verstärkung für unser Team.
#PUSH 02.03. 15:38: Wir suchen immer noch dringend Verstärkung für unser Team.
#PUSH 26.04. 17:06: Scriptersuche hinzugefügt
#PUSH 01.05. 14:42: Aufzählung des Teams erneuert. Wir suchen immer noch dringend Verstärkung für unser Teamin den oben aufgezählten Bereichen!
#Edit 01.05. 14:50: Bildlinks erneuert
#PUSH 07.07. 13:14: Suche erneuert. Wir suchen immer noch dringend Verstärkung für unser Teamin den oben aufgezählten Bereichen!
#PUSH 04.08. 14:04: Suche erneuert. Wir suchen immer noch dringend Verstärkung für unser Teamin den oben aufgezählten Bereichen!
#PUSH 20.08. 15:30: Suche erneuert. Wir suchen immer noch dringend einen Mapper!
Guten Abend!
Ich möchte einen Perso machen, wo man am Textdraw nur den Kopf des Skins sieht. Wie mache ich das mit dem Textdraweditor? Wie ich normale Skins bekomme ist mir bewusst, nur das mit dem Kopf bekomm ich nicht hin.
MfG
Allrounder18
Danke, dann ganz unten SendRconCommand("gmx")?
Und bei OnGamemodeInit SendRconCommand("password 0")?
Ich möchte einfach, dass ein passwort drin ist sobald der Server restartet wird.
Edit: Den Timer wollt ich setzen, dassdas Paswort gesetz wird und erst nach ner gewissen Zeit der Restart kommt.
Danke, es hat geklappt. ich hab einfach das Insert dingens bei Register vergessen.
Edit: Ich möchte, dass bei Server Restart ein Passwort gesetzt wird.
Funktioniert das so oder muss ich es anders mahen? Kann ich den Timer lassen oder ist der unnötig?
Bei OnGamemodeIit steht dann SendRconCommand("password 0");
Bei der Registrierung wird dein Passwort nicht gehasht?
Steht das denn in Klartext in der Datenbank? (Oh nooooo
)
Generell ist aber auch von MD5 abzuraten: https://breadfish.de/index.php…ren-genauer-erkl%C3%A4rt/
Das Passwort sollt sehrwohl gehast werden. Oder was hab ich vergessen?
Edit: Ich hab jetzt mal bcrypt verwendet, jedoch wie mach ich das? Ich hab jetzt ma die Aleitug be deiem Lin befolgt, jedoch weiß ich nicht wie es weitergeht.
Hallo!
Ich hab ein Problem bei meinem Loginsystem, und zwar steht da immer as das Passwort falsch ist obwohl ich es richtig eingebe. Ich denk es liegt an der Registerfunktion.
Was ist da falsch?
public OnUserCheck(playerid)
{
new rows;
cache_get_row_count(rows);
ShowLoginScreen(playerid);
if(rows == 0)
{
ShowPlayerDialog(playerid, DIALOG_REGINFO, DIALOG_STYLE_PASSWORD, "{FFFFFF}Registration ", "{FFFFFF}Um fortzufahren wähle bitte ein Passwort", "{FFFFFF}Weiter", "{FFFFFF}Abbrechen");
}
else
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Anmeldung", "{FFFFFF}Um spielen zu können musst du dich einloggen", "{FFFFFF}Einloggen", "{FFFFFF}Abbrechen");
}
return 1;
}
public OnUserRegister(playerid)
{
UserDaten[playerid][user_ID] = cache_insert_id();
UserDaten[playerid][user_Eingeloggt] = true;
format(UserAccDaten[playerid][user_acc_RPVorName],255, "%s", UserAccDaten[playerid][user_acc_RPVorName]);
format(UserAccDaten[playerid][user_acc_RPNachName], 255, "%s", UserAccDaten[playerid][user_acc_RPNachName]);
UserAccDaten[playerid][user_acc_Level] = 1;
new string[128];
format(string,sizeof(string),"{FFFFFF}Herzlich Willkommen auf Austrian Roleplay, {ab258a}%s[%d]",UserDaten[playerid][user_Name],playerid);
SendServerMessage(playerid,string);
return 1;
}
public OnUserLogin(playerid)
{
new rows,string[140];
cache_get_row_count(rows);
if(rows == 0)
{
format(string,sizeof(string), "Das angegebene Passwort ist falsch");
SendErrorMessage(playerid,string);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Anmeldung", "{FFFFFF}Um spielen zu können musst du dich einloggen", "{FFFFFF}Einloggen", "{FFFFFF}Abbrechen");
}
else
{
UserDaten[playerid][user_Eingeloggt] = true;
cache_get_value_name_int(0, "user_id", UserDaten[playerid][user_ID]);
SpawnPlayer(playerid);
HideLoginScreen(playerid);
format(string,sizeof(string),"{FFFFFF}Willkommen zurück, {B90000}%s[%d]",UserDaten[playerid][user_Name],playerid);
SendServerMessage(playerid,string);
new string1[128];
format(string1,sizeof(string1),"{B90000}%s[%d] {FFFFFF}hat den Server betreten",UserDaten[playerid][user_Name],playerid);
SendServerMessageToAll(string1);
}
return 1;
}
case DIALOG_REGINFO:
{
if(!response) return Kick(playerid);
if(strlen(inputtext) < 6 || strlen(inputtext) > 24)
{
SendErrorMessage(playerid,"Das angegebene Passwort hat nicht die richtige Länge <6-24>");
return ShowPlayerDialog(playerid, DIALOG_REGINFO, DIALOG_STYLE_PASSWORD, "{FFFFFF}Registration", "{FFFFFF}Um fortzufahren wähle bitte ein Passwort", "{FFFFFF}Weiter", "{FFFFFF}Abbrechen");
}
format(UserDaten[playerid][user_Passwort], 225, "%s", inputtext);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Anmeldung", "{FFFFFF}Um spielen zu können musst du dich einloggen", "{FFFFFF}Einloggen", "{FFFFFF}Abbrechen");
return 1;
}
case DIALOG_LOGIN:
{
if(!response)return Kick(playerid);
if(strlen(inputtext) < 6 || strlen(inputtext) > 24)
{
new string[128];
format(string,sizeof(string), "Das angegebene Passwort ist falsch");
SendErrorMessage(playerid,string);
return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "{FFFFFF}Anmeldung", "{FFFFFF}Um spielen zu können musst du dich einloggen", "{FFFFFF}Einloggen", "{FFFFFF}Abbrechen");
}
new query[500];
mysql_format(handle, query, sizeof(query), "SELECT * FROM `accounts` WHERE `name` = '%e' AND `passwort` = MD5('%e')",UserDaten[playerid][user_Name], inputtext);
mysql_pquery(handle, query, "OnUserLogin", "d", playerid);
return 1;
}
Alles anzeigen
MfG
Allrounder18
Moin!
Wofür ist die Gravity Funktion in SAMP?
MfG
Allrounder18
Guten Abend!
Wie kann ich ingame Objekte wie zb. Möbel in einem Haus verschieben per Mausklick wie beim Mapeditor jedoch ohne Mapeditor?
MfG
Allrounder18
Das System sieht richtig nice aus. Ich find es würd gut auf nen RP Server passen.
MfG
Ah, alles klar.
Du inst in deinem Codeschnipsel anpassen?
Danke, für deine Hilfe!
Auch kann nicht jemand auf dem server dann dauernt einen namen prüfen und somit (die datenbank dauernd belasten
)
Wie meinst du das?
Ich habe soeben deinen Code so reinkopiert und getestet. Leider kommt wenn ich auf Name prüfen geh nichts mehr.
MfG
public OnUserCheck(playerid)
{
new rows;
cache_get_row_count(rows);
ShowLoginScreen(playerid);
if(rows == 0)
{
new string[80],string1[80];
format(string,sizeof(string),"{FFFFFF}Es wurde kein Account mit diesem Namen in unserer Datenbank gefunden.\nBitte registriere dich auf auf unserer Website {B90000}""%s""{FFFFFF}.",ServerInfo[server_Website]);
format(string1,sizeof(string1),"{B90000}""%s"" {FFFFFF}- Accountinfo",ServerInfo[server_Name]);
format(string1,sizeof(string1),"{B90000}""%s"" {FFFFFF}- Login [1/2]",ServerInfo[server_Name]);
ShowPlayerDialog(playerid, DIALOG_REGINFO, DIALOG_STYLE_MSGBOX, string1, string, "{FFFFFF}Ausloggen", "");
}
else
{
new string2[80];
format(string2,sizeof(string2),"{B90000}""%s"" {FFFFFF}- Login [1/2]",ServerInfo[server_Name]);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, string2, "{FFFFFF}Es wurde ein Account mit diesem Namen in unserer Datenbank gefunden.\nBitte gebe deinen Namen ein.","{FFFFFF}Weiter", "{FFFFFF}Abbrechen");
}
return 1;
Alles anzeigen
Hier nutze ic es als erstes.
Welche Bugs könnten auftreten bei dem System wie du oben meintest?
case DIALOG_REGINFO:
{
if(response)return Kick(playerid);
{
new string[200],string1[80];
format(string,sizeof(string),"{FFFFFF}Es wurde kein Account mit diesem Namen in unserer Datenbank gefunden.\nBitte registriere dich auf auf unserer Website {B90000}""%s""{FFFFFF}.",ServerInfo[server_Website]);
format(string1,sizeof(string1),"{B90000}""%s"" {FFFFFF}- Accountinfo",ServerInfo[server_Name]);
ShowPlayerDialog(playerid, DIALOG_REGINFO, DIALOG_STYLE_MSGBOX, string1, string, "{FFFFFF}Ausloggen", "");
}
else(strcmp(inputtext,UserDaten[playerid][user_Name]) || (strlen(inputtext) == 0))
{
new string[128],string1[200];
format(string,sizeof(string), "Der angegebene Name ist falsch");
format(string1,sizeof(string1),"{B90000}""%s"" {FFFFFF}- Login [1/2]",ServerInfo[server_Name]);
SendErrorMessage(playerid,string);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, string1, "{FFFFFF}Es wurde ein Account mit diesem Namen in unserer Datenbank gefunden.\nBitte gebe deinen Namen ein.","{FFFFFF}Weiter", "{FFFFFF}Abbrechen");
SetPlayerName(playerid, UserDaten[playerid][user_Name]);
}
Alles anzeigen
Meinst du so ungefähr @Mogly1?
@Jeffry
Danke, für die rasche Antwort! Ja, der Spieler soll seinen Namen eingeben mit dem er sich registriert hat. (Registrierung via Forum).
So nach dem Motto, das System soll merken, wenn der im Serverbrowser eingegebene Name nicht in der DB steht, dass dann ein Feld kommt wo man seinen richtigen Namen eingibt und dieser sich dann aber auch im TAB ändert.
@Mogly1
Dein System hört sich zwar Interessant an, passt aber icht ganz zu einer Idee. Danke Trotzdem.
Heißt wenn sich der Name nicht immer ändert ist mein Vorhaben für die Katz?
Guten Abed!
Und zwar möchte ich wenn man auf den Server joint sofern man einen falschen Namen hat der nicht in der DB gespeichert ist, dass man diesen beim Login auf seinen richtigen Namen der er in der DB gespeichert ist ändern kann, soo das das System erkennt, daer Name zum Passwort gehört.
We stelle ich das am ebsten an?
So sieht mein Code momentan aus.
case DIALOG_REGINFO:
{
if(response)return Kick(playerid);
{
new string[200],string1[80];
format(string,sizeof(string),"{FFFFFF}Es wurde kein Account mit diesem Namen in unserer Datenbank gefunden.\nBitte registriere dich auf auf unserer Website {B90000}""%s""{FFFFFF}.",ServerInfo[server_Website]);
format(string1,sizeof(string1),"{B90000}""%s"" {FFFFFF}- Accountinfo",ServerInfo[server_Name]);
ShowPlayerDialog(playerid, DIALOG_REGINFO, DIALOG_STYLE_MSGBOX, string1, string, "{FFFFFF}Ausloggen", "");
}
}
case DIALOG_LOGIN:
{
if(!response)return Kick(playerid);
if(strcmp(inputtext,UserDaten[playerid][user_Name]) || (strlen(inputtext) == 0))
{
new string[128],string1[200];
format(string,sizeof(string), "Der angegebene Name ist falsch");
format(string1,sizeof(string1),"{B90000}""%s"" {FFFFFF}- Login [1/2]",ServerInfo[server_Name]);
SendErrorMessage(playerid,string);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, string1, "{FFFFFF}Es wurde ein Account mit diesem Namen in unserer Datenbank gefunden.\nBitte gebe deinen Namen ein.","{FFFFFF}Weiter", "{FFFFFF}Abbrechen");
}
else
{
new string2[80];
format(string2,sizeof(string2),"{B90000}""%s"" {FFFFFF}- Login [1 2]",ServerInfo[server_Name]);
return ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_PASSWORD, "{B90000}Austrian Roleplay {FFFFFF}- Login [2/2]", "{FFFFFF}Bitte gebe dein Passwort ein, um mit dem Login fortfahren zu können.","{FFFFFF}Einloggen", "{FFFFFF}Abbrechen");
}
}
case DIALOG_LOGIN1:
{
if(!response)return Kick(playerid);
if(strlen(inputtext) < 6 || strlen(inputtext) > 24)
{
new string[128];
format(string,sizeof(string), "Das angegebene Passwort ist falsch");
SendErrorMessage(playerid,string);
return ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_PASSWORD, "{B90000}Austrian Roleplay {FFFFFF}- Login [2/2]", "{FFFFFF}Bitte gebe dein Passwort ein, um mit dem Login fortfahren zu können.","{FFFFFF}Einloggen", "{FFFFFF}Abbrechen");
}
new query[500];
mysql_format(handle, query, sizeof(query), "SELECT * FROM `user` LEFT JOIN `user_acc` ON user.user_id = user_acc.user_id WHERE `username` = '%e' AND `passwort` = MD5('%e')",UserDaten[playerid][user_Name], inputtext);
mysql_pquery(handle, query, "OnUserLogin", "d", playerid);
return 1;
}
Alles anzeigen
Ich denke, am besten wäre es irgendwas bei Dialog Reginfo einzubauen.
Danke im Voraus
Allrounder18
Du meinst ca. so?
new string[200];
format(string,sizeof(string),"{FFFFFF}Es wurde kein Account mit diesem Namen in unserer Datenbank gefunden.\nBitte registriere dich auf auf unserer Website {B90000}""%s""{FFFFFF}.",ServerInfo[server_Website]);
ShowPlayerDialog(playerid, DIALOG_REGINFO, DIALOG_STYLE_MSGBOX, "{B90000}Austrian Roleplay {FFFFFF}- Accountinfo", string, "{FFFFFF}Ausloggen", "");
Hast du für die andere Frage eventuell auch ne Lösung bitte?
Das es mit SetPlayerName geht ist mir bewusst. Nur weiß ich et ganz wohin ich das schreiben soll und wie dann erkannt wird das der Name scho inder DB steht.
Aktell siht es so aus.
case DIALOG_REGINFO:
{
if(response)return Kick(playerid);
{
ShowPlayerDialog(playerid, DIALOG_REGINFO, DIALOG_STYLE_MSGBOX, "{B90000}Austrian Roleplay {FFFFFF}- Accountinfo", "{FFFFFF}Es wurde kein Account mit diesem Namen in unserer Datenbank gefunden.\nBitte registriere dich auf auf unserer Website {B90000}"#WEBSITE"{FFFFFF}.", "{FFFFFF}Ausloggen", "");
}
}
case DIALOG_LOGIN:
{
if(!response)return Kick(playerid);
if(strcmp(inputtext,UserDaten[playerid][user_Name]) || (strlen(inputtext) == 0))
{
new string[128];
format(string,sizeof(string), "Der angegebene Name ist falsch");
SendErrorMessage(playerid,string);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "{B90000}Austrian Roleplay {FFFFFF}- Login [1/2]", "{FFFFFF}Es wurde ein Account mit diesem Namen in unserer Datenbank gefunden.\nBitte gebe deinen Namen ein.","{FFFFFF}Weiter", "{FFFFFF}Abbrechen");
}
else
{
return ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_PASSWORD, "{B90000}Austrian Roleplay {FFFFFF}- Login [2/2]", "{FFFFFF}Bitte gebe dein Passwort ein, um mit dem Login fortfahren zu können.","{FFFFFF}Einloggen", "{FFFFFF}Abbrechen");
}
}
case DIALOG_LOGIN1:
{
if(!response)return Kick(playerid);
if(strlen(inputtext) < 6 || strlen(inputtext) > 24)
{
new string[128];
format(string,sizeof(string), "Das angegebene Passwort ist falsch");
SendErrorMessage(playerid,string);
return ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_PASSWORD, "{B90000}Austrian Roleplay {FFFFFF}- Login [2/2]", "{FFFFFF}Bitte gebe dein Passwort ein, um mit dem Login fortfahren zu können.","{FFFFFF}Einloggen", "{FFFFFF}Abbrechen");
}
new query[500];
mysql_format(handle, query, sizeof(query), "SELECT * FROM `user` LEFT JOIN `user_acc` ON user.user_id = user_acc.user_id WHERE `username` = '%e' AND `passwort` = MD5('%e')",UserDaten[playerid][user_Name], inputtext);
mysql_pquery(handle, query, "OnUserLogin", "d", playerid);
return 1;
}
Alles anzeigen
Ich denke, es wäre am ebsten das gaze bei Dialog Reginfo zu mahen.
Edit: Das Problem ist zar noch nicht gelöst aber ich steh vor em anderen Problem.
Kann ich es irgendwie machen, dass website mit ServerInfo[server_Website]; defined ist?
ServerInfo[server_Website]; ist ein Mysql Wert. Damit ich zb im Dialog schreiben könnte Besucht uns auf unserer #WEBSITE und d ann soll eben das kommen was defined ist.
MfG
new query[256];
mysql_format(handle, query, sizeof(query), "SELECT * FROM `user` WHERE `username` = '%e' AND `passwort` = MD5('%e')",UserDaten[playerid][user_Name], inputtext);
mysql_format(handle, query, sizeof(query), "SELECT * FROM `user_acc` WHERE `user_id` = '%e'",UserAccDaten[playerid][user_acc_ID]);
mysql_pquery(handle, query, "OnUserLogin", "dd", playerid);
So hae ich es jetzt. Was muss ich dan in die zweite Zeile? So funktioniert es leider auch net. So wird OnUserLogin erst garnicht aufgerufen.
Edit: Mit mysql_format(handle, query, sizeof(query), "SELECT * FROM `user` RIGHT JOIN `user_acc` ON user.user_id = user_acc.user_id WHERE `username` = '%e' AND `passwort` = MD5('%e')",UserDaten[playerid][user_Name], inputtext); funktioniert wird auch der richtige Roleplay Name angezeigt.
Edit: Es funktioniert auch mit LEFT JOIN.