Beiträge von Kaliber

    money ist eine Zahl und kein String, da strfind für strings ist und das eine Zahl kannst du darin nichts suchen.


    Man muss hier keine Unterscheidung machen, kannst es einfach so schreiben:



    C
    stock GivePlayerMoneySave(playerid,money)
    {
        PlayerInfo[playerid][pCash] += money;
        GivePlayerMoney(playerid, money);
        return 0;
    }

    Denn wenn es negativ ist, passiert automatisch x + (-1) = x - 1


    Somit funktioniert das auch automatisch mit negativen Zahlen ;)

    Könnt ihr mir etwas düsteres empfehlen?

    Um meinen inneren Troll loszuwerden hier etwas düsteres:


    Wers erkennt und versteht kann ja mal liken, wer nicht, sowieso :D


    Aber was genau meinst du mit "dunkel"?
    Eher Religiös so mit Dämonen, Totenköpfen, Schwertern?
    Oder einfach nur dunkel in der Farbe?


    Und eher klein oder Groß?


    Es sei noch gesagt, sei vorsichtig wo und was du kaufst, denn wenn es deiner Perle net gefallen sollte, haste n Problem wenn du es nicht wieder umtauschen kannst, eventuell solltest du über etwas subtileres im Bereich der Romantik nachdenken und ihr dann noch einen Gutschein (Hier auch vorsichtig, viele Frauen wollen das nicht, weil es zu unpersönlich ist, andere finden das perfekt) schenken, damit sie selbst schauen kann :)

    Da musste die Variable global nutzen:


    new Text3D:taxi[sizeof(pTaxi)];



    //Dann in der Schleife
    taxi[i] = Create3DTextLabel(...);
    Attach3DTextLabel(taxi[i], ..);


    und dann ändern mit:


    C
    new string[128];
    format(string,sizeof(string),"Taxi Company\n\nFahrer: %s\nKosten: %d$",GetName(playerid),kosten);
    for(new i; i<sizeof(pTaxi); i++)
    {
        if(IsPlayerInVehicle(playerid, pTaxi[i][taxiVehicleID]))
        {
            Update3DTextLabel(taxi[i], -1, string);
            break;
        }
    }

    Naja, mit einer Schleife unter den Autos...zum Beispiel so:


    C
    for(new i,Text3D:tmp; i<sizeof(pTaxi); i++)
    {
        tmp = Create3DTextLabel("Taxi Company",0xFF4800FF, 0,0,0, 50.0,0,0);
        Attach3DTextLabelToVehicle(tmp, pTaxi[i][taxiVehicleID], 0.0, 0.0, 2.0);
    }

    Das hier reicht, da sscanf dir immer die ID gibt, auch wenn du den Namen eingibst:


    So schreiben:


    C
    public OnPlayerText(playerid, text[])
    {
        new string[128];
        format(string, sizeof(string), "%s sagt: %s", GetName(playerid), text);
        ProxDetector(20.0, playerid, string, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
        return 0;
    }

    Ach warte mal, jetzt kapier ich was du vor hast.


    Du willst f_ID und die Array Belegung egal wie 1:1 abbilden...dann machs einfach so:


    Anstatt dem hier:


    C
    cache_get_value_name_int(i, "id", fInfo[i][f_ID]);
    fInfo[i][f_VWorld] = fInfo[i][f_ID] + 100;
    cache_get_value_name_int(i, "Geld", fInfo[i][f_Geld]);
    //Etc


    Mach folgendes:


    C
    new id;
    cache_get_value_name_int(i, "id", id);
    fInfo[id][f_VWorld] = id + 100;
    cache_get_value_name_int(i, "Geld", fInfo[id][f_Geld]);

    Dann brauchste auch nicht f_ID, da das immer deinem Array Index entspricht.

    Ganz einfache Lösungsmöglichkeiten:


    • Du erstellst in der MySQL Datenbank auch Fraktion 5. Natürlich alles leer und mit name Test oder sowas. Das einzige was du dann beachten musst ist, dass da niemand reingesetzt werden kann.
    • Oder du machst dass Fraktion 6 zu Fraktion 5 wird. Anschließend wird später Fraktion 5 zu 6. Ich meine, das juckt niemanden welche ID da was hat.

    Ich kann mir nicht vorstellen das es jetzt an den fehlenden tabellen liegt.

    Ich kanns dir nicht sagen, das könntest du aber einfach feststellen, indem du bei den anderen Servern in den MySQL Logs schaust und wenn dieser identisch ist, muss es eine andere Fehlerquelle haben.


    Ich weiß nicht, ob du etwas am Skript geändert hast oder nicht.
    Aber dennoch sollten eigentlich keine Fehler auftreten im MySQL Log, da es ja so oder so zu fehlern kommt, egal ob man sie von außen sieht oder erst dann, wenn Daten durcheinander gebracht werden.


    Kann dir nur raten, versuch die Querys richtig zu machen und dann wenn keine Fehler mehr da sind und es immer noch nicht geht, muss es ein Skripttechnisches Problem sein.
    Dann bräuchte ich da mal die Codes von :)

    Ja..eh die Logs sind selbstsprechend...


    Schaut euch eure Querys nochmal an und welche Tabellen fehlen, erstellt diese und passt die Querys an ^^


    Ein Log sagt mehr als 1000 Worte..hahaha xD

    Ahh ja, mein Fehler, das Array beginnt ab 0, du startest ab 1.


    Also unter OnPlayerSpawn mach mal folgendes: