Beiträge von Kisa

    @Muho55 Schau dir mal das Tutorial von Jeffry, "MySQL R41 Register/Login" da wird Erklärt wie du die Ports von 80 auf 8080 und 443 auf 4433 ändern kannst.
    Danach kannst du auch Skype und Co alles nutzen, wie Hero schon sagte, Blockiert irgendwas den Port, könnte auch diene Firewall sein. :)


    Mit freundlichen Grüßen,

    Dr.Frauenarzt, ich werde dir kein Code Posten, werde dir nur sagen wie du dies machen kannst.


    Du hast ja mit sicherheit einen Timer zB PayDay, der geht ja alle 60 Sekunden, und dort kannst du eine Veriable nutzen der die Zeit immer Höher Zählt,
    bis er die Zeit erreicht hat, hat er die Erreicht gibst du ihn die Nachricht raus, das Geld und setzt dann eine zweite Verialbe auf 1 zB, damit er kein weiteren bekommt.


    Beim ESC gehen kannst du es mit dem PayDay Intergrieren, sollte er ESC gehen, Killst du den Timer, kommt er wieder, lässt du ihn wieder Starten.


    Hoffe konnte dir weiter Helfen.


    MfG.

    @seegras Das wundert mich aber jetzt, weil Komischerweiße habe ich durch einen Virus mein PC neuaufgesetzt.
    Vorher war auch Windows 10 drauf und da ging das Gamepad aber habe es dann im Keller gelegt.


    Ich finde nur den Treiber nicht mehr bzw. weiß nicht wie ich es damals mal gelöst habe.


    Dachte das es irgendwie ein Programm gibt der das Problemlos löst oder so.


    MfG.

    Guten Morgen,
    ich habe gestern im Keller noch ein "Gamepad" gefunden und jetzt habe ich Lust bekommen Project Cars zu Spielen.
    Am besten mit dem Gamepad bzw. Lenkrad was ich gefunden habe, nun ist das Problem da, das mir Windows 10 sagt:

    Unbekanntes USB-Gerät (Fehler beim Anfordern einer Gerätebeschreibung.)


    Jetzt hab ich mir ein Tool aus dem Internet Geladen, in der Hoffnung das es weiter Hilft, tut es aber leider nicht.
    USB Device Tree Viewer V3.0.7


    seine Log bei dem Gerät sagt mir:


    Auf dem "Lenkrad" steht drauf: Canyon CNG-GW3


    Habe es auch im Netz Gegoogelt aber finde nur Treiber für Windows 7, auch diesem habe ich Getestet, leider ohne Erfolg!
    Habt ihr vielleicht noch eine Idee?


    Mit freundlichen Grüßen,

    Guten Morgen,
    ich habe ein Problem, mein Registrations Vorgang will nicht wie ich will.
    Der Spieler kommt auf dem Server erstellt sich ein Account, Verlässt den Server (Wird Gespeichert) und kommt dann wieder drauf,
    dann muss er sich einen neuen Spieler Account erstellen obwohl es ihn ja schon in der Datenbank gibt.

    public OnPlayerConnect(playerid)
    {
    // [- Registration / Login -]
    if(!sInfo[playerid][sEingeloggt])
    {
    mysql_format(Handle, query, sizeof(query), "SELECT `ID` FROM `spieler` WHERE `Spielername` = '%e'", sInfo[playerid][sName]);
    printf("1. %s", query);
    mysql_pquery(Handle, query, "OnUserCheck", "d", playerid);
    }
    return 1;
    }


    public OnUserCheck(playerid)
    {
    new rows;
    cache_get_row_count(rows);
    if(rows == 0)
    {
    format(FormatString, sizeof(FormatString), ""#FARBE_WEISS"Herzlich willkommen "#FARBE_GRUEN"%s"#FARBE_WEISS"\nEs wurde kein Spieler mit diesem Namen in der Datenbank gefunden. Bitte erstelle dir einen Account\n\nZum Erstellen eines Spielerprofils gebe ein Passwort deiner Wahl an.", sInfo[playerid][sName]);
    ShowPlayerDialog(playerid, DIALOG_REGISTER_PASSWORT, DIALOG_STYLE_PASSWORD, ""#SERVERNAME" - Registration", FormatString, "Weiter", "Verlassen");
    }
    else
    {
    format(FormatString, sizeof(FormatString), ""#FARBE_WEISS"Herzlich willkommen "#FARBE_GRUEN"%s"#FARBE_WEISS"\nEs wurde ein Spielerprofil mit diesem Namen in der Datenbank gefunden. Bitte Melde dich mit deinem Passwort an,\noder Klicke auf 'Verlassen' und wähle ein anderen Namen.", sInfo[playerid][sName]);
    ShowPlayerDialog(playerid, DIALOG_REGISTER_LOGIN, DIALOG_STYLE_PASSWORD, ""#SERVERNAME" - Anmelden", FormatString, "Anmelden", "Verlassen");
    }
    return 1;
    }


    Mit freundlichen Grüßen,

    Guten Abend,
    ich bin dabei ein "Dynamic ATM System" zu schreiben, das klappt auch eigentlich soweit super!
    Nur habe ich das Problem, das ich an diesem "ATM" erst benutzen kann, wenn der Server neugestartet wurde.


    Ich habe hier eine Funktion , die dies eigentlich machbar machen sollte.



    Laden aus der Datenbank: // Klappt perfekt!
    public OnLoadATMs()
    {
    new rows, id, atms;
    rows = cache_num_rows();
    for(new i=0; i<rows; i++)
    {
    id = cache_get_field_content_int(i, "ID");

    if(id < 0 || id >= MAX_ATMS)continue;

    ATMInfo[id][aX] = cache_get_field_content_float(0, "aX", Handle);
    ATMInfo[id][aY] = cache_get_field_content_float(0, "aY", Handle);
    ATMInfo[id][aZ] = cache_get_field_content_float(0, "aZ", Handle);

    ATMInfo[id][aLoaded] = true;
    ATMInfo[id][Label] = CreateDynamic3DTextLabel("Geldautomat\n{FEFEFE}Drücke "#FARBE_ORANGE"'N'{FEFEFE}!", -1, ATMInfo[id][aA], ATMInfo[id][aY], ATMInfo[id][aZ], 10.0);
    ATMInfo[id][ATMObj] = CreateDynamicObject(2942, ATMInfo[id][aX], ATMInfo[id][aY], ATMInfo[id][aZ]-0.5, 0, 0, ATMInfo[id][aA]);
    atms++;
    if(atms == MAX_ATMS) return print("Es können keine weiteren Bankautoamten geladen werden, Limit (MAX_ATMS) erreicht.");
    }
    return 1;
    }


    Die Funktion um den ATM zu benutzen:
    stock IsATM(playerid)
    {
    new i=0;
    while(i != MAX_ATMS)
    {
    if(IsPlayerInRangeOfPoint(playerid, 3.0, ATMInfo[i][aX], ATMInfo[i][aY], ATMInfo[i][aZ]))
    {
    return i;
    }
    i++;
    }
    return -1;
    }


    Den ATM Benutzen:
    if(newkeys == KEY_NO) // *** Taste 'N'
    {
    if(IsATM(playerid))
    {
    if(sInfo[playerid][sKonto] == 1)
    {
    ShowPlayerDialog(playerid, DIALOG_BANK_PIN, DIALOG_STYLE_INPUT, ""#FARBE_WEISS"Konto Pin", ""#FARBE_WEISS"Bitte gebe dein Pin ein:", "Bestätigen", "Abbrechen");
    return 1;
    }
    }
    }


    Hoffe einer von euch weißt weiter, ich nähmlich nicht mehr.


    MfG.

    Guten Abend,
    ich habe ein Problem mit meinen Eintrag und der Datenbank.
    Ich lasse in der Datenbank was eintragen aber die Datenbank erstellt dann Falsch mit der ID, habt ihr eine Idee wieso?



    case DIALOG_ADMIN_CREATE:
    {
    if(response)
    {
    switch(listitem)
    {
    case 0: // *** Bankautomat
    {
    new Float:Pos[4], query[256];
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
    GetPlayerFacingAngle(playerid, Pos[3]);
    for(new i = 0; i < MAX_ATMS; i++)
    {
    if(ATMInfo[i][aErstellt] == true)continue;
    ATMInfo[i][aErstellt] = true;
    ATMInfo[i][aX] = Pos[0];
    ATMInfo[i][aY] = Pos[1];
    ATMInfo[i][aZ] = Pos[2];
    ATMInfo[i][aA] = Pos[3];
    ATMInfo[i][aObject] = CreateDynamicObject(2942, Pos[0], Pos[1], Pos[2]-0.5, 0, 0, Pos[3]);
    mysql_format(Handle, query, sizeof(query), "INSERT INTO `ATMs` (`ID`, `X`, `Y`, `Z`, `A`) VALUES ('%i', '%f', '%f', '%f', '%f')", i, Pos[0], Pos[1], Pos[2], Pos[3]);
    mysql_tquery(Handle, query);
    SendClientMessage(playerid, -1, ""#FARBE_GELB"Du hast einen Bankautomat erstellt!");
    return 1;
    }
    }
    }
    }
    }


    Bild aus der Datenbank:
    datenbank.PNG


    Bild von der Datenbank wo die IDs falsch ist. (1, 2, 51?)
    eintrag.PNG

    Hey, kann mir jemand Helfen im Thema: Dynamisches ATM System ?
    Ich würde gerne die Einträge aus der Datenbank laden, weiß aber nun nicht wie.
    Da ich A: bei "OnGameModeInit" ja kein Aktiven cache habe und wenn ich es über Public machen würde, dann müsste ich ja zwei
    Schleifen verwenden, gibt es da noch eine andere möglichkeit ? Die vielleicht weniger "Leistung" bezieht?


    Mit freundlichen Grüßen,


    @Jeffry, @Kaliber, @TheOneBehindYou1

    Guten Abend,
    ich möchte gerne das ich im Dialog alle Befehle anzeigen lassen wenn er den Rang dazu hat.
    Entspricht:
    Rang 1: Alle Befehle für Rang 1
    Rang 2: Alle Befehle von Rang 1 und dazu dann die von Rang 2.


    So wie ich es habe, klappt es leider nur mit dem Aktuellen Rang den man hat.



    CMD:ahelp(playerid, params[])
    {
    if(!sInfo[playerid][sEingeloggt])return 1;
    new string[512];
    switch(sInfo[playerid][sAdminrang])
    {
    case 0: SendClientMessage(playerid, -1, "["#FARBE_WEISS"SERVER"#FARBE_WEISS"]: Du hast "#FARBE_ROT"nicht die Rechte "#FARBE_WEISS"diesen Befehl zu nutzen!");
    case 1:
    {
    format(string, sizeof(string), "Porbe Supporter haben noch keine Befehle!");
    }
    case 2:
    {
    format(string, sizeof(string), "%s"#FARBE_TÜRKIS"/kick", string);
    }
    }
    ShowPlayerDialog(playerid, DIALOG_ADMIN_HILFE, DIALOG_STYLE_MSGBOX, "Admin Befehle", string, "OK", "");
    return 1;
    }


    Mit freundlichen Grüßen,

    Guten Morgen zusammen,
    ich habe das Problem, das bei mir nichts aus der Tabelle geladen wird.
    Gespeichert wird alles richtig. (Getstet via print)
    Die MySQL Log sagt mir auch nichts.


    new query[256];mysql_format(Handle, query, sizeof(query), "SELECT * FROM `Accounts` WHERE `Spielername` = '%e' AND `Passwort` = '%e'", sInfo[playerid][sName], inputtext);printf("Load: %s", query);mysql_tquery(Handle, query, "OnUserLogin", "d", playerid);
    Das führe ich bei "OnDialogResponse" aus.




    public OnUserLogin(playerid)
    {
    new Rows, Fields;
    cache_get_data(Rows, Fields, Handle);
    if(Rows)
    {
    TogglePlayerLoginScreen(playerid, false);
    new string[64];
    format(string, sizeof(string), "~g~Herzlich willkommen~n~~w~%s", sInfo[playerid][sName]);
    GameTextForPlayer(playerid, string, 5000, 1);

    cache_get_field_content(0, "IP", sInfo[playerid][sIP]);
    cache_get_field_content_int(0, "Bargeld", sInfo[playerid][sBargeld]);
    cache_get_field_content_int(0, "Level", sInfo[playerid][sLevel]);
    cache_get_field_content_int(0, "Geschlecht", sInfo[playerid][sGeschlecht]);
    cache_get_field_content_int(0, "Skin", sInfo[playerid][sSkin]);

    GivePlayerMoney(playerid, sInfo[playerid][sBargeld]);
    SetPlayerScore(playerid, sInfo[playerid][sLevel]);
    SetPlayerSkin(playerid, sInfo[playerid][sSkin]);

    SetSpawnInfo(playerid, 0, sInfo[playerid][sSkin], 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0 );
    SpawnPlayer(playerid);
    return 1;
    }
    else
    {
    new string[512];
    ClearPlayerChat(playerid);
    SendClientMessage(playerid, -1, "["#FARBE_ORANGE"SERVER"#FARBE_WEISS"]: Das "#FARBE_ROT"Passwort stimmt nicht "#FARBE_WEISS"mit dem aus der Datenbank überein!");
    format(string, sizeof(string), ""#FARBE_WEISS"Dein Account "#FARBE_ORANGE"%s "#FARBE_WEISS"wurde in unsere Datenbank nicht gefunden.\n\
    Bitte gebe ein Passwort deiner Wahl in das Feld ein.\n"#FARBE_ORANGE"\
    IP-Adresse: "#FARBE_WEISS"%s\n"#FARBE_WEISS"Deine "#FARBE_ORANGE"IP-Adresse "#FARBE_WEISS"wird aus Sichersgründen mitgespeichert!", sInfo[playerid][sName], sInfo[playerid][sIP]);
    ShowPlayerDialog(playerid, DIALOG_REGISTRATION, DIALOG_STYLE_INPUT, ""#SERVERNAME_TAG""#FARBE_WEISS" - Account Erstellen", string, "Weiter", "Verlassen");
    }
    return 1;
    }

    Die Funktion wo ja eigentlich alles Geladen werden sollte.


    Hoffe einer von euch kann mir dabei Helfen,
    Mit freundlichen Grüßen,


    //e @Jeffry, @Kaliber ?

    Guten Abend,
    ich bin dabei auf R39-6 ein System aufzubauen, nun ist das Problem da, das ich die Tabelle nicht so erstellen kann wie ich möchte.



    new string[256];
    format(string, sizeof(string), "CREATE TABLE IF NOT EXISTS `Accounts` (`Spielername` varchar(24) NOT NULL AUTO_INCREMENT, `Passwort` varchar(128), `IP` varchar(16), `Level` int(11)");
    format(string, sizeof(string), "%s, `Bargeld` int(11), PRIMARY KEY(`Spielername`))", string);
    mysql_tquery(Handle, string);


    Fehler code der MySQL Log:

    [ERROR] CMySQLQuery::Execute[] - (error #1063) Incorrect column specifier for column 'Spielername' (Query: "CREATE TABLE IF NOT EXISTS `Accounts` (`Spielername` varchar(24) NOT NULL AUTO_INCREMENT, `Passwort` varchar(128), `IP` varchar(16), `Level` int(11), `Bargeld` int(11), PRIMARY KEY(`Spielername`))")


    Mit freundlichen Grüßen,

    Hatte das Problem auch mal, bei mir hat es geholfen den Router auf die Werkstellung zu setzen.
    Denke mal es liegt daran dein Router irgendwelche Port Filterung Aktiv hat oder vielleicht sogar Ports Sperrt.


    Mit freundlichen Grüßen,