Beiträge von Kaliber

    Das liegt an der forEach Funktion.


    Diese ist quasi abgekapselt.


    Das return darin beendet weder die Funktion, noch gibt es irgendwas zurück.


    In diesem Fall solltest du eine normale For-Schleife nutzen.


    Zum Beispiel:


    JavaScript
    getPlayerByNameOrID: (arg) =>
        {
            for(var player of mp.players) {
                if(player.id === arg || player.name === arg) return player;
            }
            return undefined;
        }

    Mein Aktueller Code ist die ganze Zeit 0 warum

    Weiiil du nicht den Code nutzt, den ich gezeigt habe, sondern


    pInfo[playerid][pBankcode] verwendest.


    Schreib oben in dein Skript:



    #define MAX_CODE_LEN 3


    //Dann im Enum:
    pBankcode[MAX_CODE_LEN]


    //Dann in Zeile 10:
    if(c < MAX_CODE_LEN-1)


    //Und in Zeile 8:
    pInfo[playerid][pBankcode][c] = i;

    Was hat dies zu sagen? Soll ich für das verstecken der Textdraws es so lassen und für die anderen Funktionen OnPlayerClickPlayerTextDraw benutzen?

    Richtig.


    Wenn ESC geklickt wird, musst du es unter OnPlayerClickTextDraw lassen.


    Alle anderen Abfragen in den anderen Callback.


    Also das Hide so lassen, wie du es hattest.



    if(PlayerText:playertextid == Text:JamKeyNum[i][playerid])

    Hier musst du das so schreiben:


    if(playertextid == PlayerText:JamKeyNum[i][playerid])

    Sind das denn überhaupt TextDraws oder verwendest du PlayerTextDraws? ^^


    Ansonsten nutze doch einfach print und debugge.


    Schau ob der Callback aufgerufen wird, schau ob clickedid einer JamKeyNum[i][playerid] entspricht...


    oder hast du es vielleicht anders deklariert..also JamKeyNum[playerid][i]?


    Kenne ja deinen Code leider nicht ^^

    Danke, jetzt siehts so aus:

    Du kannst ja auch nicht diesen String formatieren.



    C
    public OnPlayerText(playerid, text[])
    {
        new string[144+1];
        format(string, sizeof(string),"%s %s sagt: %s",RemoveUnderscore(UserAccDaten[playerid][user_acc_RPVorName]), RemoveUnderscore(UserAccDaten[playerid][user_acc_RPNachName]),text);
        SendClientMessage(playerid,GRAU,string);
        return 0;
    }

    PS: SendClientMessage sendet nur die Nachricht an dich...entweder SendClientMessageToAll oder SendClientMessageToRange oder so :)

    Einfach nur sowas:


    Warum? Das Fahrzeug spawnt auch bei mir usw.

    Du hast zu wenige Parameter angegeben, du hast die ZAngle (Die Richtung in die das Fahrzeug zeigt) vergessen.


    CreateVehicle(411,slx,sly,slz,0.0,3,3,-1);


    Das Fahrzeug spawnt auch so, weil die 3 als Angle genommen wurde...dadurch wurde aber -1 nur 2. Farbe...und das Auto weiß nun nicht genau, wann es respawnen soll haha xD

    Egal wie ich es mache wen ich die Fahrzeuge Abgeschleppt sind sollten die nicht erstellt werden.

    Du fragst ja nirgends ab, ob es abgeschleppt wurde oder nicht.


    Und die Virtuelle Welt und das Interior von dem Fahrzeug speichern, ist vllt nicht nötig, aber wenn, dann musst du es auch irgendwo setzen, das tust du nämlich gar nicht ^^

    hab ich nichts bei Google gefunden

    ..rly


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    https://forums.gta5-mods.com/t…nvalid-without-openiv-asi


    https://steamcommunity.com/app…ons/0/535151589905851743/

    Hallöle an Alle,


    ja, das Thema ist ein alter Schuh, schon aus dem Jahr 2010: https://forum.sa-mp.com/showthread.php?t=172085


    Ist mir bewusst, allerdings habe ich gesehen, dass es kein Include gibt für diese Funktion.


    Zwar gibt es viele Beispiele, wie es implementiert wurde, aber meistens nicht gut bzw nicht direkt nutzbar.


    Der Clue daran ist, dass die Berechnung kontinuierlich stattfinden muss, was bei einer einzelnen Funktion nicht gegeben ist.


    Viele updaten das über OnPlayerUpdate, was viel zu übertrieben ist, da das nur jede Sekunde theoretisch geupdatet wird und nicht 1000x in der Sekunde.


    Der Punkt ist, da die Timer nicht ganz akkurat laufen in Pawn (ohne Timerfix), muss man den Timer etwas frequentierter ansetzen, aber das ist dennoch wesentlich performanter (also 4x die Sekunde, anstatt über 1000x).


    Oftmals wird das auch über PVars gelöst, was in diesem Fall nicht unbedingt eine gute Wahl wäre, da der Wert oft geupdatet wird und immer benötigt wird.


    Source-Code: PasteBin
    Direkter-Download: MediaFire


    Will man die Include in einem Filterscript nutzen, muss man #define FILTERSCRIPT übers Include packen :)


    Die Include macht die Funktion direkt nutzbar, ohne dass man sich um das Updaten sorgen machen muss.


    In diesem Sinne, vielleicht hilft es ja dem Ein oder Anderem.


    Viel Spaß noch allen beim Skripten und einen schönen Tag! :good: