Beiträge von Kaliber

    Finde ich eine gute Idee, gibt ja schon viele Umsetzungen, aber sieht trotzdem schick aus :)


    Als kleine Information, es wäre besser, wenn du char-Arrays Nutzt, dadurch würdest du die .amx kleiner halten durch die ganzen Arrays ^^


    Und noch ein kleiner Verbesserungsvorschlag:



    Das ist doch ein sehr langer Code...für etwas, was man auch einfach so darstellen kann:


    stock TabletLadezeit(playerid) {
    TabletLadePunkt[playerid]++;
    PlayerTextDrawShow(playerid,TabletLadeDraw[(TabletLadePunkt[playerid] < 7)?(TabletLadePunkt[playerid]):(TabletLadePunkt[playerid]-6)]);
    if(TabletLadePunkt[playerid] == 11) TabletLadePunkt[playerid]=0;
    }



    Achso und bei der Erstellung deiner TextDraws, das macht zwar keinen Unterschied, nur ein wenig von der Übersicht, ehm du kannst da gut mit Makros arbeiten, dann musst du z.B. nur 1ne Zeile, anstatt 8 schreiben...und das auf die ganzen TextDraws gerechnet, macht das schon einen gewaltigen Zeilenunterschied aus ^^


    mfg. :thumbup:

    new text[200];


    Wie wäre es so, ohne extra Variable:


    CMD:ashow(playerid,params[]) {
    if(!IstSpielerAdmin(playerid,3)) return SCM(playerid,weiss,"Sie haben keine Berechtigung.");
    if(!params[0]) return SCM(playerid,-1,"Nutze /ashow [Text]");
    strcat(params,"''",200),strins(params,"Admin Ankündigung: ''",0,200);
    return InfoTextForAll("Admin Ankündigung",params,5000);
    }


    Zitat

    stock InfoTextForAll(overview[50],text[200],time)


    Schreib das lieber so:


    stock InfoTextForAll(overview[],text[],time)


    Bringt doch nichts... :rolleyes:


    mfg. :thumbup:

    Mit freundlichen Grüßen, Toby.


    Also, da kann man so einiges kürzen und verbessert schreiben, hier mal umgeschrieben, kannst ja mal vergleichen:


    http://pastebin.com/EbY50fGM


    Da hat man wenigstens nur 1ne Varibale und 1nen Timer ^^


    PS: Achso, du hast auch einige Fehler gemacht, z.B. returnst du nicht immer 1 unter OnPlayerKeyStateChange..sprich nicht immer wird im anderen Skript auch der Callback aufgerufen.


    mfg. :thumbup:


    //Edit: Habe es getestet, funktioniert einwandfrei :)
    Fehler den ich zuvor gemacht hatte:


    x != x; //das geht nicht
    x = !x; //So geht es :D

    value = GetPlayerSpeed(playerid);
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 520 && value >= 250)
    {
    printf("%d", value); //238


    Hahaha :D


    Das ist unmöglich :D


    Ehm...hast du das Skript auch kompiliert und bist du dir sicher, dass das die einzige if-Abfrage ist, wo du genau das abfragst? :huh:


    mfg. :rolleyes:

    Animationen müssen vorgeladen werden ;)


    Am besten machst du unter OnPlayerConnect das hin:


    //Das oben ins Skript:
    #define PreloadAnimLib(%0,%1) ApplyAnimation(%0,%1,"null",0.0,0,0,0,0,0)


    //Unter OnPlayerConnect:
    PreloadAnimLib(playerid,"BOMBER");


    mfg. :thumbup:

    Hoffe mir kann jemand Helfen


    Hier, schreib mal den ganze Command so:


    ocmd:su(playerid,params[]) {
    if(!isPlayerInFrakt(playerid,1)) return SendClientMessage(playerid,-1,"{FF3034}Du bist kein Cop!");
    new pID,Grund,name2[MAX_PLAYER_NAME],string[128];
    if(sscanf(params,"ud",pID,Grund))return SendClientMessage(playerid,-1,"{FF3034}Server: {FFFFFF}/su [Id/Name][Grund]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,-1,"{FF3034}Ein Spieler mit dieser ID ist nicht online!");
    GetPlayerName(pID,name2,sizeof(name2));
    switch(Grund) {
    case 0: format(string,sizeof(string),"Du hast %s 1 Wanted gegeben. Grund: Zollflucht",name2);
    case 1: format(string,sizeof(string),"Du hast %s 1 Wanted gegeben. Grund: Beamtenbeleidigung",name2);
    case 2: format(string,sizeof(string),"Du hast %s 1 Wanted gegeben. Grund: Verweigerung",name2);
    case 3: format(string,sizeof(string),"Du hast %s 1 Wanted gegeben. Grund: Flucht",name2);
    }
    return SetPlayerWantedLevel(pID,GetPlayerWantedLevel(pID) +1),SendClientMessage(playerid,BLAU,string);
    }


    mfg. :thumbup:

    Alles darüber spuckt mehrere Errors aus


    Liest du eigentlich was ich schreibe? :huh:


    private static extern IntPtr WP_Hash(char[] hash);


    public Form1() {
    char[] mychar = "x".ToCharArray();
    String x = WP_Hash(mychar).ToString();
    }


    Du sollst das Lokal initalisieren :pinch:


    mfg. :wacko:

    Das oben ist genauso, und das funktioniert?


    WIe meinst du Global ?


    Du darfst die Variable nicht Global initialisieren...


    //Hier ist global


    public test() {
    //Hier ist eine Lokale Ebene 1
    if(blub()) {
    //Hier Lokale Ebene 2
    }
    }


    und du musst sie in einer Lokalen Ebene initialisieren, kannst aber die Variablen an sich auch global deklarieren :)


    mfg. :thumbup:

    Am IntPtr?


    Quatsch :wacko:


    Du bist auch ein Trottel...hast du das etwa alles global dahin geklatscht? :D


    private static extern IntPtr WP_Hash(char[] hash); //Das muss global


    //Initialisiere das einfach im Konstruktor, dann funktioniert das:
    char[] mychar = "x".ToCharArray();
    String x = WP_Hash(mychar).ToString();


    mfg. :rolleyes: