Beiträge von ErikSon

    Wie muss ich es denn schreiben, wenn er entweder Admin oder Fahrschulmember ist?


    MFG
    Kempfer


    if(!IstSpielerInFrak(playerid,4) && (!IstSpielerAdmin(playerid,4)))return SendClientMessage(playerid,ROT,"Du bist kein Fahrlehrer");


    Hab ich dir doch geschrieben..
    So klappt es auch, also sollte es zumindest ;)

    Warum soll er sich das nicht geben können ? Wie soll er A) admin sein ohne ingame && eingeloggt zu sein (ausgenommen rcon) und B) wie soll der dann einen Befehl ausführen wenn A) schon nicht zu trifft. Wobei afaik kann man per rcon normalerweise keine cmds ausführen sofern diese nicht expliziert unter OnRconCommand abgefangen werden (kann mich da aber auch täuschen mit dem rcon gedöns)


    Das hat nicht funktioniert, weil die Abfrage für die Fraktion & Admin falsch war!
    Habe sie dir ja oben richtig hingeschrieben

    Normalerweise kriegt man keinen Golfschläger, wenn man aus dem Wagen aussteigt..
    Sicher, dass du es nicht so eingestellt hast?
    ( Siehe 'OnPlayerStateChange' & 'OnPlayerEnterVehicle' & 'OnPlayerExitVehicle' )

    Sorry, das muss so:
    if(!IstSpielerInFrak(playerid,4) && (!IstSpielerAdmin(playerid,4)))return SendClientMessage(playerid,ROT,"Du bist kein Fahrlehrer");
    Du fragst in einer if-Abfrage ab, ob der Spieler nicht in der Fraktion 4 ist & auch kein Admin 4 ist..
    Du darfst bei der ersten Abfrage ( Fraktionsabfrage ) nicht direkt die Abfrage beenden!

    if(sscanf(params,"u",sID))


    Du brauchst nur u zu nutzen das s ist da nicht nötig


    Darauf hab ich nicht geachtet, danke ,)


    Du brauchst auch nicht abfragen, ob der Spieler, der den Command eingibt, connected ist..

    Spoiler anzeigen
    dcmd_waffenschein(playerid,params[])
    {
    new sID,string[128],Name [MAX_PLAYER_NAME];
    if(sscanf(params,"u",sID)) return SendClientMessage(playerid, ROT,"Verwendung: /waffenschein [playerid]");
    if(!IsPlayerConnected(sID))return SendClientMessage(playerid, ROT,"Dieser Spieler ist nicht Connected!");
    if(!IstSpielerInFrak(playerid,4)) && !if(IstSpielerAdmin(playerid,4))return SendClientMessage(playerid,ROT,"Du bist kein Fahrlehrer");
    GetPlayerName(sID,Name,MAX_PLAYER_NAME);
    if(!HatSpielerWaffenschein(sID,1))
    {
    new Spielerdatei[64];
    format (Spielerdatei, sizeof(Spielerdatei),"/Accounts/%s.txt",Name);
    dini_IntSet(Spielerdatei,"Waffenschein", 1);
    format (string, sizeof string,"%s hat dir den Waffenschein übergeben. Dies kostet 30000€",getPlayerName(playerid));
    SendClientMessage(playerid, GRÜN,string);
    format(string, sizeof string,"Du hast %s den Waffenschein übergeben, und dir 30000€ verdient!",getPlayerName(sID));
    SendClientMessage(playerid, GRÜN, string);
    GivePlayerMoney(playerid, 30000);
    GivePlayerMoney(sID, -30000);
    }
    else
    {
    format(string, sizeof string, "%s besizt bereits den Waffenschein!",Name);
    return SendClientMessage(playerid, ROT,string);
    }
    return 1;
    }

    Probiere es mal so aus:

    dcmd_waffenschein(playerid,params[])
    {
    new sID,string[128],Name [MAX_PLAYER_NAME];
    if(sscanf(params,"us",sID)) return SendClientMessage(playerid, ROT,"Verwendung: /waffenschein [playerid]");
    if(!IsPlayerConnected(sID && playerid))return SendClientMessage(playerid, ROT,"Dieser Spieler ist nicht Connected!");
    if(!IstSpielerInFrak(playerid,4)) && !if(IstSpielerAdmin(playerid,4))return SendClientMessage(playerid,ROT,"Du bist kein Fahrlehrer");
    GetPlayerName(sID,Name,MAX_PLAYER_NAME);
    if(!HatSpielerWaffenschein(sID,1))
    {
    new Spielerdatei[64];
    format (Spielerdatei, sizeof(Spielerdatei),"/Accounts/%s.txt",Name);
    dini_IntSet(Spielerdatei,"Waffenschein", 1);
    format (string, sizeof string,"%s hat dir den Waffenschein übergeben. Dies kostet 30000€",getPlayerName(playerid));
    SendClientMessage(playerid, GRÜN,string);
    format(string, sizeof string,"Du hast %s den Waffenschein übergeben, und dir 30000€ verdient!",getPlayerName(sID));
    SendClientMessage(playerid, GRÜN, string);
    GivePlayerMoney(playerid, 30000);
    GivePlayerMoney(sID, -30000);
    }
    else
    {
    format(string, sizeof string, "%s besizt bereits den Waffenschein!",Name);
    return SendClientMessage(playerid, ROT,string);
    }
    return 1;
    }


    if(sscanf(params,"us",sID)) return SendClientMessage(playerid, ROT,"Verwendung: /waffenschein [playerid]");
    {


    Das kann so nicht funktionieren ;)
    Außerdem brauchst du nicht tausend Strings erstellen..

    1. Erstelle eine Schleife
    2. Frage ab, ob der Spieler comnected & Cop ist
    3. Sende eine Nachricht
    4. Frage die Position des Spielers ab
    5. Setze den Checkpoint fuer die Cops


    Das wird aber nicht wirklich funktionieren, da bei 100 Leuten, wenn zb 10 Leute die Cops rufen, dann werden die 1. zugespamt & 2. die Cops sehen gar nicht mehr, wo die Person eig ist..

    #if defined _ALS_GFSInit
    #undef OnGameModeInit
    #else
    #define _ALS_GFSInit
    #endif
    #define OnGameModeInit GFSInit


    #if defined _ALS_GFSExit
    #undef OnGameModeExit
    #else
    #define _ALS_GFSExit
    #endif
    #define OnGameModeExit GFSExit


    #if defined _ALS_OnPlayerDeath
    #undef OnPlayerDeath
    #else
    #define _ALS_GFS_OnPlayerDeath
    #endif
    #define OnPlayerDeath GFS_OnPlayerDeath


    #if defined _ALS_OnPlayerConnect
    #undef OnPlayerConnect
    #else
    #define _ALS_GFS_OnPlayerConnect
    #endif
    #define OnPlayerConnect GFS_OnPlayerConnect


    Habe noch eine andere Include, da ist es genau so ( halt nur nicht gleiche Namen ) und ich bekomme die Fehler:

    Zitat

    redefinition of constant/macro

    Benutzt su ocmd? dcmd? rcmd oder sowas?


    Wenn ja erstell ein god befehl und beim aduty befehl einfach statt million health... ocmd_god(playerid,params[]); war das glaub ich =)


    if (strcmp(cmd, "/adminduty", true) == 0 || strcmp(cmd, "/aduty", true) == 0)
    Erklärt deine Frage ;)


    Außerdem wird sein Godmode sicherlich von seinem Anti Cheat blockiert..
    Man hat ja normalerweise nur 100 HP & dafür hat der bestimmt n Anti-..