Beiträge von MaddDogg

    Denkst du, man kann damit irgendwas ohne dem dazugehörigen Code anfangen?


    Das einzige, was ich dir sagen kann, ist, dass du zu wenig oder zu viel Parameter in den Funktion angegeben hast.

    Das ist normal, dass sich die IP ändert. Das ist vom Anbieter absichtlich so gemacht und wenn du eine statische haben willst (du hast eine dynamische), müsstest du dir nen teuren Server Tarif holen.
    Somit, wenn du eine statische haben willst, lass dir gleich den Server hosten.

    Nein.
    Erstmal ist das hier sinnlos, weil es 2 mal die gleiche Bedingung ist:

    Code
    if (strcmp(cmdtext, "/m", true) == 0 || strcmp(cmdtext, "/m", true) == 0)


    Desweiteren würde er die Nachricht nur an dich senden, also musst du das SendClientMessage entweder durch ein SendClientMessageToAll austauschen oder du prüfst erst mit einer Schleife, wer sich in einer bestimmten Distanz zu dir befindet und schickst es dann nur an welche, die zB. 300m oder näher von dir entfernt sind.

    Es geht auch mit einem Wagen. Dazu musst du einfach eine weitere Bedingung hinzufügen, genauer gesagt:


    Code
    if(GetPlayerVehicleID(i) == deinauto)


    Und Geldbündel geht auch, nur wohl etwas komplizierter.
    Ich schätze mal, dass die einzige Möglichkeit die wäre, ständig die Positionen der Autos zu speichern und dann bei OnVehicleSpawn ein Pickup an der zuletzt gespeicherten Position zu setzen. Dieses sollte dann aber per Timer nach ca. 1-2 Minuten zerstört werden, sonst ist hinterher alles voll mit Geldpickups.

    Erstmal kannst du den Schaden mit einem Timer und einer Funktion überprüfen. In der Funktion ist dann sowas wie:

    Code
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerInAnyVehicle(i))
    {
    if(GetVehicleHealth(GetPlayerVehicleID(i)) < 300)
    {
    // hier dann die "Effekte"
    }
    }
    }


    Ich glaube, du kannst aber nicht den "Verantwortlichen" für den Schaden ausfindig machen, genauso wenig, wie wenn du den Schützen haben willst, wenn einer angeschossen worden ist.

    Ich glaube der erste Schritt wäre ne kleinere Schrift.


    Außerdem gibt es standardmäßig kein wirkliches Adminsystem. Also entweder du scriptest dir eins oder nimmst ein fertiges, gibt genug.
    Desweiten gibt's noch IsPlayerAdmin, welches true zurückgibt, wenn derjenige RCON Admin ist.

    Hmm, also ich würde mal strget mit zB. strtok ersetzen, um die ID zu bekommen.
    So kannst du mal sehen, ob's wirklich daran liegt.


    Also:


    Code
    if(!strcmp(cmd, "/whois")) {
    new tmp[20] = strtok(cmdtext, idx);
        new pid = strval(tmp);
        if(IsPlayerConnected(pid))
            printf("Clear");
        else
            printf("error");
        return 1;
    }

    Hi!
    Ich habe hier eine Menge Daten für ein Script und wollte diese in einen großen Array packen.
    Die Werte in der 2. Dimension haben aber unterschiedliche Größen, von 34 bis 44.
    Nun wollte ich mit einem enum das Problem lösen, was mir aber nicht gelungen ist.
    Desweiteren wollte ich aber nicht einfach der Dimension verpassen, weil dann dort, wo nur 34 Werte sind, 10 überflüssige Speicherplätze sind, die ja auch noch Unterdimensionen haben.


    Jetzt möchte ich gerne wissen, ob das folgende überhaupt möglich ist.


    Hier die Initialisierung:

    Code
    new buslinedata[busline_enum][buslinecoords_enum] = ...


    Die enums dazu:


    Wäre nett, wenn mir einer erklären könnte, wie ich das hinbekomme.


    Greets,
    Madd

    Das mit den Fraktionsfarben ist sehr einfach.
    Da musst du einfach nur, falls du bereits einen switch hast, folgendes in diesen unter OnPlayerRequestClass einfügen:


    Code
    // switch Zeugs
    
    
    case 2: // Dritter Skin
    {
    SetPlayerColor(playerid, 0x8E8F08CC);
    }


    Falls du nicht weißt, was ein switch ist, poste ichs dir auch noch.



    Countdown hab ich jetzt mal aus meinem GM genommen, sollte aber gehen:


    Das hier in den Befehl für den CMD:

    Code
    countdowntimer = SetTimerEx("countdownpost", 1000, 1, "i", freezebool);


    Und hier die Funktion:



    Das wäre jetzt allerdings mit Freeze Möglichkeit, wo alle Spieler gefreezt werden würden.
    Aber ich denke, wenn du etwas vom Scripten verstehst, weißt du, wie du das herausnimmst, falls du es nicht brauchst.