Arrest Fehler

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
  • Derjenige der Arrest bekommen hat bekommt die Nachricht so:
    "Du wurdest von OutPlayed ins das Gefängnis für Du hast Outplayed... usw


    Woran liegt das?


    Hier der Befehl:
    ocmd:arrest(playerid,params[])
    {
    new Float:x,Float:y,Float:z;
    new pID;
    new s[128];
    if(!IsPlayerInRangeOfPoint(playerid,10,226.7997,112.3471,999.0156)return SendClientMessage(playerid,HELLBLAU,"Du bist nicht in der näher der Zellen");
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du bist kein angestellter der Polizei");
    if(DutyPD[playerid] == 0)return SendClientMessage(playerid,WEIß,"Du bist nicht im Dienst");
    GetPlayerPos(playerid,x,y,z);
    if(!IsPlayerInRangeOfPoint(pID,10,x,y,z))return SendClientMessage(playerid,HELLBLAU,"Du kannst den Spieler nicht ins Gefängnis stecken da er nicht in deiner Nähe ist");
    if(sscanf(params,"us",pID,s))return SendClientMessage(playerid,HELLBLAU,"Benutze: /Arrest [PLAYERID] [ZEIT]");
    format(s,sizeof(s),"Du hast %s in das Gefängnis für %s Sekunden gesteckt.",sName(pID),s);
    SendClientMessage(playerid,HELLBLAU,s);
    format(s,sizeof(s),"Du wurdest von %s in das Gefängnis für %s Sekunden gesteckt.",sName(playerid),s);
    SendClientMessage(pID,GRAU,s);
    SetPlayerPos(pID,226.7997,112.3471,999.0156);
    return 1;
    }

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A

  • ocmd:arrest(playerid,params[])
    {
    new Float:x,Float:y,Float:z;
    new pID, Zeit;
    new s[128];
    if(!IsPlayerInRangeOfPoint(playerid,10,226.7997,112.3471,999.0156)return SendClientMessage(playerid,HELLBLAU,"Du bist nicht in der näher der Zellen");
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du bist kein angestellter der Polizei");
    if(DutyPD[playerid] == 0)return SendClientMessage(playerid,WEIß,"Du bist nicht im Dienst");
    GetPlayerPos(playerid,x,y,z);
    if(!IsPlayerInRangeOfPoint(pID,10,x,y,z))return SendClientMessage(playerid,HELLBLAU,"Du kannst den Spieler nicht ins Gefängnis stecken da er nicht in deiner Nähe ist");
    if(sscanf(params,"us",pID,Zeit))return SendClientMessage(playerid,HELLBLAU,"Benutze: /Arrest [PLAYERID] [ZEIT]");
    format(s,sizeof(s),"Du hast %s in das Gefängnis für %d Sekunden gesteckt.",sName(pID),Zeit);
    SendClientMessage(playerid,HELLBLAU,s);
    format(s,sizeof(s),"Du wurdest von %s in das Gefängnis für %d Sekunden gesteckt.",sName(playerid),Zeit);
    SendClientMessage(pID,GRAU,s);
    SetPlayerPos(pID,226.7997,112.3471,999.0156);
    return 1;
    }


    Du hast die Zeit in einem String gepackt was mir nicht sehr Sinnvoll erscheint, Nutze lieber einen Integer der Befehl sollte so nun Klappen wie Oben.


    Mit freundlichen Grüßen
    SLaYz



  • So funktioniert der Befehl garnicht mehr. Ich werde nicht in Gefägnis gesteckt und bekomme auch falsche Nachrichten

    Regelmäßiger Stuhlgang im Leben des Menschen ist das A&A

  • So funktioniert der Befehl garnicht mehr. Ich werde nicht in Gefägnis gesteckt und bekomme auch falsche Nachrichten


    Alles klar, sorry hab noch einen kleinen Fehler meinerseits enteckt.


    Versuchs mal mit dem
    ocmd:arrest(playerid,params[])
    {
    new pID, Zeit,s[90],Float:Pos[3];
    if(!IsPlayerInRangeOfPoint(playerid,10,226.7997,112.3471,999.0156)return SendClientMessage(playerid,HELLBLAU,"Du bist nicht in der näher der Zellen");
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,WEIß,"Du bist kein angestellter der Polizei");
    if(DutyPD[playerid] == 0)return SendClientMessage(playerid,WEIß,"Du bist nicht im Dienst");
    GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
    if(!IsPlayerInRangeOfPoint(pID,10,Pos[0],Pos[1],Pos[2]))return SendClientMessage(playerid,HELLBLAU,"Du kannst den Spieler nicht ins Gefängnis stecken da er nicht in deiner Nähe ist");
    if(sscanf(params,"ud",pID,Zeit))return SendClientMessage(playerid,HELLBLAU,"Benutze: /Arrest [PLAYERID] [ZEIT]");
    format(s,sizeof(s),"Du hast %s in das Gefängnis für %d Sekunden gesteckt.",sName(pID),Zeit);
    SendClientMessage(playerid,HELLBLAU,s);
    format(s,sizeof(s),"Du wurdest von %s in das Gefängnis für %d Sekunden gesteckt.",sName(playerid),Zeit);
    SendClientMessage(pID,GRAU,s);
    SetPlayerPos(pID,226.7997,112.3471,999.0156);
    return 1;
    }

  • Trotzdem noch Fehler.
    if(!IsPlayerInRangeOfPoint(pID /* pID ist noch "leer bzw 0 */,10,x,y,z))return SendClientMessage(playerid,HELLBLAU,"Du kannst den Spieler nicht ins Gefängnis stecken da er nicht in deiner Nähe ist");
    if(sscanf(params,"us",pID /* Erst "jetzt" wird pID zugewiese bzw geprüft */,Zeit))return SendClientMessage(playerid,HELLBLAU,"Benutze: /Arrest [PLAYERID] [ZEIT]");
    // Reihenfolge also tauschen

    Je nach sscanf Version fehlt auch bei s die Größe von Zeit.