Beiträge von Jeffry

    ocmd:untie(playerid, params[])
    {
    new pID, string[70];
    if(sscanf(params, "u", pID)) return SendClientMessage(playerid, -1, "Tippe: /untie [Spielername / ID]");
    if(!IsUntied[pID]) return SendClientMessage(playerid, -1, "Dieser Spieler ist nicht Gefesselt.");
    if(IsPlayerInAnyVehicle(pID)) return SendClientMessage(playerid, -1, "Du kannst diesen Spieler nicht Entfesseln.");
    TogglePlayerControllable(pID, true);
    format(string, sizeof(string), "* Du hast den Spieler %s befreit.", returnName(pID));
    SendClientMessage(playerid, -1, string);
    format(string, sizeof(string), "* Du wurdest von den Spieler %s entfesselt.", returnName(playerid));
    SendClientMessage(pID, -1, string);
    IsUntied[pID] = false;
    return 1;
    }


    Den stock und die Variable brauchst du nicht nochmal.

    public OnPlayerRequestClass(playerid, classid)
    {
    printf("playerid: %d | classid: %d", playerid, classid);
    switch(classid)
    {
    case 0,1,2: gTeam[playerid] = Team_Grove;
    case 3,4,5: gTeam[playerid] = Team_Ballas;
    case 6,7,8: gTeam[playerid] = Team_Rifa;
    case 9,10,11: gTeam[playerid] = Team_Vagos;
    case 12,13,14: gTeam[playerid] = Team_RM;
    case 15,16,17: gTeam[playerid] = Team_Triaden;
    case 18,19,20: gTeam[playerid] = Team_Yakuza;
    case 21,22,23: gTeam[playerid] = Team_LSPD;
    default: gTeam[playerid] = Team_LVPD;
    }
    printf("OnPlayerRequestClass: gTeam: %d", gTeam[playerid]);
    SetPlayerPos(playerid, 1544.5765,-1374.9022,330.0627);
    SetPlayerCameraPos(playerid, 1544.7670,-1372.3767,329.4535);
    SetPlayerCameraLookAt(playerid, 1544.5765,-1374.9022,330.0627);
    SetPlayerFacingAngle(playerid,359.0336);
    return 1;
    }

    Ah, das true muss natürlich false sein, da habe ich nicht drauf geachtet.
    TogglePlayerControllable(pID, true);
    zu:
    TogglePlayerControllable(pID, false);

    Was steht im Server Log, wenn du es so machst?
    public OnPlayerRequestClass(playerid, classid)
    {
    printf("playerid: %d | classid: %d", playerid, classid);
    switch(classid)
    {
    case 0,1,2: gTeam[playerid] = Team_Grove;
    case 3,4,5: gTeam[playerid] = Team_Ballas;
    case 6,7,8: gTeam[playerid] = Team_Rifa;
    case 9,10,11: gTeam[playerid] = Team_Vagos;
    case 12,13,14: gTeam[playerid] = Team_RM;
    case 15,16,17: gTeam[playerid] = Team_Triaden;
    case 18,19,20: gTeam[playerid] = Team_Yakuza;
    case 21,22,23: gTeam[playerid] = Team_LSPD;
    default: gTeam[playerid] = Team_LVPD;
    }
    printf("OnPlayerRequestClass: gTeam: %d", gTeam[playerid]);
    return 1;
    }

    Nicht ganz, so:
    new bool:IsTied[MAX_PLAYERS];
    returnName(playerid)
    {
    new name[24];
    GetPlayerName(playerid, name, 24);
    return name;
    }
    ocmd:tie(playerid, params[])
    {
    new pID, string[70];
    if(sscanf(params, "u", pID)) return SendClientMessage(playerid, -1, "Tippe: /tie [Spielername / ID]");
    if(IsTied[pID]) return SendClientMessage(playerid, -1, "Dieser Spieler ist bereits Gefesselt.");
    if(IsPlayerInAnyVehicle(pID)) return SendClientMessage(playerid, -1, "Du kannst diesen Spieler nicht Fesseln.");
    TogglePlayerControllable(pID, false);
    format(string, sizeof(string), "* Du hast den Spieler %s gefesselt.", returnName(pID));
    SendClientMessage(playerid, -1, string);
    format(string, sizeof(string), "* Du wurdest von den Spieler %s gefesselt.", returnName(playerid));
    SendClientMessage(pID, -1, string);
    IsTied[pID] = true;
    return 1;
    }


    Achte darauf, dass nächstes mal nicht alles in einer Zeile steht.

    Mache den Befehl so:
    if(strcmp("/vagosbase", cmdtext, true) == 0)
    {
    printf("Team: %d",gTeam[playerid]);
    if(gTeam[playerid] == Team_Vagos)
    {
    SetPlayerPos(playerid,1676.4503,-2119.4880,13.5469,318.5719,24);
    SendClientMessage(playerid,0x00FF00FF, " Du hast dich zu deinem Spawn teleportiert");
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du bist kein Vagos");
    }
    return 1;
    }


    Dann gehe ins Spiel und gebe den Befehl ein.


    Dann poste was im server_log.txt (Hauptordner) ganz unten steht.

    Du darfst nicht das "all" anzeigen, das muss weg, so:
    if(strcmp(cmd, "/zolls", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gTeam[playerid] == 2 || IsACop(playerid))
    {
    if(OnDuty[playerid] == 1)
    {
    new stringzoll[1024];
    if(zolltorvar == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (1): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (1): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar1 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (2): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (2): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar2 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (3): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (3): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar3 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (4): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (4): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar4 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (5): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (5): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar5 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (6): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (6): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar6 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (7): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (7): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar7 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (8): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (8): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar8 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (9): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (9): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar9 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (10): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (10): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar10 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (11): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (11): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar11 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (12): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (12): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar12 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (13): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (13): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar13 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (14): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (14): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar14 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (15): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (15): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar15 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (16): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (16): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar16 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (17): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (17): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar17 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (18): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (18): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar18 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (19): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (19): {F81414}Zoll Geschlossen\n",stringzoll);
    if(zolltorvar19 == 0) format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (20): {6EF83C}Zoll Geöffnet\n",stringzoll);
    else format(stringzoll, sizeof(stringzoll), "%s{FFF000}Zoll (20): {F81414}Zoll Geschlossen\n",stringzoll);
    ShowPlayerDialog(playerid,DIALOG_ZOLLS,DIALOG_STYLE_LIST,"Zolls", stringzoll,"Checkpoint","Beenden");
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Sie sind nicht im Dienst.");
    return 1;
    }
    }
    }
    return 1;
    }


    Wenn es noch immer nicht geht, poste bitte mal einen anderen Befehl, der geht.

    Denke nicht, dass das was bringt.
    Versuche es mal so:
    public OnPlayerClickTextDraw(playerid, Text:clickedid)
    {
    static lastClicked[MAX_PLAYERS];
    if(_:clickedid == INVALID_TEXT_DRAW && lastClicked[playerid] + 100 < GetTickCount())return SelectTextDraw(playerid, 0x00FF00FF);
    lastClicked[playerid] = GetTickCount();
    if(clickedid == TeamTextDraw[4])
    {
    if(PlayerInfo[playerid][p_Team] == 1)return SendClientMessage(playerid, COLOR_GREY, " Du gehörst schon zum Team der Gangster.");
    PlayerInfo[playerid][p_Team] = 1;
    SendClientMessage(playerid, COLOR_RED, " Du hast dich für den Gangster entschieden.");
    CancelSelectTextDraw(playerid);
    for(new i=0; i < 12; i++)TextDrawHideForPlayer(playerid, TeamTextDraw[i]);
    return 1;
    }
    if(clickedid == TeamTextDraw[6])
    {
    if(PlayerInfo[playerid][p_Team] == 2)return SendClientMessage(playerid, COLOR_GREY, " Du gehörst schon zum Team der Polizsten.");
    PlayerInfo[playerid][p_Team] = 2;
    SendClientMessage(playerid, COLOR_BLUE, " Du hast dich für den Polizisten entschieden.");
    CancelSelectTextDraw(playerid);
    for(new i=0; i < 12; i++)TextDrawHideForPlayer(playerid, TeamTextDraw[i]);
    return 1;
    }
    if(clickedid == TeamTextDraw[11])
    {
    for(new i=0; i < 12; i++)TextDrawHideForPlayer(playerid, TeamTextDraw[i]);
    CancelSelectTextDraw(playerid);
    return 1;
    }
    return 1;
    }

    Versuche es mal so:
    public OnPlayerStreamIn(playerid, forplayerid)
    {
    if(IsACop(forplayerid) && WantedLevel[playerid] >= 1)
    {
    format(stringx, sizeof(stringx), " %s \n Wantedlevel: %d ", SpielerName(playerid), WantedLevel[playerid]);
    WantedLabel[playerid] = CreatePlayer3DTextLabel(forplayerid, stringx, 0xC50000FF,0.0,0.0,0.5, 30.0, playerid,INVALID_VEHICLE_ID, 0);
    }
    return 1;
    }
    Entferne den alten Code und füge diesen Code ganz unten in deinem Gamemode ein (letzte Zeile).

    Versuche es so:
    static bool:created[MAX_PLAYERS][MAX_PLAYERS];
    if(Spieler[i][pWanteds] > 0 && DM[i][7] == 2)
    {
    new Float:X, Float:Y, Float:Z,text[256];
    GetPlayerPos( i, X, Y, Z );
    format(text,sizeof(text),"[%d] %s\nWanteds: %i",i,SpielerName(i),Spieler[i][pWanteds]);
    for(new cop=0; cop<MAX_PLAYERS; cop++)
    {
    if(DM[cop][7] == 1 && !created[cop][i])
    {
    printf("Erstelle Label an %d für ID %d", i, cop);
    //WantedLabel[cop][i] = CreatePlayer3DTextLabel(cop, text, 0xFFFF00FF, 0, 0, 0, 30.0, i, INVALID_VEHICLE_ID, 1);
    WantedLabel[cop][i] = Create3DTextLabel(text, COLOR_YELLOW, X, Y, Z, 30.0, 8, 1);
    Attach3DTextLabelToPlayer(WantedLabel[cop][i], i, 0.0, 0.0, 0.7);
    created[cop][i] = true;
    }
    }
    }
    else
    {
    for(new cop=0; cop<MAX_PLAYERS; cop++)
    {
    if(DM[cop][7] == 1)
    {
    //DeletePlayer3DTextLabel(cop,WantedLabel[cop][i]);
    Delete3DTextLabel(WantedLabel[cop][i]);
    created[cop][i] = false;
    }
    }
    }

    Was genau hat das damit zu tun?
    Du kannst zwar Arrays nutzen, anstatt die ganzen einzelnen Variablen, das bringt dir hier aber so kaum einen Vorteil und du müsstest alles umschreiben, was die Tore angeht.

    Das Problem wird sein, dass du viel zu viele lokale Arrays auf einmal deklarierst.
    Mache es so:
    if(strcmp(cmd, "/zolls", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gTeam[playerid] == 2 || IsACop(playerid))
    {
    if(OnDuty[playerid] == 1)
    {
    new string[1024];
    if(zolltorvar == 0) format(string, sizeof(string), "%s{FFF000}Zoll (1): {6EF83C}Zoll Geöffnet\n",string);
    else format(string, sizeof(string), "%s{FFF000}Zoll (1): {F81414}Zoll Geschlossen\n",string);
    if(zolltorvar1 == 0) format(string, sizeof(string), "%s{FFF000}Zoll (2): {6EF83C}Zoll Geöffnet\n",string);
    else format(string, sizeof(string), "%s{FFF000}Zoll (2): {F81414}Zoll Geschlossen\n",string);
    //...
    //Restliche auffüllen
    //...
    if(zolltorvar19 == 0) format(string, sizeof(string), "%s{FFF000}Zoll (20): {6EF83C}Zoll Geöffnet\n",string);
    else format(string, sizeof(string), "%s{FFF000}Zoll (20): {F81414}Zoll Geschlossen\n",string);
    ShowPlayerDialog(playerid,DIALOG_ZOLLS,DIALOG_STYLE_LIST,"Zolls", all,"Checkpoint","Beenden");
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Sie sind nicht im Dienst.");
    return 1;
    }
    }
    }
    return 1;
    }