Befehl spackt rum

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
  • Hi, ich habe schon seit langen ein Serverbug. Wenn ich als Admin "/rc" eingebe kommt: "Befehl konnte nicht gefunden werden!". Helft mir bitte! :|


    Code:


    ocmd:rc(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,4))return SCM(playerid,ROT,"Befehl konnte nicht gefunden werden!");
    if(IsPlayerAnAdmin(playerid,4))
    {
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    SetVehicleToRespawn(i);
    Tank = 100;
    Motorschadenparams = false;
    SetVehicleHealth(i,1000);
    for(new e = 0; e < 52; e++)
    {
    if(Autos[playerid][e][Abgeschlossen] == 1)
    {
    Autos[playerid][e][Abgeschlossen] = 1;
    GetVehicleParamsEx(Spielercar[playerid][e],engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(Spielercar[playerid][e],engine,lights,alarm,1,bonnet,boot,objective);
    }
    if(Autos[playerid][e][ParkkralleObj] == 1)
    {
    Autos[playerid][e][ParkkralleObj] = 1;
    Parkkralle[Spielercar[playerid][e]] = true;
    }
    }
    }
    new text[128];
    format(text,128,"Achtung! Alle Autos wurden von %s respawnt.",SpielerName(playerid));
    SCMTA(GELB,text);
    new log[128];
    format(log,128,"%s hat den Befehl /rc benutzt.",SpielerName(playerid));
    AdminLog(log);
    return 1;
    }
    return 1;
    }

  • ocmd:rc(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,4))return SCM(playerid,ROT,"Befehl konnte nicht gefunden werden!");
    //Die zweite Abfrage, ob der Spieler das Adminlevel 4 hat, ist sinnlos.

    for(new i=0; i<MAX_VEHICLES; i++)
    {
    SetVehicleToRespawn(i);
    Tank = 100;
    Motorschadenparams = false;
    SetVehicleHealth(i,1000);
    for(new e = 0; e < 52; e++)
    {
    if(Autos[playerid][e][Abgeschlossen] == 1)
    {
    Autos[playerid][e][Abgeschlossen] = 1;
    GetVehicleParamsEx(Spielercar[playerid][e],engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(Spielercar[playerid][e],engine,lights,alarm,1,bonnet,boot,objective);
    }
    if(Autos[playerid][e][ParkkralleObj] == 1)
    {
    Autos[playerid][e][ParkkralleObj] = 1;
    Parkkralle[Spielercar[playerid][e]] = true;
    }
    }
    }
    new text[128];
    format(text,128,"Achtung! Alle Autos wurden von %s respawnt.",SpielerName(playerid));
    SCMTA(GELB,text);
    new log[128];
    format(log,128,"%s hat den Befehl /rc benutzt.",SpielerName(playerid));
    AdminLog(log);

    return 1;
    }

  • klappt immer noch nicht ;(

  • ocmd:rc(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid, 4)) { return SCM(playerid, ROT, "Befehl konnte nicht gefunden werden!"); } //Vielleicht bringt das was, keine Ahnung :/

    for(new i=0; i<MAX_VEHICLES; i++)
    {
    SetVehicleToRespawn(i);
    Tank = 100;
    Motorschadenparams = false;
    SetVehicleHealth(i, 1000);
    for(new e = 0; e < 52; e++)
    {
    if(Autos[playerid][e][Abgeschlossen] == 1)
    {
    Autos[playerid][e][Abgeschlossen] = 1;
    GetVehicleParamsEx(Spielercar[playerid][e],engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(Spielercar[playerid][e],engine,lights,alarm,1,bonnet,boot,objective);
    }
    if(Autos[playerid][e][ParkkralleObj] == 1)
    {
    Autos[playerid][e][ParkkralleObj] = 1;
    Parkkralle[Spielercar[playerid][e]] = true;
    }
    }
    }

    new text[128];
    format(text,128,"Achtung! Alle Autos wurden von %s respawnt.",SpielerName(playerid));
    SCMTA(GELB,text);

    //Du kannst den selben String nutzen, das spart Ressourcen
    format(text,128,"%s hat den Befehl /rc benutzt.",SpielerName(playerid));
    AdminLog(text);

    return 1;
    }

  • Nope, geht nich.. Wenn ich SCM(playerid, ROT, "Befehl konnte nicht gefunden werden!"); in SCM(playerid, ROT, "Error"); ändere, kommt immer noch Befehl konnte nicht gefunden werden!.



    Hier OnPlayerCommandText:




    public OnPlayerCommandText(playerid, cmdtext[])
    {
    SendClientMessage(playerid,ROT,"Befehl konnte nicht gefunden werden!");
    return 1;
    }

  • public OnPlayerCommandText(playerid, cmdtext[])
    {
    SendClientMessage(playerid,ROT,"Befehl konnte nicht gefunden werden!");
    return 1;
    }


    Zu


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    return SendClientMessage(playerid,ROT,"Befehl konnte nicht gefunden werden!");
    }

  • geht immer noch nich ;( ;( ;(
    ne frage: kann es sein das [pwn] verbuggt ist in diesem forum? bei mir kommt an dauernt der code in eine zeile..

  • Probier mal den Befehl so:


    ocmd:rc(playerid,params[])
    {
    if(!IsPlayerAnAdmin(playerid,4))return SCM(playerid,ROT,"Befehl konnte nicht gefunden werden!");
    {
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    SetVehicleToRespawn(i);
    Tank = 100;
    Motorschadenparams = false;
    SetVehicleHealth(i,1000);
    }
    }
    for(new e = 0; e < 52; e++)
    {
    if(Autos[playerid][e][Abgeschlossen] == 1)
    {
    Autos[playerid][e][Abgeschlossen] = 1;
    GetVehicleParamsEx(Spielercar[playerid][e],engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(Spielercar[playerid][e],engine,lights,alarm,1,bonnet,boot,objective);
    }
    if(Autos[playerid][e][ParkkralleObj] == 1)
    {
    Autos[playerid][e][ParkkralleObj] = 1;
    Parkkralle[Spielercar[playerid][e]] = true;
    new text[128];
    format(text,128,"Achtung! Alle Autos wurden von %s respawnt.",SpielerName(playerid));
    SCMTA(GELB,text);
    new log[128];
    format(log,128,"%s hat den Befehl /rc benutzt.",SpielerName(playerid));
    AdminLog(log);
    }
    return 1;
    }



    Grüße

  • if(!IsPlayerAnAdmin(playerid,4))return SCM(playerid,ROT,"Befehl konnte nicht gefunden werden!");


    Dein Admin Rang ist zu niedrig

    "Imagine if the government went after corruption as hard as it goes after guys who run filesharing sites. Priorities. " - @Snowden
    "More worrying than FBI temporarily running a server that contained child porn, is hacking computers anywhere in the world with one warrant" - @josephfcox

  • MrPCHilfeDeutsch log dich mal mit RCON ein ^^

    "Imagine if the government went after corruption as hard as it goes after guys who run filesharing sites. Priorities. " - @Snowden
    "More worrying than FBI temporarily running a server that contained child porn, is hacking computers anywhere in the world with one warrant" - @josephfcox

  • Ich hab mir mal deinen stock angeschaut so wie du ihn derzeit hast ist es auch Falsch:


    stock IsPlayerAnAdmin(playerid,level)
    {
    if(PlayerInfo[playerid][Adminlevel]>=level)return 1;
    return 0;
    }


    Zu


    stock IsPlayerAnAdmin(playerid,level)
    {
    if(PlayerInfo[playerid][Adminlevel]==level)return 1;
    return 0;
    }


    Und dann kannst du in den Befehl diese if Abfrage einbauen:


    if(!IsPlayerAnAdmin(playerid,1) || IsPlayerAnAdmin(playerid,2) || IsPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT," Du bist kein Admin"); // ist jetzt für die Admins mit den Adminlevel 1, 2 und 3 zugänglich


    Müsste eigentlich so funktionieren ^^


    Grüße

  • MrPCHilfeDeutsch log dich mal mit RCON ein ^^

    wenn da IsPlayerAdmin(playerid) stehen würde müsste man sich mit rcon einloggen, aber ich habe da IsPlayerAnAdmin(playerid,4)) stehen..


    stock code:



    stock IsPlayerAnAdmin(playerid,level)
    {
    if(PlayerInfo[playerid][Adminlevel]>=level)return 1;
    return 0;
    }


    so wie es bei mir ist ist es richtig.. if(PlayerInfo[playerid][Adminlevel]==level) = "wenn der spieler das level hat oder höher ist dann.."

  • MrPCHilfeDeutsch aber solang kannst du den befehl nutzen bis jemand die Lösung weiß


    LG

    "Imagine if the government went after corruption as hard as it goes after guys who run filesharing sites. Priorities. " - @Snowden
    "More worrying than FBI temporarily running a server that contained child porn, is hacking computers anywhere in the world with one warrant" - @josephfcox

  • MrPCHilfeDeutsch aber solang kannst du den befehl nutzen bis jemand die Lösung weiß


    LG

    das problem ist ja das das nich geht.. selbst wenn ich den text "Befehl konnte nicht gefunden werden!" ändere in zB. "Test" kommt trodstem "Befehl konnte nicht gefunden werden!" obwoll ich das geändert. also dieser ganze befehl buggt rum :( ich brauch eine lösung dafür.. früher ging das noch

  • So hier ich hab mal ein Command für dich /Nicht von mir


    Pastebin
    Selber einrücken :)

    "Imagine if the government went after corruption as hard as it goes after guys who run filesharing sites. Priorities. " - @Snowden
    "More worrying than FBI temporarily running a server that contained child porn, is hacking computers anywhere in the world with one warrant" - @josephfcox

  • So hier ich hab mal ein Command für dich /Nicht von mir


    Pastebin
    Selber einrücken :)

    danke! ich habe den befehl ungeschrieben:



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/rc", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new string[128];
    if(PlayerInfo[playerid][Adminlevel] < 3) // Ersetzt du mir deinem Admin Level das diesen Befehl nutzen Darf.
    {
    SendClientMessage(playerid, ROT, "Befehl konnte nicht gefunden werden!");
    return 1;
    }
    new bool:unwanted[MAX_VEHICLES];
    for(new player=0; player<MAX_PLAYERS; player++)
    {
    if(IsPlayerInAnyVehicle(player)) { unwanted[GetPlayerVehicleID(player)]=true; }
    }
    for(new car = 0; car < MAX_VEHICLES; car++)
    {
    if(!unwanted[car])
    {
    SetVehicleToRespawn(car);
    Tank[car] = 100;
    Motorschadenparams[car] = false;
    SetVehicleHealth(car,1000);
    }
    }
    for(new gekauftcar = 0; gekauftcar < 52; gekauftcar++)
    {
    if(Autos[playerid][gekauftcar][Abgeschlossen] == 1)
    {
    Autos[playerid][gekauftcar][Abgeschlossen] = 1;
    GetVehicleParamsEx(Spielercar[playerid][gekauftcar],engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(Spielercar[playerid][gekauftcar],engine,lights,alarm,1,bonnet,boot,objective);
    return 1;
    }
    if(Autos[playerid][gekauftcar][ParkkralleObj] == 1)
    {
    Autos[playerid][gekauftcar][ParkkralleObj] = 1;
    Parkkralle[Spielercar[playerid][gekauftcar]] = true;
    return 1;
    }
    }
    new sendername[64];
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Achtung! Alle Autos wurden von %s respawnt.", sendername);
    SCMTA(ROT,string);
    new log[128];
    format(log,128,"%s hat den Befehl /rc benutzt.",SpielerName(playerid));
    AdminLog(log);
    return 1;
    }
    }
    SendClientMessage(playerid,ROT,"Befehl konnte nicht gefunden werden!");
    return 1;
    }

    Könnt ihr mir bei diesem Thema helfen? Danke
    mapandreas und moveobject?