waffenschein geben befehl?

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
  • Hallo,
    ich hab da ein Problem der Befhel funktioniert nicht...
    also er ändert die datei nicht.


    ocmd:waffenschein(playerid,params[])
    {
    new pid, wid;
    if(sscanf(params,"ud",pid,wid))
    {
    return SendClientMessage(playerid,Gelb,"Verwendung : /waffenschein [ID] [(1=Ja) (0=nein)]");
    }
    if(wid > 1)
    {
    return SendClientMessage(playerid,Rot,"Mehr als Ja oder Nein gibt es nicht!");
    }
    if(IstSpielerAdmin(playerid, 5))
    {
    if(pid == INVALID_PLAYER_ID)
    {
    return SendClientMessage(playerid,Rot,"Ungültiger Spieler!");
    }
    if(HatSpielerWSchein(pid,wid) == 0) // wenn ich da ne 0 hin mach sag er wenn ich /waffenschein id 0 oder 1 mache das er ihm den schein gibt aber er ändert nichts. Wenn ich aber da ne 1 hin schreibe zeig er bei /waffenschein id 0 oder 1 an
    // der hat schon nen schein...
    {
    return SendClientMessage(playerid,Rot,"Der hat schon einen Waffenschein!");
    }
    else
    {
    sSpieler[pid][WSchein] = 1;
    SpielerSpeichern(playerid);
    SendClientMessage(pid,Gelb,"Du hast nun einen Waffenschein!");
    SendClientMessage(pid,Gelb,"Du hast ihm einen Waffenschein gegeben!");
    }
    }
    else
    {
    return SendClientMessage(playerid,Rot,"Du bist kein Administrator!");
    }
    return 1;
    }



    Was ist falsch?

    MfG Mayo :love:

  • Du musst uns schon die Funktion SpielerSpeichern(playerid); zeigen, sonst haben wir kaum die Möglichkeit rauszufinden warum die Datei nicht verändert wird beim Speichern der Variable.


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.


  • stock SpielerSpeichern(playerid)
    {
    new Spielerdatei[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",Sname);
    if(dini_Exists(Spielerdatei))
    {
    dini_IntSet(Spielerdatei,"Adminlevel",sSpieler[playerid][Adminlevel]);
    dini_IntSet(Spielerdatei,"Level",sSpieler[playerid][Level]);
    dini_IntSet(Spielerdatei,"Fraktion",sSpieler[playerid][Fraktion]);
    dini_IntSet(Spielerdatei,"Money",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Navik",GetPVarInt(playerid,"Navik"));
    dini_IntSet(Spielerdatei,"Monates",sSpieler[playerid][Monates]);
    dini_IntSet(Spielerdatei,"PayDays",sSpieler[playerid][PayDays]);
    dini_IntSet(Spielerdatei,"FSchein",sSpieler[playerid][FSchein]);
    dini_IntSet(Spielerdatei,"LSchein",sSpieler[playerid][LSchein]);
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Banned",sSpieler[playerid][Banned]);
    dini_IntSet(Spielerdatei,"OnADuty",sSpieler[playerid][OnADuty]);
    dini_IntSet(Spielerdatei,"WSchein",sSpieler[playerid][WSchein]);
    }
    return 1;
    }

    MfG Mayo :love:

  • Jetzt habe ich den Fehler entdeckt:
    sSpieler[pid][WSchein] = 1;
    SpielerSpeichern(pid);
    SendClientMessage(pid,Gelb,"Du hast nun einen Waffenschein!");
    SendClientMessage(playerid,Gelb,"Du hast ihm einen Waffenschein gegeben!");
    Du hast den Account von dem, der den Waffenschein vergeben hat, gespeichert und dem der den Waffenschein erhielt beide Nachrichten gesendet.


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.


  • okay das funktioniert ;)


    ahja ähm jetzt sag er mit aber wenn ich in den pickup rein laufe egal ob wschein 0 oder 1 ist ich habe keinen.


    was ist hier falsch?


    if(pickupid==ammunation)
    {
    if(HatSpielerWSchein(playerid, 1))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du hast keinen Waffenschein!");
    return 1;
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_AMMU,DIALOG_STYLE_LIST,"Guten Tag, wie kann ich helfen?","Deagle (5000,-)\r\nAK 47 (9000,-)\r\nGolfschläger (500,-) \r\nWestern Shrot (2500,-) \r\n100 Schutzweste (500,-)\r\n9mm (1000,-)\r\nMirco SMG (2500,-) \r\nSniper Gewehr (4200,-) \r\nGedämfte 9mm (1000,-) ","Kaufen","Verlassen");
    }
    }

    MfG Mayo :love:

  • if(pickupid==ammunation)
    {
    if(sSpieler[playerid][WSchein]!=1)return SendClientMessage(playerid,COLOR_YELLOW,"Du hast keinen Waffenschein!");
    ShowPlayerDialog(playerid,DIALOG_AMMU,DIALOG_STYLE_LIST,"Guten Tag, wie kann ich helfen?","Deagle (5000,-)\r\nAK 47 (9000,-)\r\nGolfschläger (500,-) \r\nWestern Shrot (2500,-) \r\n100 Schutzweste (500,-)\r\n9mm (1000,-)\r\nMirco SMG (2500,-) \r\nSniper Gewehr (4200,-) \r\nGedämfte 9mm (1000,-) ","Kaufen","Verlassen");
    }


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.