Problem mit Notruf annahme

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Abend,


    ich habe ein kleines Problem mit einem Befehl.


    Der Befehl soll die Fraktion "Feuerwehr" verständigen was auch klappt.
    Jedoch lässt sich der Notruf nicht von der Fraktion annehmen.
    Es kommt immer nur die Meldung "Der Spieler benötigt die Feuerwehr nicht"


    Kann mir jemand dabei helfen?


    Oben im Script:


    new pServiceFeuerwehr[MAX_PLAYERS];


    Der Befehl zum rufen:



    CMD:feuerwehr(playerid, params[])
    {
    new count = 0;
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(IsLoggedIn(i))
    {
    if(Spieler[i][pFraktion] == 10)count++;
    }
    }
    if(count == 0)return SendClientMessage(playerid, COLOR_GREY, "Es sind keine Feuerwehrleute verfügbar.");
    if(GetPlayerInterior(playerid) > 0)return SendClientMessage(playerid, COLOR_GREY, "Du darfst dich nicht im Interior aufhalten.");
    if(GetPlayerVirtualWorld(playerid) > 0)return SendClientMessage(playerid, COLOR_GREY, "Du darfst dich nicht im Interior aufhalten.");
    new string[128], ort[36];
    GetPlayer2DZone(playerid, ort, 36);
    format(string, sizeof(string), "MELDUNG ** %s benötigt die Feuerwehr in %s (/acceptfeuerwehr).", GetName(playerid), ort);
    SendFraktionMessage(10, COLOR_ORANGE, string);
    pServiceFeuerwehr[playerid] = 1;
    SendClientMessage(playerid, COLOR_ORANGE, "Du hast die Feuerwehr gerufen, bitte warte auf eine Antwort ...");
    return 1;
    }




    Der Befehl zum annehmen:




    CMD:acceptfeuerwehr(playerid, params[])
    {
    new option[16], pID, string[128];
    if(Spieler[playerid][pFraktion] != 10)return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Feuerwehrmann.");
    if(pServiceFeuerwehr[pID] == 0)return SendClientMessage(playerid, COLOR_GREY, "Der Spieler benötigt die Feuerwehr nicht.");
    if(GetPlayerInterior(pID) > 0)return SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist in einem Interior. Ortung nicht möglich.");
    if(GetPlayerVirtualWorld(pID) > 0)return SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist in einem Interior. Ortung nicht möglich.");
    format(string, sizeof(string), "%s hat deine Meldung entgegengenommen und ist nun auf dem Weg zu dir.", GetName(playerid));
    SendClientMessage(pID, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "Du hast die Meldung von %s angenommen, mach dich auf den Weg zu ihm/ihr.", GetName(pID));
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    pServiceFeuerwehr[pID] = 0;
    new Float:pos[3];
    GetPlayerPos(pID, pos[0], pos[1], pos[2]);
    SetPlayerCheckpointEx(playerid, pos[0], pos[1], pos[2], 4.0, CP_SERVICEFEUERWEHR, CP_TYPE_FEUERWEHR);
    }


    Vielen Dank im voraus!

  • Versuch es mal so



    CMD:feuerwehr(playerid, params[])
    {
    new count = 0, string[128], ort[36];

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsLoggedIn(i))
    {
    if(Spieler[i][pFraktion] == 10)
    {
    count++;
    }
    }
    }
    if(count == 0)return SendClientMessage(playerid, COLOR_GREY, "Es sind keine Feuerwehrleute verfügbar.");
    if(GetPlayerInterior(playerid) > 0 || GetPlayerVirtualWorld(playerid) > 0)return SendClientMessage(playerid, COLOR_GREY, "Du darfst dich nicht im Interior aufhalten.");


    pServiceFeuerwehr[playerid] = 1;
    GetPlayer2DZone(playerid, ort, 36);

    format(string, sizeof(string), "MELDUNG ** %s benötigt die Feuerwehr in %s (/acceptfeuerwehr).", GetName(playerid), ort);
    SendFraktionMessage(10, COLOR_ORANGE, string);

    SendClientMessage(playerid, COLOR_ORANGE, "Du hast die Feuerwehr gerufen, bitte warte auf eine Antwort ...");
    return 1;
    }


    CMD:acceptfeuerwehr(playerid, params[])
    {
    new option[16], pID, string[128], Float:pos[3];

    if(sscanf(params, "u", pID))return SendClientMessage(playerid, COLOR_GRAD2, "/acceptfeuerwehr [Spieler]");
    if(Spieler[playerid][pFraktion] != 10)return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Feuerwehrmann.");
    if(!IsLoggedIn(pID))return SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist nicht eingeloggt.");
    if(pServiceFeuerwehr[pID] == 0)return SendClientMessage(playerid, COLOR_GREY, "Der Spieler benötigt die Feuerwehr nicht.");
    if(GetPlayerInterior(pID) > 0 || GetPlayerVirtualWorld(pID) > 0)return SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist in einem Interior. Ortung nicht möglich.");

    pServiceFeuerwehr[pID] = 0;
    GetPlayerPos(pID, pos[0], pos[1], pos[2]);
    SetPlayerCheckpointEx(playerid, pos[0], pos[1], pos[2], 4.0, CP_SERVICEFEUERWEHR, CP_TYPE_FEUERWEHR);


    format(string, sizeof(string), "%s hat deine Meldung entgegengenommen und ist nun auf dem Weg zu dir.", GetName(playerid));
    SendClientMessage(pID, COLOR_LIGHTBLUE, string);

    format(string, sizeof(string), "Du hast die Meldung von %s angenommen, mach dich auf den Weg zu ihm/ihr.", GetName(pID));
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    return 1;
    }

  • Versuch es mal so


    CMD:feuerwehr(playerid, params[]){ new count = 0, string[128], ort[36]; for(new i = 0; i < MAX_PLAYERS; i++) { if(IsLoggedIn(i)) { if(Spieler[i][pFraktion] == 10) { count++; } } } if(count == 0)return SendClientMessage(playerid, COLOR_GREY, "Es sind keine Feuerwehrleute verfügbar."); if(GetPlayerInterior(playerid) > 0 || GetPlayerVirtualWorld(playerid) > 0)return SendClientMessage(playerid, COLOR_GREY, "Du darfst dich nicht im Interior aufhalten."); pServiceFeuerwehr[playerid] = 1; GetPlayer2DZone(playerid, ort, 36); format(string, sizeof(string), "MELDUNG ** %s benötigt die Feuerwehr in %s (/acceptfeuerwehr).", GetName(playerid), ort); SendFraktionMessage(10, COLOR_ORANGE, string); SendClientMessage(playerid, COLOR_ORANGE, "Du hast die Feuerwehr gerufen, bitte warte auf eine Antwort ..."); return 1;}CMD:acceptfeuerwehr(playerid, params[]){ new option[16], pID, string[128], Float:pos[3]; if(sscanf(params, "u", pID))return SendClientMessage(playerid, COLOR_GRAD2, "/acceptfeuerwehr [Spieler]"); if(Spieler[playerid][pFraktion] != 10)return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Feuerwehrmann."); if(!IsLoggedIn(pID))return SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist nicht eingeloggt."); if(pServiceFeuerwehr[pID] == 0)return SendClientMessage(playerid, COLOR_GREY, "Der Spieler benötigt die Feuerwehr nicht."); if(GetPlayerInterior(pID) > 0 || GetPlayerVirtualWorld(pID) > 0)return SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist in einem Interior. Ortung nicht möglich."); pServiceFeuerwehr[pID] = 0; GetPlayerPos(pID, pos[0], pos[1], pos[2]); SetPlayerCheckpointEx(playerid, pos[0], pos[1], pos[2], 4.0, CP_SERVICEFEUERWEHR, CP_TYPE_FEUERWEHR); format(string, sizeof(string), "%s hat deine Meldung entgegengenommen und ist nun auf dem Weg zu dir.", GetName(playerid)); SendClientMessage(pID, COLOR_LIGHTBLUE, string); format(string, sizeof(string), "Du hast die Meldung von %s angenommen, mach dich auf den Weg zu ihm/ihr.", GetName(pID)); SendClientMessage(playerid, COLOR_LIGHTBLUE, string); return 1;}

    Vielen Dank, du hast mir weitergeholfen!