Funktionirt das?

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
  • hi leute,geht das so? also wenn der fahrlehrer das eingibt,das dann der spieler den schein bekommt?


    COMMAND:givecarlienzs(playerid,params[])
    {
    new pID;
    if(Spieler[playerid][Member] > 8)
    if(sscanf(params,"us",pID))return SendClientMessage(playerid,COLOR_RED,"Benutzung: /givelicense [ID]");
    SetPVarInt(playerid,"Carlienzs",1);
    GivePlayerMoney(playerid, -8000);
    return 1;
    }

  • params,"us",pID) für was das "s"? Es hat nichts zu bedeuten^^

  • Mach Hamachi Server? Oder hast du schon ein richtigen? Sonst kann ich drauf komm ^^


    #edit: Ja sollte es :)
    #edit²: ;( Garnicht mitbekommen das ich schon mein 400sten beitrag habe ;(. Vor fast ner woche grad erst 300 und jetzt 400 ^^. War mein Rekord in allen Foren. Also so schnell 100 Beiträge zu bekommen ^^

  • COMMAND:givecarlienzs(playerid,params[])
    {
    new pID;
    if(Spieler[playerid][Member] != 8) return SendClientMessage(playerid,COLOR_RED,"Du bist kein Fahrlehrer !");
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_RED,"Benutzung: /givelicense [ID]");
    if(GetPlayerMoney(pID) < 8000) return SendClientMessage(playerid,COLOR_RED,"Dieser Spieler besitzt keine 8.000$ !");
    SetPVarInt(pID,"Carlienzs",1);
    GivePlayerMoney(pID, -8000);
    return 1;
    }


    Das musst du so machen ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Du machst eine normale SendClientMessage. Nur das du statt playerid pID benuzt.



    //Variablen erstellen.
    new playername[128], pidname[128], message[128];


    //Namen der Spieler auslesen und abspeichern.
    GetPlayerC&PName(playerid, playerC&Pname, sizeof(playername));
    GetPlayerNameC&P(pID, pidC&Pname, sizeof(pidname));


    //Nachricht an den Fahrschüler.
    format(message, sizeC&Pof(message), "Du hast von %s einen Führerschein erhalten.", playername); //%s = Hier string einfügen | playername = Der ausgelesene Name wird statt %s eingefügt
    SendClientMessage(C&PpID, COLOR_CODE, message);


    //Nachricht an den Fahrlehrer senden.
    format(message, sizeC&Pof(message), "Du hast %s einen Führerschein gegeben.", pidname); //%s = Hier string einfügen | pidname = Der ausgelesene Name wird statt %s eingefügt
    SendClientMessage(C&Pplayerid, COLOR_CODE, message);

  • Kaliber
    Es hätte auch so funktioniert wenn er das S bei der sscanf abfrage entfernt hätte, oder?


    Nein, da er playerid verwendet hatte bei SetPVarInt und nicht pID ;)



    2 Sachen dazu:
    1. Dein C&P da drinnen ist überflüssig :rolleyes:
    2.
    playername[128] //128 ?! dieser Array ist viel zu groß, 24 reicht vollkommen
    Also schreibe für die Variable der Namen playername[24] und pidname[24] ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • 1. Hab nicht drauf geachtet.
    2. Wieso ist es überflüssig?
    3. Es ist ja ein String. Ich dachte string darf nur 64, 128 .... bis 1024 gehen. So hats mir mal jemand gesagt :)


    Lg Sonderzeichen


    2. Weil er sich dann wundert warum er Errors bekommt :rolleyes:


    3. Nein, ein String kann von 0 bis unendlich gehen ^^


    Meistens verwendet man aber diese Reihe:
    2,4,8,16,32,64,128,256/255,1024,2048,4096 //höher braucht man es eig nicht


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • @Sonderzeichen
    Ein String, kann auch nur einen Index von 1 haben. Das heißt, es könnte maximal z.B. ein "A" enthalten, mehr aber auch nicht.
    Der Spieler-Name hat z.B. 24 Zeichen, also erstellst du einen String mit einem Index von 24 bzw. einfach bei der Index-Angabe "MAX_PLAYER_NAME" angeben.

  • ahh licsen geben klappt nun :P
    und wenn ich nun ins auto einsteige bleibt er drin aber die meldung das ich kein führerschein habe kommt trozdem und enn ich aus dem auto austeige kommt die nachricht mit /motor ._.
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate==PLAYER_STATE_DRIVER)
    {
    if(GetPVarInt(playerid,"Carlienzs")==0)
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_RED,"Du hast kein Führerschein.");
    }
    else if(GetPVarInt(playerid,"Carlienzs")==1)
    {
    SendClientMessage(playerid,COLOR_RED,"/motor um den Motor zustarten!");
    }
    return 1;
    }


    edit: beim befehl steht zwar das ich nun einen führerschein habe aber in der spielerdatei steht immer noch die zahl auf 0 <.<

  • Du hast eine { vergessen, schreibe es so:


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate==PLAYER_STATE_DRIVER)
    {
    if(GetPVarInt(playerid,"Carlienzs")==0)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_RED,"Du hast kein Führerschein.");
    }
    else if(GetPVarInt(playerid,"Carlienzs")==1)
    {
    SendClientMessage(playerid,COLOR_RED,"/motor um den Motor zustarten!");
    }
    }
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"wanted",Spieler[playerid][wanted]);
    dini_IntSet(Spielerdatei,"Fraktion",Spieler[playerid][Fraktion]);
    dini_IntSet(Spielerdatei,"skin",Spieler[playerid][skin]);
    dini_IntSet(Spielerdatei,"Rang",Spieler[playerid][Rang]);
    dini_IntSet(Spielerdatei,"Adminlevel",Spieler[playerid][Adminlevel]);
    dini_IntSet(Spielerdatei,"Member",Spieler[playerid][Member]);
    dini_IntSet(Spielerdatei,"Leader",Spieler[playerid][Leader]);
    dini_IntSet(Spielerdatei,"Spawn",Spieler[playerid][Spawn]);
    dini_IntSet(Spielerdatei,"Carlienzs",Spieler[playerid][Carlienzs]);
    }
    return 1;
    }