Beiträge von Logan

    dazu kann ich leider keine aussage genau machen das musst du testen ich sehe hier keinen fehler beim laden als auch beim auslesen .
    wird ihrgend was in der log angezeigt
    oder wenn du es per server.log haben willst.


    Code
    public OnQueryError( errorid, error[], callback[], query[], connectionHandle ){
        printf("EID: %d | Error: %s | callback: %s | Query: %s", errorid, error, callback, query);
        return 1;
    }


    Zum testen schau einfach mal das du die Sachen in der tabelle einträgst es könnte auch sein das du ein kleinen fehler gemacht hast in der ordnung
    beim laden zum beispiel.


    Hallo,
    den Callback habe ich schon in meinem GM. Er gibt mir keinen Query Error aus. ich glaube eher die "Methode" müsste falsch sein.


    MFG

    erhöhe mal deine Heapspace
    mit #pragma dynamic


    Sowas kann davon kommen , wenn man zu viele zu große Variabeln erstellt oder diese dann global sind .
    Das könnte unteranderem daran liegen das du viele (große) Variabeln erstellst und oder sie Global sind.


    Hallo, das ist jetzt nicht mehr nötig, da die Warnungen jetzt nicht mehr kommen.
    Jedoch wird das Geld immer noch nicht ordnungsgemäß geladen. Wenn ich in der Tabelle was einstelle, wird es nicht in der Textdraw Leiste angezeigt, sondern immer 0, daher ist
    danach auf immer wieder 0 in der Tabelle.
    Speichere oder Lade ich das Geld falsch ?


    MFG

    Jo Leute,
    habe heute mal versucht das Textdraw der clientseitigen Geldanzeige zu überdecken, habe ich auch mit nem eigenen Textdraw jetzt gemacht.
    Jedoch soll ja jetzt das aktuelle Geld immer beim Textdraw angezeigt werden. Dazu habe ich GivePlayerMoney ersetzt durch die, mit den serverseitigen Variablen.
    Jedoch wird das Geld nie richtig angezeigt. Ich glaube auch, dass ich es falsch lade, denn nach dem speichern ist es in der Datenbank wieder automatisch auf 0.
    Das Crashdetect Plugin spuckt mir das aus:

    Zitat

    [14:06:12] [debug] Run time error 3: "Stack/heap collision (insufficient stack size)"
    [14:06:12] [debug] Stack pointer (STK) is 0xF1B6C, heap pointer (HEA) is 0xF1B40
    [14:06:12] [debug] #806 0002ed18 in public OnPlayerLoaded () from efrp.amx


    Jedoch gebe ich da nur das Geld:
    Und zwar so:
    cache_get_row(0,4,data); SpielerInfo[playerid][pGeld] = strval(data);


    Speichern tue ich so:
    format(query,sizeof query,"UPDATE `accounts` SET `Name` = '%s',`Passwort` = '%s',`Level` ='%d',`Kills` ='%d',`Tode` ='%d',`Fraktion` ='%d',`Leader` ='%d',`Banned` ='%d',`Admin` ='%d',`Geld` ='%d',",SpielerInfo[playerid][pName],SpielerInfo[playerid][pPasswort],SpielerInfo[playerid][pLevel],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode],SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pLeader],SpielerInfo[playerid][pBanned],SpielerInfo[playerid][pAdmin],SpielerInfo[playerid][pGeld]);
    format(query2,sizeof query2,"`Tutorial` = '%d',`Alter` = '%d',`Geschlecht` = '%d',`Banner` = '%s',`Grund` = '%s',`GPCI` = '%s',`Timebann` = '%d',Muted ='%d' WHERE `Name` = '%s'",SpielerInfo[playerid][pTutorial],SpielerInfo[playerid][pAlter],SpielerInfo[playerid][pGeschlecht],SpielerInfo[playerid][pBanner],SpielerInfo[playerid][pGrund],SpielerInfo[playerid][pGpci],SpielerInfo[playerid][pTimebann],SpielerInfo[playerid][pMuted],SpielerInfo[playerid][pName]);
    strcat(query,query2);
    mysql_function_query(mysql_connectionhandle,query,false,"","");


    Meine "Ersetzen" Funktionen:
    stock LA_SetPlayerMoney(playerid,amount) {
    SpielerInfo[playerid][pGeld] = amount;
    GivePlayerMoney(playerid,amount);
    new str[40];
    format(str,sizeof str,"%d Euro",SpielerInfo[playerid][pGeld]);
    TextDrawSetString(GeldAnzeige[playerid],str);
    return true;
    }


    stock LA_GivePlayerMoney(playerid,amount) {
    SpielerInfo[playerid][pGeld] += amount;
    GivePlayerMoney(playerid,SpielerInfo[playerid][pGeld]);
    new str[40];
    format(str,sizeof str,"%d Euro",SpielerInfo[playerid][pGeld]);
    TextDrawSetString(GeldAnzeige[playerid],str);
    return 1;
    }


    stock LA_ResetPlayerMoney(playerid) {
    SpielerInfo[playerid][pGeld] = 0;
    ResetPlayerMoney(playerid);
    new str[40];
    format(str,sizeof str,"%d Euro",SpielerInfo[playerid][pGeld]);
    TextDrawSetString(GeldAnzeige[playerid],str);
    return 1;
    }


    stock LA_GetPlayerMoney(playerid) {
    return SpielerInfo[playerid][pGeld];
    }


    Ich hoffe ihr könnt helfen.


    Mfg

    Einen String unter OnPlayerCommandText deklarieren und formatieren auf cmdtext.
    Dann statt return 0; ein return str;
    Bsp:

    Code
    public OnPlayerCommandText(.....)
    {
         new str[60];
         format(str,sizeof str,"Der Befehl %s wurde nicht gefunden. Benutze /help!",cmdtext);
         return str;
    }


    MFG

    Hallo,
    beim Rollenspielen legst du nicht "wirklich" Wert auf Realheit. Immer ein Fehler, Roleplay mit
    Reallife gleichzusetzen. Beim Rollenspielen hingegen, schlüpfst du in die Rolle eines fiktiven
    Charakters und versuchst deine eigene,individuelle Lebensgeschichte zu durchleben.


    MFG

    Hallo ,
    macht das lieber nicht, das der Typ der mich abgezogen hat. Seine masche ihr sollt ihm alles beibringen, er gibt euch nen falschen PSC Code und blockiert euch.
    Beweise bei meinem letzt eroffneten Thread .


    MFG

    Gerade Querys mit UPDATE würde ich Threaded laufen lassen. Da diese länger brauchen als eine SELECT Anfrage. Besonders wenn man eine schlecht aufgebaute Tabelle hat und mit dem Namen als WHERE abfrage speichern will, bei 5000 einträgen kann das schonma länger dauern

    Mag ja sein ( Ich selber weiß nicht was am meisten benötigt), aber oben habe ich ja geschrieben, dass man UPDATE Querys nicht threaded laufen lassen sollte, sondern nur, dass die Cache Funktionen nur bei SELECT Abfragen sinnvoll sind.


    MFG

    Das ist kein "komisches Laufen", das sind bloß die individuellen Laufstile der jeweiligen Skins und verhindern dass du mit dem CJ Laufstil zickzack mega ultra schnell läufst. Mit UsePlayerPedAnims(); kannst du für alle Skins die CJ Laufanimation verwenden.


    MFG

    Hat jemand mal nen Beispiel für mich wie ich YCMD richtig anwende. Also nicht nur pure Commands sondern auch mit der eingebaten HELP Library etc, denn immer wenn ich mit YCMD: einen Befehl erstelle kommt immer unknown command, aber der Befehl geht :O


    MFG

    Also die Beschränkung der Zeichen auf 128 ist schon etwas doof. Ich meine, wenn man seine Passwörter wie ich hasht, wird der Speicher da schon "voll" sein.
    Und nun ja, die Include ist ja noch etwas fehlerhaft :D


    MFG