Beiträge von Kaliber

    den er mehr als 6 hat, um 2 Sekunden länger die Animation hat ?

    Zum Beispiel so:



    new length = strlen(text);
    if(length > 6) length = (length-6)*500; //Du solltest nur pro Zeichen nur 500ms machen..bei 100 Zeichen...würde der ja über ne Minute da stehen und labern
    ApplyAnimation(playerid,"PED","IDLE_CHAT",4.1,0,0,0,0,2000+length);

    Der Bot soll nur connecten, wenn der Spieler die Prüfung macht, das klappt ja bis jetzt nur das er nicht als Beifahrer sitzt und nicht den Skin ändert...

    Das deutet darauf hin, dass deine Abfrage unter OnPlayerSpawn falsch ist...

    Der Connected nicht instant...


    und

    • new npcname[MAX_PLAYER_NAME];
    • GetPlayerName(playerid, npcname, sizeof(npcname));
    • if(!strcmp(npcname, "MotorradBeifahrer", true))

    Damit prüfst du ob playerid (und das ist der Spieler selbst in dem Fall) diesen Namen hat...was Quatsch ist...


    Für NPCs musst du noch paar extra Dinge machen, zum einen schauen, dass er nicht in deine Dialog Abfragen stolpert von wegen Passwort...etc


    und dann unter OnPlayerSpawn prüfe ob es ein NPC ist und ob er diesen Namen hat und setze ihn dann in das Auto :)


    Normalerweise sollte dies funktionieren :)

    Nichts für Ungut, aber das sieht nicht so doll aus.


    • Zum einen sind die Anfangsfarben sehr Grell wenn man auf der Startseite ist.
    • Wenn man Zoomt (bzw einen kleinen Bildschirm) hat, verschiebt sich dein ganzes Design.
    • Impressum, das sieht grauenhaft aus...viel zu große Schrift...creepy Schriftart...nicht schön.
    • Kästen..schrecklich..
    • Die value im input nicht setzten sondern evtl mit placeholder arbeiten ^^
    • Leaderliste zu transparent...
    • Wie schon gesagt wurde, das Test-Pw ist falsch.

    Nach meiner Auffassung, solltest du das nochmal etwas überarbeiten :)

    Ändert sich etwas wenn ich das auslasse?

    Ja :D
    Das ist ein bitshift Operator.


    Er shiftet die Zahl 8 Bits nach rechts.



    new a=0b111111111;
    printf("%09b (%d) | %09b (%d)",a,a,a >>> 8,a >>> 8);
    //Output: 111111111 (511) | 000000001 (1)


    //Edit: Falls du dich fragst wieso man das hier macht:


    Man will den Alpha Wert entfernen:



    new a=0xFF4800FF;
    printf("%09b (%x) | %09b (%x)",a,a,a >>> 8,a >>> 8);
    //Output: 11111111010010000000000011111111 (FF4800FF) | 111111110100100000000000 (FF4800)


    Wie du siehst wird aus 0xFF4800FF = 0xFF4800

    auch public wird es nicht erkannt

    ...hast wohl bei dem OOP scheiß nicht richtig aufgepasst.


    Um auf die Variable Klassenübergreifend zuzugreifen gibt es mehrere Möglichkeiten...


    Entweder (und dafür muss die Variable in jedem Fall public sein) so:



    Hauptfenster f = new Hauptfenster();
    f._VZ //Dann kannste so auf die Variable zugreifen...müsste dann aber im Konstruktor initialisiert werden...


    Oder du machst die Variable statisch:



    public static Verzeichnis _VZ;


    //Dann kannste so darauf zugreifen:
    Hauptfenster._VZ

    Deine Schleife ist falsch :D


    Sobald ein Spieler nicht connected ist, bricht die ab...


    Entwender du nutzt einfach foreach oder du machst es so:


    #define LOOP_PLAYERS(%0) for(new %0=GetPlayerPoolSize(); %0!=-1; %0--) if(IsPlayerConnected(%0))

    Ich war mal so frei und hab dir so ein kleines Programm erstellt :)



    Wenn du da auf Settings gehst, kannst du einen Ordner Pfad auswählen, dort würde er dir dann eine Textdatei mit dem Namen counter.txt anlegen.
    Wenn du nichts auswählst, wird dir das nur auf der GUI angezeigt (im Programm da auf der Oberfläche).


    Um hochzuzählen musst du folgende Taste drücken:



    Um den Counter zurück zu setzen, geh einfach auf Datei -> Reset.


    Viel Spaß damit :)

    Wieso machst du es dir so umständlich? :x


    Ich meine "dynamisch" ist dein System so oder so nicht, da du permanent was im Skript ergänzen musst...


    Ganz ehrlich, da machs lieber direkt statisch, das ist wesentlich schneller und effizienter :D