Beiträge von Acrio

    Hi. Habe gerade aus Grund eines anderen Problemes mal meinen MySQL Log nachgeschaut. Ich habe mich richtig erschrocken wie viele Fehler da waren. Hier sind sie mal. Aber in nem Expander, sonst würde das zu viel Platz wegnehmen. Nagut das hier sind zum Ganzen nur ein paar Fehler. Alle würden mir die Zeichen für den Thread weg nehmen. Nun mein Problem. Ich habe 0 Ahnung wie ich die Weg bekomme da ich das Login/Register system aus einem Tutorial habe. Zu mindest diese Funktionen mit den Fehlern. Ich weis das dort steht das der keinen cache hat. Aber wie gebe ich dem einen? Bei dem Spieler laden usw habe ich 0 Probleme. Währe nett wenn ihr mir helfen könntet. Hier ist zusätzlich mal die Register/Login Funktion.


    public LoadPlayerDataSequence(playerid, l_step)
    {
    switch(l_step)
    {
    case 1:
    {
    new count = cache_get_field_content_int(0,"count");
    if(count)
    {
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Gebe bitte dein Passwort ein!", "Login", "Abbrechen");
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registrierung","Gebe bitte dein Password ein.\nMit diesem loggst du dich später ein.\nDeshalb merke es dir gut.","Register","Abbrechen");
    return 1;
    }
    }
    case 2:
    {
    new count = cache_get_field_content_int(0,"count");
    if(count)
    {
    new query[60 + MAX_PLAYER_NAME];
    mysql_format(MyCon,query, sizeof(query), "SELECT * FROM `accounts` WHERE `Name` = '%e'",pInfo[playerid][pName]);
    mysql_function_query(MyCon,query,true,"LoadPlayerDataSequence","dd",playerid,3);
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Bitte gebe dein richtiges Passwort ein!","Login","Abbrechen");
    return 1;
    }
    }
    case 3:
    {
    LoadPlayer(playerid);
    pInfo[playerid][pLogged] = true;
    SpawnPlayer(playerid);
    return 1;
    }
    default:
    {
    SendClientMessage(playerid, COLOR_SYSTEM, "Es könnte ein Bug aufgetreten sein! Bitte reconnecte!");
    SetTimerEx("KickPlayer",250,0,"i",playerid);
    return 1;
    }
    }
    return 1;
    }


    Das ist das Einzige mit cache usw.
    MFG und Danke im Voraus Acrio


    Fehler
    [17:48:28] [WARNING] cache_get_row_count - no active cache
    [17:48:28] [WARNING] cache_get_field_count - no active cache
    [17:48:28] [WARNING] cache_get_row_count - no active cache
    [17:48:28] [WARNING] cache_get_field_count - no active cache
    [17:48:28] [WARNING] cache_get_row_count - no active cache
    [17:48:28] [WARNING] cache_get_field_count - no active cache
    [17:48:28] [WARNING] cache_get_row_count - no active cache
    [17:48:28] [WARNING] cache_get_field_count - no active cache
    [17:48:28] [WARNING] cache_get_row_count - no active cache
    [17:48:28] [WARNING] cache_get_field_count - no active cache
    [17:48:28] [WARNING] cache_get_row_count - no active cache
    [17:48:28] [WARNING] cache_get_field_count - no active cache

    Aber mit %s klappt das trotzdem nicht. Bei /stats steht es vor dem Relog noch. Also muss es irgendwo verloren gehen. Finde aber den Fehler nicht. Muss an einer der Funktionen Liegen. Bzw an 2 da ja weder die Fraktions noch die Playertabelle geupdatet wird.

    Hi, mein Problem ist das wenn ich meinen Spieler in eine Fraktion stecke, dieser zwar dort drin ist, das sehe ich bei /stats und werde dort gespawnt, /stats speichert vor dem auslesen, aber sobald ich mich neu einlogge bin ich wieder draußen. Und in der Fraktionstabelle werde ich auch nicht eingetragen. Woran könnte das liegen? Und sagt mir bitte welchen Code ihr benötigt. Weiß nict was ihr gebrauchen könnt. Hier erstmal save und Load von Player und Fraktion.


    stock SaveFrak(frakID)
    {
    new query[350];
    mysql_format(MyCon, query, sizeof(query), "UPDATE `fraktionen` SET `fLeader` = %e, `Money`= %d, WHERE `ID` = %d", fInfo[frakID][fLeader], fInfo[frakID][fMoney], fInfo[frakID][fID]);
    mysql_tquery(MyCon, query, "", "");
    return 1;
    }


    stock LoadFrak(frakID)
    {
    new query[350];
    format(query, sizeof(query), "SELECT `ID` FROM `fraktionen` WHERE `Name` = '%e'", fInfo[frakID][fName]);
    mysql_tquery(MyCon, query, "", "");

    mysql_store_result();
    new resultline[350];


    if(mysql_fetch_row_format(resultline))
    {
    sscanf(resultline, "p<|>{d}s[30]s[30]d", fInfo[frakID][fName], fInfo[frakID][fLeader], fInfo[frakID][fMoney]);
    }
    mysql_free_result();
    return 1;
    }


    stock SavePlayer(playerid)
    {
    GetPlayerHealth(playerid, pInfo[playerid][pHealth]);
    new query[350 + MAX_PLAYER_NAME];
    mysql_format(MyCon,query, sizeof(query), "UPDATE `accounts` SET `Money` = %d,`Health` = %.1f, `Admin` = %d, `Payday` = %d, `Fraktion` = %d, `FraktionsRang` = %d, WHERE `Name` = '%e'",pInfo[playerid][pMoney],pInfo[playerid][pHealth],pInfo[playerid][pAdmin], pInfo[playerid][pPayday], pInfo[playerid][pFrak], pInfo[playerid][pFrakRang], pInfo[playerid][pName]);
    mysql_tquery(MyCon,query,"","");
    return 1;
    }


    stock LoadPlayer(playerid)
    {
    new query[350];
    format(query, sizeof(query), "SELECT `ID` FROM `accounts` WHERE `Name` = '%e'", pInfo[playerid][pName]);
    mysql_tquery(MyCon, query, "", "");

    mysql_store_result();
    new resultline[350];

    if(mysql_fetch_row_format(resultline))
    {
    sscanf(resultline, "p<|>{d}s[32]{s[32]}dfdddd", pInfo[playerid][pName], pInfo[playerid][pMoney], pInfo[playerid][pHealth], pInfo[playerid][pAdmin], pInfo[playerid][pPayday], pInfo[playerid][pFrak], pInfo[playerid][pFrakRang]);
    }
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid, pInfo[playerid][pMoney]);
    mysql_free_result();
    return 1;
    }


    Achja, alles andere wird gespeichert. Nur halt die Fraktionen nicht.

    Hi, ich habe 21 Textdraws für die Zustandsanzeige.
    1 mit dem Text

    Code
    Zustand:


    und 20 mit jeweils einem

    Code
    /


    Ich möchte nun das bei jedem Zustandsverlust ein Balken weniger gezeigt wird.
    Ich kam zu dem Entschluss das bei 20 Balken verteilt auf 1000 Health Punkte jeder Balken 50 haben muss.
    Da dachte ich, erstelle die Textdraws in einer For-Schleife.
    for(new i = 0; i < row; i++)
    TextDrawShowForPlayer(playerid, Zustand[i]);
    Hier steht i für das jeweilige TextDraw und row habe ich beim switchen durch das health gesetzt.
    switch(vHealth)
    {
    case 0..50: {row = 1;}
    case 51..100: {row = 2;}
    case 101..150: {row = 3;}
    case 151..200: {row = 4;}
    case 201..250: {row = 5;}
    case 251..300: {row = 6;}
    case 301..350: {row = 7;}
    case 351..400: {row = 8;}
    case 401..450: {row = 9;}
    case 451..500: {row = 10;}
    case 501..550: {row = 11;}
    case 551..600: {row = 12;}
    case 601..650: {row = 13;}
    case 651..700: {row = 14;}
    case 701..750: {row = 15;}
    case 751..800: {row = 16;}
    case 801..850: {row = 17;}
    case 851..900: {row = 18;}
    case 901..950: {row = 19;}
    case 951..999: {row = 20;}
    case 1000: {row = 21;}
    }
    So das bei z.B. 901-950 HP 19 Textdraws gezeigt werden. Sprich, den Text: Zustand: und 18 Balken.
    Habe alle erstellt, ausgelesen und auf gerundet.
    new Float:vHealth,
    row;
    GetVehicleHealth(vehicleID, vHealth);
    floatround(vHealth);
    Habe weder Fehler noch sonst irgendetwas, doch mir wird nichts angezeigt. Ich brauche nur nen Tipp damit ich die Zustandsanzeige sehen kann ^^


    Wäre sehr dankbar. MFG Acrio

    Wie bewege ich meine Camera hinter meinen Spieler? Habe schon mehrer Möglichkeiten versucht aber komme nicht auf die Lösung. Mein Problem ist das ich nicht mit
    SetCameraBehindPlayer(playerid);
    Arbeiten möchte, da die Camera sich dorthin bewegen soll. Mit SetPlayerCameraLookAt(playerid, X, Y, Z, CAMERA_MOVE);
    Bekomme ich sie schon mal hinter den Spieler. Doch liegt die dann so blöd darum und bewegt sich nicht mehr hintern dem Spieler her. Ich hoffe ihr versteht was ich meine.
    Wenn mir jemand sagen könnte wie ich die Camera mit CAMERA_MOVE an den Spieler bekomme, bitte meldet euch.


    MFG

    Hi, ich habe folgendes Problem. Ich möchte das wenn man auf den submit button drückt der text erstmal sofort eingeblendet wird. Genauere Abfragen mache ich später rein.
    Mein Problem:


    Ich habe eine externe .css Datei. Javascript sagt er kann den style von dem Objekt deshalb nicht auslesen. Habe es schon anderes versucht, mit css Datei öffnen lassen und dann davon die ObjectID lesen lassen aber das will er auch nicht. Gibt es noch eine andere Möglichkeit? Ich möchte bei meiner externen .css Datei bleiben. Ich möchte es nicht auf der normalen Seite lassen.
    Code könnte ich euch geben, da ich aber nicht weis welchen müsstet ihr mir sagen was ihr braucht. Ob die css, oder die .pp datei oder nur den javascript teil usw.
    Übrigens falls das wichtig sein sollte. Ich rufe Javascript nach dem Submitbutton mir PHP ('echo') auf.


    MFG Acrio

    Hi, ich habe eine Frage und zwar wie man auf seinem DayZ Epoch Server ein Adminmenu in Form des Scrollmenüs erstellen kann. Wie funktionen etc sind kein Problem. Aber wie bekomme ich das Menü angezeigt? Finde da leider auch kein Tutorial zu :(. Jedenfalls, wäre nett wenn mir jemand sagen könnte wie ich eine Funktion in das Scrollmenü einfügen kann und ggf. auch noch die Farbe davon ändern kann, von dieser einen Funktion.


    MFG Acrio

    Ist ein Selfmade und habe es nirgendwo reingeschrieben, ist auch sonst nirgendwo drin, sind ja auch nur 300 Zeilen, ein einfach Login/Registersystem auf SII basis.


    // Habe das Problem immer noch. abe das Script nach einer Pause neu geschrieben. Dieses Mal mit MySQL, aber bekomme trotzdem den selben Fehler wenn ich connecten will. Bei google kommt nur das zu viele bots connecten. Aber ich lasse keinen connecten. Und erstelle auch keinen etc. Woran kann das liegen?

    Es ist mein Register und Loginsystem. Ich habe es selbst geschrieben und das mit File or Function not found bezieht sich denke ich mal auf den gamemode, der aber da ist.


    //edit:: Sorry aber du hattest recht. habe mal das Plugin neu runtergeladen jetzt geht es. Danke dir.

    Hi, ich weis dieses Thema wurde wahrscheinlich schon x mal angesprochen aber ich finde die Lösung nicht. Bei den Vorschlägen die Google mir mache war immer falsche Groß/Kleinschreibung der Fehler. Dies trifft aber in meinem Fall nicht zu. Ich habe alles sehr oft überprüft aber komme auf keine Lösung. Der Compiler gibt mir auch keinen Fehler. Hat jemand von euch einen Vorschlag woran das liegen kann? Hier ist mal der Server log.



    Und bitte fangt nicht an mit du musst mal google benutzen oder ähnliches. Habe ich alles schon. Ich habe auch schon mitbekommen das gerade ein Thread da ist der das selbe Problem hat, aber der Thread ist ohne Antwort als erledigt markiert wurde, war das auch keine Hilfe. Also bitte helft mir bei meinem Problem.


    MFG Acrio

    Danke Prototype, die paar Kenntnisse habe ich eigentlich. Mit den alten mysql versionen kam ich super klar. Aber das Argument was einmal kam, das mit dem cache etc. alles etwas schneller wird wollte ich halt wechseln. Dann war ich halt am überlegen wie ich das machen soll mit dem callback. Naja, danke für deine Antwort...

    Hi Leute, kann mir mal kurz jemand noch einmal das mysql_function_query erklären? Verstehe es nicht so ganz nach dem Tutorial von der Seite hier. Jedenfalls ist mein Problem halt das wenn ich einfach nur fragen möchte ob der Account existiert oder nicht extra ein public erstellen möchte. Verstehe nämlich nicht wie ich das dann einbinden soll. Ich wollte nämlich dann abfragen:


    if(CheckAccount(playerid) == 1)


    Würde ja mit dem stock gut klappen. Aber mit dem stock und dem public? Weil so würde ich ja den stock aufrufen. Aber wie kann ich damit dann das public abfragen. Frage ich nur das public ab, dann wird der stock ja nicht ausgeführt. Hoffentlich hats jemand verstanden und kann mir helfen.


    MFG und Danke im Voraus


    Acrio