Beiträge von SqueezyZ

    Guten Abend,


    ich habe ein sehr fatalen Serverfehler, den ich nicht behoben bekomme:


    Zuerst zu den Ressourcen & das was ich nutze:


    - ich habe eine MySQL Datenbank wo alle User in dem Table "accounts" gespeichert werden
    - ich lasse den Gamemode auf einem Linux Root Server laufen


    Fallbeispiel:


    Der Spieler "Hans" ID = 11 connected auf den Server, loggt sich ein und spielt.
    Nach 30 Minuten hat "Hans" keine lust mehr und loggt sich aus.
    Direkt nach dem Logout von "Hans" connected "Thomas", ein anderer Spieler auf den Server.
    Da die ID 11 nun nicht mehr vergeben ist, da "Hans" den Server verlassen hat, bekommt nun "Thomas" die ID 11.


    Das Problem ist nun, dass "Thomas" jetzt die komplett gleichen Statistiken wie "Hans" hat bekommt.



    Die Frage ist nun, ob das ein MySQL-Fehler ist oder was sonst falsch läuft.


    Bitte um Hilfe! :huh:

    Ich habe auf meinem Server die Stats in dialogform gemacht, was meiner Meinung nach übersichtlicher aussieht.


    Auf jeden Fall funktioniert soweit alles, bis auf das Gehalt der jeweiligen Fraktionen:



    new gstring[128];
    new geld;
    switch(pInfo[i][pFraktion])
    {
    case 0: format(gstring,sizeof (gstring),geld = 0);
    case 1: format(gstring,sizeof (gstring),geld = pInfo[i][pRang] * 800);
    case 2: format(gstring,sizeof (gstring),geld = pInfo[i][pRang] * 700);
    case 3: format(gstring,sizeof (gstring),geld = pInfo[i][pRang] * 550);
    case 4: format(gstring,sizeof (gstring),geld = pInfo[i][pRang] * 750);
    case 5: format(gstring,sizeof (gstring),geld = pInfo[i][pRang] * 750);
    case 6: format(gstring,sizeof (gstring),geld = pInfo[i][pRang] * 720);
    case 7: format(gstring,sizeof (gstring),geld = pInfo[i][pRang] * 700);
    case 8: format(gstring,sizeof (gstring),geld = pInfo[i][pRang] * 1);
    case 9: format(gstring,sizeof (gstring),geld = pInfo[i][pRang] * 680);
    case 10: format(gstring,sizeof (gstring),geld = pInfo[i][pRang] * 650);
    case 11: format(gstring,sizeof (gstring),geld = pInfo[i][pRang] * 650);
    case 12: format(gstring,sizeof (gstring),geld = pInfo[i][pRang] * 650);
    case 13: format(gstring,sizeof (gstring),geld = pInfo[i][pRang] * 650);
    }


    Im Dialog (string-kette) wird es so ausgegeben:


    format(string, sizeof string, "%s{FF00FF}Gehalt: {00FF00}%i$ \n{FF00FF}Job/Harz IV: {00FF00}%i$ \n{FF00FF}Zinsen:{00FF00} %i$ {FF00FF}Coins:{00FF00} %i",string, gstring,jgehalt,zinsen,coinp)



    Die Fehler die kommen:
    D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn(24614) : error 035: argument type mismatch (argument 3)
    D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn(24615) : error 035: argument type mismatch (argument 3)
    D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn(24616) : error 035: argument type mismatch (argument 3)
    D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn(24617) : error 035: argument type mismatch (argument 3)
    D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn(24618) : error 035: argument type mismatch (argument 3)
    D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn(24619) : error 035: argument type mismatch (argument 3)
    D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn(24620) : error 035: argument type mismatch (argument 3)
    D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn(24621) : error 035: argument type mismatch (argument 3)
    D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn(24622) : error 035: argument type mismatch (argument 3)
    D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn(24623) : error 035: argument type mismatch (argument 3)
    D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn(24624) : error 035: argument type mismatch (argument 3)
    D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn(24625) : error 035: argument type mismatch (argument 3)
    D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn(24626) : error 035: argument type mismatch (argument 3)
    D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn(24627) : error 035: argument type mismatch (argument 3)
    D:\Domi\Spiele\GTA San Andreas\Selfmade\gamemodes\inventar.pwn(24627) : warning 204: symbol is assigned a value that is never used: "geld"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    14 Errors.

    Wenn ich diesen Code herausnehme, geht alles:


    if(newkeys & KEY_WALK)
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    ShowPlayerDialog(playerid, DIALOG_AUTOSYS, DIALOG_STYLE_LIST, "Autofunktionen", "{FFFFFF}Licht ( {1BE04C}An/{E01B53}Aus {FFFFFF})\nMotorhaube ({1BE04C}Öffnen/{E01B53}Schließen{FFFFFF})\nKofferraum ({1BE04C}Öffnen/{E01B53}Schließen{FFFFFF}", "Auswählen", "Schließen");
    return 1;
    }
    return 1;
    }


    Was ist da nur los?! :huh:

    Hey Leute,


    beim Drücken der Taste (linkes ALT) erscheint der Dialog (DIALOG_AUTOSYS) nicht :/


    Callback:
    OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    if(newkeys & KEY_WALK)
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    ShowPlayerDialog(playerid, DIALOG_AUTOSYS, DIALOG_STYLE_LIST, "Autofunktionen", "{FFFFFF}Licht ( {1BE04C}An/{E01B53}Aus {FFFFFF})\nMotorhaube ({1BE04C}Öffnen/{E01B53}Schließen{FFFFFF})\nKofferraum ({1BE04C}Öffnen/{E01B53}Schließen{FFFFFF}", "Auswählen", "Schließen");
    return 1;
    }
    return 1;
    }


    Wieso? :o

    Hey Leute,


    bein Eingeben des folgenden Befehl's kommen zwar die Nachrichten im richtigen Format, jedoch erhält der Spieler nicht den eingegebenen Rank:


    ocmd:giver(playerid,params[])
    {
    new string22[128];
    new pID, rank;
    if(sscanf(params,"ui",pID,rank))return SCM(playerid, ROT,"/agiverank [Spieler] [Rang]");
    if(!isPlayerAnAdmin(playerid,4)) return SCM(playerid,ROT,"Du darfst diesen Befehl nicht nutzen!");
    if(rank < 0 || rank > 6 ) return SCM(playerid,ROT,"Der Rank muss zwischen 1 (Neuling) und 6 (Leader) sein!");
    pInfo[pID][pRank] = rank; // <---- Funktionert nicht
    SendClientMessagef(pID, COLOR_YELLOW, "[AdmMsg] %s gab dir Fraktions-Rank %i",SpielerName(playerid),rank);
    format(string22,sizeof(string22),"[AdmMsg] %s hat %s Fraktions-Rank %i gegeben!",SpielerName(playerid),SpielerName(pID),rank);
    ABroadCast(ROT,string22,1);
    return 1;
    }


    Seht ihr einen Fehler?