Autoführerschein

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
  • Hy Leute,



    also ich such nurn bestimmtes Filterscript, nähmlich folgendes, es geht um einen Autoführerschein, den die Administratoren mit einem Befehl einfach überreichen können und die Polizei das auch mit einem Befehl nachprüfen kann.


    Des weiteren sollte mal auch ohne Führerschein fahren können aber es sollte eine Meldung kommen das man eigentlich nicht fahren dürfte, ich weis leider nicht wie es heißt usw ... hatte es mal war aber ein Fehlerscript.


    THX im voraus.

  • Ich hab euch das mal mit der dcmd-Methode gemach
    [HowTo]Fast Command processor - DCMDt.


    Kurze Erklärung:
    dcmd(check,5,cmdtext);
    check - Command Name
    5 - Länge des Commands,in dem Beispiel die Länge von 'check'
    cmdtext - der Parameter der aus OnPlayerCommandText(playerid, cmdtext[]) gecheckt wird.

    //Oben ins script
    new Lizenz[MAX_PLAYERS]=-1;


    #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1


    public OnPlayerConnect(playerid)
    {
    Lizenz[playerid]=0;
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(check,5,cmdtext);
    dcmd(lizenz,6,cmdtext);
    return 0;
    }


    //Irgendwo im Script einfügen
    dcmd_check(playerid,params[]) {
    if(IsPlayerAdmin(playerid)) {
    new giveid = strval(params);
    if (!strlen(params)) {
    return SendClientMessage(playerid,COLOR_SYSTEM,"USAGE: /check [playerid]");
    }
    else if(!IsPlayerConnected(giveid)) {
    return SendClientMessage(playerid,COLOR_SYSTEM,"Ungültige Spieler ID");
    }
    else if(giveid==playerid) {
    return SendClientMessage(playerid,COLOR_SYSTEM,"Das musst du doch selber wissen O___O");
    }
    else {
    new string[128];
    if(Lizenz[giveid]==0) {
    format(string,128," %s besitzt keine Fahrzeug Lizenz",PlayerName(giveid));
    }
    else if(Lizenz[giveid]==1) {
    format(string,128," %s besitzt eine Fahrzeug Lizenz",PlayerName(giveid));
    }
    SendClientMessage(playerid,COLOR_YELLOW,string);
    }
    }
    else {
    SendClientMessage(playerid,COLOR_RED,"Admins Only");
    }
    return 1;
    }
    dcmd_lizenz(playerid,params[]) {
    if(IsPlayerAdmin(playerid)) {
    new giveid = strval(params);
    if (!strlen(params)) {
    return SendClientMessage(playerid,COLOR_SYSTEM,"USAGE: /lizenz [playerid]");
    }
    else if(!IsPlayerConnected(giveid)) {
    return SendClientMessage(playerid,COLOR_SYSTEM,"Ungültige Spieler ID");
    }
    else if(giveid==playerid) {
    return SendClientMessage(playerid,COLOR_SYSTEM,"Du kannst dir selber keine Lizenz geben");
    }
    else {
    new string[128];
    if(Lizenz[giveid]==0) {
    Lizenz[giveid]=1;
    format(string,128,"%s hat dir einen Fahrzeug Lizenz gegeben",PlayerName(playerid));
    SendClientMessage(playerid,COLOR_ORANGE,"Lizenz erfolgreich übergeben");
    SendClientMessage(giveid,COLOR_YELLOW,string);
    }
    else if(Lizenz[giveid]==1){
    format(string,128,"%s hat bereits eine Lizenz",PlayerName(giveid));
    SendClientMessage(playerid,COLOR_YELLOW,string);
    }
    }
    }
    else {
    SendClientMessage(playerid,COLOR_RED,"Admins Only");
    }


    return 1;
    }


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