Befehl, so richtig?

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
  • .... kurze Frage.
    Bei diesem Code:
    if(strcmp("/lizenz",cmdtext) == 0)
    {
    if(Player[playerid][Team] == 14)
    {
    new spieler[128];
    GetPlayerName(playerid, spieler, sizeof(spieler));
    new licstring[128];
    format(licstring,sizeof(licstring),"Du hast deinem Fahrschüler %s den Fahrschein übergeben!", spieler);
    spieler[playerid][fSchein] = 1;
    new fslehrer[128];
    GetPlayerName(playerid, fslehrer, sizeof(fslehrer));
    format(licstring,sizeof(licstring),"Fahrlehrer %s hat dir den Führerschein für die Kategorie Auto übergeben!", fslehrer);
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED,"Du bist kein Fahrlehrer!");
    }
    }


    Ist das soweit richtig mit dem GetPlayerName usw.
    Und vorallem, wie kann ich es so machen, das der Fahrlehrer noch eine ID dazu geben kann?!
    Also:
    /lizenz ID?!


    Grüße!


    /EDIT: Name + Codeteil.

    Einmal editiert, zuletzt von TutNichts ()

  • GetPlayerName ist schonmal falsch..


    Du hast GetPlayername(playerid... geschrieben demnach nimmst du den Namen von dem der der Führerschein übergibt, also den Fahrlehrer.


    Dann müsstest du sspieler, fslehrer nicht mit nem string definieren sondern mit dem Namen


    zb:
    new fslehrer[MAX_PLAYER_NAME];


    dann noch SendClientMessage(fslehrer, oder spieler...

  • I don't check that!
    Kannst du evtl. mal den Befehl richtig schreiben?
    Und evtl. noch reinmachen, das wenn man:
    /lizenz Auto
    /lizenz Flug
    /lizenz Boot
    /lizenz Bike
    machen kann?
    Das weiß ich auch nicht wirklich. :o


  • dcmd(lizens,6,cmdtext);


    dcmd_lizens(playerid,params[])
    {
    new pID, schein,playername[MAX_PLAYER_NAME],giveplayername[MAX_PLAYER_NAME];
    if(sscanf(params, "us",pID,schein))
    {
    SendClientMessage(playerid, COLOR_GRAU, "Benutzung: /lizens [playerid] [schein]");
    SendClientMessage(playerid, COLOR_GRAU, "Verfügbare Scheine: Auto, Flug, Boot, Bike");
    return 1;
    }
    if(Player[playerid][Team] != 14)
    {
    SendClientMessage(playerid, COLOR_GRAU, "Du bist kein fahrlehrer!");
    return 1;
    }
    if (!IsPlayerConnected(pID))
    {
    SendClientMessage(playerid, COLOR_GRAU, "Dieser Spieler ist offline.");
    return 1;
    }
    if(strcmp(schein,"Auto",true) == 0)
    {
    GetPlayerName(playerid, playername, sizeof(playername));
    GetPlayerName(pID, giveplayername, sizeof(giveplayername));
    format(string, sizeof(string), "* Du gibst eine Fahrlizenz an %s.",giveplayername);
    SendClientMessage(playerid, COLOR_HELLBLAU, string);
    format(string, sizeof(string), "* Fahrlehrer %s gab dir eine Fahrlizenz.",playername);
    SendClientMessage(pID, COLOR_HELLBLAU, string);
    spieler[pID][fSchein] = 1;
    return 1;
    }
    }


    Is jetzt ausm kopf geschrieben aber sollte so funktionieren.... theoretisch :D

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • Danke ersteinmal für die Mühe!
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(2316) : error 035: argument type mismatch (argument 1)
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(2320) : error 017: undefined symbol "string"
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(2320) : error 017: undefined symbol "string"
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(2320) : error 029: invalid expression, assumed zero
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(2320) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    5 Errors.


    dcmd_lizenz(playerid,params[])
    {
    new pID, schein,playername[MAX_PLAYER_NAME],giveplayername[MAX_PLAYER_NAME];
    if(sscanf(params, "us",pID,schein))
    {
    SendClientMessage(playerid, COLOR_GREEN, "Benutzung: /lizens [playerid] [schein]");
    SendClientMessage(playerid, COLOR_GREEN, "Verfügbare Scheine: Auto, Flug, Boot, Bike");
    return 1;
    }
    if(Player[playerid][Team] != 14)
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist kein fahrlehrer!");
    return 1;
    }
    if (!IsPlayerConnected(pID))
    {
    SendClientMessage(playerid, COLOR_RED, "Dieser Spieler ist offline.");
    return 1;
    }
    if(strcmp(schein,"Auto",true) == 0)//Zeile Nummero 2316
    {
    GetPlayerName(playerid, playername, sizeof(playername));
    GetPlayerName(pID, giveplayername, sizeof(giveplayername));
    format(string, sizeof(string), "* Du gibst eine Fahrlizenz an %s.",giveplayername);//Zeile Nummero 2320
    SendClientMessage(playerid, COLOR_GREEN, string);
    format(string, sizeof(string), "* Fahrlehrer %s gab dir eine Fahrlizenz.",playername);
    SendClientMessage(pID, COLOR_GREEN, string);
    spieler[pID][fSchein] = 1;
    return 1;
    }
    }

  • C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(2324) : error 017: undefined symbol "spieler"
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(2324) : warning 215: expression has no effect
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(2324) : error 001: expected token: ";", but found "]"
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(2324) : error 029: invalid expression, assumed zero
    C:\DOKUME~1\Vinni\Desktop\SAMP-S~1\Server\GAMEMO~1\26092010.pwn(2324) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    dcmd_lizenz(playerid,params[])
    {
    new pID, string[60], schein[20],playername[MAX_PLAYER_NAME],giveplayername[MAX_PLAYER_NAME];
    if(sscanf(params, "us",pID,schein))
    {
    SendClientMessage(playerid, COLOR_GREEN, "Benutzung: /lizens [playerid] [schein]");
    SendClientMessage(playerid, COLOR_GREEN, "Verfügbare Scheine: Auto, Flug, Boot, Bike");
    return 1;
    }
    if(Player[playerid][Team] != 14)
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist kein fahrlehrer!");
    return 1;
    }
    if (!IsPlayerConnected(pID))
    {
    SendClientMessage(playerid, COLOR_RED, "Dieser Spieler ist offline.");
    return 1;
    }
    if(strcmp(schein,"Auto",true) == 0)//Zeile Nummero 2316
    {
    GetPlayerName(playerid, playername, sizeof(playername));
    GetPlayerName(pID, giveplayername, sizeof(giveplayername));
    format(string, sizeof(string), "* Du gibst eine Fahrlizenz an %s.",giveplayername);//Zeile Nummero 2320
    SendClientMessage(playerid, COLOR_GREEN, string);
    format(string, sizeof(string), "* Fahrlehrer %s gab dir eine Fahrlizenz.",playername);
    SendClientMessage(pID, COLOR_GREEN, string);
    spieler[pID][fSchein] = 1;//Zeile 2324
    return 1;
    }
    }

  • dcmd_lizenz(playerid,params[])
    {
    new pID, string[60], schein[20],playername[MAX_PLAYER_NAME],giveplayername[MAX_PLAYER_NAME];
    if(sscanf(params, "us",pID,schein))
    {
    SendClientMessage(playerid, COLOR_GREEN, "Benutzung: /lizens [playerid] [schein]");
    return SendClientMessage(playerid, COLOR_GREEN, "Verfügbare Scheine: Auto, Flug, Boot, Bike");
    }
    if(Player[playerid][Team] != 14)return SendClientMessage(playerid, COLOR_RED, "Du bist kein fahrlehrer!");
    if (!IsPlayerConnected(pID)) return SendClientMessage(playerid, COLOR_RED, "Dieser Spieler ist offline.");
    if(strcmp(schein,"Auto",true) == 0)//Zeile Nummero 2316
    {
    GetPlayerName(playerid, playername, sizeof(playername));
    GetPlayerName(pID, giveplayername, sizeof(giveplayername));
    format(string, sizeof(string), "* Du gibst eine Fahrlizenz an %s.",giveplayername);//Zeile Nummero 2320
    SendClientMessage(playerid, COLOR_GREEN, string);
    format(string, sizeof(string), "* Fahrlehrer %s gab dir eine Fahrlizenz.",playername);
    SendClientMessage(pID, COLOR_GREEN, string);
    Spieler[pID][fSchein] = 1;// muss 'Spieler' evtl. groß geschrieben werden?;)
    }
    return 1;
    }