/showschein [playerid] [Scheinname] ?

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
  • Ich habe folgendes Problem.


    Ich möchte das realer machen anstatt /showlicenses einfach /showschein [playerid] [Scheinname]


    Habe das schon vorbereitet.
    if(strcmp(cmd,"/showlicenses",true)==0)
    {
    SendClientMessage(playerid,COLOR_WHITE,"Der Befehl heißt jetzt /showschein [ID] [Schein]");
    return 1;
    }
    if(strcmp(cmd, "/showschein", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new x_schein[256];
    x_schein = strtok(cmdtext, idx);
    if(!strlen(x_schein))
    {
    SendClientMessage(playerid, COLOR_TUTBLAU, "|~~~~~~~~~~~~~~~~~~~~~~~| Scheine |~~~~~~~~~~~~~~~~~~~~~~~");
    SendClientMessage(playerid, COLOR_WHITE, "Benutze: /showschein [PlayerID] [Schein]");
    SendClientMessage(playerid, COLOR_GREY, "Führerschein = (Autoführerschein, Motorradschein, LKWschein).");
    SendClientMessage(playerid, COLOR_GREY, "Flugschein.");
    SendClientMessage(playerid, COLOR_GREY, "Bootschein = (Bootsschein, Angelschein)");
    SendClientMessage(playerid, COLOR_GREY, "Waffenschein.");
    //SendClientMessage(playerid, COLOR_GREY, ".");
    SendClientMessage(playerid, COLOR_TUTBLAU, "|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|");
    return 1;
    }


    else if(strcmp(x_schein,"Führerschein",true) == 0)
    {
    return 1;
    }
    else if(strcmp(x_schein,"Flugschein",true) == 0)
    {
    return 1;
    }
    else if(strcmp(x_schein,"Bootschein",true) == 0)
    {
    return 1;
    }
    else if(strcmp(x_schein,"Waffenschein",true) == 0)
    {
    return 1;
    }
    }
    return 1;
    }


    Nur das wird dann einem selbst gezeigt, keinem anderen mit ID ausgewähltem Spieler.


    1. Frage:
    Wie kann ich es machen, dass ich die Scheine einem anderen Mitspieler zeige ?


    2. Frage:
    Kann mir einer ein Beispiel beim Führerschein machen ? ob er bestanden hat ja nein, ob er Theorie [pTheorie] hat und so.
    Also das dem giveplayerid das angezeigt wird. kann das jemmand beim ersten (Führerschein) so machen ?


    Danke im Vorraus!

    MfG
    Atta(Oo);

    Einmal editiert, zuletzt von AttachObject(Oo); () aus folgendem Grund: Schriftgröße verändert.

  • zur ersten Frage: hab ihn aber mit ocmd gemacht weil ich das einfach besser finde also müsstest du "include ocmd" und unten scanf hinzufügen ;) oder ihn umschreiben ;)
    ocmd:showscheinplayer(playerid,params[])
    {
    new pid, string[128];
    if(sscanf(params,"u",pid))return SendClientMessage(playerid,COLOR_YELLOW,"Verwendung: /armykills: anzahl");
    if(!IsPlayerConnected(pid))return SendClientMessage(playerid,COLOR_RED,"Dieser Spieler existiert nicht!");
    format(string,sizeof(string),"Du hast %s erfolgreich deine Scheine gezeigt!",SpielerName(pid));
    SendClientMessage(playerid,COLOR_GREEN,string);
    {
    new x_schein[256];
    x_schein = strtok(cmdtext, idx);
    if(!strlen(x_schein))
    {
    SendClientMessage(pid, COLOR_TUTBLAU, "|~~~~~~~~~~~~~~~~~~~~~~~| Scheine |~~~~~~~~~~~~~~~~~~~~~~~");
    SendClientMessage(pid, COLOR_WHITE, "Benutze: /showschein [PlayerID] [Schein]");
    SendClientMessage(pid, COLOR_GREY, "Führerschein = (Autoführerschein, Motorradschein, LKWschein).");
    SendClientMessage(pid, COLOR_GREY, "Flugschein.");
    SendClientMessage(pid, COLOR_GREY, "Bootschein = (Bootsschein, Angelschein)");
    SendClientMessage(pid, COLOR_GREY, "Waffenschein.");
    //SendClientMessage(playerid, COLOR_GREY, ".");
    SendClientMessage(playerid, COLOR_TUTBLAU, "|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|");
    return 1;
    }
    else if(strcmp(x_schein,"Führerschein",true) == 0)
    {
    return 1;
    }
    else if(strcmp(x_schein,"Flugschein",true) == 0)
    {
    return 1;
    }
    else if(strcmp(x_schein,"Bootschein",true) == 0)
    {
    return 1;
    }
    else if(strcmp(x_schein,"Waffenschein",true) == 0)
    {
    return 1;
    }
    }
    return 1;
    }


    und unten machst du ein stock damit du nicht bei jeden Befehl GetPlayerName machen musst sondern einfach SpielerName(playeird bzw pid) schreibst ;)



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

  • Kann das einer mal ohne ocmd oder dmcd machen ?
    Sondern so wie es normal ist ?
    mit cmdtext und strock.


    habe mich noch nciht mit ocmd und dcmd befasst.


    Kann das nochmal einer richtig machen ?
    So dass es klappt?


    MfG
    Atta(Oo);

    2 Mal editiert, zuletzt von AttachObject(Oo); () aus folgendem Grund: klammersetzung bearbeitet.

  • ich scripte aber jetzt seit 3 Jahren mit Klamern, und jetzt komtm da sowas ohne Klamemrn Oo.


    Ich weiß net wie das geht.
    Und ich möchte auch eig. nur mit strock, und cmdtext arbeiten, das ist am einfachsten^^


    MfG
    Atta(Oo);