Beiträge von Jeffry

    So sollte es passen:
    new string[145],id=clickid[playerid] ;
    SpielerInfo[id][pBanned] = 1;
    format(SpielerInfo[id][pBanadmin], MAX_PLAYER_NAME, NamePlayer(playerid));
    format(SpielerInfo[id][pBangrund], 64, inputtext);
    new namee[MAX_PLAYER_NAME];
    GetPlayerName(id, namee, sizeof(namee));
    format(string,sizeof string,"Du hast %s gebannt.",namee);
    SendClientMessage(playerid, ROT, string);


    Bei mehrdimensionalen Arrays kannst du Strings nicht direkt zuweisen, du musst entweder format oder strcat verwenden.
    Außerdem wolltest du mit dem Name auf den Index zugreifen.

    Problem wurde behoben.
    Er hat den Spieler bei OnPlayerDeath in den Jail gesetzt und es mit einem Suizid getestet, allerdings auf killerid ungleich INVALID_PLAYER_ID abgefragt.


    Erledigt.


    Derek Westbrook: Setze den Thread bitte auf erledigt. Danke!

    Wie er ja ganz oben geschrieben hat, es ist nichts besonderes. Davon ausgehend, dass es funktioniert, ist es eine gute Basis auf die du aufbauen kannst.




    Spoiler anzeigen
    IPrototypeI: Lass doch bitte die Vollzitate von Posts. Das macht doch keinen Sinn, vor allem wenn es dazu noch der erste Post ist. :huh: 

    Hast du es mal versucht, ohne deinen Gamemode, dafür mit einem leeren Gamemode wie grandlarc? Wenn nicht, versuche das mal, ob es dann geht.


    Falls ja, returnst du im Gamemode bei OnPlayerCommandText vielleicht am Ende 1?

    Dann würde ich sagen du postest bei deinem anderen Thread dort mal die Codes vom Mieten hinzu, dann lässt sich das besser erklären., bzw. zeigen.

    Einfach so, wie ich dir es gegeben habe. So kannst du abfragen ob er in einem der Fahrzeuge ist.


    Zu deinem anderen Thread:
    Du hast da keine Rückmeldung gegeben, hast du den Code versucht?

    Also, anstatt den ganzen Oders kannst du dann einfach das Gesagte verwenden:
    if(141 <= GetPlayerVehicleID(playerid) <= 155)


    Hast du einen Link zu deinem anderen Thread?

    Würde das nicht relativ wenig Sinn machen, da die sich ja ändern können?
    Würde dann eben so aussehen:
    if(100 <= GetPlayerVehicleID(playerid) <= 110)
    {
    //Vehicle ID des Fahrzeugs ist zwischen 100 und 110.
    }


    Ich bin eher davon ausgegangen, dass er ein Array oder sowas hat, daher die Nachfrage.

    Du hattest die Variable bereits deklariert, deshalb der Fehler.
    if(strcmp("/carkey", cmdtext, true, 10) == 0)
    {
    new str_out[512];
    for(new i = 0; i < MaxVeh; i++)
    {
    if(Dtc_PlayerHaveCar[playerid][i])
    {
    format(str_out, sizeof(str_out), "%s%s\n", str_out, CarName[PlayerCar[playerid][i][CarModel]-400]);
    }
    else
    {
    format(str_out, sizeof(str_out), "%s-Leer-\n", str_out);
    }
    }
    ShowPlayerDialog(playerid, DIALOG_CARKEY, DIALOG_STYLE_LIST, "Carkeys", str_out, "Auswahl", "Abbrechen");
    return 1;
    }

    Mit diesem System ist es so zumindest nicht erkennbar, ob das Fahrzeug abgeschleppt wurde oder nicht, da müsstest du dem PlayerCar noch einen "Abgeschleppt" Status geben (PlayerCar[carowner][slot][Abgeschleppt] = 1).
    Ohne das würde es erst mal so aussehen:
    if(strcmp("/carkey", cmdtext, true, 10) == 0)
    {
    new string[512];
    for(new i = 0; i < MaxVeh; i++)
    {
    if(Dtc_PlayerHaveCar[playerid][i])
    {
    format(string, sizeof(string), "%s%s\n", string, CarName[PlayerCar[playerid][i][CarModel]-400]);
    }
    else
    {
    format(string, sizeof(string), "%s-Leer-\n", string);
    }
    }
    ShowPlayerDialog(playerid, DIALOG_CARKEY, DIALOG_STYLE_LIST, "Carkeys", string, "Auswahl", "Abbrechen");
    return 1;
    }


    OnDialogResponse:
    if(dialogid == DIALOG_CARKEY)
    {
    if(!response) return 1;
    new string[145];
    Dtc_PlayerKey[playerid] = listitem;
    if(Dtc_PlayerHaveCar[playerid][Dtc_PlayerKey[playerid]])
    {
    format(string, sizeof(string), "Du nimmst deinen %dten Auto-Schlüssel, für deinen %s!",Dtc_PlayerKey[playerid]+1,CarName[PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarModel]-400]);
    }
    else
    {
    format(string, sizeof(string), "Du nimmst deinen %dten Auto-Schlüssel, doch hast für diesen Schlüssel noch kein Auto!",Dtc_PlayerKey[playerid]+1);
    }
    SendClientMessage(playerid,COLOR_YELLOW,string);
    return 1;
    }



    Mit Abgeschleppt-Status:
    format(string, sizeof(string), "%s%s\n", string, CarName[PlayerCar[playerid][i][CarModel]-400]);
    zu:
    if(PlayerCar[carowner][i][Abgeschleppt] == 1) format(string, sizeof(string), "%s%s (Verwahrstelle)\n", string, CarName[PlayerCar[playerid][i][CarModel]-400]);
    else format(string, sizeof(string), "%s%s\n", string, CarName[PlayerCar[playerid][i][CarModel]-400]);

    Dann musst du die Größe angeben.
    s -> s[32] in sscanf.


    Spoiler anzeigen
    CMD:treasury(playerid,params[])
    {
    if(!IsLoggedIn(playerid))return 1;
    if(Spieler[playerid][pAdmin] < 6)return SendClientMessage(playerid, COLOR_GREY, "** Du besitzt nicht die benötigten Rechte.");
    new enter[32], wert, string[128];
    if(sscanf(params,"s[32]I(0)",enter,wert))
    {
    SendClientMessage(playerid, COLOR_GREY, "** Benutze /treasury [balance/deposit/withdraw/set] [value]");
    return 1;
    }
    if(strcmp(enter, "balance", true) == 0)
    {
    format(string, sizeof(string), "* In der Staatskasse sind %i$.", Others[Staatskasse]);
    SendClientMessage(playerid, COLOR_AM, string);
    return 1;
    }
    if(strcmp(enter, "deposit", true) == 0)
    {
    if(sscanf(params, "s[32]i", enter, wert))return SendClientMessage(playerid, COLOR_GREY, "** Benutze /treasury [balance/deposit/withdraw/set] [value]");
    format(string, sizeof(string), "* %s %s hat %i$ in die Staatskasse eingezahlt.", GetPlayerAdminName(playerid), GetName(playerid), wert);
    SendAdminMessage(COLOR_AM, string);
    Others[Staatskasse] += wert;
    GiveMoney(playerid, -wert);
    return 1;
    }
    if(strcmp(enter, "withdraw", true) == 0)
    {
    if(sscanf(params, "s[32]i", enter, wert))return SendClientMessage(playerid, COLOR_GREY, "** Benutze /treasury [balance/deposit/withdraw/set] [value]");
    format(string, sizeof(string), "* %s %s hat %i$ von der Staatskasse abgehoben.", GetPlayerAdminName(playerid), GetName(playerid), wert);
    SendAdminMessage(COLOR_AM, string);
    Others[Staatskasse] -= wert;
    GiveMoney(playerid, wert);
    return 1;
    }
    if(strcmp(enter, "set", true) == 0)
    {
    if(sscanf(params, "s[32]i", enter, wert))return SendClientMessage(playerid, COLOR_GREY, "** Benutze /treasury [balance/deposit/withdraw/set] [value]");
    format(string, sizeof(string), "* %s %s hat den Kontostand der Staatskasse auf %i$ gesetzt.", GetPlayerAdminName(playerid), GetName(playerid), wert);
    SendAdminMessage(COLOR_AM, string);
    Others[Staatskasse] = wert;
    return 1;
    }
    return 1;
    }