Frage zu "Leertaste" im Command bei Pawno

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,
    ich wollte fragen ob das gehen würde:


    ocmd:server(playerid,params[])
    {
    if(!istPlayerAdmin(playerid,7))return SendClientMessage(playerid,türkis,"* Du hast nicht die nötigen Rechte dazu.");
    SendClientMessage(playerid,grau,"Syntax: /server [Restart|Stop|Reload]");
    return 1;
    }


    ocmd:server reload(playerid,params[])
    {
    new string[128];
    if(!istPlayerAdmin(playerid,8))return SendClientMessage(playerid,türkis,"* Du hast nicht die nötigen Rechte dazu.");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    format(string,sizeof(string), "[ ADMIN ] %s startet den Server & alle Systeme neu.",PlayerName[playerid]);
    SendClientMessageToAll(rot,string);
    SendRconCommand("gmx");
    return 1;
    }


    ocmd:server stop(playerid,params[])
    {
    new string[128];
    if(!istPlayerAdmin(playerid,8))return SendClientMessage(playerid,türkis,"* Du hast nicht die nötigen Rechte dazu.");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß,"");
    format(string,sizeof(string), "[ ADMIN ] %s fährt den Server & alle Systeme herunter.",PlayerName[playerid]);
    SendClientMessageToAll(rot,string);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    SetPlayerPos(playerid,x,y,z+5000);
    SetPlayerVirtualWorld(playerid,20);
    SetPlayerInterior(playerid,14);
    SetPlayerSkin(playerid,0);
    TogglePlayerControllable(playerid, 0);
    }
    SendRconCommand("exit");
    return 1;
    }


    ocmd:server restart(playerid,params[])
    {
    if(!istPlayerAdmin(playerid,8))return SendClientMessage(playerid,türkis,"* Du hast nicht die nötigen Rechte dazu.");
    SendClientMessageToAll(weiß,"==========================================");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß," Der Server wird in wenigen Minuten");
    SendClientMessageToAll(weiß," Neugestartet.");
    SendClientMessageToAll(weiß," _____________________________");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß," * Systeme werden herruntergefahren");
    SendClientMessageToAll(weiß,"==========================================");
    SetWeather(2000000);
    return 1;
    }


    weil ich glaube bei pawno kann man kleine leertasten machen, bei mir kommen fehlermeldungen

  • musst du mit sscanf machen.


    P.s. wegen dem


    kann mach mit einer for-schleife Arbeiten.

    Mit Freundlichen Grüßen
    Whitetiiger aka. Kaito-sensei
    P.s. Alle mit #IRONIE bestätigten Sätze von mir, sind als Ironie anzusehen.

  • ocmd:server(playerid,params[])
    {
    new status[10];
    if(!istPlayerAdmin(playerid,7))return SendClientMessage(playerid,türkis,"* Du hast nicht die nötigen Rechte dazu.");
    if(sscanf(params,"s[10]",status))return SendClientMessage(playerid,grau,"Syntax: /server [Restart|Stop|Reload]");
    if(!strcmp(status,"Restart"))
    {
    SendClientMessageToAll(weiß,"==========================================");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß," Der Server wird in wenigen Minuten");
    SendClientMessageToAll(weiß," Neugestartet.");
    SendClientMessageToAll(weiß," _____________________________");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß," * Systeme werden herruntergefahren");
    SendClientMessageToAll(weiß,"==========================================");
    SetWeather(2000000);
    return 1;
    }
    else if(!strcmp(status,"stop"))
    {
    new string[128];
    if(!istPlayerAdmin(playerid,8))return SendClientMessage(playerid,türkis,"* Du hast nicht die nötigen Rechte dazu.");
    for(new i;i<20;i++)
    {
    SendClientMessageToAll(-1," ");
    }
    format(string,sizeof(string), "[ ADMIN ] %s fährt den Server & alle Systeme herunter.",PlayerName[playerid]);
    SendClientMessageToAll(rot,string);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    SetPlayerPos(playerid,x,y,z+5000);
    SetPlayerVirtualWorld(playerid,20);
    SetPlayerInterior(playerid,14);
    SetPlayerSkin(playerid,0);
    TogglePlayerControllable(playerid, 0);
    }
    SendRconCommand("exit");
    return 1;
    }
    else if(!strcmp(status,"reload"))
    {
    for(new i;i<20;i++)
    {
    SendClientMessageToAll(-1," ");
    }
    format(string,sizeof(string), "[ ADMIN ] %s startet den Server & alle Systeme neu.",PlayerName[playerid]);
    SendClientMessageToAll(rot,string);
    SendRconCommand("gmx");
    return 1;
    }
    return 1;
    }

  • Was genau geht nicht?


    Um einen Befehl mit Paramteren zu erstellten, musst du Variablen deklarieren.
    In diesem Fall einen String.
    new status[10];

    Um zu überprüfen, ob alle Parameter korrekt angegeben wurden, kann man verschiedene Methoden verwenden. Am einfachsten ist allerdings folgende Methode mit sscanf:
    if(sscanf(params,"s[10]",status))return SendClientMessage(playerid,-1," /restart [..][..][..]


    Je nach Paramter kannst du nun deinen Command gestalten:
    ocmd:bla(playerid,params[])
    {
    new s[28];
    if(sscanf(params,"s[28]",s))return SendClientMessage(playerid,-1,"Status [An|Aus]");
    if(!strcmp(s,"An"))// Wenn "An" als Parameter angegeben wurde
    {
    print("An");
    }
    else if(!strcmp(s,"Aus"))// Wenn "Aus" als Paramter angegeben wurde
    {
    print("Aus");
    }


    return 1;
    }

  • Besser wäre, wenn ihr es so schreibt:


    ocmd:bla(playerid, s[])
    {
    if(!s[0]) return SendClientMessage(playerid,-1,"Status [An|Aus]");
    if(!strcmp(s,"An",true))// Wenn "An" als Parameter angegeben wurde
    {
    print("An");
    }
    else if(!strcmp(s,"Aus",true))// Wenn "Aus" als Paramter angegeben wurde
    {
    print("Aus");
    }
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Erst mal danke an euch allen


    aber hier habe ich ein Problem, bei mir komm ingame immer nur: Syntax: /server [Restart|Stop|Reload] wenn ich das benutze

  • Nein, strcmp gibt 0 zurück, wenn beide Strings übereinstimmen.


    LG

    Main: CPU: Intel Core i5-4440 @ 3,10 GHz | CPU-Cooling: Matterhorn -PURE- | RAM: 16GB Crucial Ballistix Sport DDR3-1600 DIMM CL9-9-9-24 |
    Motherboard: ASRock B85M Pro4 | GPU: Sapphire Radeon R9 390X Nitro 8GB GDDR5 |

    SSD: Samsung SSD 840 Evo 500GB | Power Supply: 550 Watt Corsair CS Series Modular 80+ Gold | Case: beQuiet! Silent Base 800


    As I walk through the valley of the shadow of death
    I take a look at my life and realize there's nothin' left.

  • Beitrag von .VendeTTa. ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • push


    Schreib es so:


    ocmd:server(playerid,status[])
    {
    if(!istPlayerAdmin(playerid,7))return SendClientMessage(playerid,türkis,"* Du hast nicht die nötigen Rechte dazu.");
    if(!status[0])return SendClientMessage(playerid,grau,"Syntax: /server [Restart|Stop|Reload]");
    if(!strcmp(status,"Restart",true))
    {
    SendClientMessageToAll(weiß,"==========================================");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß," Der Server wird in wenigen Minuten");
    SendClientMessageToAll(weiß," Neugestartet.");
    SendClientMessageToAll(weiß," _____________________________");
    SendClientMessageToAll(weiß,"");
    SendClientMessageToAll(weiß," * Systeme werden herruntergefahren");
    SendClientMessageToAll(weiß,"==========================================");
    SetWeather(2000000);
    }
    else if(!strcmp(status,"stop",true))
    {
    new string[128];
    if(!istPlayerAdmin(playerid,8))return SendClientMessage(playerid,türkis,"* Du hast nicht die nötigen Rechte dazu.");
    for(new i;i<20;i++)
    {
    SendClientMessageToAll(-1," ");
    }
    format(string,sizeof(string), "[ ADMIN ] %s fährt den Server & alle Systeme herunter.",PlayerName[playerid]);
    SendClientMessageToAll(rot,string);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    SetPlayerPos(playerid,x,y,z+5000);
    SetPlayerVirtualWorld(playerid,20);
    SetPlayerInterior(playerid,14);
    SetPlayerSkin(playerid,0);
    TogglePlayerControllable(playerid, 0);
    }
    SendRconCommand("exit");
    }
    else if(!strcmp(status,"reload",true))
    {
    for(new i;i<20;i++)
    {
    SendClientMessageToAll(-1," ");
    }
    format(string,sizeof(string), "[ ADMIN ] %s startet den Server & alle Systeme neu.",PlayerName[playerid]);
    SendClientMessageToAll(rot,string);
    SendRconCommand("gmx");
    }
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Beitrag von Kaliber ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.