Beiträge von Kaliber

    Das sieht für mich schon fast nach einem Syncro Problem aus...


    Kannst ja mal aus Spaß einen Leeren Gamemode schreiben, wo du das so verwendest und dann mal testest, wenn es da funktioniert, impliziert das ein Syncro Problem.


    Das kann entstehen, wenn zu viel unter OnPlayerUpdate ist oder wenn da return 0; zurückgegeben wird.



    //Edit:

    Evtl kannst sogar über das Profiler Plugin mal ermitteln, wie das bei deinem Server so ist.

    Das reicht leider nicht, da 4 Charactere pro Account erstellt werden sollen.

    Achsooo, das hast du da vor.


    Ufff, dann kannst du das nicht so machen, da ja accountid immer gleich wäre pro Spieler (also hätten 4 Charaktere die selbe accountid jeweils).

    Bei character_pos beziehst du dich auf die accountid, was ja aber nicht mehr funktioniert, da wir nun 4x die Gleiche accountid hätten.


    Da muss der Primary Key z.B. aus 2 Spalten wie accountid & slot bestehen, damit das eindeutig referenzierbar wäre.

    Was zur Hölle machst du da?


    Kommt es dir nicht merkwürdig vor 80x das Selbe Query zu schicken für nix?


    Und das eine SELECT Query verläuft im Sande...


    Das würde als Querys vollkommen reichen.


    Allerdings wieso nutzt du da schon cache_insert_id? Wird das alles etwa schon über ein mysql query aufgerufen?


    Vielleicht eröffnest du auch mal einen separaten Thread dafür, da immer 1000x hin und her Antworten im Sammelthread echt nervig ist, vor allem, wenn jemand nochmal so ein Problem hat, kann man ihn nicht auf etwas konkretes verweisen.


    Und vllt solltest du wie gesagt dir nochmal die Basics o.ä. erklären lassen, vllt bietet sich ja einer hier an dir ein wenig Nachhilfe zu geben oder so.


    Dieses tausendfache ausprobieren was du hier tust, bringt dir nur sehr sehr schleppend voran, zumal du dann meist vermutlich gar nicht weißt, wieso es überhaupt geklappt hat.

    und es kamen immer wieder neue verkackte Fehler, wie der hier jetzt wieder

    Zeex hat Compiler-Erweiterungen gemacht: https://github.com/pawn-lang/compiler/releases


    Den musst du anstatt des Pawno Compilers nutzen, damit YSI all seine krassen Funktionalitäten entfalten kann.


    Kannst dir ja auf der Github Page mal paar Vorteile davon anschauen, ist ein krasses Ding, sollte eig standardmäßig für Pawn & SA:MP eingesetzt werden.


    Vielleicht mache ich mal eine Tutorial Reihe für YSI & den Zeex Compiler :)

    Aber wieso kommt an jeden ATM

    Tatsächlich nicht bei Allen, nur bei allen Anderen, als dem Ersten :D


    Das liegt daran, dass du das Else in der Schleife hat und er somit beim ersten falschen darein geht, anstatt den Rest zu prüfen.


    Kannst es z.B. so lösen:




    C
            for (new i; i < sizeof(ATMInfo); i++)
            {
                if(IsPlayerInRangeOfPoint(playerid,3.0, ATMInfo[i][atm_x], ATMInfo[i][atm_y], ATMInfo[i][atm_z]))
                {
                    ShowPlayerDialog(playerid,DIALOG_ATMROB,DIALOG_STYLE_LIST,"ATM-Rob-Methoden","Gas einleiten & sprengen\nAufknacken","Auswählen","Abbrechen");
                    return 1;
                }
            }
            return SendClientMessage(playerid,COLOR_RED,"Du bist nicht in der Nähe eines Geldautomaten!");

    Also mal ein paar Tipps:


    1. Arbeite nicht mit GOTO. Dadurch erzeugst du nur Spaghetticode und es ist eine Qual das zu lesen (und es kommt leicht zu Fehlern).
    2. Lass SQL für dich die Arbeit machen und nutze LIKE.
    3. Dann kannst du über den MySQL Callback direkt den Dialog erstellen.

    Der Vorteil der neuen MySQL Versionen ist ja, dass sie asynchron arbeiten, da brauchst dir keine Sorgen mehr um Server-Delays machen etc.