Beiträge von 4#Future

    Wunderbar.


    Dein Programm öffnet mein zuletzt bearbeitetes Script,
    in dem jede Menge Zeit und Arbeit stecken, speichert
    es als leere Datei ab (warum auch immer) und somit ist
    auch das compilen als leere AMX geendet.


    Was nun?


    Speichert Pawnfox zufällig Backups, der zu letzt geöffneten Scripts?


    Das kann ja wohl nicht war sein...

    Teste mal bitte, ob Fehler auftreten.

    #include <a_samp>


    ocmd:f(playerid, params[])
    {
    if(sscanf(params,"s",Chat)) return SendClientMessage(playerid,COLOR_GREY,"FEHLER: /f [chat]");

    if(SpielerInfo[playerid][pFraktion] == 1)
    {
    new string[128], Chat[128], tmpRank[50], playerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playerName, sizeof(playerName));

    switch(SpielerInfo[playerid][pRank])
    {
    case 0: tmpRank[] = "Cadet I";
    case 1: tmpRank[] = "Cadet II";
    case 2: tmpRank[] = "Officer I";
    case 3: tmpRank[] = "Officer II";
    case 4: tmpRank[] = "Officer III";
    case 5: tmpRank[] = "Stv. Ausbildungsleitung";
    case 6: tmpRank[] = "Ausbildungsleitung";
    case 7: tmpRank[] = "Stv. Dienstaufsichtsleitung";
    case 8: tmpRank[] = "Dienstaufsichtsleitung";
    case 9: tmpRank[] = "Presseleitung";
    case 10: tmpRank[] = "Sheriff Los Santos";
    case 11: tmpRank[] = "Polizei Vice President";
    case 12: tmpRank[] = "Polizei President";
    }

    format(string, sizeof(string), "[%s] %s: %s", tmpRank, playerName, Chat);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(SpielerInfo[i][pFraktion] == 1) SendClientMessage(playerid,COLOR_SPECIALBLUE,string);
    }

    return 1;
    }
    else return SendClientMessage(playerid, COLOR_GREY, "Du bist in keiner Fraktion.");
    }

    Ich habe Angst das es zu viele Ressoursen frisst


    Auch wenn euch immer eingeredet wird, dass alles zu viele
    Ressourcen frist und so schonend wie möglich programmiert
    werden sollte, musst du dir nicht über jede Kleinigkeit den
    Kopf zerbrechen.


    Mir fällt jetzt so spontan keine andere Möglichkeit ein.


    Vielleicht finden sich ja auch noch andere "Mitdenker".

    Das ist doch die simpelste Variante.


    Du könntest es dir auch komplizierter machen und die
    Position abfragen, wozu eine Funktion nötig wäre, die
    diese sekündlich überprüft.


    Weshalb möchtest du es denn gern anders machen?

    da PVars zwischen Filterscripts und Gamemode komunizieren können

    Seit wann tun das die Spielervariablen denn?
    Das wäre mir aber gewaltig neu...



    Was schreibst du eigentlich für einen Unsinn?


    Man sollte dich sofort wegen Spam verwarnen.
    Für dich Amateuer mal ein Link, wie die Abfrage der HP funktioniert.


    http://wiki.sa-mp.com/wiki/GetPlayerHealth


    Was ist wenn du onplayerdeath manuell ausführst und als killerid die playerid übergibst, oder den part wo der spieler durch einen anderen stirbt nochmal extra in einer var abspeicherst und dann aufrufst?

    Das ist die einzig wahre Antwort.


    Nochmal zusammengefasst:


    In der Funktion OnPlayerDeath() fragst du die Killer ID ab.
    Ist diese ID dann die ID deines Hitmans und die Player ID,
    die des Gesuchten, erfüllst du den Auftrag.


    Das ist doch nicht schwer oder?


    Wer kann dir sonst leider niemand helfen, da wir entsprechende
    Zeilen und Inhalte, sowie die Variablen dazu nicht kennen.
    :|

    Falls du dir doch vorstellen kannst es so zu lösen,
    kannst du meinen Schnippsel gern verwenden. Falls
    OCMD unbedingt nötig ist, kann ich leider nicht helfen.

    new cmd[20], var[20], idx = 0;
    cmd = strtok(cmdtext, idx);

    if(strcmp(cmd, "/einladung", true) == 0)
    {
    var = strtok(cmdtext, idx);
    if(!strlen(var)) SendClientMessage(playerid, -1, "[BENUTZE] /einladung [annehmen/ablehnen]");

    if(!strcmp(var, "annehmen", true))
    {
    //annehmen
    return 1;
    }

    if(!strcmp(var, "ablehnen", true))
    {
    //ablehnen
    return 1;
    }
    }

    Tut mir leid.


    Nicht MAX_PLAYERS_NAME sondern MAX_PLAYER_NAME.


    Da ist mir wohl ein s zu viel reingerutscht.


    ---


    Der String var muss natürlich auch deklariert werden.


    new var[20];