Hilfe bei ocmd Befehl

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 liebe Community, ich habe ein Problem. Wen ich den Befehl /aduty eingebe, dann restartet sich einfach mein Server neu.



    ocmd:aduty(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid,1))
    {
    SendClientMessageToAll(COLOR_HELLBLAU,"Admin %s ist nun im Dienst!");
    SetPlayerHealth(playerid,100);
    SetPlayerArmour(playerid,100);
    SetPlayerSkin(playerid,279);
    SetPlayerColor(playerid,COLOR_RED);
    return 1;
    }
    return 1;
    }

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Schaut auf meinem YouTube Kanal vorbei :).
    Music Nation

  • Hallo,
    du benutzt SendClientMessageToAll falsch .....
    Du kannst nicht direkt in der Methode formatieren.
    Nutze dazu format ;)


    MFG

    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.


  • Du fragst nirgends den Namen vom Admin ab, daher ein string formatieren.
    new string[128];
    format(string, sizeof(string), "Admin %s ist nun im Dienst", SpielerName(playerid));
    SendClientMessageToAll(COLOR_HELLBLAU, string);


    Falls du Errors wegen SpielerName(playerid) bekommen solltest, das iwo im Script einfügen:


    stock SpielerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }

    Einmal editiert, zuletzt von varrez ()

  • C:\Users\SeTeK\Desktop\Sa-mp server\gamemodes\Reallife.pwn(466) : error 017: undefined symbol "SpielerName"


    Dieses Error kommt jetzt // Erledigt



    Okay, es klappt alles. Wen ich /aduty gehe, dann steht da Admin Alex ist nun im Dienst!. Aber wen ich diesen Befehl
    nochmal eingebe, dann sollte da stehen Admin Alex hat sein Dienst Beendet!. Und das Leben und Skin wird wieder so gesetet wie es war.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Schaut auf meinem YouTube Kanal vorbei :).
    Music Nation

  • stock SpielerName(playerid)
    {
    new name[MAX_PLAYERS];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }


    MAX_PLAYERS???!!!


    mach daraus bitte MAX_PLAYER_NAME


    stock SpielerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
    }

  • Lies in meinem oberen Beitrag, hatte es eben rein editiert. ^^ // Ah ok erledigt :D


    Okay, es klappt alles. Wen ich /aduty gehe, dann steht da Admin Alex ist nun im Dienst!. Aber wen ich diesen Befehl


    nochmal eingebe, dann sollte da stehen Admin Alex hat sein Dienst
    Beendet!. Und das Leben und Skin wird wieder so gesetet wie es war.

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Schaut auf meinem YouTube Kanal vorbei :).
    Music Nation


  • Hoppala, habs mal editiert, ja jeder macht Fehler :D ^^



  • Bitte noch dementsprechend ändern!
    Also mit deinem string dann halt einfach in beiden umändern



  • Bitte noch dementsprechend ändern!
    Also mit deinem string dann halt einfach in beiden umändern


    Völliger Schwachsin, wenn er Admin ist, geht er in den Dienst, wenn er z.B. Leader ist dann geht er aus dem Dienst? Schwachsinn...


    //oben ins Script
    new bool:aDuty[MAX_PLAYERS];
    ocmd:aduty(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid,1))
    {
    new string[128];
    if(!aDuty[playerid]) {
    format(string,sizeof(string),"Admin %s ist nun im Dienst!", SpielerName(playerid));
    SendClientMessageToAll(COLOR_HELLBLAU,string);
    SetPlayerHealth(playerid,100);
    SetPlayerArmour(playerid,100);
    SetPlayerSkin(playerid,279);
    SetPlayerColor(playerid,COLOR_RED);
    aDuty[playerid] = true;
    } else {
    format(string,sizeof(string),"Admin %s ist nun nicht mehr im Dienst!", SpielerName(playerid));
    SendClientMessageToAll(COLOR_HELLBLAU,string);
    SetPlayerHealth(playerid,100);
    SetPlayerArmour(playerid,100);
    SetPlayerSkin(playerid,279);
    SetPlayerColor(playerid,COLOR_RED);
    aDuty[playerid] = false;
    }
    }
    return true;
    }