Beiträge von Kaliber

    Printe dir mal den query den du sendest und dann für ihn evtl mal in phpmyadmin aus und dann schau ob es da funktioniert.


    Oder du schaust mal in den mysql log. bzw aktivierst den mit mysql_log(ALL); unter OnGameModeInit und schaust, was er dir so alles ausgibt :)


    Ein Screen evtl was in der Datenbank steht wäre dann auch gut :)

    Achso, dann so:


    Ja, einfach wenn der Server mal neugestartet werden sollte bzw mit einem restart Befehl vorher sowas wie:


    SaveAllFraks() oder so aufrufen und in der Funktion speicherst du alle Fraktionen.


    Wenn du auch das zu unsicher ist, kannst du auch direkt beim ändern ein Update Query ausführen oder alle 30min die Funktion aufrufen.


    Das ist ja dir überlassen, wie man allgemein etwas speichert sollte dir bekannt sein, da du ja per MySQL laden kannst...


    Mit einem UPDATE Query einfach alles speichern.

    Also eine kurze Erklärung:


    Es wäre gut möglich sowas mit einem switch zu machen. Im Spoiler ist das Beispiel dafür:



    Aber wie du siehst, würde das ziemlich lang werden.
    Man kann hier auch tricksen. Da bei deinem enum das erste Element in diesem Fall f_id die ID 0 hat und dann hochgezählt wird um 1 immer, hat also f_Rank1 die id 9.


    Folglich könntest du es einfach so machen:



    Damit der Trick auch in Zukunft immer funktioniert, einfach im Enum bitte jetzt wenn etwas neues hinzukommt unten anfügen ^^


    Wenn dir das zu unsicher ist, kannst du auch Methode 1 verwenden :)

    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;
    }