Beiträge von Jeffry

    Mach doch mal das LIMIT 1 weg, das hatte ich doch am Anfang schon weg gelassen.


    Und wenn das nicht geht ändere
    GetCash(playerid),
    zu
    money[playerid],



    Und wenn es immer noch nicht geht schalte den MySQL Debug an und poste was im Log steht.

    Im Anhang anfügen. Ich kann es zwar heute selbst nicht mehr testen, aber vielleicht macht es ja jemand anderes. Ansonsten prüfe ich deinen Record und den Code morgen.



    Du kannst bis dahin auch mal prüfen, ob der Code mit dem du den Spieler ins Auto setzt überhaupt aufgerufen wird.
    Wenn ja, kannst du das Auto auch mal an der Startposition des NPCs spawnen lassen.

    Bist du sicher, dass du es wieder rückgängig gemacht hast? Schau dir nochmal deine GetCash Funktion im Code an.
    Anderweitig kann ich mir es nicht erklären, als dass du dort return 1 stehen hast.


    Du kannst auch anstatt GetCash im query direkt money[playerid] schreiben.

    Vielleicht hast du den NPC doch aus Versehen als Fußgänger aufgenommen, obwohl du auf dem Motorrad warst.
    Nimm nochmal einen NPC auf (vrecord wenn du npcrecord verwendest) und füge den ein, anstatt die alte Aufnahme.


    Wenn es damit auch nicht klappt, poste den pwn Code des NPCs und die rec Datei.

    mysql_format(dbhandle,query,sizeof(query),"UPDATE `user` SET `admin`='%i',`spielern`='%i',`geld`='%i',`skin`='%i',`gebannt`='%i' WHERE id='%i' LIMIT 1",


    zu:
    mysql_format(dbhandle,query,sizeof(query),"UPDATE user SET admin='%i', spielern ='%i', geld='%i', skin='%i', gebannt='%i' WHERE id='%i'",


    Klappt es dann?
    Werden die anderen Sachen gespeichert?

    ocmd:test(playerid,params[])
    {
    SCM(playerid,Rot,"test");
    SetTimerEx("ShowMessage", 1000, 0, "dd", playerid, 0);
    return 1;
    }


    forward ShowMessage(playerid, num);
    public ShowMessage(playerid, num)
    {
    switch(num)
    {
    case 0: SCM(playerid,Rot,"test0");
    case 1: SCM(playerid,Rot,"test1");
    case 2: SCM(playerid,Rot,"test2");
    }
    num++;
    if(num <= 2) SetTimerEx("ShowMessage", 1000, 0, "dd", playerid, num);
    return 1;
    }

    Das kannste laut sagen, dass da was nicht stimmt.


    Setze mal noch vor
    SpielerSpeichern(playerid);
    im Befehl:
    printf("Cmd für: %d => Wanted: %d", pID, sDatei[playerid][pWanteds]);


    Und bei OnPlayerCommandText:
    printf(cmdtext);


    Dann führe den Befehl nochmal aus und poste den Log.

    public SpielerSpeichern(playerid)
    {
    printf("SpielerSpeichern: %d", playerid);
    new SpielerName[MAX_PLAYER_NAME], Account[200];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Account,sizeof(Account),"/Spielerdateien/%s.ini",SpielerName);
    printf("SpielerSpeichern: %s", Account);
    dini_IntSet(Account, "Alter", sDatei[playerid][pAlter]);
    dini_IntSet(Account, "Admin", sDatei[playerid][pAdmin]);
    dini_IntSet(Account, "Maske", sDatei[playerid][pMaske]);
    dini_IntSet(Account, "Spawn", sDatei[playerid][pSpawn]);
    sDatei[playerid][pSkin] = GetPlayerSkin(playerid);
    printf("Step 1");
    dini_IntSet(Account, "Skin", sDatei[playerid][pSkin]);
    dini_IntSet(Account, "pBan", sDatei[playerid][pBan]);
    dini_IntSet(Account, "pBanAdmin", sDatei[playerid][pBanAdmin]);
    dini_IntSet(Account, "pBanGrund", sDatei[playerid][pBanGrund]);
    dini_IntSet(Account, "pMember", sDatei[playerid][pMember]);
    dini_IntSet(Account, "pLeader", sDatei[playerid][pLeader]);
    dini_IntSet(Account, "pFRank", sDatei[playerid][pFRank]);
    dini_IntSet(Account, "pTimeban", sDatei[playerid][pTimeban]);
    dini_IntSet(Account, "pKopfgeld", sDatei[playerid][pKopfgeld]);
    dini_IntSet(Account, "pCash", sDatei[playerid][pCash]);
    dini_IntSet(Account, "pScore", sDatei[playerid][pScore]);
    printf("Step 2");
    dini_IntSet(Account, "pBlacklist", sDatei[playerid][pBlacklist]);
    dini_IntSet(Account, "pBlacklistName", sDatei[playerid][pBlacklistName]);
    dini_IntSet(Account, "pArrest", sDatei[playerid][pArrest]);
    printf("Step 3: pWanted = %d", sDatei[playerid][pWanteds]);
    dini_IntSet(Account, "pWanteds", sDatei[playerid][pWanteds]);
    printf("Step 4: pWanted = %d", sDatei[playerid][pWanteds]);
    dini_IntSet(Account, "pPerso", sDatei[playerid][pPerso]);
    dini_IntSet(Account, "pFuehrerschein", sDatei[playerid][pFuehrerschein]);
    dini_IntSet(Account, "pMotorradschein", sDatei[playerid][pMotorradschein]);
    dini_IntSet(Account, "pFlugschein", sDatei[playerid][pFlugschein]);
    dini_IntSet(Account, "pLKWschein", sDatei[playerid][pLKWschein]);
    dini_IntSet(Account, "pBootsschein", sDatei[playerid][pBootsschein]);
    dini_IntSet(Account, "pWaffenschein", sDatei[playerid][pWaffenschein]);
    dini_IntSet(Account, "pGWD", sDatei[playerid][pGWD]);
    dini_IntSet(Account, "pSFGWD", sDatei[playerid][pSFGWD]);
    dini_IntSet(Account, "pLWGWD", sDatei[playerid][pLWGWD]);
    dini_IntSet(Account, "pBank", sDatei[playerid][pBank]);
    dini_IntSet(Account, "pPayday", sDatei[playerid][pPayday]);
    dini_IntSet(Account, "pExp", sDatei[playerid][pExp]);
    dini_IntSet(Account, "pGesamtMinutes", sDatei[playerid][pGesamtMinutes]);
    dini_IntSet(Account, "pPlayMinutes", sDatei[playerid][pPlayMinutes]);
    dini_IntSet(Account, "pLSCcoins", sDatei[playerid][pLSCcoins]);
    dini_IntSet(Account, "pKills", sDatei[playerid][pKills]);
    dini_IntSet(Account, "pDeaths", sDatei[playerid][pDeaths]);
    dini_IntSet(Account, "pHandy", sDatei[playerid][pHandy]);
    dini_IntSet(Account, "pHandyNummer", sDatei[playerid][pHandyNummer]);
    sDatei[playerid][pLiveChat] = 0;
    sDatei[playerid][pReport] = 0;
    sDatei[playerid][pRPartner] = 0;
    sDatei[playerid][pLogged] = 0;
    BigEar[playerid] = 0;
    printf("Ende");
    return 1;
    }


    Was wird geprintet?
    Prüfe bitte, ob die playerid im print übereinstimmt, mit der die du eingegeben hast.

    Mal ne kleine Frage: Kann man ein Script reloaden, ohne den Server neu zu starten? ^^


    @CrashGamesDE: Ganz ohne Neustarten gehts nicht, entweder Ingame über den RCON Befehl /rcon gmx oder direkt in die Serverkonsole gmx schreiben


    Öh, doch? :D
    Filterscript heißt das Stichwort.



    => Erstelle deinen Code in einem Filterscript, dann kannst du den Filterscript über RCON reloadfs scriptname neu laden, ohne dass der Server neu gestartet wird, und ohne dass du einen GMX machen musst. Ich habe bei meinem Server zum Beispiel 99.9% des gesamten Codes in Filterscripts. Der Gamemode ist bei mir fast leer, dadurch muss ich nie den GMX machen, sondern kann in der Theorie alles ohne einen Neustart des Servers regeln.

    Unter welcher Funktion machst du das? Ich kann das in deinem OnPlayerDeath nirgends finden.
    Machst du es unter dem GW_OnPlayerDeath? Wenn ja, das hast du auskommentiert. Wenn nicht, poste wo du es machst und zeige den Code.