Beiträge von Allrounder18

    Guten Abend,


    ich möchte, wenn sich User A seine eigenen Stats ansieht, dass ihm User B nicht seine Stats zeigen kann, genau so wenn User A die Stats von User B die Stats gezeigt bekommt. dass User C nicht auch seine Stats zeigen kann. Ich habe bis her folgendes:

    new bool:ShowStatsID[MAX_PLAYERS];


    Was muss ich machen, damit es funktioniert so wie ich will?


    Danke im Voraus.


    MfG


    Allrounder18


    Edit: Lösung selber gefunden.


    Das muss noch im Code geändert werden, damit die Meldung "Der angegebene Spieler schaut bereits auf andere Statistiken" nicht immer kommt.


    Guten Abend,


    ich versuche gerade ein System zu bauen, dass der Name des Spielers die selbe Farbe hat als sein Rang.


    Damit wird der Adminrang ausgelesen, wie müsste ich dies als extra Funktion umbauen, dass das Script erkennt das z. B. mein Name die selbe Farbe hat als mein Rang und auch noch erkennt ob ich aduty bin oder nicht.


    Beispiel:

    Code
    if(GetPVarInt(playerid,"aduty") == 1)
            {
                format(message, 255,"(( [{33CCFF}Helferchat{FFFFFF}] %s [%s]%s[%d]:  %s ))",GetAdminRang(AccountInfo[playerid][account_Admin],true),ServerInfo[0][server_Tag],GetAdminName(AccountInfo[playerid][account_Name],true),playerid, string);
            }
            else
            {
                format(message, 255,"(( [{33CCFF}Helferchat{FFFFFF}] %s %s[%s]:  %s ))",GetAdminRang(AccountInfo[playerid][account_Admin],true),AccountInfo[playerid][account_Name],playerid, string);
            }

    So sieht die Message aus.

    Bei Aduty sollte das rot markierte in der selben Farbe sein als der Rang und wenn ich nicht Aduty bin das blau markierte.


    Danke im Voraus.


    MfG


    Allrounder18

    Sehr komisch.


    Bist du sicher, dass du an diese Datenbank deinen Request sendest und nicht an localhost?

    Es steht die IP des Servers bei den MYSQL Daten im Script.


    Code
    cache_get_value_name_int(0, "admin", AccountInfo[playerid][account_Admin]);
            cache_get_value_name_int(0, "verwalter1", AccountInfo[playerid][account_Verwalter][0]);
            cache_get_value_name_int(0, "verwalter2", AccountInfo[playerid][account_Verwalter][1]);
            cache_get_value_name_int(0, "verwalter3", AccountInfo[playerid][account_Verwalter][2]);
            cache_get_value_name_int(0, "verwalter4", AccountInfo[playerid][account_Verwalter][3]);

    Der Fehler kommt aus dem Login.

    Offensichtlich kommt doch ein ganz anderer Fehler...


    Wie sieht denn dein SELECT Query aus?


    und wie heißt deine Tabelle?

    Code
    mysql_format(handle, string, sizeof(string), "SELECT * FROM `account_team` WHERE `accountid` = '%d'", AccountInfo[playerid][account_ID]);
        mysql_tquery(handle, string, "OnTeamCheck", "d", playerid);

    Die Tabelle heißt account_team, das ist eine andere Tabelle als die Tabelle der anderen Werte von AccountInfo.

    Vermutlich weil du schon NULL Werte in der Tabelle hast?! :D


    Kannst sie ja auch nochmal kurz löschen und erstellen :)

    Jetzt steht bei Null Nein und bei Standard 0, aber der Fehler kommt immer noch.

    Code
    [22:15:33] [ERROR] cache_get_value_name_int: field 'admin' not found
    [22:15:33] [ERROR] cache_get_value_name_int: field 'verwalter1' not found
    [22:15:33] [ERROR] cache_get_value_name_int: field 'verwalter2' not found
    [22:15:33] [ERROR] cache_get_value_name_int: field 'verwalter3' not found
    [22:15:33] [ERROR] cache_get_value_name_int: field 'verwalter4' not found

    Guten Abend,


    hat jemand ne Idee was da falsch sein könnte ab dem Edit2?


    Danke im Voraus.


    MfG


    Allrounder18

    Printe dir doch mal das Query..und poste es hier :)


    oder gib das query dann 1:1 in Phpmyadmin ein und schau, was gesagt wird :)

    Wenn ich die query 1;1 in HeidiSQL eingebe kommt garnichts.


    Edit: Ich habs mit nem anderen Account versucht, dort klappte es interessanterweise. Aber generell klappt es nicht.


    Edit2: Das Problem geht jetzt, da ich den Adminrang wieder in das AccountInfoEnum gegeben habe aber nun kommen folgende Fehler.


    Code
    [18:14:04] [ERROR] cache_get_value_name_int: field 'verwalter1' not found (C:\Users\Administrator\Desktop\Selfmade Roleplay\pawno\include\../include/accounts/login.inc:42)
    [18:14:04] [ERROR] cache_get_value_name_int: field 'verwalter2' not found (C:\Users\Administrator\Desktop\Selfmade Roleplay\pawno\include\../include/accounts/login.inc:43)
    [18:14:04] [ERROR] cache_get_value_name_int: field 'verwalter3' not found (C:\Users\Administrator\Desktop\Selfmade Roleplay\pawno\include\../include/accounts/login.inc:44)
    [18:14:04] [ERROR] cache_get_value_name_int: field 'verwalter4' not found (C:\Users\Administrator\Desktop\Selfmade Roleplay\pawno\include\../include/accounts/login.inc:45)

    account_Verwalter[4], steht im AccountInfoEnum, die Tabellenspalten sind in der Tabelle account_team, der rest es AccountInfoEnum ist in der Tabelle accounts.


    Code
    [18:14:04] [ERROR] cache_get_value_name_int: value 'NULL' is not a number (C:\Users\Administrator\Desktop\Selfmade Roleplay\pawno\include\../include/systeme/verwaltersystem.inc:58)
    [18:14:04] [ERROR] cache_get_value_name_int: value 'NULL' is not a number (C:\Users\Administrator\Desktop\Selfmade Roleplay\pawno\include\../include/systeme/verwaltersystem.inc:59)
    [18:14:04] [ERROR] cache_get_value_name_int: value 'NULL' is not a number (C:\Users\Administrator\Desktop\Selfmade Roleplay\pawno\include\../include/systeme/verwaltersystem.inc:60)
    [18:14:04] [ERROR] cache_get_value_name_int: value 'NULL' is not a number (C:\Users\Administrator\Desktop\Selfmade Roleplay\pawno\include\../include/systeme/verwaltersystem.inc:61)

    Die rot markierten Stellen sind in der Fehlermeldung gemeint.


    Beim Registrieren befülle ich die Felder wie folgt aber leider steht dann da nichts drin.

    Code
        AccountInfo[playerid][account_Verwalter][0]  = 0;
        AccountInfo[playerid][account_Verwalter][1]  = 0;
        AccountInfo[playerid][account_Verwalter][2]  = 0;
        AccountInfo[playerid][account_Verwalter][3]  = 0;


    Was mache ich falsch?


    Danke im Voraus.


    MfG


    Allrounder18

    Deine SQL Query ist ja auch soweit korrekt, ich denke eher das die Variablen nicht befüllt werden.

    Okay, die Variablen sind im Enum vorhanden, wenn ich die Zahl direkt in MYSQL einfüge kennt das Script die Zahl auch. Was mache ich falsch?


    Edit auch der print von TeamInfo[playerid][account_team_Admin] spuckt die richtige Zahl aus.

    Code
    new query[128];
    mysql_format(handle, query, sizeof(query), "UPDATE `account_team` SET `admin` = '%d' WHERE `id` = '%d'",TeamInfo[playerid][account_team_Admin],AccountInfo[playerid][account_ID]);
    mysql_tquery(handle, query);

    Das geht leider nicht, Die Zahl in der Datenbank ändert sich nicht.

    Edit: Es kommen auch keine Errors

    Guten Abend,


    ich hab folgenden Code aber dieser funktioniert nicht.


    mysql_format(handle, string1, sizeof(string1), "UPDATE `account_team` SET `admin` = '%d' WHERE `id` = '%d'",TeamInfo[playerid][account_team_Admin],AccountInfo[playerid][account_ID]);mysql_tquery(handle, string1);


    Was kann ich machen, damit die Query ausgeführt wird da dies zwei verschiedene Enums sind?


    Danke im Voraus.


    MfG


    Allrounder18

    Du bringst id und pID durcheinander.


    Du solltest wirklich mehr Ordnung in deinen Code bringen, dann hast du es generell auch viel einfacher...


    Dann sieht man auch, was Sache ist...

    Danke, nun steht wenn man mir (ID 0) eine PM schreiben will "Der angegebene Spieler ist nicht online."


    Edit: Auszug aus dem Enum: bool:account_Eingeloggt,

    Guten Abend,


    wenn mir jemand ne PM sendet mit folgendem Befehl kommt PM an [65355]. Ich bin ID0.

    Woran kann das liegen?


    Danke im Voraus.


    MfG


    Allrounder18

    Ist es möglich, dass ich im Script folgendes einbaue?


    Actor: Guten Tag wie ist Ihr Name?

    Spieler: Bernd Mayr

    Actor: Wo wohnen Sie?

    Spieler: Los Sanots


    Alles was der Spieler schreibt sollte in MySQL abgespeichert werden, geht das?


    Danke im Voraus


    MfG


    Allrounder18

    Aus der Character Tabelle möchte ich nur den Vor und Nachnamen haben und diesen möchte ich dann in dem Dialog bei GetFactionMember anzeigen.

    Das kannst du einfach in SQL mit einer Subquery lösen, als Beispiel so (Vorausgesetzt die ID in character & character_job sind für alle Spieler identisch):

    SQL
    SELECT `firstname`, `lastname` FROM `character` WHERE EXISTS (SELECT `id`, `faction` FROM `character_job` WHERE `faction` = 'HIER_DIE_FRAKTIONS_ID_PER_FORMAT_EINFÜGEN' AND `character`.`id` = `character_job`.`id`);

    Danke, ich werde es versuchen.

    Wie würde dann GetFactionMember aussehen?

    Guten Abend,


    ich wollte eine Mitgliederliste für die Fraktionsleader machen das Problem ist nur das ich aus einer anderen Tabelle den Charakternamen brauche und meine Funktion um den Charakternamen zu bekommen beendet immer die aktuelle Query wodurch mir immer nur ein Fraktionsmitglied angezeigt wird.


    Die Query womit man alle Fraktionsmitglieder bekommt

    Code
     mysql_format(connection, query, sizeof(query), "SELECT * FROM `character_job` WHERE `faction` = '%i'", CharacterInfo[playerid][CHARACTER_FACTION]);
                        mysql_tquery(connection, query, "GetFactionMember", "i", playerid);


    GetFactionMember


    Funktion um den Charakternamen zu bekommen


    Mit freundlichen Grüßen


    Allrounder18