Wie schreibe ich den befehl so um das ich anderen die scheine zeigen muss?

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
  • das ist der befehl:


    ocmd:scheine(playerid,params[])
    {
    if(sInfo[playerid][fuehrerschein]==1)
    {
    SendClientMessage(playerid, COLOR_WHITE,"Führerschein: {05FF00}vorhanden");
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE,"Führerschein: {E10000}nicht vorhanden");
    }
    if(sInfo[playerid][flugschein]==1)
    {
    SendClientMessage(playerid, COLOR_WHITE,"Flugschein: {05FF00}vorhanden");
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE,"Flugschein: {E10000}nicht vorhanden");
    }
    if(sInfo[playerid][bootsschein]==1)
    {
    SendClientMessage(playerid, COLOR_WHITE,"Bootsschein: {05FF00}vorhanden");
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE,"Bootsschein: {E10000}nicht vorhanden");
    }
    if(sInfo[playerid][waffenschein]==1)
    {
    SendClientMessage(playerid, COLOR_WHITE,"Waffenschein: {05FF00}vorhanden");
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE,"Waffenschein: {E10000}nicht vorhanden");
    }
    if(sInfo[playerid][angelschein]==1)
    {
    SendClientMessage(playerid, COLOR_WHITE,"Angelschein: {05FF00}vorhanden");
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE,"Angelschein: {E10000}nicht vorhanden");
    }
    if(sInfo[playerid][zollpass]==1)
    {
    SendClientMessage(playerid, COLOR_WHITE,"Zollpass: {05FF00}vorhanden");
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE,"Zollpass: {E10000}nicht vorhanden");
    }
    }


    Ohne ein /accept oder so ich gebe ein: /scheine [ID]
    und die person sieht das dann einfach, also ich muss das auch so machen wenn ich mirs elber die scheine zeigen will

  • Zuallererst: [ SCRIPTING ] PAWN - Die Grundlagen der SAMP-API
    3.2 Spricht genau dein Problem an.


    In diesem Fall würde ich allerdings der Übersicht halber ein stock erstellen, welches dem Spieler dann die Nachrichten ausgibt. ( "stock ShowLic(playerid)" )
    Falls du aber keine Lust hast, ^ durchzulesen, hier eine kleine Zusammenfassung:


    Variable erstellen, spielerID als Parameter angeben & durch den stock ( "ShowLic(variablenname)" bsp. ) Nachrichten ausgeben lassen.

  • Du brauchst dafür entweder das sscanf Plugin oder Include.


    Kleines Beispiel:


    new pID, str[128];
    if(sscanf(params, "u", pID)) return SendClientMessage(playerid, grey, "Nutze: /scheine <ID>");
    /*u ist ein Platzhalter. Es steht für entweder eine Spieler ID oder seinen Namen. Du kannst also theoretisch auch "Silvio.Castro" oder den Teil des Namens eingeben.
    Die Eingabe, die dem Platzhalter entspricht, wird dann in der Variable pID gespeichert. Dabei geht es immer der Reihenfolge der Platzhalter.*/
    format(str, sizeof(str), "Eingegebene ID: %i", pID);
    SendClientMessage(playerid, grey, str);

  • Beitrag von Kinimod ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Hier, ungetestet:


    ocmd:scheine(playerid,params[])
    {

    new pid;
    if(sscanf(params,"u",pid))return SendClientMessage(playerid,-1,"Verwendung: /scheinezeigen [Spieler/ID]");
    if(pid==INVALID_PLAYER_ID)return SendClientMessage(playerid,-1,"Fehler: Der Spieler konnte nicht gefunden werden!");
    new Float:gx,Float:gy,Float:gz;
    GetPlayerPos(playerid,gx,gy,gz);
    if(!IsPlayerInRangeOfPoint(pid,6.7,gx,gy,gz))return SendClientMessage(playerid,GRAU,"Es scheint kein Spieler in der Nähe zu sein...");
    //Dialog währe eine möglichkeit, aber im Chat die andere, und ich mach die andere.. Dialog kannste schön selbst machen^^
    new str[128],pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    format(str,sizeof(str),"Scheine von %s:",pname);
    SendClientMessage(pid,-1,str);
    format(str,sizeof(str),"Führerschein: %s",HatSchein(playerid,1));
    SendClientMessage(pid,-1,str);
    format(str,sizeof(str),"Flugschein: %s",HatSchein(playerid,2));
    SendClientMessage(pid,-1,str);
    format(str,sizeof(str),"Bootsschein: %s",HatSchein(playerid,3));
    SendClientMessage(pid,-1,str);
    format(str,sizeof(str),"Waffenschein: %s",HatSchein(playerid,4));
    SendClientMessage(pid,-1,str);
    format(str,sizeof(str),"Angelschein: %s",HatSchein(playerid,5));
    SendClientMessage(pid,-1,str);
    format(str,sizeof(str),"Zollpass: %s",HatSchein(playerid,6));
    SendClientMessage(pid,-1,str);
    SendClientMessage(playerid,-1,"Du hast dem Spieler deine Lizenzen gezeigt.");
    }


    stock HatSchein(playerid,id)
    {
    new hatstr[64];
    if(id==1) //Ja, für die Klugscheißer unter euch, also 50% von BF, ich könnte auch switch verwenden... hasst mich halt dafür und geht weg
    {
    if(sInfo[playerid][fuehrerschein]==1)hatstr=("Vorhanden");
    else hatstr=("Nicht vorhanden");
    return hatstr;
    }
    if(id==2)
    {
    if(sInfo[playerid][flugschein]==1)hatstr=("Vorhanden");
    else hatstr=("Nicht vorhanden");
    return hatstr;
    }
    if(id==3)
    {
    if(sInfo[playerid][bootsschein]==1)hatstr=("Vorhanden");
    else hatstr=("Nicht vorhanden");
    return hatstr;
    }
    if(id==4)
    {
    if(sInfo[playerid][waffenschein]==1)hatstr=("Vorhanden");
    else hatstr=("Nicht vorhanden");
    return hatstr;
    }
    if(id==5)
    {
    if(sInfo[playerid][angelschein]==1)hatstr=("Vorhanden");
    else hatstr=("Nicht vorhanden");
    return hatstr;
    }
    if(id==6)
    {
    if(sInfo[playerid][zollpass]==1)hatstr=("Vorhanden");
    else hatstr=("Nicht vorhanden");
    return hatstr;
    }
    return 0;
    }

    2 Mal editiert, zuletzt von MichiEXE ()