>> Swatduty Befehl geht nicht. <<

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Hallo Mein Swatduty Befehl geht nicht.
    Wenn ich Ingame /swatduty eingebe, dann bekomme ich nur den Swat Skin aber mehr nicht.
    Und wenn ich das Nochmal eingebe dann wieder. Woran kann das Liegen ? Habt ihr da vielleicht eine Idee ?


    ocmd:swatduty(playerid,params[])
    {
    new string[128];
    if(!IsPlayerInFrac(playerid,1))return 1;
    if(!IsPlayerInRangeOfPoint(playerid,4.0,220.7069,109.1577,1003.2188)&&!IsPlayerInRangeOfPoint(playerid,4.0,1553.8889,-1637.0688,6.2188)&&!IsPlayerInRangeOfPoint(playerid,4.0,-2949.8298,1771.3398,23.8950))return ErrorMsg(playerid,"Du kannst hier nicht im SWAT-Duty gehen.");
    if(OnDuty[playerid]==0)return ErrorMsg(playerid,"Du kannst nur in Dienst in SWAT Duty gehen.");
    if(PlayerInfo[playerid][swat]==0)return ErrorMsg(playerid,"Du bist nicht für den Swatdienst eingeteilt..");
    if(OnSwat[playerid]==0)
    {
    SetPlayerSkin(playerid,285);
    GivePlayerWeapon(playerid,31,800);
    GivePlayerWeapon(playerid,20,34);
    GivePlayerWeapon(playerid,46,1);
    format(string,sizeof(string),"HQ: %s hat den SWAT-Dienst begonnen.",MeinName(playerid));
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsACop(i))
    {
    SendClientMessage(i,0x2a77a1AA,string);
    }
    }
    }
    OnSwat[playerid]=1;
    }
    else if(OnSwat[playerid]==1)
    {
    format(string,sizeof(string),"HQ: %s hat den SWAT-Dienst beendet.",MeinName(playerid));
    OnSwat[playerid]=0;
    SetPlayerSkin(playerid,1);
    OnDuty[playerid]=0;
    SetPlayerColor(playerid,0xFFFFFFFF);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsACop(i))
    {
    SendClientMessage(i,0x2a77a1AA,string);
    }
    }
    }
    }
    return 1;
    }

  • Hallo,


    viele Sachen sieht man nicht direkt mit dem Auge. Deswegen habe ich deinen Befehl jetzt einfach mal nachgebaut. Wenn es jetzt immer noch nicht geht, melde dich bitte bei mir per PN und wir machen das via. TS 3 und TeamViewer. Allerdings dann aber schnell. Muss arbeiten etc.



    ocmd:swatduty(playerid, params[])
    {
    new string[128];

    if (!IsPlayerInFrac(playerid, 1))
    {
    SendClientMessage(playerid, 0xFFFFFFFF, "Du befindest dich nicht in der richtigen Fraktion.");
    }
    else
    {
    if (!IsPlayerInRangeOfPoint(playerid,4.0,220.7069,109.1577,1003.2188)&&!IsPlayerInRangeOfPoint(playerid,4.0,1553.8889,-1637.0688,6.2188)&&!IsPlayerInRangeOfPoint(playerid,4.0,-2949.8298,1771.3398,23.8950))
    {
    SendClientMessage(playerid, 0xFFFFFFFF, "Du kannst dir hier keine Spezialausrüstung anlegen.");
    }
    else
    {
    if (OnDuty[playerid] == 0)
    {
    SendClientMessage(playerid, 0xFFFFFFFF, "Du musst zuerst in den Dienst gehen.");
    }
    else
    {
    if (PlayerInfo[playerid][swat] == 0)
    {
    SendClientMessage(playerid, 0xFFFFFFFF, "Du bist noch nicht für den SWAT-Dienst eingeteilt worden.");
    }
    else
    {
    if (OnSwat[playerid] == 0)
    {
    SetPlayerSkin(playerid, 285);
    GivePlayerWeapon(playerid, 31, 800);
    GivePlayerWeapon(playerid, 20, 34);
    GivePlayerWeapon(playerid, 46, 1);

    format(string, sizeof(string), "HQ: %s hat die Spezialausrüstung angelegt.", MeinName(playerid));
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    if (IsACop(i))
    {
    SendClientMessage(i, 0x2A77A1FF, string);
    }
    }

    OnSwat[playerid] = 1;
    }
    else
    {
    OnSwat[playerid] = 0;
    SetPlayerSkin(playerid, 1);
    OnDuty[playerid] = 0;
    SetPlayerColor(playerid, 0xFFFFFFFF);

    format(string, sizeof(string), "HQ: %s hat die Spezialausrüstung abgelegt.", MeinName(playerid));
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    if (IsACop(i))
    {
    SendClientMessage(i, 0x2A77A1FF, string);
    }
    }
    }
    }
    }
    }
    }

    return 1;
    }

  • Eventuell ein AntiCheat drin welches die Waffen direkt wieder abfängt oder (bin mir nicht sicher, Pawn ist nicht mehr mein Gebiet) wurde evtl. die Funktion GivePlayerWeapon umdefiniert?


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.


  • dann crasht wohl irgendwo dein Befehl.
    Wenn es immer noch nicht funktioniert geht es wohl am schnellsten, wenn du in die darauffolgenden Zeilen jeweils etwas in der Konsole ausgeben lässt. Somit kannst du überprüfen ab wo der Befehl crasht und weißt welche Zeile daran schuld ist.


    Also in etwa so:


    Code
    SetPlayerSkin(playerid,285);
    print("Debug1");
    GivePlayerWeapon(playerid,31,800);
    print("Debug2");
    GivePlayerWeapon(playerid,20,34);
    print("Debug3");
    GivePlayerWeapon(playerid,46,1);
    print("Debug4");
    format(string,sizeof(string),"HQ: %s hat den SWAT-Dienst begonnen.",MeinName(playerid));
    print("Debug5");
  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Hier ist der Fehler:
    GivePlayerWeapon(playerid,20,34);
    Es gibt keine Waffe mit der ID 20, hast wohl Munition und ID vertauscht da 34 eine Sniper ist.


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.


  • Hier noch mal der neue Befehl.


    ocmd:swatduty(playerid,params[])
    {
    new string[128];
    if(!IsPlayerInFrac(playerid,1))return 1;
    if(!IsPlayerInRangeOfPoint(playerid,4.0,220.7069,109.1577,1003.2188)&&!IsPlayerInRangeOfPoint(playerid,4.0,1553.8889,-1637.0688,6.2188)&&!IsPlayerInRangeOfPoint(playerid,4.0,-2949.8298,1771.3398,23.8950))return ErrorMsg(playerid,"Du kannst hier nicht im SWAT-Duty gehen.");
    if(OnDuty[playerid]==0)return ErrorMsg(playerid,"Du kannst nur in Dienst in SWAT Duty gehen.");
    if(PlayerInfo[playerid][swat]==0)return ErrorMsg(playerid,"Du bist nicht für den Swatdienst eingeteilt..");
    print("||--- Debug 1 Fraktionsabfragen überstanden ---||");
    if(OnSwat[playerid]==0)
    {
    print("||--- Debug 2 Dienstabfrage überstanden ---||");
    SetPlayerSkin(playerid,285);
    print("||--- Debug 3 Skinsetabfrage überstanden ---||");
    GivePlayerWeapon(playerid,31,800);
    GivePlayerWeapon(playerid,20,34);
    GivePlayerWeapon(playerid,46,1);
    print("||--- Debug 4 Waffenladen überstanden ---||");
    format(string,sizeof(string),"HQ: %s hat den SWAT-Dienst begonnen.",MeinName(playerid));
    print("||--- Debug 5 Formatierung überstanden ---||");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    print("||--- Debug 6 Connectedabfrage überstanden ---||");
    if(IsACop(i))
    {
    print("||--- Debug 7 Fraktionsabfragen Teil 2 überstanden ---||");
    SendClientMessage(i,0x2a77a1AA,string);
    print("||--- Debug 8 Meldung an Fraktion überstanden ---||");
    }
    }
    }
    OnSwat[playerid]=1;
    print("||--- Debug 9 Alles überstanden ---||");
    }

    else if(OnSwat[playerid]==1)
    {
    format(string,sizeof(string),"HQ: %s hat den SWAT-Dienst beendet.",MeinName(playerid));
    OnSwat[playerid]=0;
    SetPlayerSkin(playerid,1);
    OnDuty[playerid]=0;
    SetPlayerColor(playerid,0xFFFFFFFF);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsACop(i))
    {
    SendClientMessage(i,0x2a77a1AA,string);
    }
    }
    }
    }
    return 1;
    }


    In der Serverlog zeigt er mir an.
    [00:44:39] ||--- Debug 1 Fraktionsabfragen überstanden ---||
    [00:44:39] ||--- Debug 2 Dienstabfrage überstanden ---||
    [00:44:39] ||--- Debug 3 Skinsetabfrage überstanden ---||

  • Ich habe dir gerade deinen Fehler geschrieben, schau nach oben bitte.


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.


  • [00:50:47] ||--- Debug 1 Fraktionsabfragen überstanden ---||
    [00:50:47] ||--- Debug 2 Dienstabfrage überstanden ---||
    [00:50:47] ||--- Debug 3 Skinsetabfrage überstanden ---||
    [00:50:47] ||--- Debug 4 Waffenladen überstanden ---||
    [00:50:47] ||--- Debug 5 Formatierung überstanden ---||
    [00:50:47] ||--- Debug 6 Connectedabfrage überstanden ---||
    [00:50:47] ||--- Debug 7 Fraktionsabfragen Teil 2 überstanden ---||
    [00:50:47] ||--- Debug 8 Meldung an Fraktion überstanden ---||
    [00:50:47] ||--- Debug 9 Alles überstanden ---||
    [00:51:04] ||--- Debug 1 Fraktionsabfragen überstanden ---||



    Danke dir so